diff --git a/src/main/entity/user-preferences.entity.ts b/src/main/entity/user-preferences.entity.ts index dc6d465d..b43d463e 100644 --- a/src/main/entity/user-preferences.entity.ts +++ b/src/main/entity/user-preferences.entity.ts @@ -35,6 +35,9 @@ export class UserPreferences { @Column("boolean", { default: false }) runAtStartup: boolean; + @Column("boolean", { default: false }) + startMinimized: boolean; + @CreateDateColumn() createdAt: Date; diff --git a/src/main/knex-client.ts b/src/main/knex-client.ts index 5f81ffbc..7db67250 100644 --- a/src/main/knex-client.ts +++ b/src/main/knex-client.ts @@ -11,7 +11,7 @@ import { AddAchievementNotificationPreference } from "./migrations/2024101301290 import { CreateUserSubscription } from "./migrations/20241015235142_create_user_subscription"; import { AddBackgroundImageUrl } from "./migrations/20241016100249_add_background_image_url"; import { AddWinePrefixToGame } from "./migrations/20241019081648_add_wine_prefix_to_game"; - +import { QualityOfLife } from "./migrations/20241030171454_quality_of_life"; export type HydraMigration = Knex.Migration & { name: string }; class MigrationSource implements Knex.MigrationSource { @@ -27,6 +27,7 @@ class MigrationSource implements Knex.MigrationSource { CreateUserSubscription, AddBackgroundImageUrl, AddWinePrefixToGame, + QualityOfLife, ]); } getMigrationName(migration: HydraMigration): string { diff --git a/src/main/migrations/20241030171454_quality_of_life.ts b/src/main/migrations/20241030171454_quality_of_life.ts new file mode 100644 index 00000000..5d2db874 --- /dev/null +++ b/src/main/migrations/20241030171454_quality_of_life.ts @@ -0,0 +1,17 @@ +import type { HydraMigration } from "@main/knex-client"; +import type { Knex } from "knex"; + +export const QualityOfLife: HydraMigration = { + name: "QualityOfLife", + up: (knex: Knex) => { + return knex.schema.alterTable("user_preferences", (table) => { + return table.boolean("startMinimized").notNullable().defaultTo(0); + }); + }, + + down: async (knex: Knex) => { + return knex.schema.alterTable("user_preferences", (table) => { + return table.dropColumn("startMinimized"); + }); + }, +}; diff --git a/src/types/index.ts b/src/types/index.ts index 7f970d63..9bb25e3f 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -160,6 +160,7 @@ export interface UserPreferences { realDebridApiToken: string | null; preferQuitInsteadOfHiding: boolean; runAtStartup: boolean; + startMinimized: boolean; } export interface Steam250Game {