public static SchemaDetailsDto ToDetailsModel(this ISchemaEntity entity)
        {
            var dto = new SchemaDetailsDto {
                Properties = new SchemaPropertiesDto()
            };

            SimpleMapper.Map(entity, dto);
            SimpleMapper.Map(entity.Schema, dto);
            SimpleMapper.Map(entity.Schema.Properties, dto.Properties);

            dto.Fields = new List <FieldDto>();

            foreach (var field in entity.Schema.Fields)
            {
                var fieldPropertiesDto = Factories[field.RawProperties.GetType()](field.RawProperties);
                var fieldInstanceDto   = SimpleMapper.Map(field,
                                                          new FieldDto
                {
                    FieldId      = field.Id,
                    Properties   = fieldPropertiesDto,
                    Partitioning = field.Paritioning.Key
                });

                dto.Fields.Add(fieldInstanceDto);
            }

            return(dto);
        }
        public async Task <IActionResult> GetSchema(string app, string name)
        {
            ISchemaEntity?schema;

            if (Guid.TryParse(name, out var guid))
            {
                var schemaId = DomainId.Create(guid);

                schema = await appProvider.GetSchemaAsync(AppId, schemaId);
            }
            else
            {
                schema = await appProvider.GetSchemaAsync(AppId, name);
            }

            if (schema == null || schema.IsDeleted)
            {
                return(NotFound());
            }

            var response = Deferred.Response(() =>
            {
                return(SchemaDetailsDto.FromSchemaWithDetails(schema, Resources));
            });

            Response.Headers[HeaderNames.ETag] = schema.ToEtag();

            return(Ok(response));
        }
        private async Task <SchemaDetailsDto> InvokeCommandAsync(ICommand command)
        {
            var context = await CommandBus.PublishAsync(command);

            var result   = context.Result <ISchemaEntity>();
            var response = SchemaDetailsDto.FromSchemaWithDetails(result, Resources);

            return(response);
        }
Exemple #4
0
        public async Task <IActionResult> GetSchema(string app, string name)
        {
            var schema = await GetSchemaAsync(name);

            if (schema == null)
            {
                return(NotFound());
            }

            var response = Deferred.Response(() =>
            {
                return(SchemaDetailsDto.FromSchemaWithDetails(schema, Resources));
            });

            Response.Headers[HeaderNames.ETag] = schema.ToEtag();

            return(Ok(response));
        }
        private static JToken CreateValue(FieldPropertiesDto field)
        {
            var schema = new SchemaDetailsDto
            {
                Fields = new List <FieldDto>
                {
                    new FieldDto
                    {
                        Name         = "field",
                        Properties   = field,
                        Partitioning = "invariant"
                    }
                }
            };

            var sut = new TestDataGenerator(schema, null);

            var data = sut.GenerateTestData();

            return(data["field"]["iv"]);
        }
Exemple #6
0
        public async Task <IActionResult> GetSchema(string app, string name)
        {
            ISchemaEntity entity;

            if (Guid.TryParse(name, out var id))
            {
                entity = await appProvider.GetSchemaAsync(AppId, id);
            }
            else
            {
                entity = await appProvider.GetSchemaAsync(AppId, name);
            }

            if (entity == null || entity.IsDeleted)
            {
                return(NotFound());
            }

            var response = SchemaDetailsDto.FromSchema(entity);

            Response.Headers["ETag"] = entity.Version.ToString();

            return(Ok(response));
        }
Exemple #7
0
        public async Task <IActionResult> GetSchema(string app, string name)
        {
            ISchemaEntity schema;

            if (Guid.TryParse(name, out var id))
            {
                schema = await appProvider.GetSchemaAsync(AppId, id);
            }
            else
            {
                schema = await appProvider.GetSchemaAsync(AppId, name);
            }

            if (schema == null || schema.IsDeleted)
            {
                return(NotFound());
            }

            var response = SchemaDetailsDto.FromSchemaWithDetails(schema, this, app);

            Response.Headers[HeaderNames.ETag] = schema.Version.ToString();

            return(Ok(response));
        }
Exemple #8
0
        public static SchemaDetailsDto ToModel(this ISchemaEntityWithSchema entity)
        {
            var dto = new SchemaDetailsDto();

            SimpleMapper.Map(entity, dto);
            SimpleMapper.Map(entity.Schema, dto);
            SimpleMapper.Map(entity.Schema.Properties, dto);

            dto.Fields = new List <FieldDto>();

            foreach (var kvp in entity.Schema.Fields)
            {
                var fieldPropertiesDto =
                    Factories[kvp.Value.RawProperties.GetType()](kvp.Value.RawProperties);

                var fieldDto = SimpleMapper.Map(kvp.Value, new FieldDto {
                    FieldId = kvp.Key, Properties = fieldPropertiesDto
                });

                dto.Fields.Add(fieldDto);
            }

            return(dto);
        }
 public TestDataGenerator(SchemaDetailsDto schema, AppLanguagesDto languages)
 {
     this.schema    = schema;
     this.languages = languages;
 }