Files
Desktop/ts/sql/server/keyTransparency.std.ts
2026-01-28 12:40:51 -08:00

32 lines
816 B
TypeScript

// Copyright 2026 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { AciString } from '../../types/ServiceId.std.js';
import type { ReadableDB, WritableDB } from '../Interface.std.js';
import { sql } from '../util.std.js';
export function getKTAccountData(
db: ReadableDB,
aci: AciString
): Uint8Array | undefined {
const [query, params] = sql`
SELECT data
FROM key_transparency_account_data
WHERE aci IS ${aci}
`;
return db.prepare(query, { pluck: true }).get<Uint8Array>(params);
}
export function setKTAccountData(
db: WritableDB,
aci: AciString,
data: Uint8Array
): void {
const [query, params] = sql`
INSERT OR REPLACE INTO key_transparency_account_data
(aci, data)
VALUES
(${aci}, ${data});
`;
db.prepare(query).run(params);
}