@ems-press/content-api-types
Version:
Typescript types for the EMS Press Content API
46 lines (45 loc) • 1.57 kB
TypeScript
import { Images, PersonGroups } from '.';
import { DateFilter, EqualFilter, IsInFilter } from '../filter';
export declare type Type = 'book-series';
export declare type PublishingModel = 'diamond' | 's2o' | 'subscription';
export declare const serialPublishingModels: PublishingModel[];
export declare type S2oStatus = 'open-access' | 'subscription';
export declare const s2oStatuses: S2oStatus[];
export declare type Attributes = {
createdAt: Date;
updatedAt: Date;
code: string;
descriptionMarkdown?: string;
submitDescriptionMarkdown?: string;
subscribeDescriptionMarkdown?: string;
editorialBoardDescriptionMarkdown?: string;
forthcomingBooksMarkdown?: string;
name: string;
issn?: string;
eIssn?: string;
doiPrefix?: string;
owner?: string;
ownerUrl?: string;
publishingModel: PublishingModel;
s2oStatus?: S2oStatus;
s2oStatusStart?: Date;
s2oStatusEnd?: Date;
publisher: string;
publisherOrganization?: string;
publisherAddress?: string;
publisherUrl: string;
copyright?: string;
copyrightUrl?: string;
};
export declare type Relationships = {
personGroups: {
type: PersonGroups.Type;
cardinality: 'N';
};
coverImage: {
type: Images.Type;
cardinality: null | '1';
};
};
export declare type SortField = 'createdAt' | 'updatedAt' | 'code' | 'name';
export declare type Filter = DateFilter<'created' | 'updated'> & IsInFilter<Attributes, 's2oStatus'> & EqualFilter<Attributes, 'name' | 'code' | 'issn' | 'eIssn' | 'doiPrefix'>;