public async Task <CreatedResult> CreateTenant([FromBody] TenantCreateDataRepresentation data, string id)
        {
            (await _tenantStore.GetByCode(data.Code))
            .ThrowInvalidDataExceptionIfNotNull("Invalid tenant");     // already exists

            var ownerId = User.GetId();

            var tenantId = await _tenantStore.Create(
                ownerId,
                TrustDefaults.KnownHomeResourceId,
                data
                .ThrowInvalidDataExceptionIfNull("Invalid tenant create data")
                .FromRepresentation(),
                Permission.FullControl | Permission.Owner,
                CallerCollectionRights.Tenant);


            //////////////////////////
            // Add user to tenant
            // ==================
            //

            await _tenantStore.IncludeUser(
                tenantId,
                ownerId,
                Permission.Get | Permission.Owner,
                CallerCollectionRights.Tenant);

            return(ownerId
                   .MakeUserTenantUri(tenantId, Url)
                   .MakeCreated());
        }
Beispiel #2
0
        public async Task <ApiResponse> Create(TenantDto tenantDto)
        {
            var tenant = await _tenantStore.Create(tenantDto);

            return(new ApiResponse(Status200OK, "Created Tenant", tenant));
        }