Skip to content
4 changes: 3 additions & 1 deletion src/skill-rating/entities/season.entity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,8 @@ export class Season {
theme?: string;
specialRewards?: any[];
achievements?: string[];
leaderboardSnapshot?: any[];
finalStatistics?: any;
};

@CreateDateColumn()
Expand All @@ -80,4 +82,4 @@ export class Season {
@UpdateDateColumn()
@Index()
updatedAt: Date;
}
}
23 changes: 22 additions & 1 deletion src/skill-rating/skill-rating.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -106,4 +106,25 @@ export class SkillRatingController {
await this.skillRatingService.endSeason(seasonId);
return { message: `Season ${seasonId} ended successfully` };
}
}

/**
* Get past season details
*/
@Get('season/past/:seasonId')
async getPastSeasonDetails(
@Param('seasonId') seasonId: string,
): Promise<any> {
return this.skillRatingService.getPastSeasonDetails(seasonId);
}

/**
* Get player's season performance
*/
@Get('player/:userId/season/:seasonId')
async getPlayerSeasonPerformance(
@Param('userId') userId: string,
@Param('seasonId') seasonId: string,
): Promise<any> {
return this.skillRatingService.getPlayerSeasonPerformance(userId, seasonId);
}
}
11 changes: 9 additions & 2 deletions src/skill-rating/skill-rating.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ import { ScheduleModule } from '@nestjs/schedule';
import { User } from '../users/entities/user.entity';
import { Puzzle } from '../puzzles/entities/puzzle.entity';
import { ELOService } from './elo.service';
import { NotificationService } from '../notifications/notification.service';
import { Notification } from '../notifications/entities/notification.entity';
import { NotificationDelivery } from '../notifications/entities/notification-delivery.entity';
import { Device } from '../notifications/entities/device.entity';

@Module({
imports: [
Expand All @@ -22,6 +26,9 @@ import { ELOService } from './elo.service';
Season,
User,
Puzzle,
Notification,
NotificationDelivery,
Device,
]),
ScheduleModule.forRoot(),
],
Expand All @@ -30,7 +37,7 @@ import { ELOService } from './elo.service';
PlayerRatingController,
RatingsController,
],
providers: [SkillRatingService, ELOService],
providers: [SkillRatingService, ELOService, NotificationService],
exports: [SkillRatingService],
})
export class SkillRatingModule {}
export class SkillRatingModule {}
Loading
Loading