import { AgeRange } from '../../common/model/AgeRange'; import { ModelWithLinks } from '../../common/model/common'; import { Link } from '../../common/model/LinkEntity'; import { Subject } from '../../subjects/model/Subject'; import { Attachment } from '../../common/model/Attachment'; import { CollectionPermissions } from './CollectionPermissions'; import { PromotedForProduct } from './PromotedForProduct'; import { CollectionAsset } from './CollectionAsset'; export interface Collection extends ModelWithLinks { id: string; owner: string; ownerName: string; title: string; assets: CollectionAsset[]; updatedAt: Date; discoverable: boolean; promotedFor?: PromotedForProduct[]; mine: boolean; createdBy: string; subjects: Subject[]; ageRange: AgeRange | null; description?: string | null; attachments?: Attachment[]; permissions: CollectionPermissions; links: { self: Link; edit?: Link; safeEdit?: Link; remove?: Link; addVideo?: Link; removeVideo?: Link; bookmark?: Link; unbookmark?: Link; interactedWith?: Link; updatePermissions?: Link; addComment?: Link; removeComment?: Link; }; }