my-notes-viewer/types/global.d.ts

182 lines
3.2 KiB
TypeScript

interface APIParams {
offset?: number
limit?: number
sort?: string | "ASC" | "DESC"
filter?: {
[key: string]: any
}
count?: 1
}
interface CollectionEntry {
id?: string
insertTime?: string
updateTime?: string
[key: string]: any
}
interface ContentBlock {
layout: 1 | 2 | 3 | 4
title?: string
subtitle?: string
text?: string
button_text?: string
button_url?: string
images?: ImageEntry[]
}
interface Content {
id: string
locale: string
tags?: string[]
path: string
blocks: ContentBlock[]
}
interface GeneralInfo {
id: string
public: boolean
meta: {
metaTitle: string
metaDescription: string
metaTagRobots: string
metaKeywords: string
}
person: {
salutation: string
firstname: string
lastname: string
additional: string
street: string
postcode: number
city: string
tel: string
fax: string
mobile: string
email: string
}
media: {
favicon: File
brand: File
mediaFiles: {
title: string
alternateText: string
id: string
file: File
}[]
}
copyrightText: string
insertTime: string
updateTime: string
}
interface TibiArticle {
id: string
article: {
general: {
public: boolean
locale: string
publish_date: {
from: string
until: string
interval: number
}
tags: string[]
sort: number
}
content: {
slug: string
title: string
subtitle: string
types: {
teaser: string
details: string
media: {
files: TibiArticleMediaFile[]
}
attachments: {
files: TibiArticleAttachmentFile[]
}
}
}
layout: {}
link: {}
}
insertTime?: string
updateTime?: string
}
interface TibiArticleMediaFile {
title: string
id: string
file: File
}
interface TibiArticleAttachmentFile {
title: string
alternateText: string
id: string
file: File
caption: string
}
interface TibiArticleImage {
id: string
title: string
alternateText: string
caption: string
file: File[]
}
interface File {
lastModified?: number
path: string
size?: string
src: string
type: string
}
interface Gallery {
id: string
title: string
variant: string
items: {
file: File
title: string
descrition: string
alt: string
}[]
}
interface Navigation {
id: string
ident: string
locale: string
items: NavigationItem[]
insertTime: string
updateTime: string
}
interface NavigationItem {
settings: {
title: string
page: string
items: NavigationItem[]
url: {
url: string
target: string
}
}
}
interface Locale {
key: string
title?: string
}
interface GeneralImage {
file: File[]
id: string
label: string
}