UNPKG

@ems-press/content-api-types

Version:

Typescript types for the EMS Press Content API

46 lines (45 loc) 1.57 kB
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'>;