@ems-press/content-api-types
Version:
Typescript types for the EMS Press Content API
42 lines (41 loc) • 1.4 kB
TypeScript
import { Images, PersonGroups, SerialArticles, Serials, SerialIssueFiles } from './index';
import { DateFilter, EqualFilter, IsInFilter } from '../filter';
import { DatePrecision } from '../date';
export declare type Type = 'serial-issues';
export declare type Attributes = Omit<Serials.Attributes, 'code' | 'descriptionMarkdown' | 'submitDescriptionMarkdown' | 'subscribeDescriptionMarkdown'> & {
issueName?: string;
year: number;
volume?: number;
issue?: number;
issueCount: number;
pageStart: number;
pageEnd: number;
publishedAt: Date;
publishedAtPrecision: DatePrecision;
};
export declare type Relationships = {
serial: {
type: Serials.Type;
cardinality: '1';
};
personGroups: {
type: PersonGroups.Type;
cardinality: 'N';
};
coverImage: {
type: Images.Type;
cardinality: '1';
};
articles: {
type: SerialArticles.Type;
cardinality: 'N';
};
serialIssueFiles: {
type: SerialIssueFiles.Type;
cardinality: 'N';
};
};
export declare type SortField = 'createdAt' | 'updatedAt' | 'name' | 'year' | 'volume' | 'issue' | 'publishedAt';
export declare type Filter = DateFilter<'created' | 'updated' | 'published'> & EqualFilter<Attributes, 'volume' | 'issue' | 'year'> & IsInFilter<Attributes, 'serialType' | 's2oStatus'> & {
serial?: number[];
};