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

File diff suppressed because one or more lines are too long

View File

@@ -1351,6 +1351,9 @@ export const SitePreferencesScalarFieldEnum = {
challengesBackground: 'challengesBackground',
eventRegistrationPoints: 'eventRegistrationPoints',
eventFeedbackPoints: 'eventFeedbackPoints',
houseJoinPoints: 'houseJoinPoints',
houseLeavePoints: 'houseLeavePoints',
houseCreatePoints: 'houseCreatePoints',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
} as const

View File

@@ -164,6 +164,9 @@ export const SitePreferencesScalarFieldEnum = {
challengesBackground: 'challengesBackground',
eventRegistrationPoints: 'eventRegistrationPoints',
eventFeedbackPoints: 'eventFeedbackPoints',
houseJoinPoints: 'houseJoinPoints',
houseLeavePoints: 'houseLeavePoints',
houseCreatePoints: 'houseCreatePoints',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
} as const

View File

@@ -29,11 +29,17 @@ export type AggregateSitePreferences = {
export type SitePreferencesAvgAggregateOutputType = {
eventRegistrationPoints: number | null
eventFeedbackPoints: number | null
houseJoinPoints: number | null
houseLeavePoints: number | null
houseCreatePoints: number | null
}
export type SitePreferencesSumAggregateOutputType = {
eventRegistrationPoints: number | null
eventFeedbackPoints: number | null
houseJoinPoints: number | null
houseLeavePoints: number | null
houseCreatePoints: number | null
}
export type SitePreferencesMinAggregateOutputType = {
@@ -44,6 +50,9 @@ export type SitePreferencesMinAggregateOutputType = {
challengesBackground: string | null
eventRegistrationPoints: number | null
eventFeedbackPoints: number | null
houseJoinPoints: number | null
houseLeavePoints: number | null
houseCreatePoints: number | null
createdAt: Date | null
updatedAt: Date | null
}
@@ -56,6 +65,9 @@ export type SitePreferencesMaxAggregateOutputType = {
challengesBackground: string | null
eventRegistrationPoints: number | null
eventFeedbackPoints: number | null
houseJoinPoints: number | null
houseLeavePoints: number | null
houseCreatePoints: number | null
createdAt: Date | null
updatedAt: Date | null
}
@@ -68,6 +80,9 @@ export type SitePreferencesCountAggregateOutputType = {
challengesBackground: number
eventRegistrationPoints: number
eventFeedbackPoints: number
houseJoinPoints: number
houseLeavePoints: number
houseCreatePoints: number
createdAt: number
updatedAt: number
_all: number
@@ -77,11 +92,17 @@ export type SitePreferencesCountAggregateOutputType = {
export type SitePreferencesAvgAggregateInputType = {
eventRegistrationPoints?: true
eventFeedbackPoints?: true
houseJoinPoints?: true
houseLeavePoints?: true
houseCreatePoints?: true
}
export type SitePreferencesSumAggregateInputType = {
eventRegistrationPoints?: true
eventFeedbackPoints?: true
houseJoinPoints?: true
houseLeavePoints?: true
houseCreatePoints?: true
}
export type SitePreferencesMinAggregateInputType = {
@@ -92,6 +113,9 @@ export type SitePreferencesMinAggregateInputType = {
challengesBackground?: true
eventRegistrationPoints?: true
eventFeedbackPoints?: true
houseJoinPoints?: true
houseLeavePoints?: true
houseCreatePoints?: true
createdAt?: true
updatedAt?: true
}
@@ -104,6 +128,9 @@ export type SitePreferencesMaxAggregateInputType = {
challengesBackground?: true
eventRegistrationPoints?: true
eventFeedbackPoints?: true
houseJoinPoints?: true
houseLeavePoints?: true
houseCreatePoints?: true
createdAt?: true
updatedAt?: true
}
@@ -116,6 +143,9 @@ export type SitePreferencesCountAggregateInputType = {
challengesBackground?: true
eventRegistrationPoints?: true
eventFeedbackPoints?: true
houseJoinPoints?: true
houseLeavePoints?: true
houseCreatePoints?: true
createdAt?: true
updatedAt?: true
_all?: true
@@ -215,6 +245,9 @@ export type SitePreferencesGroupByOutputType = {
challengesBackground: string | null
eventRegistrationPoints: number
eventFeedbackPoints: number
houseJoinPoints: number
houseLeavePoints: number
houseCreatePoints: number
createdAt: Date
updatedAt: Date
_count: SitePreferencesCountAggregateOutputType | null
@@ -250,6 +283,9 @@ export type SitePreferencesWhereInput = {
challengesBackground?: Prisma.StringNullableFilter<"SitePreferences"> | string | null
eventRegistrationPoints?: Prisma.IntFilter<"SitePreferences"> | number
eventFeedbackPoints?: Prisma.IntFilter<"SitePreferences"> | number
houseJoinPoints?: Prisma.IntFilter<"SitePreferences"> | number
houseLeavePoints?: Prisma.IntFilter<"SitePreferences"> | number
houseCreatePoints?: Prisma.IntFilter<"SitePreferences"> | number
createdAt?: Prisma.DateTimeFilter<"SitePreferences"> | Date | string
updatedAt?: Prisma.DateTimeFilter<"SitePreferences"> | Date | string
}
@@ -262,6 +298,9 @@ export type SitePreferencesOrderByWithRelationInput = {
challengesBackground?: Prisma.SortOrderInput | Prisma.SortOrder
eventRegistrationPoints?: Prisma.SortOrder
eventFeedbackPoints?: Prisma.SortOrder
houseJoinPoints?: Prisma.SortOrder
houseLeavePoints?: Prisma.SortOrder
houseCreatePoints?: Prisma.SortOrder
createdAt?: Prisma.SortOrder
updatedAt?: Prisma.SortOrder
}
@@ -277,6 +316,9 @@ export type SitePreferencesWhereUniqueInput = Prisma.AtLeast<{
challengesBackground?: Prisma.StringNullableFilter<"SitePreferences"> | string | null
eventRegistrationPoints?: Prisma.IntFilter<"SitePreferences"> | number
eventFeedbackPoints?: Prisma.IntFilter<"SitePreferences"> | number
houseJoinPoints?: Prisma.IntFilter<"SitePreferences"> | number
houseLeavePoints?: Prisma.IntFilter<"SitePreferences"> | number
houseCreatePoints?: Prisma.IntFilter<"SitePreferences"> | number
createdAt?: Prisma.DateTimeFilter<"SitePreferences"> | Date | string
updatedAt?: Prisma.DateTimeFilter<"SitePreferences"> | Date | string
}, "id">
@@ -289,6 +331,9 @@ export type SitePreferencesOrderByWithAggregationInput = {
challengesBackground?: Prisma.SortOrderInput | Prisma.SortOrder
eventRegistrationPoints?: Prisma.SortOrder
eventFeedbackPoints?: Prisma.SortOrder
houseJoinPoints?: Prisma.SortOrder
houseLeavePoints?: Prisma.SortOrder
houseCreatePoints?: Prisma.SortOrder
createdAt?: Prisma.SortOrder
updatedAt?: Prisma.SortOrder
_count?: Prisma.SitePreferencesCountOrderByAggregateInput
@@ -309,6 +354,9 @@ export type SitePreferencesScalarWhereWithAggregatesInput = {
challengesBackground?: Prisma.StringNullableWithAggregatesFilter<"SitePreferences"> | string | null
eventRegistrationPoints?: Prisma.IntWithAggregatesFilter<"SitePreferences"> | number
eventFeedbackPoints?: Prisma.IntWithAggregatesFilter<"SitePreferences"> | number
houseJoinPoints?: Prisma.IntWithAggregatesFilter<"SitePreferences"> | number
houseLeavePoints?: Prisma.IntWithAggregatesFilter<"SitePreferences"> | number
houseCreatePoints?: Prisma.IntWithAggregatesFilter<"SitePreferences"> | number
createdAt?: Prisma.DateTimeWithAggregatesFilter<"SitePreferences"> | Date | string
updatedAt?: Prisma.DateTimeWithAggregatesFilter<"SitePreferences"> | Date | string
}
@@ -321,6 +369,9 @@ export type SitePreferencesCreateInput = {
challengesBackground?: string | null
eventRegistrationPoints?: number
eventFeedbackPoints?: number
houseJoinPoints?: number
houseLeavePoints?: number
houseCreatePoints?: number
createdAt?: Date | string
updatedAt?: Date | string
}
@@ -333,6 +384,9 @@ export type SitePreferencesUncheckedCreateInput = {
challengesBackground?: string | null
eventRegistrationPoints?: number
eventFeedbackPoints?: number
houseJoinPoints?: number
houseLeavePoints?: number
houseCreatePoints?: number
createdAt?: Date | string
updatedAt?: Date | string
}
@@ -345,6 +399,9 @@ export type SitePreferencesUpdateInput = {
challengesBackground?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
eventRegistrationPoints?: Prisma.IntFieldUpdateOperationsInput | number
eventFeedbackPoints?: Prisma.IntFieldUpdateOperationsInput | number
houseJoinPoints?: Prisma.IntFieldUpdateOperationsInput | number
houseLeavePoints?: Prisma.IntFieldUpdateOperationsInput | number
houseCreatePoints?: Prisma.IntFieldUpdateOperationsInput | number
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}
@@ -357,6 +414,9 @@ export type SitePreferencesUncheckedUpdateInput = {
challengesBackground?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
eventRegistrationPoints?: Prisma.IntFieldUpdateOperationsInput | number
eventFeedbackPoints?: Prisma.IntFieldUpdateOperationsInput | number
houseJoinPoints?: Prisma.IntFieldUpdateOperationsInput | number
houseLeavePoints?: Prisma.IntFieldUpdateOperationsInput | number
houseCreatePoints?: Prisma.IntFieldUpdateOperationsInput | number
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}
@@ -369,6 +429,9 @@ export type SitePreferencesCreateManyInput = {
challengesBackground?: string | null
eventRegistrationPoints?: number
eventFeedbackPoints?: number
houseJoinPoints?: number
houseLeavePoints?: number
houseCreatePoints?: number
createdAt?: Date | string
updatedAt?: Date | string
}
@@ -381,6 +444,9 @@ export type SitePreferencesUpdateManyMutationInput = {
challengesBackground?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
eventRegistrationPoints?: Prisma.IntFieldUpdateOperationsInput | number
eventFeedbackPoints?: Prisma.IntFieldUpdateOperationsInput | number
houseJoinPoints?: Prisma.IntFieldUpdateOperationsInput | number
houseLeavePoints?: Prisma.IntFieldUpdateOperationsInput | number
houseCreatePoints?: Prisma.IntFieldUpdateOperationsInput | number
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}
@@ -393,6 +459,9 @@ export type SitePreferencesUncheckedUpdateManyInput = {
challengesBackground?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
eventRegistrationPoints?: Prisma.IntFieldUpdateOperationsInput | number
eventFeedbackPoints?: Prisma.IntFieldUpdateOperationsInput | number
houseJoinPoints?: Prisma.IntFieldUpdateOperationsInput | number
houseLeavePoints?: Prisma.IntFieldUpdateOperationsInput | number
houseCreatePoints?: Prisma.IntFieldUpdateOperationsInput | number
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}
@@ -405,6 +474,9 @@ export type SitePreferencesCountOrderByAggregateInput = {
challengesBackground?: Prisma.SortOrder
eventRegistrationPoints?: Prisma.SortOrder
eventFeedbackPoints?: Prisma.SortOrder
houseJoinPoints?: Prisma.SortOrder
houseLeavePoints?: Prisma.SortOrder
houseCreatePoints?: Prisma.SortOrder
createdAt?: Prisma.SortOrder
updatedAt?: Prisma.SortOrder
}
@@ -412,6 +484,9 @@ export type SitePreferencesCountOrderByAggregateInput = {
export type SitePreferencesAvgOrderByAggregateInput = {
eventRegistrationPoints?: Prisma.SortOrder
eventFeedbackPoints?: Prisma.SortOrder
houseJoinPoints?: Prisma.SortOrder
houseLeavePoints?: Prisma.SortOrder
houseCreatePoints?: Prisma.SortOrder
}
export type SitePreferencesMaxOrderByAggregateInput = {
@@ -422,6 +497,9 @@ export type SitePreferencesMaxOrderByAggregateInput = {
challengesBackground?: Prisma.SortOrder
eventRegistrationPoints?: Prisma.SortOrder
eventFeedbackPoints?: Prisma.SortOrder
houseJoinPoints?: Prisma.SortOrder
houseLeavePoints?: Prisma.SortOrder
houseCreatePoints?: Prisma.SortOrder
createdAt?: Prisma.SortOrder
updatedAt?: Prisma.SortOrder
}
@@ -434,6 +512,9 @@ export type SitePreferencesMinOrderByAggregateInput = {
challengesBackground?: Prisma.SortOrder
eventRegistrationPoints?: Prisma.SortOrder
eventFeedbackPoints?: Prisma.SortOrder
houseJoinPoints?: Prisma.SortOrder
houseLeavePoints?: Prisma.SortOrder
houseCreatePoints?: Prisma.SortOrder
createdAt?: Prisma.SortOrder
updatedAt?: Prisma.SortOrder
}
@@ -441,6 +522,9 @@ export type SitePreferencesMinOrderByAggregateInput = {
export type SitePreferencesSumOrderByAggregateInput = {
eventRegistrationPoints?: Prisma.SortOrder
eventFeedbackPoints?: Prisma.SortOrder
houseJoinPoints?: Prisma.SortOrder
houseLeavePoints?: Prisma.SortOrder
houseCreatePoints?: Prisma.SortOrder
}
@@ -453,6 +537,9 @@ export type SitePreferencesSelect<ExtArgs extends runtime.Types.Extensions.Inter
challengesBackground?: boolean
eventRegistrationPoints?: boolean
eventFeedbackPoints?: boolean
houseJoinPoints?: boolean
houseLeavePoints?: boolean
houseCreatePoints?: boolean
createdAt?: boolean
updatedAt?: boolean
}, ExtArgs["result"]["sitePreferences"]>
@@ -465,6 +552,9 @@ export type SitePreferencesSelectCreateManyAndReturn<ExtArgs extends runtime.Typ
challengesBackground?: boolean
eventRegistrationPoints?: boolean
eventFeedbackPoints?: boolean
houseJoinPoints?: boolean
houseLeavePoints?: boolean
houseCreatePoints?: boolean
createdAt?: boolean
updatedAt?: boolean
}, ExtArgs["result"]["sitePreferences"]>
@@ -477,6 +567,9 @@ export type SitePreferencesSelectUpdateManyAndReturn<ExtArgs extends runtime.Typ
challengesBackground?: boolean
eventRegistrationPoints?: boolean
eventFeedbackPoints?: boolean
houseJoinPoints?: boolean
houseLeavePoints?: boolean
houseCreatePoints?: boolean
createdAt?: boolean
updatedAt?: boolean
}, ExtArgs["result"]["sitePreferences"]>
@@ -489,11 +582,14 @@ export type SitePreferencesSelectScalar = {
challengesBackground?: boolean
eventRegistrationPoints?: boolean
eventFeedbackPoints?: boolean
houseJoinPoints?: boolean
houseLeavePoints?: boolean
houseCreatePoints?: boolean
createdAt?: boolean
updatedAt?: boolean
}
export type SitePreferencesOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "homeBackground" | "eventsBackground" | "leaderboardBackground" | "challengesBackground" | "eventRegistrationPoints" | "eventFeedbackPoints" | "createdAt" | "updatedAt", ExtArgs["result"]["sitePreferences"]>
export type SitePreferencesOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "homeBackground" | "eventsBackground" | "leaderboardBackground" | "challengesBackground" | "eventRegistrationPoints" | "eventFeedbackPoints" | "houseJoinPoints" | "houseLeavePoints" | "houseCreatePoints" | "createdAt" | "updatedAt", ExtArgs["result"]["sitePreferences"]>
export type $SitePreferencesPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
name: "SitePreferences"
@@ -506,6 +602,9 @@ export type $SitePreferencesPayload<ExtArgs extends runtime.Types.Extensions.Int
challengesBackground: string | null
eventRegistrationPoints: number
eventFeedbackPoints: number
houseJoinPoints: number
houseLeavePoints: number
houseCreatePoints: number
createdAt: Date
updatedAt: Date
}, ExtArgs["result"]["sitePreferences"]>
@@ -938,6 +1037,9 @@ export interface SitePreferencesFieldRefs {
readonly challengesBackground: Prisma.FieldRef<"SitePreferences", 'String'>
readonly eventRegistrationPoints: Prisma.FieldRef<"SitePreferences", 'Int'>
readonly eventFeedbackPoints: Prisma.FieldRef<"SitePreferences", 'Int'>
readonly houseJoinPoints: Prisma.FieldRef<"SitePreferences", 'Int'>
readonly houseLeavePoints: Prisma.FieldRef<"SitePreferences", 'Int'>
readonly houseCreatePoints: Prisma.FieldRef<"SitePreferences", 'Int'>
readonly createdAt: Prisma.FieldRef<"SitePreferences", 'DateTime'>
readonly updatedAt: Prisma.FieldRef<"SitePreferences", 'DateTime'>
}

View File

@@ -0,0 +1,9 @@
-- AlterTable
ALTER TABLE "SitePreferences" ADD COLUMN "houseJoinPoints" INTEGER NOT NULL DEFAULT 100;
-- AlterTable
ALTER TABLE "SitePreferences" ADD COLUMN "houseLeavePoints" INTEGER NOT NULL DEFAULT 100;
-- AlterTable
ALTER TABLE "SitePreferences" ADD COLUMN "houseCreatePoints" INTEGER NOT NULL DEFAULT 100;

View File

@@ -109,6 +109,9 @@ model SitePreferences {
challengesBackground String?
eventRegistrationPoints Int @default(100)
eventFeedbackPoints Int @default(100)
houseJoinPoints Int @default(100)
houseLeavePoints Int @default(100)
houseCreatePoints Int @default(100)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}