Add TagType CRUD

This commit is contained in:
Oscar Morales
2025-08-05 12:29:28 -06:00
parent 827b0d8f03
commit 38f097f5e6
5 changed files with 401 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
using Core.Adapters.Lib;
using Core.Blueprint.Mongo;
using Core.Inventory.Domain.Contexts.Inventory.Request;
namespace Core.Inventory.Provider.Contracts
{
public interface ITagOverrideProvider
{
/// <summary>
/// Creates a new TagOverride.
/// </summary>
/// <param name="entity">The TagOverride to be created.</param>
/// <returns>A <see cref="{Task{TagOverrideAdapter}}"/> representing
/// the asynchronous execution of the service.</returns>
ValueTask<TagOverrideAdapter> CreateTagOverride(TagOverrideRequest newTagOverride, CancellationToken cancellationToken);
/// <summary>
/// Gets an TagOverride by identifier.
/// </summary>
/// <param name="id">The TagOverride identifier.</param>
/// <returns>A <see cref="{Task{TagOverrideAdapter}}"/> representing
/// the asynchronous execution of the service.</returns>
ValueTask<TagOverrideAdapter> GetTagOverrideById(string _id, CancellationToken cancellationToken);
/// <summary>
/// Gets all the TagOverrides.
/// </summary>
/// <returns>A <see cref="{Task{IEnumerbale{TagOverrideAdapter}}}"/> representing
/// the asynchronous execution of the service.</returns>
ValueTask<IEnumerable<TagOverrideAdapter>> GetAllTagOverrides(CancellationToken cancellationToken);
/// <summary>
/// Gets all the TagOverrides by TagOverrides identifier list.
/// </summary>
/// <param name="TagOverrides">The list of TagOverrides identifiers.</param>
/// <returns>A <see cref="Task{IEnumerable{TagOverrideAdapter}}"/> representing
/// the asynchronous execution of the service.</returns>
ValueTask<IEnumerable<TagOverrideAdapter>> GetAllTagOverridesByList(string[] tagOverrides, CancellationToken cancellationToken);
/// <summary>
/// Changes the status of the TagOverride.
/// </summary>
/// <param name="id">The TagOverride identifier.</param>
/// <param name="newStatus">The new status of the TagOverride.</param>
/// <returns>The <see cref="TagOverrideAdapter"/> updated entity.</returns>
/// <returns>A <see cref="{Task{TagOverrideAdapter}}"/> representing
/// the asynchronous execution of the service.</returns>
ValueTask<TagOverrideAdapter> ChangeTagOverrideStatus(string id, StatusEnum newStatus, CancellationToken cancellationToken);
/// <summary>
/// Updates a TagOverride by id.
/// </summary>
/// <param name="entity">The TagOverride to be updated.</param>
/// <param name="id">The TagOverride identifier.</param>
/// <returns>A <see cref="{Task{TagOverrideAdapter}}"/> representing
/// the asynchronous execution of the service.</returns>
ValueTask<TagOverrideAdapter> UpdateTagOverride(TagOverrideAdapter entity, CancellationToken cancellationToken);
}
}