using Core.Blueprint.KeyVault; using Core.Blueprint.Service.External.Clients.Adapters; using Core.Blueprint.Service.External.Clients.Requests; using Core.Blueprint.Storage; using Core.Blueprint.Storage.Adapters; using Microsoft.AspNetCore.Mvc; using Refit; namespace Core.Blueprint.Service.External.Clients { public interface IBlueprintServiceClient { [Post("/v1/MongoSample/Create")] Task CreateMongoSampleAsync([FromBody] MongoSampleRequest newSample, CancellationToken cancellationToken = default); [Get("/v1/MongoSample/GetAll")] Task> GetAllMongoSamplesAsync(CancellationToken cancellationToken = default); [Get("/v1/MongoSample/{_id}/GetBy_Id")] Task GetMongoSampleByIdAsync([FromRoute] string _id, CancellationToken cancellationToken = default); [Put("/v1/MongoSample/{_id}/Update")] Task UpdateMongoSampleAsync([FromRoute] string _id, [FromBody] MongoSampleAdapter entity, CancellationToken cancellationToken = default); [Delete("/v1/MongoSample/{_id}/Delete")] Task DeleteMongoSampleAsync([FromRoute] string _id, CancellationToken cancellationToken = default); [Post("/v1/SqlSample/Create")] Task CreateSqlSampleAsync([FromBody] SqlSampleRequest newSqlSample, CancellationToken cancellationToken = default); [Get("/v1/SqlSample/GetAll")] Task> GetAllSqlSamplesAsync(CancellationToken cancellationToken = default); [Get("/v1/SqlSample/{id}/GetById")] Task GetSqlSampleByIdAsync([FromRoute] int id, CancellationToken cancellationToken = default); [Put("/v1/SqlSample/{id}/Update")] Task UpdateSqlSampleAsync([FromRoute] int id, [FromBody] SqlSampleAdapter entity, CancellationToken cancellationToken = default); [Delete("/v1/SqlSample/{id}/Delete")] Task DeleteSqlSampleAsync([FromRoute] int id, CancellationToken cancellationToken = default); [Post("/v1/KeyVault/CreateSecret")] Task CreateSecretAsync([FromBody] KeyVaultRequest newKeyVault, CancellationToken cancellationToken = default); [Get("/v1/KeyVault/{secretName}/GetSecret")] Task GetSecretByNameAsync([FromRoute] string secretName, CancellationToken cancellationToken = default); [Put("/v1/KeyVault/UpdateSecret")] Task UpdateSecretAsync([FromBody] KeyVaultRequest entity, CancellationToken cancellationToken = default); [Delete("/v1/KeyVault/{secretName}/DeleteSecret")] Task DeleteSecretAsync([FromRoute] string secretName, CancellationToken cancellationToken = default); [Post("/v1/BlobStorage/UploadBlob")] Task UploadBlobAsync([FromQuery] BlobAddDto request, CancellationToken cancellationToken = default); [Get("/v1/BlobStorage/GetBlobList")] Task> GetBlobListAsync([FromQuery] string? prefix, CancellationToken cancellationToken = default); [Get("/v1/BlobStorage/DownloadBlob")] Task DownloadBlobAsync([FromQuery] string blobName, CancellationToken cancellationToken = default); [Delete("/v1/BlobStorage/DeleteBlob")] Task DeleteBlobAsync([FromQuery] string blobName, CancellationToken cancellationToken = default); } }