Adding in the Archives and Posts DB and functions to get ready for IDAA changes.

This commit is contained in:
Scott Idem
2024-09-25 17:55:42 -04:00
parent 514f36d998
commit 283850e917
10 changed files with 1856 additions and 20 deletions

View File

@@ -5,6 +5,7 @@ import type { key_val } from './ae_stores';
// li = list
// kv = key value list
// Updated 2024-09-25
export interface Archive {
id: string;
// id_random: string;
@@ -41,11 +42,6 @@ export interface Archive {
sort_by?: null|string;
sort_by_desc?: null|string;
start_datetime?: Date;
end_datetime?: Date;
timezone?: null|string;
location_address_json?: null|string;
cfg_json?: null|key_val;
enable: null|boolean;
@@ -58,12 +54,12 @@ export interface Archive {
updated_on?: null|Date;
// Additional fields for convenience (database views)
archive_content_count: number;
// file_count?: null|number;
// file_count_all?: null|number;
// archive_file_id_li_json?: null|string;
// archive_content_count?: number;
// archive_content_kv?: null|key_val;
// archive_content_li?: null|[];
}
// Updated 2024-09-25
export interface Archive_Content {
id: string;
// id_random: string;
@@ -112,4 +108,40 @@ export interface Archive_Content {
notes?: null|string;
created_on: Date;
updated_on?: null|Date;
}
// Additional fields for convenience (database views)
}
// Updated 2024-09-25
export class MySubClassedDexie extends Dexie {
// We just tell the typing system this is the case
archive!: Table<Archive>;
archive_content!: Table<Archive_Content>;
constructor() {
super('ae_archives_db');
this.version(1).stores({
archive: `
id, archive_id,
code,
account_id,
name,
original_datetime, original_timezone, original_location,
enable, hide, priority, sort, group, notes, created_on, updated_on`,
archive_content: `
id, archive_content_id,
archive_id,
archive_content_type,
name,
hosted_file_id,
file_path,
filename, file_extension,
original_datetime, original_timezone, original_location, original_url, original_url_text,
enable_for_public,
enable, hide, priority, sort, group, notes, created_on, updated_on`,
});
}
}
export const db_archives = new MySubClassedDexie();