98 lines
5.3 KiB
C#
98 lines
5.3 KiB
C#
using Core.Thalos.BuildingBlocks;
|
|
using Core.Thalos.External.Clients.Requests;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Refit;
|
|
|
|
namespace Core.Thalos.External.Clients
|
|
{
|
|
public interface IThalosServiceClient
|
|
{
|
|
[Get("/v1/User")]
|
|
Task<IEnumerable<UserAdapter>> GetAllUsersAsync(CancellationToken cancellationToken = default);
|
|
|
|
[Get("/v1/User/" + Routes.Id)]
|
|
Task<UserAdapter> GetUserByIdAsync([FromRoute] string id, CancellationToken cancellationToken = default);
|
|
|
|
[Get("/v1/User/" + Routes.Email)]
|
|
Task<UserAdapter> GetUserByEmailAsync([FromRoute] string email, CancellationToken cancellationToken = default);
|
|
|
|
[Get("/v1/User/{email}/ValidateExistence")]
|
|
Task<UserExistenceAdapter> ValidateUserExistence([FromRoute] string email, CancellationToken cancellationToken = default);
|
|
|
|
[Post("/v1/User/" + Routes.Register)]
|
|
Task<UserAdapter> CreateUserAsync([FromBody] UserRequest newUser, [FromRoute] bool sendInvitation, CancellationToken cancellationToken = default);
|
|
|
|
[Put("/v1/User/" + Routes.Id)]
|
|
Task<UserAdapter> UpdateUserAsync([FromBody] UserAdapter entity, [FromRoute] string id, CancellationToken cancellationToken = default);
|
|
|
|
[Patch("/v1/User/" + Routes.LogIn)]
|
|
Task<UserAdapter> LoginUserAsync([FromRoute] string email, CancellationToken cancellationToken = default);
|
|
|
|
[Patch("/v1/User/" + Routes.LogOut)]
|
|
Task<UserAdapter> LogoutUserAsync([FromRoute] string email, CancellationToken cancellationToken = default);
|
|
|
|
[Patch("/v1/User/" + Routes.ChangeStatus)]
|
|
Task<UserAdapter> ChangeUserStatusAsync([FromRoute] string id, Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken = default);
|
|
|
|
[Get("/v1/User/{email}/GetTokenAdapter")]
|
|
Task<TokenAdapter> GetTokenAdapter([FromRoute] string email, CancellationToken cancellationToken = default);
|
|
|
|
[Get("/v1/Role")]
|
|
Task<IEnumerable<RoleAdapter>> GetAllRolesAsync(CancellationToken cancellationToken = default);
|
|
|
|
[Get("/v1/Role/" + Routes.Id)]
|
|
Task<RoleAdapter> GetRoleByIdAsync([FromRoute] string id, CancellationToken cancellationToken = default);
|
|
|
|
[Post("/v1/Role")]
|
|
Task<RoleAdapter> CreateRoleAsync([FromBody] RoleRequest newRole, CancellationToken cancellationToken = default);
|
|
|
|
[Put("/v1/Role/" + Routes.Id)]
|
|
Task<RoleAdapter> UpdateRoleAsync([FromBody] RoleAdapter entity, [FromRoute] string id, CancellationToken cancellationToken = default);
|
|
|
|
[Patch("/v1/Role/" + Routes.ChangeStatus)]
|
|
Task<RoleAdapter> ChangeRoleStatusAsync([FromRoute] string id, [FromRoute] Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken = default);
|
|
|
|
[Post("/v1/Role/" + Routes.AddApplication)]
|
|
Task<RoleAdapter> AddApplicationToRoleAsync([FromRoute] string RoleId, [FromRoute] ApplicationsEnum application, CancellationToken cancellationToken = default);
|
|
|
|
[Delete("/v1/Role/" + Routes.RemoveApplication)]
|
|
Task<RoleAdapter> RemoveApplicationToRoleAsync([FromRoute] string RoleId, [FromRoute] ApplicationsEnum application, CancellationToken cancellationToken = default);
|
|
|
|
[Get("/v1/Permission")]
|
|
Task<IEnumerable<PermissionAdapter>> GetAllPermissionsAsync(CancellationToken cancellationToken = default);
|
|
|
|
[Post("/v1/Permission/" + Routes.GetPermissionList)]
|
|
Task<IEnumerable<PermissionAdapter>> GetAllPermissionsByListAsync([FromBody] string[] request, CancellationToken cancellationToken = default);
|
|
|
|
[Get("/v1/Permission/" + Routes.Id)]
|
|
Task<PermissionAdapter> GetPermissionByIdAsync([FromRoute] string id, CancellationToken cancellationToken = default);
|
|
|
|
[Post("/v1/Permission")]
|
|
Task<PermissionAdapter> CreatePermissionAsync([FromBody] PermissionRequest newPermission, CancellationToken cancellationToken = default);
|
|
|
|
[Put("/v1/Permission/" + Routes.Id)]
|
|
Task<PermissionAdapter> UpdatePermissionAsync([FromBody] PermissionAdapter entity, [FromRoute] string id, CancellationToken cancellationToken = default);
|
|
|
|
[Patch("/v1/Permission/" + Routes.ChangeStatus)]
|
|
Task<PermissionAdapter> ChangeStatusPermissionAsync([FromRoute] string id, [FromRoute] Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken = default);
|
|
|
|
[Get("/v1/Module")]
|
|
Task<IEnumerable<ModuleAdapter>> GetAllModulesAsync(CancellationToken cancellationToken = default);
|
|
|
|
[Post("/v1/Module/" + Routes.GetModuleList)]
|
|
Task<IEnumerable<ModuleAdapter>> GetAllModulesByListAsync([FromBody] string[] request, CancellationToken cancellationToken = default);
|
|
|
|
[Get("/v1/Module/" + Routes.Id)]
|
|
Task<ModuleAdapter> GetModuleByIdAsync([FromRoute] string id, CancellationToken cancellationToken = default);
|
|
|
|
[Post("/v1/Module")]
|
|
Task<ModuleAdapter> CreateModuleAsync([FromBody] ModuleRequest newModule, CancellationToken cancellationToken = default);
|
|
|
|
[Put("/v1/Module/" + Routes.Id)]
|
|
Task<ModuleAdapter> UpdateModuleAsync([FromBody] ModuleAdapter entity, [FromRoute] string id, CancellationToken cancellationToken = default);
|
|
|
|
[Patch("/v1/Module/" + Routes.ChangeStatus)]
|
|
Task<ModuleAdapter> ChangeStatusModuleAsync([FromRoute] string id, [FromRoute] Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken = default);
|
|
}
|
|
}
|