UNPKG

@ems-press/content-api-types

Version:

Typescript types for the EMS Press Content API

42 lines (41 loc) 1.4 kB
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[]; };