Moved library files around. Trying to keep things organized...

This commit is contained in:
Scott Idem
2024-11-19 13:29:05 -05:00
parent 28880f3160
commit 31272a8985
69 changed files with 67 additions and 67 deletions

View File

@@ -1,7 +1,7 @@
import type { key_val } from '$lib/ae_stores';
import { api } from '$lib/api';
import { db_archives } from "$lib/db_archives";
import { db_archives } from "$lib/ae_archives/db_archives";
import { load_ae_obj_li__archive_content } from "$lib/ae_archives/ae_archives__archive_content";

View File

@@ -1,7 +1,7 @@
import type { key_val } from '$lib/ae_stores';
import { api } from '$lib/api';
import { db_archives } from "$lib/db_archives";
import { db_archives } from "$lib/ae_archives/db_archives";
let ae_promises: key_val = {};

View File

@@ -0,0 +1,159 @@
import Dexie, { type Table } from 'dexie';
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;
archive_id: string;
// archive_id_random: string;
code?: null|string;
account_id: string;
// account_id_random: string;
// archive_type: string;
// type: string;
name: string;
// summary?: null|string;
description?: null|string;
content_html?: null|string;
content_json?: null|string;
content_url?: null|string;
content_url_text?: null|string;
original_datetime?: Date;
original_timezone?: null|string;
original_location?: null|string;
original_url?: null|string;
original_url_text?: null|string;
// meta_data?: null|string;
// access_key?: null|string; /// Rename this to "passcode" if used later
sort_by?: null|string;
sort_by_desc?: null|string;
cfg_json?: null|key_val;
enable: null|boolean;
hide?: null|boolean;
priority?: null|boolean
sort?: null|number;
group?: null|string;
notes?: null|string;
created_on: Date;
updated_on?: null|Date;
// Additional fields for convenience (database views)
// 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;
archive_content_id: string;
// archive_content_id_random: string;
archive_id: string;
// archive_id_random: string;
archive_content_type: string;
name: string;
description?: null|string;
content_html?: null|string;
content_json?: null|string;
// linked_li_json?: null|string; // For future use? linked content list instead of one content item
url?: null|string;
url_text?: null|string;
hosted_file_id?: string;
file_path?: null|string;
filename?: null|string;
file_extension?: null|string;
original_datetime?: Date;
original_timezone?: null|string;
original_location?: null|string;
original_url?: null|string;
original_url_text?: null|string;
// meta_data?: null|string;
// access_key?: null|string; /// Rename this to "passcode" if used later
enable_for_public?: boolean;
cfg_json?: null|key_val;
enable: null|boolean;
hide?: null|boolean;
priority?: null|boolean
sort?: null|number;
group?: null|string;
notes?: null|string;
created_on: Date;
updated_on?: null|Date;
tmp_sort_1?: null|string;
tmp_sort_2?: null|string;
// Additional fields for convenience (database views)
archive_code?: null|string;
archive_name?: null|string;
hash_sha256?: null|string;
}
// Updated 2024-09-25
export class MySubClassedDexie extends Dexie {
// We just tell the typing system this is the case
archive!: Table<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`,
content: `
id, archive_content_id,
archive_id,
archive_content_type,
name,
hosted_file_id,
original_datetime, original_timezone, original_location,
[group+original_datetime],tmp_sort_1,tmp_sort_2,
enable, hide, priority, sort, group, notes, created_on, updated_on, [group+priority+sort+updated_on]`,
});
// file_path,
// filename, file_extension,
// original_datetime, original_timezone, original_location, original_url, original_url_text,
// enable_for_public,
}
}
export const db_archives = new MySubClassedDexie();