mirror of
https://github.com/kmc7468/arkvault.git
synced 2026-02-04 08:06:56 +00:00
Kysely 및 PostgreSQL 도입 (WiP)
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { sqliteTable, text, integer, primaryKey, foreignKey } from "drizzle-orm/sqlite-core";
|
||||
import type { ColumnType, Generated } from "kysely";
|
||||
import { client } from "./client";
|
||||
import { user } from "./user";
|
||||
|
||||
@@ -58,3 +59,34 @@ export const clientMek = sqliteTable(
|
||||
}),
|
||||
}),
|
||||
);
|
||||
|
||||
interface MekTable {
|
||||
user_id: number;
|
||||
version: number;
|
||||
state: "active" | "retired" | "dead";
|
||||
}
|
||||
|
||||
interface MekLogTable {
|
||||
id: Generated<number>;
|
||||
user_id: number;
|
||||
master_encryption_key_version: number;
|
||||
timestamp: ColumnType<Date, Date, never>;
|
||||
action: "create";
|
||||
action_by: number | null;
|
||||
}
|
||||
|
||||
interface ClientMekTable {
|
||||
user_id: number;
|
||||
client_id: number;
|
||||
version: number;
|
||||
encrypted_key: string; // Base64
|
||||
encrypted_key_signature: string; // Base64
|
||||
}
|
||||
|
||||
declare module "./index" {
|
||||
interface Database {
|
||||
master_encryption_key: MekTable;
|
||||
master_encryption_key_log: MekLogTable;
|
||||
client_master_encryption_key: ClientMekTable;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user