Skip to content

Documentation


Documentation / @kizami/db / slackLinkTokens

Variable: slackLinkTokens

const slackLinkTokens: SQLiteTableWithColumns<{ columns: { createdAt: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteInteger"; data: number; dataType: "number"; driverParam: number; enumValues: undefined; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "created_at"; notNull: true; tableName: "slack_link_tokens"; }, { }, { }>; expiresAt: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteInteger"; data: number; dataType: "number"; driverParam: number; enumValues: undefined; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "expires_at"; notNull: true; tableName: "slack_link_tokens"; }, { }, { }>; id: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: true; name: "id"; notNull: true; tableName: "slack_link_tokens"; }, { }, { length: number | undefined; }>; slackUserId: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "slack_user_id"; notNull: true; tableName: "slack_link_tokens"; }, { }, { length: number | undefined; }>; tenantId: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "tenant_id"; notNull: true; tableName: "slack_link_tokens"; }, { }, { length: number | undefined; }>; tokenHash: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "token_hash"; notNull: true; tableName: "slack_link_tokens"; }, { }, { length: number | undefined; }>; usedAt: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteInteger"; data: number; dataType: "number"; driverParam: number; enumValues: undefined; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "used_at"; notNull: false; tableName: "slack_link_tokens"; }, { }, { }>; }; dialect: "sqlite"; name: "slack_link_tokens"; schema: undefined; }>

Defined in: packages/db/src/schema/slack.ts:66

/punch link が発行するワンタイムトークン。api_keys(schema/api-keys.ts)と同じ方式: 平文トークンはSlackへのephemeral応答としてのみ表示し、DBにはSHA-256(hex)のみ保存する。 短命(15分、apps/api/src/routes/slack.ts の LINK_TOKEN_TTL_MINUTES)。