202 lines
6.2 KiB
TypeScript
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>;
|