Add TagType CRUD

This commit is contained in:
Oscar Morales
2025-07-31 19:07:22 -06:00
parent e191851982
commit 54dd38cfd6
6 changed files with 410 additions and 1 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 ITagTypeProvider
{
/// <summary>
/// Creates a new TagType.
/// </summary>
/// <param name="entity">The TagType to be created.</param>
/// <returns>A <see cref="{Task{TagTypeAdapter}}"/> representing
/// the asynchronous execution of the service.</returns>
ValueTask<TagTypeAdapter> CreateTagType(TagTypeRequest newTagType, CancellationToken cancellationToken);
/// <summary>
/// Gets an TagType by identifier.
/// </summary>
/// <param name="id">The TagType identifier.</param>
/// <returns>A <see cref="{Task{TagTypeAdapter}}"/> representing
/// the asynchronous execution of the service.</returns>
ValueTask<TagTypeAdapter> GetTagTypeById(string _id, CancellationToken cancellationToken);
/// <summary>
/// Gets all the tagTypes.
/// </summary>
/// <returns>A <see cref="{Task{IEnumerbale{TagTypeAdapter}}}"/> representing
/// the asynchronous execution of the service.</returns>
ValueTask<IEnumerable<TagTypeAdapter>> GetAllTagTypes(CancellationToken cancellationToken);
/// <summary>
/// Gets all the tagTypes by tagTypes identifier list.
/// </summary>
/// <param name="tagTypes">The list of tagTypes identifiers.</param>
/// <returns>A <see cref="Task{IEnumerable{TagTypeAdapter}}"/> representing
/// the asynchronous execution of the service.</returns>
ValueTask<IEnumerable<TagTypeAdapter>> GetAllTagTypesByList(string[] TagTypes, CancellationToken cancellationToken);
/// <summary>
/// Changes the status of the tagType.
/// </summary>
/// <param name="id">The tagType identifier.</param>
/// <param name="newStatus">The new status of the tagType.</param>
/// <returns>The <see cref="TagTypeAdapter"/> updated entity.</returns>
/// <returns>A <see cref="{Task{TagTypeAdapter}}"/> representing
/// the asynchronous execution of the service.</returns>
ValueTask<TagTypeAdapter> ChangeTagTypeStatus(string id, StatusEnum newStatus, CancellationToken cancellationToken);
/// <summary>
/// Updates a TagType by id.
/// </summary>
/// <param name="entity">The TagType to be updated.</param>
/// <param name="id">The TagType identifier.</param>
/// <returns>A <see cref="{Task{TagTypeAdapter}}"/> representing
/// the asynchronous execution of the service.</returns>
ValueTask<TagTypeAdapter> UpdateTagType(TagTypeAdapter entity, CancellationToken cancellationToken);
}
}