From 294b831e613db2b209e39578d615f3d4cc48b7be Mon Sep 17 00:00:00 2001 From: Kanishk Sachdev Date: Mon, 18 Aug 2025 11:26:14 +0530 Subject: [PATCH] fix error in team module --- src/entities/team.entity.ts | 5 +++-- src/modules/team/team.controller.ts | 10 +++++++++- src/modules/team/team.module.ts | 3 ++- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/entities/team.entity.ts b/src/entities/team.entity.ts index 66924c6a..d73beee9 100644 --- a/src/entities/team.entity.ts +++ b/src/entities/team.entity.ts @@ -7,9 +7,10 @@ import { IsBoolean, IsOptional, IsString } from "class-validator"; name: "teams", }) export class Team extends Entity { - @ApiProperty() + @ApiProperty({ required: false, description: "Defaults to active hackathon" }) + @IsOptional() @IsString() - @Column({ type: "string" }) + @Column({ type: "string", required: false }) hackathonId: string; @ApiProperty() @IsString() diff --git a/src/modules/team/team.controller.ts b/src/modules/team/team.controller.ts index e0ea213e..f84d2c86 100644 --- a/src/modules/team/team.controller.ts +++ b/src/modules/team/team.controller.ts @@ -16,6 +16,7 @@ import { import { InjectRepository, Repository } from "common/objection"; import { Team, TeamEntity } from "entities/team.entity"; import { User } from "entities/user.entity"; +import { Hackathon } from "entities/hackathon.entity"; import { ApiProperty, ApiTags, OmitType, PartialType } from "@nestjs/swagger"; import { Role, Roles } from "common/gcp"; import { ApiDoc } from "common/docs"; @@ -205,13 +206,20 @@ export class TeamController { } } + // Get active hackathon + const hackathon = await Hackathon.query().findOne({ active: true }); + if (!hackathon) { + throw new NotFoundException("No active hackathon found"); + } + const team = await this.teamRepo .createOne({ id: nanoid(), + hackathonId: hackathon.id, isActive: true, ...data, }) - .byHackathon(); + .exec(); return team; } diff --git a/src/modules/team/team.module.ts b/src/modules/team/team.module.ts index f187e216..60890356 100644 --- a/src/modules/team/team.module.ts +++ b/src/modules/team/team.module.ts @@ -3,9 +3,10 @@ import { ObjectionModule } from "common/objection"; import { Team } from "entities/team.entity"; import { User } from "entities/user.entity"; import { TeamController } from "./team.controller"; +import { Hackathon } from "entities/hackathon.entity"; @Module({ - imports: [ObjectionModule.forFeature([Team, User])], + imports: [ObjectionModule.forFeature([Team, User, Hackathon])], controllers: [TeamController], }) export class TeamModule {}