@anoki/fse-common
Version:
Common types for FSE
44 lines (43 loc) • 1.27 kB
TypeScript
import { WithMongooseProps } from './with-mongoose-props';
import { Category } from './category';
import { WithTranslations } from './with-translations';
import { PageTypes, ReferenceEntityTypes } from '../constants';
import { Section } from './section';
import { EntityType } from './entity-type';
import { Upload } from './upload-file';
export type HomePage = {
pageType: 'Home';
};
export type ServicesPage = {
pageType: 'Services';
targetPageIds: string[];
aggregationPageIds: string[];
updatedById: string;
entityTypeId: string;
entityType?: EntityType;
previewImageId: string;
previewImage?: Upload;
externalLink: string;
isSuggested: boolean;
visibleOnSidebar: boolean;
};
export type StaticContentsPage = {
pageType: 'StaticContent';
};
export type BasePage = WithMongooseProps<{
name: string;
description: string;
parentId: string;
pageType: PageTypes;
referenceEntityType: ReferenceEntityTypes;
pageUrl: string;
categoryId: string;
category?: Category;
sections: Section[];
shortName?: string;
translations: WithTranslations<{
name: string;
description: string;
}>;
}>;
export type Page = BasePage & (HomePage | ServicesPage | StaticContentsPage);