Split the backend into API host, Domain, Application and Infrastructure projects. Add Swagger/OpenAPI per API version, Asp.Versioning (query/header), ProblemDetails with a global exception handler and SurrealQL migrations applied at startup (namespace/database ensured). Infrastructure owns the SurrealDB client, settings and DI.
15 lines
360 B
C#
15 lines
360 B
C#
using TarninaHub.Application.Dtos;
|
|
|
|
namespace TarninaHub.Application.Abstractions;
|
|
|
|
public interface IStorageService
|
|
{
|
|
Task InitializeAsync(CancellationToken cancellationToken);
|
|
|
|
StorageInfo GetInfo();
|
|
|
|
Task<int> GetProbeCountAsync(CancellationToken cancellationToken);
|
|
|
|
Task<StorageProbe> AddProbeAsync(CancellationToken cancellationToken);
|
|
}
|