Skip to content

Commit

Permalink
feat: add route requestAchievementPush
Browse files Browse the repository at this point in the history
  • Loading branch information
dreamerblue committed Nov 5, 2024
1 parent 2a2fa5d commit db0962d
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 1 deletion.
6 changes: 6 additions & 0 deletions src/app/achievement/achievement.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,10 @@ export default class AchievementController {
rows: achievementRateList,
};
}

@route()
@login()
async [routesBe.requestAchievementPush.i](ctx: Context): Promise<void> {
await this.userAchievementService.pushAllUndeliveredAchievements(ctx.session.userId);
}
}
18 changes: 18 additions & 0 deletions src/app/user/userAchievement.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -280,4 +280,22 @@ export default class UserAchievementService {
}
return res;
}

async pushAllUndeliveredAchievements(userId: number) {
const createdOnlyAchievements = await this.userAchievementModel.findAll({
attributes: ['achievementKey'],
where: {
userId,
status: EUserAchievementStatus.created,
},
});
const achievementKeys = createdOnlyAchievements.map((d) => d.achievementKey);
if (achievementKeys.length) {
await this.socketBridgeEmitter.emit('pushAchievementAchieved', {
userId,
achievementKeys,
});
}
await this.clearUserAchievementsCache(userId);
}
}
2 changes: 1 addition & 1 deletion src/common
Submodule common updated 1 files
+9 −0 routes/be.route.ts

0 comments on commit db0962d

Please sign in to comment.