// ========================================================================== // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex UG (haftungsbeschraenkt) // All rights reserved. Licensed under the MIT license. // ========================================================================== using System; namespace Squidex.Domain.Apps.Core.Schemas { public static class Fields { public static RootField Array(long id, string name, Partitioning partitioning, params NestedField[] fields) { return new ArrayField(id, name, partitioning, fields); } public static ArrayField Array(long id, string name, Partitioning partitioning, ArrayFieldProperties properties = null, IFieldSettings settings = null) { return new ArrayField(id, name, partitioning, properties, settings); } public static RootField Assets(long id, string name, Partitioning partitioning, AssetsFieldProperties properties = null, IFieldSettings settings = null) { return new RootField(id, name, partitioning, properties, settings); } public static RootField Boolean(long id, string name, Partitioning partitioning, BooleanFieldProperties properties = null, IFieldSettings settings = null) { return new RootField(id, name, partitioning, properties, settings); } public static RootField DateTime(long id, string name, Partitioning partitioning, DateTimeFieldProperties properties = null, IFieldSettings settings = null) { return new RootField(id, name, partitioning, properties, settings); } public static RootField Geolocation(long id, string name, Partitioning partitioning, GeolocationFieldProperties properties = null, IFieldSettings settings = null) { return new RootField(id, name, partitioning, properties, settings); } public static RootField Json(long id, string name, Partitioning partitioning, JsonFieldProperties properties = null, IFieldSettings settings = null) { return new RootField(id, name, partitioning, properties, settings); } public static RootField Number(long id, string name, Partitioning partitioning, NumberFieldProperties properties = null, IFieldSettings settings = null) { return new RootField(id, name, partitioning, properties, settings); } public static RootField References(long id, string name, Partitioning partitioning, ReferencesFieldProperties properties = null, IFieldSettings settings = null) { return new RootField(id, name, partitioning, properties, settings); } public static RootField String(long id, string name, Partitioning partitioning, StringFieldProperties properties = null, IFieldSettings settings = null) { return new RootField(id, name, partitioning, properties, settings); } public static RootField Tags(long id, string name, Partitioning partitioning, TagsFieldProperties properties = null, IFieldSettings settings = null) { return new RootField(id, name, partitioning, properties, settings); } public static NestedField Assets(long id, string name, AssetsFieldProperties properties = null, IFieldSettings settings = null) { return new NestedField(id, name, properties, settings); } public static NestedField Boolean(long id, string name, BooleanFieldProperties properties = null, IFieldSettings settings = null) { return new NestedField(id, name, properties, settings); } public static NestedField DateTime(long id, string name, DateTimeFieldProperties properties = null, IFieldSettings settings = null) { return new NestedField(id, name, properties, settings); } public static NestedField Geolocation(long id, string name, GeolocationFieldProperties properties = null, IFieldSettings settings = null) { return new NestedField(id, name, properties, settings); } public static NestedField Json(long id, string name, JsonFieldProperties properties = null, IFieldSettings settings = null) { return new NestedField(id, name, properties, settings); } public static NestedField Number(long id, string name, NumberFieldProperties properties = null, IFieldSettings settings = null) { return new NestedField(id, name, properties, settings); } public static NestedField References(long id, string name, ReferencesFieldProperties properties = null, IFieldSettings settings = null) { return new NestedField(id, name, properties, settings); } public static NestedField String(long id, string name, StringFieldProperties properties = null, IFieldSettings settings = null) { return new NestedField(id, name, properties, settings); } public static NestedField Tags(long id, string name, TagsFieldProperties properties = null, IFieldSettings settings = null) { return new NestedField(id, name, properties, settings); } public static Schema AddArray(this Schema schema, long id, string name, Partitioning partitioning, Func handler = null, ArrayFieldProperties properties = null, IFieldSettings settings = null) { var field = Array(id, name, partitioning, properties, settings); if (handler != null) { field = handler(field); } return schema.AddField(field); } public static Schema AddAssets(this Schema schema, long id, string name, Partitioning partitioning, AssetsFieldProperties properties = null, IFieldSettings settings = null) { return schema.AddField(Assets(id, name, partitioning, properties, settings)); } public static Schema AddBoolean(this Schema schema, long id, string name, Partitioning partitioning, BooleanFieldProperties properties = null, IFieldSettings settings = null) { return schema.AddField(Boolean(id, name, partitioning, properties, settings)); } public static Schema AddDateTime(this Schema schema, long id, string name, Partitioning partitioning, DateTimeFieldProperties properties = null, IFieldSettings settings = null) { return schema.AddField(DateTime(id, name, partitioning, properties, settings)); } public static Schema AddGeolocation(this Schema schema, long id, string name, Partitioning partitioning, GeolocationFieldProperties properties = null, IFieldSettings settings = null) { return schema.AddField(Geolocation(id, name, partitioning, properties, settings)); } public static Schema AddJson(this Schema schema, long id, string name, Partitioning partitioning, JsonFieldProperties properties = null, IFieldSettings settings = null) { return schema.AddField(Json(id, name, partitioning, properties, settings)); } public static Schema AddNumber(this Schema schema, long id, string name, Partitioning partitioning, NumberFieldProperties properties = null, IFieldSettings settings = null) { return schema.AddField(Number(id, name, partitioning, properties, settings)); } public static Schema AddReferences(this Schema schema, long id, string name, Partitioning partitioning, ReferencesFieldProperties properties = null, IFieldSettings settings = null) { return schema.AddField(References(id, name, partitioning, properties, settings)); } public static Schema AddString(this Schema schema, long id, string name, Partitioning partitioning, StringFieldProperties properties = null, IFieldSettings settings = null) { return schema.AddField(String(id, name, partitioning, properties, settings)); } public static Schema AddTags(this Schema schema, long id, string name, Partitioning partitioning, TagsFieldProperties properties = null, IFieldSettings settings = null) { return schema.AddField(Tags(id, name, partitioning, properties, settings)); } public static ArrayField AddAssets(this ArrayField field, long id, string name, AssetsFieldProperties properties = null, IFieldSettings settings = null) { return field.AddField(Assets(id, name, properties, settings)); } public static ArrayField AddBoolean(this ArrayField field, long id, string name, BooleanFieldProperties properties = null, IFieldSettings settings = null) { return field.AddField(Boolean(id, name, properties, settings)); } public static ArrayField AddDateTime(this ArrayField field, long id, string name, DateTimeFieldProperties properties = null, IFieldSettings settings = null) { return field.AddField(DateTime(id, name, properties, settings)); } public static ArrayField AddGeolocation(this ArrayField field, long id, string name, GeolocationFieldProperties properties = null, IFieldSettings settings = null) { return field.AddField(Geolocation(id, name, properties, settings)); } public static ArrayField AddJson(this ArrayField field, long id, string name, JsonFieldProperties properties = null, IFieldSettings settings = null) { return field.AddField(Json(id, name, properties, settings)); } public static ArrayField AddNumber(this ArrayField field, long id, string name, NumberFieldProperties properties = null, IFieldSettings settings = null) { return field.AddField(Number(id, name, properties, settings)); } public static ArrayField AddReferences(this ArrayField field, long id, string name, ReferencesFieldProperties properties = null, IFieldSettings settings = null) { return field.AddField(References(id, name, properties, settings)); } public static ArrayField AddString(this ArrayField field, long id, string name, StringFieldProperties properties = null, IFieldSettings settings = null) { return field.AddField(String(id, name, properties, settings)); } public static ArrayField AddTags(this ArrayField field, long id, string name, TagsFieldProperties properties = null, IFieldSettings settings = null) { return field.AddField(Tags(id, name, properties, settings)); } } }