Пример #1
0
        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));
        }
Пример #2
0
        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);
        }
Пример #3
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));
        }
Пример #4
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));
        }