/api/mek/list, /api/mek/register Endpoint 구현

This commit is contained in:
static
2024-12-29 21:52:33 +09:00
parent 3664ad66ac
commit 97f6e1e32f
6 changed files with 186 additions and 24 deletions

View File

@@ -13,9 +13,8 @@ export const mek = sqliteTable(
.notNull()
.references(() => client.id),
createdAt: integer("created_at", { mode: "timestamp_ms" }).notNull(),
state: text("state", { enum: ["pending", "active", "retired", "dead"] })
.notNull()
.default("pending"),
state: text("state", { enum: ["active", "retired", "dead"] }).notNull(),
retiredAt: integer("retired_at", { mode: "timestamp_ms" }),
},
(t) => ({
pk: primaryKey({ columns: [t.userId, t.version] }),
@@ -42,24 +41,3 @@ export const clientMek = sqliteTable(
}),
}),
);
export const mekChallenge = sqliteTable(
"master_encryption_key_challenge",
{
userId: integer("user_id")
.notNull()
.references(() => user.id),
mekVersion: integer("master_encryption_key_version").notNull(),
answer: text("answer").notNull().unique(), // Base64
challenge: text("challenge").unique(), // Base64
allowedIp: text("allowed_ip").notNull(),
expiresAt: integer("expires_at", { mode: "timestamp_ms" }).notNull(),
},
(t) => ({
pk: primaryKey({ columns: [t.userId, t.mekVersion] }),
ref: foreignKey({
columns: [t.userId, t.mekVersion],
foreignColumns: [mek.userId, mek.version],
}),
}),
);