Пример #1
0
        public UnitOfWork(AppDbContext context)
        {
            this.context    = context;
            Auth            = new AuthRepository(this.context);
            Users           = new AccountRepository(this.context);
            UserSessions    = new UserSessionRepository(this.context);
            Settings        = new SettingsRepository(this.context);
            Clients         = new ClientRepository(this.context);
            PersistedGrants = new PersistentGrantRepository(this.context);

            SekaniLevels            = new SekaniLevelRepository(this.context);
            SekaniWords             = new SekaniWordRepository(this.context);
            SekaniCategories        = new SekaniCategoryRepository(this.context);
            Topics                  = new TopicRepository(this.context);
            EnglishWords            = new EnglishWordRepository(this.context);
            SekaniWordAudios        = new SekaniWordAudioRepository(this.context);
            SekaniRoots             = new SekaniRootRepository(this.context);
            SekaniRootImages        = new SekaniRootImageRepository(this.context);
            SekaniForms             = new SekaniFormRepository(this.context);
            SekaniWordExamples      = new SekaniWordExampleRepository(this.context);
            SekaniWordExampleAudios = new SekaniWordExampleAudioRepository(this.context);
            SekaniWordAttributes    = new SekaniWordAttributeRepository(this.context);
            SekaniRootsEnglishWords = new SekaniRootEnglishWordRepository(this.context);
            SekaniRootsTopics       = new SekaniRootTopicRepository(this.context);
            UserActivityStats       = new UserActivityStatRepository(this.context);
            UserLearnedWords        = new UserLearnedWordRepository(this.context);
            UserFailedWords         = new UserFailedWordRepository(this.context);
            GameRepository          = new GameRepository(this.context);
        }
Пример #2
0
        public virtual async Task RemoveAsync(string key)
        {
            var persistedGrant = await PersistentGrantRepository.FindByKeyAsync(key);

            if (persistedGrant == null)
            {
                return;
            }

            await PersistentGrantRepository.DeleteAsync(persistedGrant);
        }
Пример #3
0
    protected virtual async Task RemoveGrantsAsync()
    {
        for (var i = 0; i < Options.CleanupLoopCount; i++)
        {
            var persistentGrants = await PersistentGrantRepository.GetListByExpirationAsync(DateTime.UtcNow, Options.CleanupBatchSize);

            await PersistentGrantRepository.DeleteManyAsync(persistentGrants);

            //No need to continue to query if it gets more than max items.
            if (persistentGrants.Count < Options.CleanupBatchSize)
            {
                break;
            }
        }
    }
Пример #4
0
        public virtual async Task StoreAsync(IdentityServer4.Models.PersistedGrant grant)
        {
            var entity = await PersistentGrantRepository.FindByKeyAsync(grant.Key);

            if (entity == null)
            {
                entity = ObjectMapper.Map <IdentityServer4.Models.PersistedGrant, PersistedGrant>(grant);
                EntityHelper.TrySetId(entity, () => GuidGenerator.Create());
                await PersistentGrantRepository.InsertAsync(entity);
            }
            else
            {
                ObjectMapper.Map(grant, entity);
                await PersistentGrantRepository.UpdateAsync(entity);
            }
        }
Пример #5
0
        protected virtual async Task RemoveGrantsAsync()
        {
            for (int i = 0; i < Options.CleanupLoopCount; i++)
            {
                var persistentGrants = await PersistentGrantRepository
                                       .GetListByExpirationAsync(Clock.Now, Options.CleanupBatchSize);

                //TODO: Can be optimized if the repository implements the batch deletion
                foreach (var persistentGrant in persistentGrants)
                {
                    await PersistentGrantRepository
                    .DeleteAsync(persistentGrant);
                }

                //No need to continue to query if it gets more than max items.
                if (persistentGrants.Count < Options.CleanupBatchSize)
                {
                    break;
                }
            }
        }
Пример #6
0
 public PersistedGrantsController(PersistentGrantRepository persistentGrantRepository, IMapper mapper, IIdentityServerDbContext mateupDbContext)
 {
     _persistentGrantRepository = persistentGrantRepository;
     _mapper          = mapper;
     _mateupDbContext = mateupDbContext;
 }
Пример #7
0
 public virtual async Task RemoveAllAsync(string subjectId, string clientId, string type)
 {
     await PersistentGrantRepository.DeleteAsync(subjectId, clientId, type);
 }
Пример #8
0
        public virtual async Task <IEnumerable <IdentityServer4.Models.PersistedGrant> > GetAllAsync(string subjectId)
        {
            var persistedGrants = await PersistentGrantRepository.GetListBySubjectIdAsync(subjectId);

            return(persistedGrants.Select(x => ObjectMapper.Map <PersistedGrant, IdentityServer4.Models.PersistedGrant>(x)));
        }
Пример #9
0
        public virtual async Task <IdentityServer4.Models.PersistedGrant> GetAsync(string key)
        {
            var persistedGrant = await PersistentGrantRepository.FindByKeyAsync(key);

            return(ObjectMapper.Map <PersistedGrant, IdentityServer4.Models.PersistedGrant>(persistedGrant));
        }
Пример #10
0
 public virtual async Task RemoveAllAsync(PersistedGrantFilter filter)
 {
     await PersistentGrantRepository.DeleteAsync(filter.SubjectId, filter.SessionId, filter.ClientId, filter.Type);
 }
Пример #11
0
    public virtual async Task <IEnumerable <IdentityServer4.Models.PersistedGrant> > GetAllAsync(PersistedGrantFilter filter)
    {
        var persistedGrants = await PersistentGrantRepository.GetListAsync(filter.SubjectId, filter.SessionId, filter.ClientId, filter.Type);

        return(ObjectMapper.Map <List <PersistedGrant>, List <IdentityServer4.Models.PersistedGrant> >(persistedGrants));
    }