/* * Copyright (C) 2019 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ import {SCSaveableThing, SCSaveableThingWithoutReferences} from './abstract/saveable-thing'; import {SCThingMeta, SCThingType} from './abstract/thing'; import {SCAcademicEventWithoutReferences} from './academic-event'; import {SCArticleWithoutReferences} from './article'; import {SCBookWithoutReferences} from './book'; import {SCBuildingWithoutReferences} from './building'; import {SCPersonWithoutReferences} from './person'; import {SCPointOfInterestWithoutReferences} from './point-of-interest'; import {SCRoomWithoutReferences} from './room'; import {SCSportCourseWithoutReferences} from './sport-course'; import {SCToDoWithoutReferences} from './todo'; /** * Types that can be made a favorite (added as a favorite) */ export type SCFavoriteDataTypes = SCAcademicEventWithoutReferences | SCArticleWithoutReferences | SCBookWithoutReferences | SCBuildingWithoutReferences | SCPersonWithoutReferences | SCPointOfInterestWithoutReferences | SCRoomWithoutReferences | SCSportCourseWithoutReferences | SCToDoWithoutReferences; /** * A favorite without references */ export interface SCFavoriteWithoutReferences extends SCSaveableThingWithoutReferences { // noop } /** * A favorite * * @validatable * @indexable */ export interface SCFavorite extends SCSaveableThing, SCFavoriteWithoutReferences { /** * Type of a favorite */ type: SCThingType.Favorite; } /** * Meta information about a favorite */ export class SCFavoriteMeta extends SCThingMeta { }