Enhance user profiles with character class feature: Add character class field to user model and update related API routes, UI components, and validation logic. This update improves user profile customization and leaderboard entries by allowing users to select and display their character class.
This commit is contained in:
@@ -58,6 +58,7 @@ export type UserMinAggregateOutputType = {
|
||||
maxXp: number | null
|
||||
avatar: string | null
|
||||
bio: string | null
|
||||
characterClass: $Enums.CharacterClass | null
|
||||
createdAt: Date | null
|
||||
updatedAt: Date | null
|
||||
}
|
||||
@@ -76,6 +77,7 @@ export type UserMaxAggregateOutputType = {
|
||||
maxXp: number | null
|
||||
avatar: string | null
|
||||
bio: string | null
|
||||
characterClass: $Enums.CharacterClass | null
|
||||
createdAt: Date | null
|
||||
updatedAt: Date | null
|
||||
}
|
||||
@@ -94,6 +96,7 @@ export type UserCountAggregateOutputType = {
|
||||
maxXp: number
|
||||
avatar: number
|
||||
bio: number
|
||||
characterClass: number
|
||||
createdAt: number
|
||||
updatedAt: number
|
||||
_all: number
|
||||
@@ -132,6 +135,7 @@ export type UserMinAggregateInputType = {
|
||||
maxXp?: true
|
||||
avatar?: true
|
||||
bio?: true
|
||||
characterClass?: true
|
||||
createdAt?: true
|
||||
updatedAt?: true
|
||||
}
|
||||
@@ -150,6 +154,7 @@ export type UserMaxAggregateInputType = {
|
||||
maxXp?: true
|
||||
avatar?: true
|
||||
bio?: true
|
||||
characterClass?: true
|
||||
createdAt?: true
|
||||
updatedAt?: true
|
||||
}
|
||||
@@ -168,6 +173,7 @@ export type UserCountAggregateInputType = {
|
||||
maxXp?: true
|
||||
avatar?: true
|
||||
bio?: true
|
||||
characterClass?: true
|
||||
createdAt?: true
|
||||
updatedAt?: true
|
||||
_all?: true
|
||||
@@ -273,6 +279,7 @@ export type UserGroupByOutputType = {
|
||||
maxXp: number
|
||||
avatar: string | null
|
||||
bio: string | null
|
||||
characterClass: $Enums.CharacterClass | null
|
||||
createdAt: Date
|
||||
updatedAt: Date
|
||||
_count: UserCountAggregateOutputType | null
|
||||
@@ -314,6 +321,7 @@ export type UserWhereInput = {
|
||||
maxXp?: Prisma.IntFilter<"User"> | number
|
||||
avatar?: Prisma.StringNullableFilter<"User"> | string | null
|
||||
bio?: Prisma.StringNullableFilter<"User"> | string | null
|
||||
characterClass?: Prisma.EnumCharacterClassNullableFilter<"User"> | $Enums.CharacterClass | null
|
||||
createdAt?: Prisma.DateTimeFilter<"User"> | Date | string
|
||||
updatedAt?: Prisma.DateTimeFilter<"User"> | Date | string
|
||||
preferences?: Prisma.XOR<Prisma.UserPreferencesNullableScalarRelationFilter, Prisma.UserPreferencesWhereInput> | null
|
||||
@@ -334,6 +342,7 @@ export type UserOrderByWithRelationInput = {
|
||||
maxXp?: Prisma.SortOrder
|
||||
avatar?: Prisma.SortOrderInput | Prisma.SortOrder
|
||||
bio?: Prisma.SortOrderInput | Prisma.SortOrder
|
||||
characterClass?: Prisma.SortOrderInput | Prisma.SortOrder
|
||||
createdAt?: Prisma.SortOrder
|
||||
updatedAt?: Prisma.SortOrder
|
||||
preferences?: Prisma.UserPreferencesOrderByWithRelationInput
|
||||
@@ -357,6 +366,7 @@ export type UserWhereUniqueInput = Prisma.AtLeast<{
|
||||
maxXp?: Prisma.IntFilter<"User"> | number
|
||||
avatar?: Prisma.StringNullableFilter<"User"> | string | null
|
||||
bio?: Prisma.StringNullableFilter<"User"> | string | null
|
||||
characterClass?: Prisma.EnumCharacterClassNullableFilter<"User"> | $Enums.CharacterClass | null
|
||||
createdAt?: Prisma.DateTimeFilter<"User"> | Date | string
|
||||
updatedAt?: Prisma.DateTimeFilter<"User"> | Date | string
|
||||
preferences?: Prisma.XOR<Prisma.UserPreferencesNullableScalarRelationFilter, Prisma.UserPreferencesWhereInput> | null
|
||||
@@ -377,6 +387,7 @@ export type UserOrderByWithAggregationInput = {
|
||||
maxXp?: Prisma.SortOrder
|
||||
avatar?: Prisma.SortOrderInput | Prisma.SortOrder
|
||||
bio?: Prisma.SortOrderInput | Prisma.SortOrder
|
||||
characterClass?: Prisma.SortOrderInput | Prisma.SortOrder
|
||||
createdAt?: Prisma.SortOrder
|
||||
updatedAt?: Prisma.SortOrder
|
||||
_count?: Prisma.UserCountOrderByAggregateInput
|
||||
@@ -403,6 +414,7 @@ export type UserScalarWhereWithAggregatesInput = {
|
||||
maxXp?: Prisma.IntWithAggregatesFilter<"User"> | number
|
||||
avatar?: Prisma.StringNullableWithAggregatesFilter<"User"> | string | null
|
||||
bio?: Prisma.StringNullableWithAggregatesFilter<"User"> | string | null
|
||||
characterClass?: Prisma.EnumCharacterClassNullableWithAggregatesFilter<"User"> | $Enums.CharacterClass | null
|
||||
createdAt?: Prisma.DateTimeWithAggregatesFilter<"User"> | Date | string
|
||||
updatedAt?: Prisma.DateTimeWithAggregatesFilter<"User"> | Date | string
|
||||
}
|
||||
@@ -421,6 +433,7 @@ export type UserCreateInput = {
|
||||
maxXp?: number
|
||||
avatar?: string | null
|
||||
bio?: string | null
|
||||
characterClass?: $Enums.CharacterClass | null
|
||||
createdAt?: Date | string
|
||||
updatedAt?: Date | string
|
||||
preferences?: Prisma.UserPreferencesCreateNestedOneWithoutUserInput
|
||||
@@ -441,6 +454,7 @@ export type UserUncheckedCreateInput = {
|
||||
maxXp?: number
|
||||
avatar?: string | null
|
||||
bio?: string | null
|
||||
characterClass?: $Enums.CharacterClass | null
|
||||
createdAt?: Date | string
|
||||
updatedAt?: Date | string
|
||||
preferences?: Prisma.UserPreferencesUncheckedCreateNestedOneWithoutUserInput
|
||||
@@ -461,6 +475,7 @@ export type UserUpdateInput = {
|
||||
maxXp?: Prisma.IntFieldUpdateOperationsInput | number
|
||||
avatar?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||
bio?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||
characterClass?: Prisma.NullableEnumCharacterClassFieldUpdateOperationsInput | $Enums.CharacterClass | null
|
||||
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||
preferences?: Prisma.UserPreferencesUpdateOneWithoutUserNestedInput
|
||||
@@ -481,6 +496,7 @@ export type UserUncheckedUpdateInput = {
|
||||
maxXp?: Prisma.IntFieldUpdateOperationsInput | number
|
||||
avatar?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||
bio?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||
characterClass?: Prisma.NullableEnumCharacterClassFieldUpdateOperationsInput | $Enums.CharacterClass | null
|
||||
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||
preferences?: Prisma.UserPreferencesUncheckedUpdateOneWithoutUserNestedInput
|
||||
@@ -501,6 +517,7 @@ export type UserCreateManyInput = {
|
||||
maxXp?: number
|
||||
avatar?: string | null
|
||||
bio?: string | null
|
||||
characterClass?: $Enums.CharacterClass | null
|
||||
createdAt?: Date | string
|
||||
updatedAt?: Date | string
|
||||
}
|
||||
@@ -519,6 +536,7 @@ export type UserUpdateManyMutationInput = {
|
||||
maxXp?: Prisma.IntFieldUpdateOperationsInput | number
|
||||
avatar?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||
bio?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||
characterClass?: Prisma.NullableEnumCharacterClassFieldUpdateOperationsInput | $Enums.CharacterClass | null
|
||||
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||
}
|
||||
@@ -537,6 +555,7 @@ export type UserUncheckedUpdateManyInput = {
|
||||
maxXp?: Prisma.IntFieldUpdateOperationsInput | number
|
||||
avatar?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||
bio?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||
characterClass?: Prisma.NullableEnumCharacterClassFieldUpdateOperationsInput | $Enums.CharacterClass | null
|
||||
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||
}
|
||||
@@ -555,6 +574,7 @@ export type UserCountOrderByAggregateInput = {
|
||||
maxXp?: Prisma.SortOrder
|
||||
avatar?: Prisma.SortOrder
|
||||
bio?: Prisma.SortOrder
|
||||
characterClass?: Prisma.SortOrder
|
||||
createdAt?: Prisma.SortOrder
|
||||
updatedAt?: Prisma.SortOrder
|
||||
}
|
||||
@@ -582,6 +602,7 @@ export type UserMaxOrderByAggregateInput = {
|
||||
maxXp?: Prisma.SortOrder
|
||||
avatar?: Prisma.SortOrder
|
||||
bio?: Prisma.SortOrder
|
||||
characterClass?: Prisma.SortOrder
|
||||
createdAt?: Prisma.SortOrder
|
||||
updatedAt?: Prisma.SortOrder
|
||||
}
|
||||
@@ -600,6 +621,7 @@ export type UserMinOrderByAggregateInput = {
|
||||
maxXp?: Prisma.SortOrder
|
||||
avatar?: Prisma.SortOrder
|
||||
bio?: Prisma.SortOrder
|
||||
characterClass?: Prisma.SortOrder
|
||||
createdAt?: Prisma.SortOrder
|
||||
updatedAt?: Prisma.SortOrder
|
||||
}
|
||||
@@ -638,6 +660,10 @@ export type NullableStringFieldUpdateOperationsInput = {
|
||||
set?: string | null
|
||||
}
|
||||
|
||||
export type NullableEnumCharacterClassFieldUpdateOperationsInput = {
|
||||
set?: $Enums.CharacterClass | null
|
||||
}
|
||||
|
||||
export type DateTimeFieldUpdateOperationsInput = {
|
||||
set?: Date | string
|
||||
}
|
||||
@@ -684,6 +710,7 @@ export type UserCreateWithoutPreferencesInput = {
|
||||
maxXp?: number
|
||||
avatar?: string | null
|
||||
bio?: string | null
|
||||
characterClass?: $Enums.CharacterClass | null
|
||||
createdAt?: Date | string
|
||||
updatedAt?: Date | string
|
||||
eventRegistrations?: Prisma.EventRegistrationCreateNestedManyWithoutUserInput
|
||||
@@ -703,6 +730,7 @@ export type UserUncheckedCreateWithoutPreferencesInput = {
|
||||
maxXp?: number
|
||||
avatar?: string | null
|
||||
bio?: string | null
|
||||
characterClass?: $Enums.CharacterClass | null
|
||||
createdAt?: Date | string
|
||||
updatedAt?: Date | string
|
||||
eventRegistrations?: Prisma.EventRegistrationUncheckedCreateNestedManyWithoutUserInput
|
||||
@@ -738,6 +766,7 @@ export type UserUpdateWithoutPreferencesInput = {
|
||||
maxXp?: Prisma.IntFieldUpdateOperationsInput | number
|
||||
avatar?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||
bio?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||
characterClass?: Prisma.NullableEnumCharacterClassFieldUpdateOperationsInput | $Enums.CharacterClass | null
|
||||
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||
eventRegistrations?: Prisma.EventRegistrationUpdateManyWithoutUserNestedInput
|
||||
@@ -757,6 +786,7 @@ export type UserUncheckedUpdateWithoutPreferencesInput = {
|
||||
maxXp?: Prisma.IntFieldUpdateOperationsInput | number
|
||||
avatar?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||
bio?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||
characterClass?: Prisma.NullableEnumCharacterClassFieldUpdateOperationsInput | $Enums.CharacterClass | null
|
||||
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||
eventRegistrations?: Prisma.EventRegistrationUncheckedUpdateManyWithoutUserNestedInput
|
||||
@@ -776,6 +806,7 @@ export type UserCreateWithoutEventRegistrationsInput = {
|
||||
maxXp?: number
|
||||
avatar?: string | null
|
||||
bio?: string | null
|
||||
characterClass?: $Enums.CharacterClass | null
|
||||
createdAt?: Date | string
|
||||
updatedAt?: Date | string
|
||||
preferences?: Prisma.UserPreferencesCreateNestedOneWithoutUserInput
|
||||
@@ -795,6 +826,7 @@ export type UserUncheckedCreateWithoutEventRegistrationsInput = {
|
||||
maxXp?: number
|
||||
avatar?: string | null
|
||||
bio?: string | null
|
||||
characterClass?: $Enums.CharacterClass | null
|
||||
createdAt?: Date | string
|
||||
updatedAt?: Date | string
|
||||
preferences?: Prisma.UserPreferencesUncheckedCreateNestedOneWithoutUserInput
|
||||
@@ -830,6 +862,7 @@ export type UserUpdateWithoutEventRegistrationsInput = {
|
||||
maxXp?: Prisma.IntFieldUpdateOperationsInput | number
|
||||
avatar?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||
bio?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||
characterClass?: Prisma.NullableEnumCharacterClassFieldUpdateOperationsInput | $Enums.CharacterClass | null
|
||||
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||
preferences?: Prisma.UserPreferencesUpdateOneWithoutUserNestedInput
|
||||
@@ -849,6 +882,7 @@ export type UserUncheckedUpdateWithoutEventRegistrationsInput = {
|
||||
maxXp?: Prisma.IntFieldUpdateOperationsInput | number
|
||||
avatar?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||
bio?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||
characterClass?: Prisma.NullableEnumCharacterClassFieldUpdateOperationsInput | $Enums.CharacterClass | null
|
||||
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||
preferences?: Prisma.UserPreferencesUncheckedUpdateOneWithoutUserNestedInput
|
||||
@@ -899,6 +933,7 @@ export type UserSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = r
|
||||
maxXp?: boolean
|
||||
avatar?: boolean
|
||||
bio?: boolean
|
||||
characterClass?: boolean
|
||||
createdAt?: boolean
|
||||
updatedAt?: boolean
|
||||
preferences?: boolean | Prisma.User$preferencesArgs<ExtArgs>
|
||||
@@ -920,6 +955,7 @@ export type UserSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensio
|
||||
maxXp?: boolean
|
||||
avatar?: boolean
|
||||
bio?: boolean
|
||||
characterClass?: boolean
|
||||
createdAt?: boolean
|
||||
updatedAt?: boolean
|
||||
}, ExtArgs["result"]["user"]>
|
||||
@@ -938,6 +974,7 @@ export type UserSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensio
|
||||
maxXp?: boolean
|
||||
avatar?: boolean
|
||||
bio?: boolean
|
||||
characterClass?: boolean
|
||||
createdAt?: boolean
|
||||
updatedAt?: boolean
|
||||
}, ExtArgs["result"]["user"]>
|
||||
@@ -956,11 +993,12 @@ export type UserSelectScalar = {
|
||||
maxXp?: boolean
|
||||
avatar?: boolean
|
||||
bio?: boolean
|
||||
characterClass?: boolean
|
||||
createdAt?: boolean
|
||||
updatedAt?: boolean
|
||||
}
|
||||
|
||||
export type UserOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "email" | "password" | "username" | "role" | "score" | "level" | "hp" | "maxHp" | "xp" | "maxXp" | "avatar" | "bio" | "createdAt" | "updatedAt", ExtArgs["result"]["user"]>
|
||||
export type UserOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "email" | "password" | "username" | "role" | "score" | "level" | "hp" | "maxHp" | "xp" | "maxXp" | "avatar" | "bio" | "characterClass" | "createdAt" | "updatedAt", ExtArgs["result"]["user"]>
|
||||
export type UserInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||
preferences?: boolean | Prisma.User$preferencesArgs<ExtArgs>
|
||||
eventRegistrations?: boolean | Prisma.User$eventRegistrationsArgs<ExtArgs>
|
||||
@@ -989,6 +1027,7 @@ export type $UserPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs =
|
||||
maxXp: number
|
||||
avatar: string | null
|
||||
bio: string | null
|
||||
characterClass: $Enums.CharacterClass | null
|
||||
createdAt: Date
|
||||
updatedAt: Date
|
||||
}, ExtArgs["result"]["user"]>
|
||||
@@ -1429,6 +1468,7 @@ export interface UserFieldRefs {
|
||||
readonly maxXp: Prisma.FieldRef<"User", 'Int'>
|
||||
readonly avatar: Prisma.FieldRef<"User", 'String'>
|
||||
readonly bio: Prisma.FieldRef<"User", 'String'>
|
||||
readonly characterClass: Prisma.FieldRef<"User", 'CharacterClass'>
|
||||
readonly createdAt: Prisma.FieldRef<"User", 'DateTime'>
|
||||
readonly updatedAt: Prisma.FieldRef<"User", 'DateTime'>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user