UNPKG

@archer-edu/dxp-directus-cli

Version:
165 lines (164 loc) 3.59 kB
import { Command } from "commander"; export type Item = { id: string; }; export type File = Item & { title: string; description: string; type: string; filename_disk: string; filename_download: string; }; export type Category = { id?: number; name: string; site: string; }; export type RemotePost = Item & { site_id: string; title: string; description: string; description_twitter: string; description_facebook: string; headline: string; content: string; slug: string; published: string; sources?: Array<{ text: string; url: string; }>; image: File; image_thumbnail?: File; author: string; tags: Array<{ site_entry_tags_id: { id: number; name: string; }; }>; categories: Array<{ site_entry_categories_id: { name: string; }; }>; json_ld: string; status: 'draft' | 'unapproved' | 'approved' | 'archived'; front_matter: string; }; export type Post = { content: string; metadata: BlogFrontMatter; sources?: Array<{ text: string; url: string; }>; file_path: string; }; export type BlogFrontMatter = FrontMatter & { headline: string; categories: Array<string>; tags: Array<string>; authors: Array<string>; image?: { src: string; alt?: string; }; image_thumbnail?: { src: string; alt?: string; }; }; export type RemotePageKey = Item & { id: string; slug: string; parent_page?: { id: string; slug: string; }; }; export type RemotePage = RemotePageKey & { title: string; description: string; content: string; json_ld: string; status: 'draft' | 'published' | 'archived'; front_matter: string; sort: number; date_created: string; sources?: Array<{ text: string; url: string; }>; sections: Array<PageSection>; }; export type PageSection = Item & { name: string; page_id: string; type?: 'section' | 'content'; section?: string; style?: 'base' | 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error'; align?: 'left' | 'center' | 'right'; content?: string | boolean; data?: string; images?: Array<File & { alt: string; src: string; }>; image?: File & { alt: string; src: string; }; items?: Array<PageSectionItem>; source?: string; path?: string; sort: number; }; export type PageSectionItem = Item & { section: string; item: string; style?: string; align?: string; content?: string; data?: string; image?: File & { alt: string; src: string; }; sort: number; } & Record<string, any>; export type FrontMatter = { id: string; title: string; description: string; slug?: string; menu: string; draft?: boolean; json_id?: string; published?: string; url?: string; sections?: Array<PageSection>; } & Record<string, any>; export type Page = { content: string; metadata: FrontMatter; sources?: Array<{ text: string; url: string; }>; file_path: string; }; export type Site = { blog: { entries: Array<RemotePost>; }; pages: Array<RemotePage>; data_files: Array<SiteData>; }; export type SiteData = { id: string; site: string; filename: string; data: string; }; export type IRegisterCommand = (program: Command) => void;