Core.Blueprint.BFF/Core.Blueprint.External/Clients/Blueprint/IBlueprintServiceClient.cs
Sergio Matias Urquin dacb004ae9 Add project files.
2025-04-29 18:37:40 -06:00

71 lines
4.0 KiB
C#

using Core.Blueprint.External.Clients.Blueprint.Adapters;
using Core.Blueprint.External.Clients.Blueprint.Requests.BlobStorage;
using Core.Blueprint.External.Clients.Blueprint.Requests.KeyVault;
using Core.Blueprint.External.Clients.Blueprint.Requests.Mongo;
using Core.Blueprint.External.Clients.Blueprint.Requests.SQL;
using Core.Blueprint.KeyVault;
using Core.Blueprint.Storage;
using Core.Blueprint.Storage.Adapters;
using Microsoft.AspNetCore.Mvc;
using Refit;
namespace Core.Blueprint.External.Clients.Blueprint
{
public interface IBlueprintServiceClient
{
[Post("/v1/MongoBlueprint/Create")]
Task<ApiResponse<BlueprintAdapter>> CreateBlueprintService([Body] CreateBlueprintRequest newBlueprint, CancellationToken cancellationToken = default);
[Get("/v1/MongoBlueprint/GetAll")]
Task<ApiResponse<IEnumerable<BlueprintAdapter>>> GetAllBlueprintsService(CancellationToken cancellationToken = default);
[Post("/v1/MongoBlueprint/GetById")]
Task<ApiResponse<BlueprintAdapter>> GetBlueprintByIdService([Body] GetBlueprintRequest request, CancellationToken cancellationToken = default);
[Put("/v1/MongoBlueprint/Update")]
Task<ApiResponse<BlueprintAdapter>> UpdateBlueprintService([Body] UpdateBlueprintRequest entity, CancellationToken cancellationToken = default);
[Delete("/v1/MongoBlueprint/Delete")]
Task<ApiResponse<BlueprintAdapter>> DeleteBlueprintService([Body] DeleteBlueprintRequest request, CancellationToken cancellationToken = default);
[Post("/v1/SQLUserProject/Create")]
Task<ApiResponse<UserProjectAdapter>> CreateUserProjectService([Body] CreateUserProjectRequest newUserProject, CancellationToken cancellationToken = default);
[Get("/v1/SQLUserProject/GetAll")]
Task<ApiResponse<IEnumerable<UserProjectAdapter>>> GetAllUserProjectsService(CancellationToken cancellationToken = default);
[Post("/v1/SQLUserProject/GetById")]
Task<ApiResponse<UserProjectAdapter>> GetUserProjectByIdService([Body] GetUserProjectRequest request, CancellationToken cancellationToken = default);
[Put("/v1/SQLUserProject/Update")]
Task<ApiResponse<UserProjectAdapter>> UpdateUserProjectService([Body] UpdateUserProjectRequest entity, CancellationToken cancellationToken = default);
[Delete("/v1/SQLUserProject/Delete")]
Task<ApiResponse<UserProjectAdapter>> DeleteUserProjectService([Body] DeleteUserProjectRequest request, CancellationToken cancellationToken = default);
[Post("/v1/KeyVault/CreateSecret")]
Task<ApiResponse<KeyVaultResponse>> CreateSecretService([Body] CreateSecretRequest newKeyVault, CancellationToken cancellationToken = default);
[Post("/v1/KeyVault/GetSecretByName")]
Task<ApiResponse<KeyVaultAdapter>> GetSecretByNameService([Body] GetSecretRequest request, CancellationToken cancellationToken = default);
[Put("/v1/KeyVault/UpdateSecret")]
Task<ApiResponse<KeyVaultAdapter>> UpdateSecretService([Body] UpdateSecretRequest entity, CancellationToken cancellationToken = default);
[Delete("/v1/KeyVault/DeleteSecret")]
Task<ApiResponse<KeyVaultAdapter>> DeleteSecretService([Body] DeleteSecretRequest request, CancellationToken cancellationToken = default);
[Post("/v1/BlobStorage/UploadBlob")]
Task<ApiResponse<BlobFileAdapter>> UploadBlobService([Body] UploadBlobRequest request, CancellationToken cancellationToken = default);
[Get("/v1/BlobStorage/GetBlobList")]
Task<ApiResponse<List<BlobFileAdapter>>> GetBlobListAsync([FromQuery] string? prefix, CancellationToken cancellationToken = default);
[Post("/v1/BlobStorage/DownloadBlob")]
Task<ApiResponse<BlobDownloadUriAdapter>> DownloadBlobAsync([Body] DownloadBlobRequest request, CancellationToken cancellationToken = default);
[Delete("/v1/BlobStorage/DeleteBlob")]
Task<ApiResponse<BlobFileAdapter>> DeleteBlobService([Body] DeleteBlobRequest request, CancellationToken cancellationToken = default);
}
}