public async Task <ActionResult <RegisterResponse> > Register([FromBody] RegisterRequest request) { var resp = await(await factory.GetAccountClientAsync()) .RegisterAsync(new AcademyCloud.Identity.Protos.Account.RegisterRequest() { Username = request.Username, Password = request.Password, Email = request.Email, }); // add user to expenses await(await factory.GetExpensesIdentityClient()) .AddUserAsync(new AcademyCloud.Expenses.Protos.Identity.AddUserRequest { UserId = resp.UserId, SocialProjectId = resp.SocialProjectId, SocialDomainAssignmentId = resp.SocialDomainAssignmentId, SocialProjectAssignmentId = resp.SocialProjectAssignmentId, }); // add user to resources await(await factory.GetResourcesIdentityServiceClient()) .AddUserAsync(new AcademyCloud.ResourceManagement.Protos.Identity.AddUserRequest { UserId = resp.UserId, ProjectId = resp.SocialProjectId, UserProjectAssignmentId = resp.SocialProjectAssignmentId, }); return(new RegisterResponse() { Scope = resp.Scope, Token = resp.Token }); }
public async Task <ActionResult> SetResourcesOfUser([FromRoute] string projectId, [FromRoute] string userId, [FromBody] SetResourcesOfUserRequest request) { // request to expenses await(await factory.GetExpensesIdentityClient()) .SetProjectUserQuotaAsync(new AcademyCloud.Expenses.Protos.Identity.SetProjectUserQuotaRequest { ProjectId = projectId, UserId = userId, Quota = request.Resources, }); return(NoContent()); }
public async Task <ActionResult> RemoveUserFromSystem([FromRoute] string userId) { var resp = await(await factory.GetUsersClientAsync()) .RemoveUserFromSystemAsync(new AcademyCloud.Identity.Protos.Users.RemoveUserFromSystemRequest { UserId = userId }); await(await factory.GetExpensesIdentityClient()) .DeleteUserAsync(new AcademyCloud.Expenses.Protos.Identity.DeleteUserRequest { UserId = userId }); await(await factory.GetResourcesIdentityServiceClient()) .DeleteUserAsync(new AcademyCloud.ResourceManagement.Protos.Identity.DeleteUserRequest { UserId = userId }); return(NoContent()); }
public async Task <ActionResult> AddUserToDomain([FromRoute] string domainId, [FromBody] AddUserToDomainRequest request) { // Add in the expenses var resp = await(await factory.GetDomainsClientAsync()) .AddUserToDomainAsync(new AcademyCloud.Identity.Protos.Domains.AddUserToDomainRequest { DomainId = domainId, UserId = request.UserId, Role = (AcademyCloud.Identity.Protos.Common.UserRole)request.Role, }); // add user to domain in expenses await(await factory.GetExpensesIdentityClient()) .AddUserToDomainAsync(new AcademyCloud.Expenses.Protos.Identity.AddUserToDomainRequest { DomainId = domainId, UserId = request.UserId, UserDomainAssignmentId = resp.UserDomainAssignmentId, }); return(NoContent()); }