mirror of
https://github.com/kmc7468/arkvault.git
synced 2026-02-04 08:06:56 +00:00
35 lines
750 B
TypeScript
35 lines
750 B
TypeScript
import type { ColumnType, Generated } from "kysely";
|
|
|
|
export type MekState = "active" | "retired" | "dead";
|
|
|
|
interface MekTable {
|
|
user_id: number;
|
|
version: number;
|
|
state: MekState;
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|