Implement house points system: Add houseJoinPoints, houseLeavePoints, and houseCreatePoints to SitePreferences model and update related services. Enhance house management features to award and deduct points for house creation, membership removal, and leaving a house. Update environment configuration for PostgreSQL and adjust UI components to reflect new functionalities.
Some checks failed
Deploy with Docker Compose / deploy (push) Has been cancelled

This commit is contained in:
Julien Froidefond
2025-12-18 08:48:31 +01:00
parent 12bc44e3ac
commit 1b82bd9ee6
23 changed files with 1026 additions and 113 deletions

View File

@@ -1,6 +1,7 @@
import { auth } from "@/lib/auth";
import { userService } from "@/services/users/user.service";
import { challengeService } from "@/services/challenges/challenge.service";
import { houseService } from "@/services/houses/house.service";
import Navigation from "./Navigation";
interface UserData {
@@ -20,10 +21,11 @@ export default async function NavigationWrapper() {
let userData: UserData | null = null;
const isAdmin = session?.user?.role === "ADMIN";
let activeChallengesCount = 0;
let pendingHouseActionsCount = 0;
if (session?.user?.id) {
// Paralléliser les appels DB
const [user, count] = await Promise.all([
const [user, challengesCount, houseActionsCount] = await Promise.all([
userService.getUserById(session.user.id, {
username: true,
avatar: true,
@@ -35,13 +37,15 @@ export default async function NavigationWrapper() {
score: true,
}),
challengeService.getActiveChallengesCount(session.user.id),
houseService.getPendingHouseActionsCount(session.user.id),
]);
if (user) {
userData = user;
}
activeChallengesCount = count;
activeChallengesCount = challengesCount;
pendingHouseActionsCount = houseActionsCount;
}
return (
@@ -49,6 +53,7 @@ export default async function NavigationWrapper() {
initialUserData={userData}
initialIsAdmin={isAdmin}
initialActiveChallengesCount={activeChallengesCount}
initialPendingInvitationsCount={pendingHouseActionsCount}
/>
);
}