예제 #1
0
        public async Task <bool> TransformUserToOrganization(User accountToTransform, User adminUser, string token)
        {
            if (!await SubscribeOrganizationToTenantPolicy(accountToTransform, adminUser))
            {
                return(false);
            }

            return(await EntitiesContext.TransformUserToOrganization(accountToTransform, adminUser, token));
        }
예제 #2
0
        public async Task <bool> TransformUserToOrganization(User accountToTransform, User adminUser, string token)
        {
            await SubscribeOrganizationToTenantPolicyIfTenantIdIsSupported(accountToTransform, adminUser);

            var result = await EntitiesContext.TransformUserToOrganization(accountToTransform, adminUser, token);

            if (result)
            {
                await Auditing.SaveAuditRecordAsync(new UserAuditRecord(accountToTransform, AuditedUserAction.TransformOrganization, adminUser, affectedMemberIsAdmin : true));
            }

            return(result);
        }
예제 #3
0
        public async Task <bool> TransformUserToOrganization(User accountToTransform, User adminUser, string token)
        {
            var tenantId = adminUser.Credentials.GetAzureActiveDirectoryCredential()?.TenantId;

            if (string.IsNullOrWhiteSpace(tenantId))
            {
                return(false);
            }

            var tenantPolicy = RequireOrganizationTenantPolicy.Create(tenantId);

            if (!await SecurityPolicyService.SubscribeAsync(accountToTransform, tenantPolicy))
            {
                return(false);
            }

            return(await EntitiesContext.TransformUserToOrganization(accountToTransform, adminUser, token));
        }
예제 #4
0
        public async Task <bool> TransformUserToOrganization(User accountToTransform, User adminUser, string token)
        {
            if (accountToTransform.OrganizationMigrationRequest == null ||
                !accountToTransform.OrganizationMigrationRequest.AdminUser.MatchesUser(adminUser) ||
                accountToTransform.OrganizationMigrationRequest.ConfirmationToken != token)
            {
                return(false);
            }

            await SubscribeOrganizationToTenantPolicyIfTenantIdIsSupported(accountToTransform, adminUser);

            var result = await EntitiesContext.TransformUserToOrganization(accountToTransform, adminUser, token);

            if (result)
            {
                await Auditing.SaveAuditRecordAsync(new UserAuditRecord(accountToTransform, AuditedUserAction.TransformOrganization, adminUser, affectedMemberIsAdmin : true));
            }

            return(result);
        }
예제 #5
0
        public async Task <bool> TransformUserToOrganization(User accountToTransform, User adminUser, string token)
        {
            await SubscribeOrganizationToTenantPolicyIfTenantIdIsSupported(accountToTransform, adminUser);

            return(await EntitiesContext.TransformUserToOrganization(accountToTransform, adminUser, token));
        }