@ems-press/content-api-types
Version:
Typescript types for the EMS Press Content API
38 lines (37 loc) • 1.59 kB
TypeScript
import { SerialArticles } from './index';
import { DateFilter, IsInFilter } from '../filter';
import { DatePrecision } from '../date';
export declare type Type = 'serial-article-files';
export declare type SerialArticleFileType = 'full-text-jats-xml' | 'full-text-jats-xml-media' | 'full-text-json' | 'full-text-json-media' | 'full-text-online-first-pdf' | 'full-text-online-pdf' | 'supplementary-data' | 'supplementary-material' | 'supplementary-peer-review-report' | 'supplementary-post-publication-review' | 'supplementary-source-code' | 'supplementary-video';
export declare const serialArticleFileTypes: SerialArticleFileType[];
export declare type Attributes = {
createdAt: Date;
updatedAt: Date;
access: boolean;
url?: string;
contentType: string;
path: string;
sizeBytes: number;
md5: string;
sha256: string;
fileType: SerialArticleFileType;
publishedAt: Date;
publishedAtPrecision: DatePrecision;
description?: string;
copyright?: string;
copyrightUrl?: string;
license?: string;
licenseCode?: string;
licenseUrl?: string;
languageCode?: string;
};
export declare type Relationships = {
serialArticle: {
type: SerialArticles.Type;
cardinality: '1';
};
};
export declare type SortField = 'createdAt' | 'updatedAt' | 'publishedAt' | 'contentType' | 'path';
export declare type Filter = DateFilter<'created' | 'updated' | 'published'> & IsInFilter<Attributes, 'contentType' | 'path' | 'md5' | 'sha256' | 'fileType' | 'licenseCode' | 'languageCode'> & {
serialArticle?: number[];
};