Exemple #1
0
        public async Task CreateApiResourceAsync(OspApiResource apiResource)
        {
            ArgumentValidation.Validate(nameof(apiResource), apiResource);

            using (var session = await _repository.StartSessionAsync())
            {
                session.StartTransaction();

                await _apiResourceCollection.InsertAsync(session, apiResource);

                await session.CommitTransactionAsync();
            }
        }
Exemple #2
0
        public async Task <OspApiResource> TryCreateApiResourceAsync(ApiResource apiResource)
        {
            var res = await GetApiResourceByNameAsync(apiResource.Name);

            if (res == null)
            {
                res = new OspApiResource
                {
                    Description             = apiResource.Description,
                    Name                    = apiResource.Name,
                    Enabled                 = apiResource.Enabled,
                    DisplayName             = apiResource.DisplayName,
                    ShowInDiscoveryDocument = apiResource.ShowInDiscoveryDocument,
                    Properties              = new Dictionary <string, string>(apiResource.Properties),
                    UserClaims              = new List <string>(apiResource.UserClaims),
                    Scopes                  = apiResource.Scopes
                };

                await CreateApiResourceAsync(res);
            }

            return(res);
        }