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/MongoSample/Create")] Task> CreateMongoSampleService([Body] CreateMongoSampleRequest newMongoSample, CancellationToken cancellationToken = default); [Get("/v1/MongoSample/GetAll")] Task>> GetAllMongoSamplesService(CancellationToken cancellationToken = default); [Post("/v1/MongoSample/GetById")] Task> GetMongoSampleByIdService([Body] GetMongoSampleRequest request, CancellationToken cancellationToken = default); [Put("/v1/MongoSample/Update")] Task> UpdateMongoSampleService([Body] UpdateMongoSampleRequest entity, CancellationToken cancellationToken = default); [Delete("/v1/MongoSample/Delete")] Task> DeleteMongoSampleService([Body] DeleteMongoSampleRequest request, CancellationToken cancellationToken = default); [Post("/v1/SqlSample/Create")] Task> CreateSqlSampleService([Body] CreateSqlSampleRequest newSqlSample, CancellationToken cancellationToken = default); [Get("/v1/SqlSample/GetAll")] Task>> GetAllSqlSamplesService(CancellationToken cancellationToken = default); [Post("/v1/SqlSample/GetById")] Task> GetSqlSampleByIdService([Body] GetSqlSampleRequest request, CancellationToken cancellationToken = default); [Put("/v1/SqlSample/Update")] Task> UpdateSqlSampleService([Body] UpdateSqlSampleRequest entity, CancellationToken cancellationToken = default); [Delete("/v1/SqlSample/Delete")] Task> DeleteSqlSampleService([Body] DeleteSqlSampleRequest request, CancellationToken cancellationToken = default); [Post("/v1/KeyVault/CreateSecret")] Task> CreateSecretService([Body] CreateSecretRequest newKeyVault, CancellationToken cancellationToken = default); [Post("/v1/KeyVault/GetSecretByName")] Task> GetSecretByNameService([Body] GetSecretRequest request, CancellationToken cancellationToken = default); [Put("/v1/KeyVault/UpdateSecret")] Task> UpdateSecretService([Body] UpdateSecretRequest entity, CancellationToken cancellationToken = default); [Delete("/v1/KeyVault/DeleteSecret")] Task> DeleteSecretService([Body] DeleteSecretRequest request, CancellationToken cancellationToken = default); [Post("/v1/BlobStorage/UploadBlob")] Task> UploadBlobService([Body] UploadBlobRequest request, CancellationToken cancellationToken = default); [Get("/v1/BlobStorage/GetBlobList")] Task>> GetBlobListAsync([FromQuery] string? prefix, CancellationToken cancellationToken = default); [Post("/v1/BlobStorage/DownloadBlob")] Task> DownloadBlobAsync([Body] DownloadBlobRequest request, CancellationToken cancellationToken = default); [Delete("/v1/BlobStorage/DeleteBlob")] Task> DeleteBlobService([Body] DeleteBlobRequest request, CancellationToken cancellationToken = default); } }