Skip to content

Commit ba22f31

Browse files
authored
Merge pull request #433 from nafiuishaaq/feat/Management
Feat/management
2 parents c8b2545 + f349778 commit ba22f31

4 files changed

Lines changed: 311 additions & 16 deletions

File tree

src/skill-rating/entities/season.entity.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ export class Season {
7171
theme?: string;
7272
specialRewards?: any[];
7373
achievements?: string[];
74+
leaderboardSnapshot?: any[];
75+
finalStatistics?: any;
7476
};
7577

7678
@CreateDateColumn()
@@ -80,4 +82,4 @@ export class Season {
8082
@UpdateDateColumn()
8183
@Index()
8284
updatedAt: Date;
83-
}
85+
}

src/skill-rating/skill-rating.controller.ts

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,4 +106,25 @@ export class SkillRatingController {
106106
await this.skillRatingService.endSeason(seasonId);
107107
return { message: `Season ${seasonId} ended successfully` };
108108
}
109-
}
109+
110+
/**
111+
* Get past season details
112+
*/
113+
@Get('season/past/:seasonId')
114+
async getPastSeasonDetails(
115+
@Param('seasonId') seasonId: string,
116+
): Promise<any> {
117+
return this.skillRatingService.getPastSeasonDetails(seasonId);
118+
}
119+
120+
/**
121+
* Get player's season performance
122+
*/
123+
@Get('player/:userId/season/:seasonId')
124+
async getPlayerSeasonPerformance(
125+
@Param('userId') userId: string,
126+
@Param('seasonId') seasonId: string,
127+
): Promise<any> {
128+
return this.skillRatingService.getPlayerSeasonPerformance(userId, seasonId);
129+
}
130+
}

src/skill-rating/skill-rating.module.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ import { ScheduleModule } from '@nestjs/schedule';
1313
import { User } from '../users/entities/user.entity';
1414
import { Puzzle } from '../puzzles/entities/puzzle.entity';
1515
import { ELOService } from './elo.service';
16+
import { NotificationService } from '../notifications/notification.service';
17+
import { Notification } from '../notifications/entities/notification.entity';
18+
import { NotificationDelivery } from '../notifications/entities/notification-delivery.entity';
19+
import { Device } from '../notifications/entities/device.entity';
1620

1721
@Module({
1822
imports: [
@@ -22,6 +26,9 @@ import { ELOService } from './elo.service';
2226
Season,
2327
User,
2428
Puzzle,
29+
Notification,
30+
NotificationDelivery,
31+
Device,
2532
]),
2633
ScheduleModule.forRoot(),
2734
],
@@ -30,7 +37,7 @@ import { ELOService } from './elo.service';
3037
PlayerRatingController,
3138
RatingsController,
3239
],
33-
providers: [SkillRatingService, ELOService],
40+
providers: [SkillRatingService, ELOService, NotificationService],
3441
exports: [SkillRatingService],
3542
})
36-
export class SkillRatingModule {}
43+
export class SkillRatingModule {}

0 commit comments

Comments
 (0)