add payment, trust badge, handle race condition, fix booking schema

This commit is contained in:
arifal
2026-04-20 23:57:31 +07:00
parent ba5f64ae0e
commit fcdca34460
33 changed files with 1781 additions and 138 deletions
+48 -1
View File
@@ -30,6 +30,7 @@ export type UserMinAggregateOutputType = {
email: string | null
password: string | null
image: string | null
isVerified: boolean | null
createdAt: Date | null
updatedAt: Date | null
}
@@ -40,6 +41,7 @@ export type UserMaxAggregateOutputType = {
email: string | null
password: string | null
image: string | null
isVerified: boolean | null
createdAt: Date | null
updatedAt: Date | null
}
@@ -50,6 +52,7 @@ export type UserCountAggregateOutputType = {
email: number
password: number
image: number
isVerified: number
createdAt: number
updatedAt: number
_all: number
@@ -62,6 +65,7 @@ export type UserMinAggregateInputType = {
email?: true
password?: true
image?: true
isVerified?: true
createdAt?: true
updatedAt?: true
}
@@ -72,6 +76,7 @@ export type UserMaxAggregateInputType = {
email?: true
password?: true
image?: true
isVerified?: true
createdAt?: true
updatedAt?: true
}
@@ -82,6 +87,7 @@ export type UserCountAggregateInputType = {
email?: true
password?: true
image?: true
isVerified?: true
createdAt?: true
updatedAt?: true
_all?: true
@@ -165,6 +171,7 @@ export type UserGroupByOutputType = {
email: string
password: string
image: string | null
isVerified: boolean
createdAt: Date
updatedAt: Date
_count: UserCountAggregateOutputType | null
@@ -196,6 +203,7 @@ export type UserWhereInput = {
email?: Prisma.StringFilter<"User"> | string
password?: Prisma.StringFilter<"User"> | string
image?: Prisma.StringNullableFilter<"User"> | string | null
isVerified?: Prisma.BoolFilter<"User"> | boolean
createdAt?: Prisma.DateTimeFilter<"User"> | Date | string
updatedAt?: Prisma.DateTimeFilter<"User"> | Date | string
trips?: Prisma.TripListRelationFilter
@@ -209,6 +217,7 @@ export type UserOrderByWithRelationInput = {
email?: Prisma.SortOrder
password?: Prisma.SortOrder
image?: Prisma.SortOrderInput | Prisma.SortOrder
isVerified?: Prisma.SortOrder
createdAt?: Prisma.SortOrder
updatedAt?: Prisma.SortOrder
trips?: Prisma.TripOrderByRelationAggregateInput
@@ -225,6 +234,7 @@ export type UserWhereUniqueInput = Prisma.AtLeast<{
name?: Prisma.StringFilter<"User"> | string
password?: Prisma.StringFilter<"User"> | string
image?: Prisma.StringNullableFilter<"User"> | string | null
isVerified?: Prisma.BoolFilter<"User"> | boolean
createdAt?: Prisma.DateTimeFilter<"User"> | Date | string
updatedAt?: Prisma.DateTimeFilter<"User"> | Date | string
trips?: Prisma.TripListRelationFilter
@@ -238,6 +248,7 @@ export type UserOrderByWithAggregationInput = {
email?: Prisma.SortOrder
password?: Prisma.SortOrder
image?: Prisma.SortOrderInput | Prisma.SortOrder
isVerified?: Prisma.SortOrder
createdAt?: Prisma.SortOrder
updatedAt?: Prisma.SortOrder
_count?: Prisma.UserCountOrderByAggregateInput
@@ -254,6 +265,7 @@ export type UserScalarWhereWithAggregatesInput = {
email?: Prisma.StringWithAggregatesFilter<"User"> | string
password?: Prisma.StringWithAggregatesFilter<"User"> | string
image?: Prisma.StringNullableWithAggregatesFilter<"User"> | string | null
isVerified?: Prisma.BoolWithAggregatesFilter<"User"> | boolean
createdAt?: Prisma.DateTimeWithAggregatesFilter<"User"> | Date | string
updatedAt?: Prisma.DateTimeWithAggregatesFilter<"User"> | Date | string
}
@@ -264,6 +276,7 @@ export type UserCreateInput = {
email: string
password: string
image?: string | null
isVerified?: boolean
createdAt?: Date | string
updatedAt?: Date | string
trips?: Prisma.TripCreateNestedManyWithoutOrganizerInput
@@ -277,6 +290,7 @@ export type UserUncheckedCreateInput = {
email: string
password: string
image?: string | null
isVerified?: boolean
createdAt?: Date | string
updatedAt?: Date | string
trips?: Prisma.TripUncheckedCreateNestedManyWithoutOrganizerInput
@@ -290,6 +304,7 @@ export type UserUpdateInput = {
email?: Prisma.StringFieldUpdateOperationsInput | string
password?: Prisma.StringFieldUpdateOperationsInput | string
image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
isVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
trips?: Prisma.TripUpdateManyWithoutOrganizerNestedInput
@@ -303,6 +318,7 @@ export type UserUncheckedUpdateInput = {
email?: Prisma.StringFieldUpdateOperationsInput | string
password?: Prisma.StringFieldUpdateOperationsInput | string
image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
isVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
trips?: Prisma.TripUncheckedUpdateManyWithoutOrganizerNestedInput
@@ -316,6 +332,7 @@ export type UserCreateManyInput = {
email: string
password: string
image?: string | null
isVerified?: boolean
createdAt?: Date | string
updatedAt?: Date | string
}
@@ -326,6 +343,7 @@ export type UserUpdateManyMutationInput = {
email?: Prisma.StringFieldUpdateOperationsInput | string
password?: Prisma.StringFieldUpdateOperationsInput | string
image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
isVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}
@@ -336,6 +354,7 @@ export type UserUncheckedUpdateManyInput = {
email?: Prisma.StringFieldUpdateOperationsInput | string
password?: Prisma.StringFieldUpdateOperationsInput | string
image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
isVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
}
@@ -346,6 +365,7 @@ export type UserCountOrderByAggregateInput = {
email?: Prisma.SortOrder
password?: Prisma.SortOrder
image?: Prisma.SortOrder
isVerified?: Prisma.SortOrder
createdAt?: Prisma.SortOrder
updatedAt?: Prisma.SortOrder
}
@@ -356,6 +376,7 @@ export type UserMaxOrderByAggregateInput = {
email?: Prisma.SortOrder
password?: Prisma.SortOrder
image?: Prisma.SortOrder
isVerified?: Prisma.SortOrder
createdAt?: Prisma.SortOrder
updatedAt?: Prisma.SortOrder
}
@@ -366,6 +387,7 @@ export type UserMinOrderByAggregateInput = {
email?: Prisma.SortOrder
password?: Prisma.SortOrder
image?: Prisma.SortOrder
isVerified?: Prisma.SortOrder
createdAt?: Prisma.SortOrder
updatedAt?: Prisma.SortOrder
}
@@ -383,6 +405,10 @@ export type NullableStringFieldUpdateOperationsInput = {
set?: string | null
}
export type BoolFieldUpdateOperationsInput = {
set?: boolean
}
export type DateTimeFieldUpdateOperationsInput = {
set?: Date | string
}
@@ -435,6 +461,7 @@ export type UserCreateWithoutTripsInput = {
email: string
password: string
image?: string | null
isVerified?: boolean
createdAt?: Date | string
updatedAt?: Date | string
participations?: Prisma.TripParticipantCreateNestedManyWithoutUserInput
@@ -447,6 +474,7 @@ export type UserUncheckedCreateWithoutTripsInput = {
email: string
password: string
image?: string | null
isVerified?: boolean
createdAt?: Date | string
updatedAt?: Date | string
participations?: Prisma.TripParticipantUncheckedCreateNestedManyWithoutUserInput
@@ -475,6 +503,7 @@ export type UserUpdateWithoutTripsInput = {
email?: Prisma.StringFieldUpdateOperationsInput | string
password?: Prisma.StringFieldUpdateOperationsInput | string
image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
isVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
participations?: Prisma.TripParticipantUpdateManyWithoutUserNestedInput
@@ -487,6 +516,7 @@ export type UserUncheckedUpdateWithoutTripsInput = {
email?: Prisma.StringFieldUpdateOperationsInput | string
password?: Prisma.StringFieldUpdateOperationsInput | string
image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
isVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
participations?: Prisma.TripParticipantUncheckedUpdateManyWithoutUserNestedInput
@@ -499,6 +529,7 @@ export type UserCreateWithoutTripReviewsInput = {
email: string
password: string
image?: string | null
isVerified?: boolean
createdAt?: Date | string
updatedAt?: Date | string
trips?: Prisma.TripCreateNestedManyWithoutOrganizerInput
@@ -511,6 +542,7 @@ export type UserUncheckedCreateWithoutTripReviewsInput = {
email: string
password: string
image?: string | null
isVerified?: boolean
createdAt?: Date | string
updatedAt?: Date | string
trips?: Prisma.TripUncheckedCreateNestedManyWithoutOrganizerInput
@@ -539,6 +571,7 @@ export type UserUpdateWithoutTripReviewsInput = {
email?: Prisma.StringFieldUpdateOperationsInput | string
password?: Prisma.StringFieldUpdateOperationsInput | string
image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
isVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
trips?: Prisma.TripUpdateManyWithoutOrganizerNestedInput
@@ -551,6 +584,7 @@ export type UserUncheckedUpdateWithoutTripReviewsInput = {
email?: Prisma.StringFieldUpdateOperationsInput | string
password?: Prisma.StringFieldUpdateOperationsInput | string
image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
isVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
trips?: Prisma.TripUncheckedUpdateManyWithoutOrganizerNestedInput
@@ -563,6 +597,7 @@ export type UserCreateWithoutParticipationsInput = {
email: string
password: string
image?: string | null
isVerified?: boolean
createdAt?: Date | string
updatedAt?: Date | string
trips?: Prisma.TripCreateNestedManyWithoutOrganizerInput
@@ -575,6 +610,7 @@ export type UserUncheckedCreateWithoutParticipationsInput = {
email: string
password: string
image?: string | null
isVerified?: boolean
createdAt?: Date | string
updatedAt?: Date | string
trips?: Prisma.TripUncheckedCreateNestedManyWithoutOrganizerInput
@@ -603,6 +639,7 @@ export type UserUpdateWithoutParticipationsInput = {
email?: Prisma.StringFieldUpdateOperationsInput | string
password?: Prisma.StringFieldUpdateOperationsInput | string
image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
isVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
trips?: Prisma.TripUpdateManyWithoutOrganizerNestedInput
@@ -615,6 +652,7 @@ export type UserUncheckedUpdateWithoutParticipationsInput = {
email?: Prisma.StringFieldUpdateOperationsInput | string
password?: Prisma.StringFieldUpdateOperationsInput | string
image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
isVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
trips?: Prisma.TripUncheckedUpdateManyWithoutOrganizerNestedInput
@@ -676,6 +714,7 @@ export type UserSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = r
email?: boolean
password?: boolean
image?: boolean
isVerified?: boolean
createdAt?: boolean
updatedAt?: boolean
trips?: boolean | Prisma.User$tripsArgs<ExtArgs>
@@ -690,6 +729,7 @@ export type UserSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensio
email?: boolean
password?: boolean
image?: boolean
isVerified?: boolean
createdAt?: boolean
updatedAt?: boolean
}, ExtArgs["result"]["user"]>
@@ -700,6 +740,7 @@ export type UserSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensio
email?: boolean
password?: boolean
image?: boolean
isVerified?: boolean
createdAt?: boolean
updatedAt?: boolean
}, ExtArgs["result"]["user"]>
@@ -710,11 +751,12 @@ export type UserSelectScalar = {
email?: boolean
password?: boolean
image?: boolean
isVerified?: boolean
createdAt?: boolean
updatedAt?: boolean
}
export type UserOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "name" | "email" | "password" | "image" | "createdAt" | "updatedAt", ExtArgs["result"]["user"]>
export type UserOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "name" | "email" | "password" | "image" | "isVerified" | "createdAt" | "updatedAt", ExtArgs["result"]["user"]>
export type UserInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
trips?: boolean | Prisma.User$tripsArgs<ExtArgs>
participations?: boolean | Prisma.User$participationsArgs<ExtArgs>
@@ -737,6 +779,10 @@ export type $UserPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs =
email: string
password: string
image: string | null
/**
* Akun diverifikasi tim SeTrip (manual / admin) — tampil sebagai badge kepercayaan
*/
isVerified: boolean
createdAt: Date
updatedAt: Date
}, ExtArgs["result"]["user"]>
@@ -1170,6 +1216,7 @@ export interface UserFieldRefs {
readonly email: Prisma.FieldRef<"User", 'String'>
readonly password: Prisma.FieldRef<"User", 'String'>
readonly image: Prisma.FieldRef<"User", 'String'>
readonly isVerified: Prisma.FieldRef<"User", 'Boolean'>
readonly createdAt: Prisma.FieldRef<"User", 'DateTime'>
readonly updatedAt: Prisma.FieldRef<"User", 'DateTime'>
}