/// <inheritdoc /> public Task <IReadOnlyCollection <ModerationActionSummary> > SearchModerationActionsAsync(ModerationActionSearchCriteria searchCriteria) => ModerationActionRepository.SearchSummariesAsync(searchCriteria);
/// <inheritdoc /> public async Task <ServiceResult <IReadOnlyCollection <ModerationActionSummary> > > SearchModerationActionsAsync(ModerationActionSearchCriteria searchCriteria) => await AuthorizationService.CheckClaims(AuthorizationClaim.ModerationRead) .ShortCircuitAsync(ModerationActionRepository.SearchSummariesAsync(searchCriteria));
/// <inheritdoc /> public async Task <IReadOnlyCollection <ModerationActionSummary> > SearchSummariesAsync(ModerationActionSearchCriteria searchCriteria) { return(await ModixContext.ModerationActions.AsNoTracking() .FilterBy(searchCriteria) .AsExpandable() .Select(ModerationActionSummary.FromEntityProjection) .ToArrayAsync()); }
public static IQueryable <ModerationActionEntity> FilterModerationActionsBy(this IQueryable <ModerationActionEntity> query, ModerationActionSearchCriteria criteria) { var longGuildId = (long?)criteria?.GuildId; var longCreatedById = (long?)criteria?.CreatedById; return(query .FilterBy( x => x.GuildId == longGuildId, longGuildId != null) .FilterBy( x => criteria.Types.Contains(x.Type), criteria?.Types?.Any() ?? false) .FilterBy( x => x.Created >= criteria.CreatedRange.Value.From, criteria?.CreatedRange?.From != null) .FilterBy( x => x.Created <= criteria.CreatedRange.Value.To, criteria?.CreatedRange?.To != null) .FilterBy( x => x.CreatedById == longCreatedById, longCreatedById != null)); }