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.

98 lines
2.6 KiB

<?php
namespace Auxilium\Schemas;
use Darksparrow\AuxiliumSchemaBuilder\Attributes\SchemaDocument;
use Darksparrow\AuxiliumSchemaBuilder\Attributes\SchemaDocumentField;
use Darksparrow\AuxiliumSchemaBuilder\Enumerators\SchemaFieldExistence;
#[SchemaDocument(
Name: "case",
Comment: "The case object itself SHOULD not have a value"
)]
class CaseSchema
{
#[SchemaDocumentField(
Name: "title",
Existence: SchemaFieldExistence::SHOULD,
Comment: "This SHOULD be a short description of what the case is about",
MaxSize: 2048,
MimeType: "text/plain",
)]
public string $Title;
#[SchemaDocumentField(
Name: "clients",
Existence: SchemaFieldExistence::SHOULD,
Comment: "This SHOULD be an 'array node' of all the clients involved in the case",
ValidSchemas: [
CollectionSchema::class,
],
MaxSize: 0,
Child: new SchemaDocumentField(
Name: "clients",
Comment: "",
ValidSchemas: [
UserSchema::class,
]
),
)]
public array $Clients;
#[SchemaDocumentField(
Name: "workers",
Existence: SchemaFieldExistence::SHOULD,
Comment: "This SHOULD be an 'array node' of all staff working on the case",
ValidSchemas: [
CollectionSchema::class,
],
MaxSize: 0,
Child: new SchemaDocumentField(
Name: "workers",
Comment: "",
ValidSchemas: [
UserSchema::class,
OrganisationSchema::class,
]
),
)]
public array $Workers;
#[SchemaDocumentField(
Name: "documents",
Existence: SchemaFieldExistence::SHOULD,
Comment: "This SHOULD be an 'array node' of all the case documents",
ValidSchemas: [
CollectionSchema::class,
],
MaxSize: 0,
Child: new SchemaDocumentField(
Name: "documents",
Comment: "",
ValidSchemas: [
DocumentSchema::class,
]
),
)]
public array $Documents;
#[SchemaDocumentField(
Name: "messages",
Existence: SchemaFieldExistence::SHOULD,
Comment: "This SHOULD be an 'array node' of all messages that relate to this case",
ValidSchemas: [
CollectionSchema::class,
],
MaxSize: 0,
Child: new SchemaDocumentField(
Name: "messages",
Comment: "",
ValidSchemas: [
CollectionSchema::class,
]
),
)]
public array $Messages;
}