refactor: prefer buffer (#26469)

* refactor: prefer buffer

* Update server/src/schema/tables/session.table.ts

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>

---------

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
This commit is contained in:
Jason Rasmussen
2026-02-24 08:26:36 -05:00
committed by GitHub
parent 4b8f90aa55
commit f07e2b58f0
16 changed files with 44 additions and 29 deletions

View File

@@ -0,0 +1,15 @@
import { Kysely, sql } from 'kysely';
export async function up(db: Kysely<any>): Promise<void> {
await sql`ALTER TABLE "api_key" ALTER COLUMN "key" TYPE bytea USING decode("key", 'base64');`.execute(db);
await sql`ALTER TABLE "session" ALTER COLUMN "token" TYPE bytea USING decode("token", 'base64');`.execute(db);
await sql`CREATE INDEX "api_key_key_idx" ON "api_key" ("key");`.execute(db);
await sql`CREATE INDEX "session_token_idx" ON "session" ("token");`.execute(db);
}
export async function down(db: Kysely<any>): Promise<void> {
await sql`DROP INDEX "api_key_key_idx";`.execute(db);
await sql`DROP INDEX "session_token_idx";`.execute(db);
await sql`ALTER TABLE "api_key" ALTER COLUMN "key" TYPE character varying USING encode("key", 'base64');`.execute(db);
await sql`ALTER TABLE "session" ALTER COLUMN "token" TYPE character varying USING encode("token", 'base64');`.execute(db);
}

View File

@@ -21,8 +21,8 @@ export class ApiKeyTable {
@Column()
name!: string;
@Column()
key!: string;
@Column({ type: 'bytea', index: true })
key!: Buffer;
@ForeignKeyColumn(() => UserTable, { onUpdate: 'CASCADE', onDelete: 'CASCADE' })
userId!: string;

View File

@@ -17,9 +17,8 @@ export class SessionTable {
@PrimaryGeneratedColumn()
id!: Generated<string>;
// TODO convert to byte[]
@Column()
token!: string;
@Column({ type: 'bytea', index: true })
token!: Buffer;
@CreateDateColumn()
createdAt!: Generated<Timestamp>;