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(); } }
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); }