storytellurx-v1/default.sqlite.d.ts

202 lines
6.2 KiB
TypeScript

import type {
ColumnType,
Generated,
Insertable,
Selectable,
Updateable,
} from "@kysely/kysely";
export interface S3Object {
type: "Object";
key: string;
size: number;
lastModified: string;
"content-type": string;
etag: string;
}
export interface Database {
news: NewsTable;
news_tags: NewsTagsTable;
person_person_roles: PersonPersonRolesTable;
person_roles: PersonRolesTable;
persons: PersonsTable;
resource_tags: ResourceTagsTable;
resource_types: ResourceTypesTable;
resources: ResourcesTable;
sites: SitesTable;
sqlite_sequence: SqliteSequenceTable;
tag_categories: TagCategoriesTable;
tags: TagsTable;
}
export interface NewsTable {
id: Generated<number>;
title: string;
title_en: string | null;
content_html: string;
content_en_html: string | null;
published_at: string | null;
created_at: ColumnType<string, never, never>;
author_id: number;
hidden_boolean: number | null;
featured_images_json: S3Object[] | null;
conversation_llm_json_json: string | null;
}
export type SelectableNew = Selectable<NewsTable>;
export type InsertableNew = Insertable<NewsTable>;
export type UpdateableNew = Updateable<NewsTable>;
export interface NewsTagsTable {
id: Generated<number>;
news_id: number;
tag_id: number;
}
export type SelectableNewsTag = Selectable<NewsTagsTable>;
export type InsertableNewsTag = Insertable<NewsTagsTable>;
export type UpdateableNewsTag = Updateable<NewsTagsTable>;
export interface PersonPersonRolesTable {
id: Generated<number>;
person_id: number;
person_role_id: number;
}
export type SelectablePersonPersonRole = Selectable<PersonPersonRolesTable>;
export type InsertablePersonPersonRole = Insertable<PersonPersonRolesTable>;
export type UpdateablePersonPersonRole = Updateable<PersonPersonRolesTable>;
export interface PersonRolesTable {
id: Generated<number>;
name: string;
name_en: string | null;
order: number | null;
created_at: ColumnType<string, never, never>;
}
export type SelectablePersonRole = Selectable<PersonRolesTable>;
export type InsertablePersonRole = Insertable<PersonRolesTable>;
export type UpdateablePersonRole = Updateable<PersonRolesTable>;
export interface PersonsTable {
id: Generated<number>;
name: string;
description_html: string | null;
description_en_html: string | null;
images_json: S3Object[] | null;
email: string | null;
order: number | null;
created_at: ColumnType<string, never, never>;
website_url: string | null;
instagram_url: string | null;
linkedin_url: string | null;
bluesky_url: string | null;
mastodon_url: string | null;
}
export type SelectablePerson = Selectable<PersonsTable>;
export type InsertablePerson = Insertable<PersonsTable>;
export type UpdateablePerson = Updateable<PersonsTable>;
export interface ResourceTagsTable {
id: Generated<number>;
resource_id: number;
tag_id: number;
}
export type SelectableResourceTag = Selectable<ResourceTagsTable>;
export type InsertableResourceTag = Insertable<ResourceTagsTable>;
export type UpdateableResourceTag = Updateable<ResourceTagsTable>;
export interface ResourceTypesTable {
id: Generated<number>;
name: string;
name_en: string | null;
created_at: ColumnType<string, never, never>;
pictogram_svg_json: S3Object[] | null;
hidden_boolean: number | null;
}
export type SelectableResourceType = Selectable<ResourceTypesTable>;
export type InsertableResourceType = Insertable<ResourceTypesTable>;
export type UpdateableResourceType = Updateable<ResourceTypesTable>;
export interface ResourcesTable {
id: Generated<number>;
images_json: S3Object[] | null;
title: string;
resource_type_id: number;
author_id: number;
publication_date: string;
added_by: number;
description_html: string | null;
description_en_html: string | null;
url: string | null;
medias_json: S3Object[] | null;
hidden: number | null;
created_at: ColumnType<string, never, never>;
doi: string | null;
notes_html: string | null;
order: number | null;
company_name: string | null;
base_price: number | null;
}
export type SelectableResource = Selectable<ResourcesTable>;
export type InsertableResource = Insertable<ResourcesTable>;
export type UpdateableResource = Updateable<ResourcesTable>;
export interface SitesTable {
id: Generated<number>;
title: string;
url: string;
contact_email: string;
description_html: string | null;
subtitle: string | null;
meta_image_json: S3Object[] | null;
logo_image_json: S3Object[] | null;
terms_html: string | null;
description_en_html: string | null;
partners_images_json: S3Object[] | null;
subtitle_en: string | null;
contact_html: string | null;
contact_en_html: string | null;
description_short_html: string | null;
description_short_en_html: string | null;
ethics_html: string | null;
ethics_en_html: string | null;
description_home_html: string | null;
description_home_en_html: string | null;
credits_html: string | null;
credits_en_html: string | null;
funding_html: string | null;
funding_en_html: string | null;
trigger_warning_html: string | null;
trigger_warning_en_html: string | null;
resources_html: string | null;
resources_en_html: string | null;
}
export type SelectableSite = Selectable<SitesTable>;
export type InsertableSite = Insertable<SitesTable>;
export type UpdateableSite = Updateable<SitesTable>;
export interface SqliteSequenceTable {
name: unknown | null;
seq: unknown | null;
}
export type SelectableSqliteSequence = Selectable<SqliteSequenceTable>;
export type InsertableSqliteSequence = Insertable<SqliteSequenceTable>;
export type UpdateableSqliteSequence = Updateable<SqliteSequenceTable>;
export interface TagCategoriesTable {
id: Generated<number>;
name: string;
created_at: ColumnType<string, never, never>;
}
export type SelectableTagCategory = Selectable<TagCategoriesTable>;
export type InsertableTagCategory = Insertable<TagCategoriesTable>;
export type UpdateableTagCategory = Updateable<TagCategoriesTable>;
export interface TagsTable {
id: Generated<number>;
name: string;
tag_category_id: number;
created_at: ColumnType<string, never, never>;
}
export type SelectableTag = Selectable<TagsTable>;
export type InsertableTag = Insertable<TagsTable>;
export type UpdateableTag = Updateable<TagsTable>;