using Core.Thalos.Application.UseCases.Roles.Input; using Core.Thalos.Application.UseCases.Users.Input; using Core.Thalos.BuildingBlocks; using Core.Thalos.External.Clients.Thalos.Requests.Permissions; using Core.Thalos.External.Clients.Thalos.Requests.Users; using Microsoft.AspNetCore.Mvc; using Refit; namespace LSA.Dashboard.External.Clients.Dashboard { public interface IThalosServiceClient { [Post("/v1/User/Create")] Task> CreateUserService([Header("TrackingId")][Body] CreateUserRequest request, CancellationToken cancellationToken = default); [Post("/v1/User/GetById")] Task> GetUserByIdService([Header("TrackingId")][Body] GetUserRequest request, CancellationToken cancellationToken = default); [Post("/v1/User/GetByEmail")] Task> GetUserByEmailService([Header("TrackingId")][Body] GetUserByEmailRequest request, CancellationToken cancellationToken = default); [Post("/v1/User/ValidateExistence")] Task> ValidateUserExistenceService([Header("TrackingId")][Body] ValidateUserExistenceRequest request, CancellationToken cancellationToken = default); [Post("/v1/User/GetByEmail")] Task> GetUserByEmailService([Header("Authorization")] string? authorization, [Header("TrackingId")][Body] GetUserByEmailRequest request, CancellationToken cancellationToken = default); [Get("/v1/User/GetAll")] Task>> GetAllUsersService([Header("TrackingId")][Body] GetAllUsersRequest request, CancellationToken cancellationToken = default); [Put("/v1/User/Update")] Task> UpdateUserService([Header("TrackingId")][Body] UpdateUserRequest request, CancellationToken cancellationToken = default); [Patch("/v1/User/LoginUser")] Task> LoginUserService([Header("TrackingId")][Body] LoginUserRequest request, CancellationToken cancellationToken = default); [Patch("/v1/User/LogoutUser")] Task> LogoutUserService([Header("TrackingId")][FromBody] LogoutUserRequest request, CancellationToken cancellationToken = default); [Patch("/v1/User/ChangeStatus")] Task> ChangeUserStatusService([Header("TrackingId")][Body] ChangeUserStatusRequest request, CancellationToken cancellationToken = default); [Post("/v1/User/GetTokenAdapter")] Task> GetTokenAdapterService([Header("TrackingId")][Body] GetTokenAdapterRequest request, CancellationToken cancellationToken = default); [Post("/v1/Role/Create")] Task> CreateRoleService([Header("TrackingId")][Body] CreateRoleRequest request, CancellationToken cancellationToken = default); [Post("/v1/Role/GetById")] Task> GetRoleByIdService([Header("TrackingId")][Body] GetRoleRequest request, CancellationToken cancellationToken = default); [Post("/v1/Role/GetById")] Task> GetRoleByIdService([Header("Authorization")] string? authorization, [Header("TrackingId")][Body] GetRoleRequest request, CancellationToken cancellationToken = default); [Get("/v1/Role/GetAll")] Task>> GetAllRolesService([Header("TrackingId")][Body] GetAllRolesRequest request, CancellationToken cancellationToken = default); [Put("/v1/Role/Update")] Task> UpdateRoleService([Header("TrackingId")][Body] UpdateRoleRequest request, CancellationToken cancellationToken = default); [Patch("/v1/Role/ChangeStatus")] Task> ChangeRoleStatusService([Header("TrackingId")][Body] ChangeRoleStatusRequest request, CancellationToken cancellationToken = default); [Post("/v1/Role/AddApplication")] Task> AddApplicationToRoleService([Header("TrackingId")][Body] AddApplicationToRoleRequest request, CancellationToken cancellationToken = default); [Delete("/v1/Role/RemoveApplication")] Task> RemoveApplicationFromRoleService([Header("TrackingId")][Body] RemoveApplicationFromRoleRequest request, CancellationToken cancellationToken = default); [Post("/v1/Permission/Create")] Task> CreatePermissionService([Header("TrackingId")][Body] CreatePermissionRequest request, CancellationToken cancellationToken = default); [Post("/v1/Permission/GetById")] Task> GetPermissionByIdService([Header("TrackingId")][Body] GetPermissionRequest request, CancellationToken cancellationToken = default); [Get("/v1/Permission/GetAll")] Task>> GetAllPermissionsService([Header("TrackingId")][Body] GetAllPermissionsRequest request, CancellationToken cancellationToken = default); [Post("/v1/Permission/GetPermissionList")] Task>> GetAllPermissionsByListService([Header("TrackingId")][Body] GetAllPermissionsByListRequest request, CancellationToken cancellationToken = default); [Put("/v1/Permission/Update")] Task> UpdatePermissionService([Header("TrackingId")][Body] UpdatePermissionRequest request, CancellationToken cancellationToken = default); [Patch("/v1/Permission/ChangeStatus")] Task> ChangePermissionStatusService([Header("TrackingId")][Body] ChangePermissionStatusRequest request, CancellationToken cancellationToken = default); [Post("/v1/Module/Create")] Task> CreateModuleService([Header("TrackingId")][Body] CreateModuleRequest request, CancellationToken cancellationToken = default); [Post("/v1/Module/GetById")] Task> GetModuleByIdService([Header("TrackingId")][Body] GetModuleRequest request, CancellationToken cancellationToken = default); [Get("/v1/Module/GetAll")] Task>> GetAllModulesService([Header("TrackingId")][Body] GetAllModulesRequest request, CancellationToken cancellationToken = default); [Post("/v1/Module/GetModuleList")] Task>> GetAllModulesByListService([Header("TrackingId")][Body] GetAllModulesByListRequest request, CancellationToken cancellationToken = default); [Put("/v1/Module/Update")] Task> UpdateModuleService([Header("TrackingId")][Body] UpdateModuleRequest request, CancellationToken cancellationToken = default); [Patch("/v1/Module/ChangeStatus")] Task> ChangeModuleStatusService([Header("TrackingId")][Body] ChangeModuleStatusRequest request, CancellationToken cancellationToken = default); } }