69 lines
1.5 KiB
TypeScript
69 lines
1.5 KiB
TypeScript
/**
|
|
* This is the main library entity.
|
|
*
|
|
* It describes a work of art organized by this software.
|
|
*/
|
|
interface WorkInterface extends IdentifiableInterface, MultiNamedInterface {
|
|
names: Promise<WorkNameInterface[]> | Identifier[];
|
|
|
|
/**
|
|
* digital representations of this work
|
|
*/
|
|
copies: Promise<CopyInterface[]> | Identifier[];
|
|
|
|
/**
|
|
* other works this work is a transformation of
|
|
*/
|
|
transformationOf: Promise<TransformationInterface[]> | Identifier[];
|
|
|
|
/**
|
|
* other works this work is transformed by
|
|
*/
|
|
transformedBy: Promise<TransformationInterface[]> | Identifier[];
|
|
|
|
/**
|
|
* the authors/publishers of this work
|
|
*/
|
|
workAuthors: Promise<WorkAuthorInterface[]> | Identifier[];
|
|
|
|
/**
|
|
* tags describing this work
|
|
*/
|
|
workTags: Promise<WorkTagInterface[]> | Identifier[];
|
|
|
|
/**
|
|
* characters in this work
|
|
*/
|
|
workCharacters: Promise<WorkCharacterInterface[]> | Identifier[];
|
|
|
|
/**
|
|
* fictional worlds in which this work takes place
|
|
*/
|
|
worlds: Promise<WorldInterface[]> | Identifier[];
|
|
|
|
/**
|
|
* if this work i canon in above fictional world
|
|
*/
|
|
isCanonical: boolean;
|
|
|
|
/**
|
|
* the user rating of this work
|
|
*/
|
|
rating: number | null;
|
|
|
|
/**
|
|
* the release date of the work, in YYYY-MM-DD format
|
|
*/
|
|
releaseDate: string | null;
|
|
|
|
/**
|
|
* the languages of the work (if applicable)
|
|
*/
|
|
languages: Promise<LanguageInterface[]> | string[];
|
|
|
|
/**
|
|
* the collections this work is a part of
|
|
*/
|
|
collectionParts: Promise<CollectionPartInterface[]> | Identifier[];
|
|
}
|