RenaiApp/src/shared/types/entity-api/base/work.d.ts

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[];
}