public async Task <IActionResult> Get([FromQuery] GetCustomEntityDataModelSchemaDetailsByDefinitionCodeRangeQuery rangeQuery) { if (rangeQuery.CustomEntityDefinitionCodes == null) { return(_apiResponseHelper.SimpleQueryResponse(this, Enumerable.Empty <CustomEntityDataModelSchema>())); } var result = await _queryExecutor.ExecuteAsync(rangeQuery); return(_apiResponseHelper.SimpleQueryResponse(this, result.FilterAndOrderByKeys(rangeQuery.CustomEntityDefinitionCodes))); }
public IEnumerable <IPermissionApplication> GetPermissions(GetCustomEntityDataModelSchemaDetailsByDefinitionCodeRangeQuery query) { foreach (var code in query.CustomEntityDefinitionCodes) { var definition = _customEntityDefinitionRepository.GetByCode(code); EntityNotFoundException.ThrowIfNull(definition, code); yield return(new CustomEntityReadPermission(definition)); } }
public async Task <JsonResult> Get([FromQuery] GetCustomEntityDataModelSchemaDetailsByDefinitionCodeRangeQuery rangeQuery) { if (rangeQuery.CustomEntityDefinitionCodes == null) { return(_apiResponseHelper.SimpleQueryResponse(Enumerable.Empty <CustomEntityDataModelSchema>())); } var result = await _domainRepository .WithQuery(rangeQuery) .FilterAndOrderByKeys(rangeQuery.CustomEntityDefinitionCodes) .ExecuteAsync(); var settings = _dynamicDataModelSchemaJsonSerializerSettingsCache.GetInstance(); var jsonResponse = _apiResponseHelper.SimpleQueryResponse(result); jsonResponse.SerializerSettings = settings; return(jsonResponse); }
public IDomainRepositoryQueryContext <IDictionary <string, CustomEntityDataModelSchema> > AsDetails() { var query = new GetCustomEntityDataModelSchemaDetailsByDefinitionCodeRangeQuery(_customEntityDefinitionCodes); return(DomainRepositoryQueryContextFactory.Create(query, ExtendableContentRepository)); }
public async Task <IDictionary <string, CustomEntityDataModelSchema> > ExecuteAsync(GetCustomEntityDataModelSchemaDetailsByDefinitionCodeRangeQuery query, IExecutionContext executionContext) { var definitionQuery = new GetAllCustomEntityDefinitionSummariesQuery(); var definitions = await _queryExecutor.ExecuteAsync(definitionQuery, executionContext); var results = new Dictionary <string, CustomEntityDataModelSchema>(); foreach (var definition in definitions .Where(d => query.CustomEntityDefinitionCodes.Contains(d.CustomEntityDefinitionCode))) { var result = new CustomEntityDataModelSchema(); result.CustomEntityDefinitionCode = definition.CustomEntityDefinitionCode; _dynamicDataModelTypeMapper.Map(result, definition.DataModelType); results.Add(definition.CustomEntityDefinitionCode, result); } return(results); }