Example #1
0
        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());
        }
Example #3
0
        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());
        }