public async Task <ActionResult> AddUserToProject([FromRoute] string projectId, [FromBody] AddUserToProjectRequest request)
        {
            var resp = await(await factory.GetProjectsClientAsync())
                       .AddUserToProjectAsync(new AcademyCloud.Identity.Protos.Projects.AddUserToProjectRequest
            {
                ProjectId = projectId,
                UserId    = request.UserId,
                Role      = (AcademyCloud.Identity.Protos.Common.UserRole)request.Role,
            });

            // add to expenses
            await(await factory.GetExpensesIdentityClient())
            .AddUserToProjectAsync(new AcademyCloud.Expenses.Protos.Identity.AddUserToProjectRequest
            {
                ProjectId = projectId,
                UserId    = request.UserId,
                UserProjectAssignmentId = resp.UserProjectAssignmentId,
            });

            // add to resources
            await(await factory.GetResourcesIdentityServiceClient())
            .AddUserAsync(new AcademyCloud.ResourceManagement.Protos.Identity.AddUserRequest
            {
                UserId    = request.UserId,
                ProjectId = projectId,
                UserProjectAssignmentId = resp.UserProjectAssignmentId,
            });

            return(NoContent());
        }
Example #2
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
            });
        }
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());
        }