mirror of
https://github.com/immich-app/immich
synced 2026-08-15 13:03:57 +00:00
Merge d7f46ccee3 into af33a78d18
This commit is contained in:
commit
54c442d69b
4 changed files with 29 additions and 10 deletions
|
|
@ -230,8 +230,8 @@ export type Session = {
|
|||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
expiresAt: Date | null;
|
||||
deviceOS: string;
|
||||
deviceType: string;
|
||||
deviceOS: string | null;
|
||||
deviceType: string | null;
|
||||
appVersion: string | null;
|
||||
pinExpiresAt: Date | null;
|
||||
isPendingSyncReset: boolean;
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ import z from 'zod';
|
|||
const SessionCreateSchema = z
|
||||
.object({
|
||||
duration: z.int().min(1).optional().describe('Session duration in seconds'),
|
||||
deviceType: z.string().optional().describe('Device type'),
|
||||
deviceOS: z.string().optional().describe('Device OS'),
|
||||
deviceType: z.string().nullish().transform((val) => (val === '' ? null : val)).describe('Device type'),
|
||||
deviceOS: z.string().nullish().transform((val) => (val === '' ? null : val)).describe('Device OS'),
|
||||
})
|
||||
.meta({ id: 'SessionCreateDto' });
|
||||
|
||||
|
|
@ -23,8 +23,8 @@ const SessionResponseSchema = z
|
|||
updatedAt: z.string().describe('Last update date'),
|
||||
expiresAt: z.string().optional().describe('Expiration date'),
|
||||
current: z.boolean().describe('Is current session'),
|
||||
deviceType: z.string().describe('Device type'),
|
||||
deviceOS: z.string().describe('Device OS'),
|
||||
deviceType: z.string().nullable().describe('Device type'),
|
||||
deviceOS: z.string().nullable().describe('Device OS'),
|
||||
appVersion: z.string().nullable().describe('App version'),
|
||||
isPendingSyncReset: z.boolean().describe('Is pending sync reset'),
|
||||
})
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
import { Kysely, sql } from 'kysely';
|
||||
|
||||
export async function up(db: Kysely<any>): Promise<void> {
|
||||
await sql`ALTER TABLE "session" ALTER COLUMN "deviceType" DROP NOT NULL;`.execute(db);
|
||||
await sql`ALTER TABLE "session" ALTER COLUMN "deviceType" SET DEFAULT NULL;`.execute(db);
|
||||
await sql`UPDATE "session" SET "deviceType" = NULL WHERE "deviceType" = '';`.execute(db);
|
||||
await sql`ALTER TABLE "session" ALTER COLUMN "deviceOS" DROP NOT NULL;`.execute(db);
|
||||
await sql`ALTER TABLE "session" ALTER COLUMN "deviceOS" SET DEFAULT NULL;`.execute(db);
|
||||
await sql`UPDATE "session" SET "deviceOS" = NULL WHERE "deviceOS" = '';`.execute(db);
|
||||
}
|
||||
|
||||
export async function down(): Promise<void> {
|
||||
await sql`UPDATE "session" SET "deviceOS" = '' WHERE "deviceOS" IS NULL;`.execute(db);
|
||||
await sql`ALTER TABLE "session" ALTER COLUMN "deviceOS" SET DEFAULT '';`.execute(db);
|
||||
await sql`ALTER TABLE "session" ALTER COLUMN "deviceOS" SET NOT NULL;`.execute(db);
|
||||
await sql`UPDATE "session" SET "deviceType" = '' WHERE "deviceType" IS NULL;`.execute(db);
|
||||
await sql`ALTER TABLE "session" ALTER COLUMN "deviceType" SET DEFAULT '';`.execute(db);
|
||||
await sql`ALTER TABLE "session" ALTER COLUMN "deviceType" SET NOT NULL;`.execute(db);
|
||||
}
|
||||
|
|
@ -35,11 +35,11 @@ export class SessionTable {
|
|||
@ForeignKeyColumn(() => SessionTable, { onUpdate: 'CASCADE', onDelete: 'CASCADE', nullable: true })
|
||||
parentId!: string | null;
|
||||
|
||||
@Column({ default: '' })
|
||||
deviceType!: Generated<string>;
|
||||
@Column({ nullable: true, default: null })
|
||||
deviceType!: string | null;
|
||||
|
||||
@Column({ default: '' })
|
||||
deviceOS!: Generated<string>;
|
||||
@Column({ nullable: true, default: null })
|
||||
deviceOS!: string | null;
|
||||
|
||||
@Column({ nullable: true })
|
||||
appVersion!: string | null;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue