mirror of https://github.com/Squidex/squidex.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.1 KiB
61 lines
2.1 KiB
// ==========================================================================
|
|
// Squidex Headless CMS
|
|
// ==========================================================================
|
|
// Copyright (c) Squidex UG (haftungsbeschraenkt)
|
|
// All rights reserved. Licensed under the MIT license.
|
|
// ==========================================================================
|
|
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using Newtonsoft.Json;
|
|
using Squidex.ClientLibrary;
|
|
using Squidex.ClientLibrary.Management;
|
|
|
|
namespace TestSuite.Model
|
|
{
|
|
public sealed class TestEntity : Content<TestEntityData>
|
|
{
|
|
public static async Task<SchemaDetailsDto> CreateSchemaAsync(ISchemasClient schemas, string appName, string name)
|
|
{
|
|
var schema = await schemas.PostSchemaAsync(appName, new CreateSchemaDto
|
|
{
|
|
Name = name,
|
|
Fields = new List<UpsertSchemaFieldDto>
|
|
{
|
|
new UpsertSchemaFieldDto
|
|
{
|
|
Name = TestEntityData.NumberField,
|
|
Properties = new NumberFieldPropertiesDto
|
|
{
|
|
IsRequired = true
|
|
}
|
|
},
|
|
new UpsertSchemaFieldDto
|
|
{
|
|
Name = TestEntityData.StringField,
|
|
Properties = new StringFieldPropertiesDto
|
|
{
|
|
IsRequired = false
|
|
}
|
|
}
|
|
},
|
|
IsPublished = true
|
|
});
|
|
|
|
return schema;
|
|
}
|
|
}
|
|
|
|
public sealed class TestEntityData
|
|
{
|
|
public static readonly string StringField = nameof(String).ToLowerInvariant();
|
|
|
|
public static readonly string NumberField = nameof(Number).ToLowerInvariant();
|
|
|
|
[JsonConverter(typeof(InvariantConverter))]
|
|
public int Number { get; set; }
|
|
|
|
[JsonConverter(typeof(InvariantConverter))]
|
|
public string String { get; set; }
|
|
}
|
|
}
|
|
|