diff --git a/database/db.ts b/database/db.ts index c65ede3..5db6105 100644 --- a/database/db.ts +++ b/database/db.ts @@ -9,9 +9,9 @@ import type { UserTokensTable } from "./userTokens.ts" export interface Database { posts: PostsTable users: UsersTable - systemStates: SystemStatesTable - userSettings: UserSettingsTable - userTokens: UserTokensTable + system_states: SystemStatesTable + user_settings: UserSettingsTable + user_tokens: UserTokensTable } const dialect = new MysqlDialect({ diff --git a/database/posts.ts b/database/posts.ts index 83291c3..4e3410a 100644 --- a/database/posts.ts +++ b/database/posts.ts @@ -2,6 +2,6 @@ import { Generated } from "@kysely/kysely" export interface PostsTable { id: Generated - traqMessageId: string - atProtoUri: string + traq_message_id: string + at_proto_uri: string } diff --git a/database/userSettings.ts b/database/userSettings.ts index a1399a7..f1cdb88 100644 --- a/database/userSettings.ts +++ b/database/userSettings.ts @@ -3,6 +3,6 @@ import type { Generated } from "@kysely/kysely" export interface UserSettingsTable { id: Generated did: string - targetChannelId: string - userId: string + target_channel_id: string + user_id: string } diff --git a/database/userTokens.ts b/database/userTokens.ts index dc5edf8..2620fc9 100644 --- a/database/userTokens.ts +++ b/database/userTokens.ts @@ -2,7 +2,7 @@ import type { Generated } from "@kysely/kysely" export interface UserTokensTable { id: Generated - accessToken: string - refreshToken: string - userId: string + access_token: string + refresh_token: string + user_id: string } diff --git a/repository/post.ts b/repository/post.ts index 6be5e5a..cc1a4d1 100644 --- a/repository/post.ts +++ b/repository/post.ts @@ -4,11 +4,11 @@ export const getTraqMessageIdByAtProtoUri = async ( atProtoUri: string, ): Promise => { const result = await db.selectFrom("posts") - .select("traqMessageId") - .where("atProtoUri", "=", atProtoUri) + .select("traq_message_id") + .where("at_proto_uri", "=", atProtoUri) .executeTakeFirst() - return result?.traqMessageId + return result?.traq_message_id } export const savePostMetadata = async (data: { @@ -16,7 +16,7 @@ export const savePostMetadata = async (data: { traqMessageId: string }): Promise => { await db.insertInto("posts").values({ - atProtoUri: data.atProtoUri, - traqMessageId: data.traqMessageId, + at_proto_uri: data.atProtoUri, + traq_message_id: data.traqMessageId, }).execute() } diff --git a/repository/systemState.ts b/repository/systemState.ts index f94c440..3ca580a 100644 --- a/repository/systemState.ts +++ b/repository/systemState.ts @@ -3,7 +3,7 @@ import { db } from "../database/db.ts" const SYSTEM_STATE_KEY_JETSTREAM_CURSOR = "jetstream_cursor" export const getJetstreamCursor = async (): Promise => { - const result = await db.selectFrom("systemStates") + const result = await db.selectFrom("system_states") .select("value") .where("key", "=", SYSTEM_STATE_KEY_JETSTREAM_CURSOR) .executeTakeFirst() @@ -12,7 +12,7 @@ export const getJetstreamCursor = async (): Promise => { } export const saveJetstreamCursor = async (cursor: number): Promise => { - await db.insertInto("systemStates") + await db.insertInto("system_states") .values({ key: SYSTEM_STATE_KEY_JETSTREAM_CURSOR, value: cursor, diff --git a/repository/user.ts b/repository/user.ts index 38c1050..4462b7e 100644 --- a/repository/user.ts +++ b/repository/user.ts @@ -1,7 +1,7 @@ import { db } from "../database/db.ts" export const getAllDids = async () => { - const result = await db.selectFrom("userSettings").select("did").execute() + const result = await db.selectFrom("user_settings").select("did").execute() return result.map((row) => row.did) } @@ -16,19 +16,23 @@ export const getUserSettingByDid = async ( did: string, ): Promise => { const result = await db - .selectFrom("userSettings") + .selectFrom("user_settings") .selectAll() .where("did", "=", did) .executeTakeFirstOrThrow() - return result + return { + userId: result.user_id, + did: result.did, + targetChannelId: result.target_channel_id, + } } export const getUserSettingByUserId = async (userId: string) => { return await db - .selectFrom("userSettings") - .select(["did", "targetChannelId"]) - .where("userId", "=", userId) + .selectFrom("user_settings") + .select(["did", "target_channel_id"]) + .where("user_id", "=", userId) .executeTakeFirst() } @@ -38,20 +42,20 @@ export const saveUserSettings = async ( targetChannelId: string, ) => { await db - .insertInto("userSettings") - .values({ userId, did, targetChannelId }) - .onDuplicateKeyUpdate({ did, targetChannelId }) + .insertInto("user_settings") + .values({ user_id: userId, did, target_channel_id: targetChannelId }) + .onDuplicateKeyUpdate({ did, target_channel_id: targetChannelId }) .execute() } export const getUserAccessToken = async (userId: string) => { const result = await db - .selectFrom("userTokens") - .select("accessToken") - .where("userId", "=", userId) + .selectFrom("user_tokens") + .select("access_token") + .where("user_id", "=", userId) .executeTakeFirstOrThrow() - return result.accessToken + return result.access_token } export const saveUser = async (userId: string) => { @@ -63,13 +67,22 @@ export const saveUser = async (userId: string) => { } export const saveUserTokens = async ( - userId: string, - accessToken: string, - refreshToken: string, + data: { + userId: string + accessToken: string + refreshToken: string + }, ) => { await db - .insertInto("userTokens") - .values({ userId, accessToken, refreshToken }) - .onDuplicateKeyUpdate({ accessToken, refreshToken }) + .insertInto("user_tokens") + .values({ + user_id: data.userId, + access_token: data.accessToken, + refresh_token: data.refreshToken, + }) + .onDuplicateKeyUpdate({ + access_token: data.accessToken, + refresh_token: data.refreshToken, + }) .execute() } diff --git a/routes/callback.ts b/routes/callback.ts index fc05fb9..4fedfe0 100644 --- a/routes/callback.ts +++ b/routes/callback.ts @@ -25,7 +25,11 @@ export const handler = define.handlers({ } await saveUser(user.id) - await saveUserTokens(user.id, token.accessToken, token.refreshToken!) + await saveUserTokens({ + userId: user.id, + accessToken: token.accessToken, + refreshToken: token.refreshToken!, + }) const sessionToken = await createSessionToken(user.id) const headers = new Headers({ Location: "/" })