@ems-press/content-api-types
Version:
Typescript types for the EMS Press Content API
38 lines (37 loc) • 1.95 kB
TypeScript
import * as BookChapters from './book-chapters';
import { DateFilter, IsInFilter } from '../filter';
import { DatePrecision } from '../date';
export declare type Type = 'book-chapter-files';
export declare type BookChapterFileType = 'full-text-json' | 'full-text-json-media' | 'full-text-jats-xml' | 'full-text-jats-xml-media' | 'full-text-online-pdf' | 'supplementary-book-chapter-preface' | 'supplementary-book-chapter-foreword' | 'supplementary-book-chapter-introduction' | 'supplementary-book-chapter-table-of-contents' | 'supplementary-book-chapter-index' | 'supplementary-book-chapter-author-index' | 'supplementary-book-chapter-prize' | 'supplementary-book-chapter-addendum' | 'supplementary-book-chapter-review' | 'supplementary-data' | 'supplementary-erratum' | 'supplementary-peer-review-report' | 'supplementary-post-publication-review' | 'supplementary-source-code' | 'supplementary-video' | 'supplementary-material';
export declare const bookChapterFileTypes: BookChapterFileType[];
export declare type Attributes = {
createdAt: Date;
updatedAt: Date;
access: boolean;
url?: string;
contentType: string;
path: string;
sizeBytes: number;
md5: string;
sha256: string;
fileType: BookChapterFileType;
publishedAt: Date;
publishedAtPrecision: DatePrecision;
description?: string;
copyright?: string;
copyrightUrl?: string;
license?: string;
licenseCode?: string;
licenseUrl?: string;
languageCode?: string;
};
export declare type Relationships = {
bookChapter: {
type: BookChapters.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'> & {
bookChapter?: number[];
};