29 lines
729 B
TypeScript
29 lines
729 B
TypeScript
/**
|
|
* This entity is the main tag entity.
|
|
* Tags have a name and a description.
|
|
* They can tag a work, a character, or a character interaction.
|
|
* They can also be in a hierarchy
|
|
*/
|
|
interface TagInterface
|
|
extends IdentifiableInterface,
|
|
MultiNamedInterface,
|
|
DescribableInterface,
|
|
HierarchicalInterface<TagInterface> {
|
|
names: Promise<TagNameInterface[]> | Identifier[];
|
|
|
|
/**
|
|
* this tag tagging a work
|
|
*/
|
|
workTags: Promise<WorkTagInterface[]> | Identifier[];
|
|
|
|
/**
|
|
* this tag tagging characters
|
|
*/
|
|
characterTags: Promise<CharacterTagInterface[]> | Identifier[];
|
|
|
|
/**
|
|
* this tag tagging a character interaction
|
|
*/
|
|
interactionTags: Promise<InteractionTagInterface[]> | Identifier[];
|
|
}
|