From 9d61941ea672b2d5ba37a2ec51f3fad8f798dfd5 Mon Sep 17 00:00:00 2001 From: CarlosQ96 <92376054+CarlosQ96@users.noreply.github.com> Date: Mon, 13 Jan 2025 13:36:05 +0100 Subject: [PATCH] add qfStrategy to qfRounds (#1903) --- migration/1736719823637-MarkRoundsStrategy.ts | 24 +++++++++++++++++ src/entities/qfRound.ts | 27 ++++++++++++++++++- src/server/adminJs/tabs/qfRoundTab.ts | 9 +++++++ 3 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 migration/1736719823637-MarkRoundsStrategy.ts diff --git a/migration/1736719823637-MarkRoundsStrategy.ts b/migration/1736719823637-MarkRoundsStrategy.ts new file mode 100644 index 000000000..01808dc22 --- /dev/null +++ b/migration/1736719823637-MarkRoundsStrategy.ts @@ -0,0 +1,24 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class MarkRoundsStrategy1736719823637 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + CREATE TYPE "qf_strategy_enum" AS ENUM ('cocm', 'regular'); + `); + + await queryRunner.query(` + ALTER TABLE "qf_round" + ADD COLUMN "qfStrategy" "qf_strategy_enum" DEFAULT 'regular'; + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + ALTER TABLE "qf_round" + DROP COLUMN "qfStrategy"; + `); + await queryRunner.query(` + DROP TYPE "qf_strategy_enum"; + `); + } +} diff --git a/src/entities/qfRound.ts b/src/entities/qfRound.ts index c71d0a263..a28570636 100644 --- a/src/entities/qfRound.ts +++ b/src/entities/qfRound.ts @@ -1,4 +1,11 @@ -import { Field, ID, ObjectType, Int, Float } from 'type-graphql'; +import { + Field, + ID, + ObjectType, + Int, + Float, + registerEnumType, +} from 'type-graphql'; import { PrimaryGeneratedColumn, Column, @@ -13,6 +20,15 @@ import { import { Project } from './project'; import { Donation } from './donation'; +export enum QfStrategyEnum { + Cocm = 'cocm', + Regular = 'regular', +} + +registerEnumType(QfStrategyEnum, { + name: 'QfStrategyEnum', // Name to expose in GraphQL schema +}); + @Entity() @ObjectType() export class QfRound extends BaseEntity { @@ -89,6 +105,15 @@ export class QfRound extends BaseEntity { @Column() endDate: Date; + @Field(_type => QfStrategyEnum, { nullable: true }) + @Column({ + type: 'enum', + enum: QfStrategyEnum, + default: QfStrategyEnum.Regular, + nullable: true, + }) + qfStrategy?: QfStrategyEnum; + @Field(_type => String, { nullable: true }) @Column('text', { nullable: true }) bannerBgImage: string; diff --git a/src/server/adminJs/tabs/qfRoundTab.ts b/src/server/adminJs/tabs/qfRoundTab.ts index 2e7197d28..47fcedb1f 100644 --- a/src/server/adminJs/tabs/qfRoundTab.ts +++ b/src/server/adminJs/tabs/qfRoundTab.ts @@ -311,6 +311,15 @@ export const qfRoundTab = { show: adminJs.bundle('./components/ProjectsInQfRound'), }, }, + qfStrategy: { + isVisible: { + filter: false, + list: false, + show: true, + new: true, + edit: true, + }, + }, bannerBgImage: { isVisible: { filter: false,