예제 #1
0
 private void HandleCustomProperties(
     ScopeParam model,
     OpenIddictEntityFrameworkCoreScope entity
     )
 {
     entity.Resources = JsonSerializer.Serialize(model.Resources);
 }
예제 #2
0
        public async Task <string> CreateAsync(ScopeParam model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            var entity = await _manager.FindByNameAsync(model.Name);

            if (entity == null)
            {
                // create new entity
                var newEntity = new OpenIddictEntityFrameworkCoreScope
                {
                    Name        = model.Name,
                    DisplayName = model.DisplayName,
                    Description = model.Description
                };

                HandleCustomProperties(model, newEntity);

                await _manager.CreateAsync(newEntity);

                return(newEntity.Id);
            }

            // update existing entity
            model.Id = entity.Id;
            await UpdateAsync(model);

            return(entity.Id);
        }
예제 #3
0
        private ScopeInfo ToInfo(OpenIddictEntityFrameworkCoreScope entity)
        {
            var info = SimpleMapper
                       .From <OpenIddictEntityFrameworkCoreScope, ScopeInfo>(entity);

            info.Resources = entity.Resources != null
        ? JsonSerializer.Deserialize <List <string> >(entity.Resources)
        : new List <string>();

            return(info);
        }