42 lines
2.4 KiB
C#
42 lines
2.4 KiB
C#
using ZB.MOM.WW.ScadaBridge.Commons.Entities.InboundApi;
|
|
|
|
namespace ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Repositories;
|
|
|
|
public interface IInboundApiRepository
|
|
{
|
|
// ApiKey persistence retired (re-arch C5): inbound API keys live in the shared
|
|
// ZB.MOM.WW.Auth.ApiKeys SQLite store, not the SQL Server configuration DB. The
|
|
// former GetApiKeyByIdAsync / GetAllApiKeysAsync / GetApiKeyByValueAsync /
|
|
// AddApiKeyAsync / UpdateApiKeyAsync / DeleteApiKeyAsync / GetApprovedKeysForMethodAsync
|
|
// methods were removed with the SQL Server ApiKey entity.
|
|
|
|
// ApiMethod
|
|
/// <summary>Retrieves an API method by ID.</summary>
|
|
/// <param name="id">The API method ID.</param>
|
|
/// <param name="cancellationToken">Cancellation token.</param>
|
|
Task<ApiMethod?> GetApiMethodByIdAsync(int id, CancellationToken cancellationToken = default);
|
|
/// <summary>Retrieves all API methods.</summary>
|
|
/// <param name="cancellationToken">Cancellation token.</param>
|
|
Task<IReadOnlyList<ApiMethod>> GetAllApiMethodsAsync(CancellationToken cancellationToken = default);
|
|
/// <summary>Retrieves an API method by name.</summary>
|
|
/// <param name="name">The API method name.</param>
|
|
/// <param name="cancellationToken">Cancellation token.</param>
|
|
Task<ApiMethod?> GetMethodByNameAsync(string name, CancellationToken cancellationToken = default);
|
|
/// <summary>Adds a new API method.</summary>
|
|
/// <param name="method">The API method to add.</param>
|
|
/// <param name="cancellationToken">Cancellation token.</param>
|
|
Task AddApiMethodAsync(ApiMethod method, CancellationToken cancellationToken = default);
|
|
/// <summary>Updates an existing API method.</summary>
|
|
/// <param name="method">The API method to update.</param>
|
|
/// <param name="cancellationToken">Cancellation token.</param>
|
|
Task UpdateApiMethodAsync(ApiMethod method, CancellationToken cancellationToken = default);
|
|
/// <summary>Deletes an API method by ID.</summary>
|
|
/// <param name="id">The API method ID.</param>
|
|
/// <param name="cancellationToken">Cancellation token.</param>
|
|
Task DeleteApiMethodAsync(int id, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>Saves pending changes to the database.</summary>
|
|
/// <param name="cancellationToken">Cancellation token.</param>
|
|
Task<int> SaveChangesAsync(CancellationToken cancellationToken = default);
|
|
}
|