diff --git a/generated-zod/index.ts b/generated-zod/index.ts index a49f7ca..03635d3 100644 --- a/generated-zod/index.ts +++ b/generated-zod/index.ts @@ -16,8 +16,6 @@ export const Medical_AccountsScalarFieldEnumSchema = z.enum(['id','blood_type',' export const DonatorsScalarFieldEnumSchema = z.enum(['id','medical_account_id','image_src','first_name','last_name','phone_number','gender','dob','address','email','password','reward_point','created_at','updated_at']); -export const Reward_TransactionsScalarFieldEnumSchema = z.enum(['id','donator_id','points','created_at','updated_at']); - export const Redemption_HistoryScalarFieldEnumSchema = z.enum(['id','status','used_points','redeem_amount','created_at','updated_at','donator_id','reward_id']); export const RewardsScalarFieldEnumSchema = z.enum(['id','name','description','required_points','image_src','is_available','amount_left','created_at','updated_at','deleted_at','place_id']); @@ -134,20 +132,6 @@ export const DonatorsSchema = z.object({ export type Donators = z.infer -///////////////////////////////////////// -// REWARD TRANSACTIONS SCHEMA -///////////////////////////////////////// - -export const Reward_TransactionsSchema = z.object({ - id: z.string().cuid(), - donator_id: z.string(), - points: z.number().int(), - created_at: z.coerce.date(), - updated_at: z.coerce.date(), -}) - -export type Reward_Transactions = z.infer - ///////////////////////////////////////// // REDEMPTION HISTORY SCHEMA ///////////////////////////////////////// @@ -481,7 +465,6 @@ export const DonatorsIncludeSchema: z.ZodType = z.object Medical_Account: z.union([z.boolean(),z.lazy(() => Medical_AccountsArgsSchema)]).optional(), Redemption_History: z.union([z.boolean(),z.lazy(() => Redemption_HistoryFindManyArgsSchema)]).optional(), Reservations: z.union([z.boolean(),z.lazy(() => ReservationsFindManyArgsSchema)]).optional(), - Reward_Transactions: z.union([z.boolean(),z.lazy(() => Reward_TransactionsFindManyArgsSchema)]).optional(), Session: z.union([z.boolean(),z.lazy(() => SessionFindManyArgsSchema)]).optional(), _count: z.union([z.boolean(),z.lazy(() => DonatorsCountOutputTypeArgsSchema)]).optional(), }).strict() @@ -498,7 +481,6 @@ export const DonatorsCountOutputTypeArgsSchema: z.ZodType = z.object({ Redemption_History: z.boolean().optional(), Reservations: z.boolean().optional(), - Reward_Transactions: z.boolean().optional(), Session: z.boolean().optional(), }).strict(); @@ -520,32 +502,10 @@ export const DonatorsSelectSchema: z.ZodType = z.object({ Medical_Account: z.union([z.boolean(),z.lazy(() => Medical_AccountsArgsSchema)]).optional(), Redemption_History: z.union([z.boolean(),z.lazy(() => Redemption_HistoryFindManyArgsSchema)]).optional(), Reservations: z.union([z.boolean(),z.lazy(() => ReservationsFindManyArgsSchema)]).optional(), - Reward_Transactions: z.union([z.boolean(),z.lazy(() => Reward_TransactionsFindManyArgsSchema)]).optional(), Session: z.union([z.boolean(),z.lazy(() => SessionFindManyArgsSchema)]).optional(), _count: z.union([z.boolean(),z.lazy(() => DonatorsCountOutputTypeArgsSchema)]).optional(), }).strict() -// REWARD TRANSACTIONS -//------------------------------------------------------ - -export const Reward_TransactionsIncludeSchema: z.ZodType = z.object({ - Donator: z.union([z.boolean(),z.lazy(() => DonatorsArgsSchema)]).optional(), -}).strict() - -export const Reward_TransactionsArgsSchema: z.ZodType = z.object({ - select: z.lazy(() => Reward_TransactionsSelectSchema).optional(), - include: z.lazy(() => Reward_TransactionsIncludeSchema).optional(), -}).strict(); - -export const Reward_TransactionsSelectSchema: z.ZodType = z.object({ - id: z.boolean().optional(), - donator_id: z.boolean().optional(), - points: z.boolean().optional(), - created_at: z.boolean().optional(), - updated_at: z.boolean().optional(), - Donator: z.union([z.boolean(),z.lazy(() => DonatorsArgsSchema)]).optional(), -}).strict() - // REDEMPTION HISTORY //------------------------------------------------------ @@ -1200,7 +1160,6 @@ export const DonatorsWhereInputSchema: z.ZodType = z. Medical_Account: z.union([ z.lazy(() => Medical_AccountsRelationFilterSchema),z.lazy(() => Medical_AccountsWhereInputSchema) ]).optional(), Redemption_History: z.lazy(() => Redemption_HistoryListRelationFilterSchema).optional(), Reservations: z.lazy(() => ReservationsListRelationFilterSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsListRelationFilterSchema).optional(), Session: z.lazy(() => SessionListRelationFilterSchema).optional() }).strict(); @@ -1222,7 +1181,6 @@ export const DonatorsOrderByWithRelationInputSchema: z.ZodType Medical_AccountsOrderByWithRelationInputSchema).optional(), Redemption_History: z.lazy(() => Redemption_HistoryOrderByRelationAggregateInputSchema).optional(), Reservations: z.lazy(() => ReservationsOrderByRelationAggregateInputSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsOrderByRelationAggregateInputSchema).optional(), Session: z.lazy(() => SessionOrderByRelationAggregateInputSchema).optional() }).strict(); @@ -1275,7 +1233,6 @@ export const DonatorsWhereUniqueInputSchema: z.ZodType Medical_AccountsRelationFilterSchema),z.lazy(() => Medical_AccountsWhereInputSchema) ]).optional(), Redemption_History: z.lazy(() => Redemption_HistoryListRelationFilterSchema).optional(), Reservations: z.lazy(() => ReservationsListRelationFilterSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsListRelationFilterSchema).optional(), Session: z.lazy(() => SessionListRelationFilterSchema).optional() }).strict()); @@ -1321,66 +1278,6 @@ export const DonatorsScalarWhereWithAggregatesInputSchema: z.ZodType DateTimeWithAggregatesFilterSchema),z.coerce.date() ]).optional(), }).strict(); -export const Reward_TransactionsWhereInputSchema: z.ZodType = z.object({ - AND: z.union([ z.lazy(() => Reward_TransactionsWhereInputSchema),z.lazy(() => Reward_TransactionsWhereInputSchema).array() ]).optional(), - OR: z.lazy(() => Reward_TransactionsWhereInputSchema).array().optional(), - NOT: z.union([ z.lazy(() => Reward_TransactionsWhereInputSchema),z.lazy(() => Reward_TransactionsWhereInputSchema).array() ]).optional(), - id: z.union([ z.lazy(() => StringFilterSchema),z.string() ]).optional(), - donator_id: z.union([ z.lazy(() => StringFilterSchema),z.string() ]).optional(), - points: z.union([ z.lazy(() => IntFilterSchema),z.number() ]).optional(), - created_at: z.union([ z.lazy(() => DateTimeFilterSchema),z.coerce.date() ]).optional(), - updated_at: z.union([ z.lazy(() => DateTimeFilterSchema),z.coerce.date() ]).optional(), - Donator: z.union([ z.lazy(() => DonatorsRelationFilterSchema),z.lazy(() => DonatorsWhereInputSchema) ]).optional(), -}).strict(); - -export const Reward_TransactionsOrderByWithRelationInputSchema: z.ZodType = z.object({ - id: z.lazy(() => SortOrderSchema).optional(), - donator_id: z.lazy(() => SortOrderSchema).optional(), - points: z.lazy(() => SortOrderSchema).optional(), - created_at: z.lazy(() => SortOrderSchema).optional(), - updated_at: z.lazy(() => SortOrderSchema).optional(), - Donator: z.lazy(() => DonatorsOrderByWithRelationInputSchema).optional() -}).strict(); - -export const Reward_TransactionsWhereUniqueInputSchema: z.ZodType = z.object({ - id: z.string().cuid() -}) -.and(z.object({ - id: z.string().cuid().optional(), - AND: z.union([ z.lazy(() => Reward_TransactionsWhereInputSchema),z.lazy(() => Reward_TransactionsWhereInputSchema).array() ]).optional(), - OR: z.lazy(() => Reward_TransactionsWhereInputSchema).array().optional(), - NOT: z.union([ z.lazy(() => Reward_TransactionsWhereInputSchema),z.lazy(() => Reward_TransactionsWhereInputSchema).array() ]).optional(), - donator_id: z.union([ z.lazy(() => StringFilterSchema),z.string() ]).optional(), - points: z.union([ z.lazy(() => IntFilterSchema),z.number().int() ]).optional(), - created_at: z.union([ z.lazy(() => DateTimeFilterSchema),z.coerce.date() ]).optional(), - updated_at: z.union([ z.lazy(() => DateTimeFilterSchema),z.coerce.date() ]).optional(), - Donator: z.union([ z.lazy(() => DonatorsRelationFilterSchema),z.lazy(() => DonatorsWhereInputSchema) ]).optional(), -}).strict()); - -export const Reward_TransactionsOrderByWithAggregationInputSchema: z.ZodType = z.object({ - id: z.lazy(() => SortOrderSchema).optional(), - donator_id: z.lazy(() => SortOrderSchema).optional(), - points: z.lazy(() => SortOrderSchema).optional(), - created_at: z.lazy(() => SortOrderSchema).optional(), - updated_at: z.lazy(() => SortOrderSchema).optional(), - _count: z.lazy(() => Reward_TransactionsCountOrderByAggregateInputSchema).optional(), - _avg: z.lazy(() => Reward_TransactionsAvgOrderByAggregateInputSchema).optional(), - _max: z.lazy(() => Reward_TransactionsMaxOrderByAggregateInputSchema).optional(), - _min: z.lazy(() => Reward_TransactionsMinOrderByAggregateInputSchema).optional(), - _sum: z.lazy(() => Reward_TransactionsSumOrderByAggregateInputSchema).optional() -}).strict(); - -export const Reward_TransactionsScalarWhereWithAggregatesInputSchema: z.ZodType = z.object({ - AND: z.union([ z.lazy(() => Reward_TransactionsScalarWhereWithAggregatesInputSchema),z.lazy(() => Reward_TransactionsScalarWhereWithAggregatesInputSchema).array() ]).optional(), - OR: z.lazy(() => Reward_TransactionsScalarWhereWithAggregatesInputSchema).array().optional(), - NOT: z.union([ z.lazy(() => Reward_TransactionsScalarWhereWithAggregatesInputSchema),z.lazy(() => Reward_TransactionsScalarWhereWithAggregatesInputSchema).array() ]).optional(), - id: z.union([ z.lazy(() => StringWithAggregatesFilterSchema),z.string() ]).optional(), - donator_id: z.union([ z.lazy(() => StringWithAggregatesFilterSchema),z.string() ]).optional(), - points: z.union([ z.lazy(() => IntWithAggregatesFilterSchema),z.number() ]).optional(), - created_at: z.union([ z.lazy(() => DateTimeWithAggregatesFilterSchema),z.coerce.date() ]).optional(), - updated_at: z.union([ z.lazy(() => DateTimeWithAggregatesFilterSchema),z.coerce.date() ]).optional(), -}).strict(); - export const Redemption_HistoryWhereInputSchema: z.ZodType = z.object({ AND: z.union([ z.lazy(() => Redemption_HistoryWhereInputSchema),z.lazy(() => Redemption_HistoryWhereInputSchema).array() ]).optional(), OR: z.lazy(() => Redemption_HistoryWhereInputSchema).array().optional(), @@ -2831,7 +2728,6 @@ export const DonatorsCreateInputSchema: z.ZodType = Medical_Account: z.lazy(() => Medical_AccountsCreateNestedOneWithoutDonatorsInputSchema), Redemption_History: z.lazy(() => Redemption_HistoryCreateNestedManyWithoutDonatorInputSchema).optional(), Reservations: z.lazy(() => ReservationsCreateNestedManyWithoutDonatorInputSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsCreateNestedManyWithoutDonatorInputSchema).optional(), Session: z.lazy(() => SessionCreateNestedManyWithoutDonatorInputSchema).optional() }).strict(); @@ -2852,7 +2748,6 @@ export const DonatorsUncheckedCreateInputSchema: z.ZodType Redemption_HistoryUncheckedCreateNestedManyWithoutDonatorInputSchema).optional(), Reservations: z.lazy(() => ReservationsUncheckedCreateNestedManyWithoutDonatorInputSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsUncheckedCreateNestedManyWithoutDonatorInputSchema).optional(), Session: z.lazy(() => SessionUncheckedCreateNestedManyWithoutDonatorInputSchema).optional() }).strict(); @@ -2873,7 +2768,6 @@ export const DonatorsUpdateInputSchema: z.ZodType = Medical_Account: z.lazy(() => Medical_AccountsUpdateOneRequiredWithoutDonatorsNestedInputSchema).optional(), Redemption_History: z.lazy(() => Redemption_HistoryUpdateManyWithoutDonatorNestedInputSchema).optional(), Reservations: z.lazy(() => ReservationsUpdateManyWithoutDonatorNestedInputSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsUpdateManyWithoutDonatorNestedInputSchema).optional(), Session: z.lazy(() => SessionUpdateManyWithoutDonatorNestedInputSchema).optional() }).strict(); @@ -2894,7 +2788,6 @@ export const DonatorsUncheckedUpdateInputSchema: z.ZodType DateTimeFieldUpdateOperationsInputSchema) ]).optional(), Redemption_History: z.lazy(() => Redemption_HistoryUncheckedUpdateManyWithoutDonatorNestedInputSchema).optional(), Reservations: z.lazy(() => ReservationsUncheckedUpdateManyWithoutDonatorNestedInputSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsUncheckedUpdateManyWithoutDonatorNestedInputSchema).optional(), Session: z.lazy(() => SessionUncheckedUpdateManyWithoutDonatorNestedInputSchema).optional() }).strict(); @@ -2948,61 +2841,6 @@ export const DonatorsUncheckedUpdateManyInputSchema: z.ZodType DateTimeFieldUpdateOperationsInputSchema) ]).optional(), }).strict(); -export const Reward_TransactionsCreateInputSchema: z.ZodType = z.object({ - id: z.string().cuid().optional(), - points: z.number().int(), - created_at: z.coerce.date().optional(), - updated_at: z.coerce.date().optional(), - Donator: z.lazy(() => DonatorsCreateNestedOneWithoutReward_TransactionsInputSchema) -}).strict(); - -export const Reward_TransactionsUncheckedCreateInputSchema: z.ZodType = z.object({ - id: z.string().cuid().optional(), - donator_id: z.string(), - points: z.number().int(), - created_at: z.coerce.date().optional(), - updated_at: z.coerce.date().optional() -}).strict(); - -export const Reward_TransactionsUpdateInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - points: z.union([ z.number().int(),z.lazy(() => IntFieldUpdateOperationsInputSchema) ]).optional(), - created_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updated_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - Donator: z.lazy(() => DonatorsUpdateOneRequiredWithoutReward_TransactionsNestedInputSchema).optional() -}).strict(); - -export const Reward_TransactionsUncheckedUpdateInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - donator_id: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - points: z.union([ z.number().int(),z.lazy(() => IntFieldUpdateOperationsInputSchema) ]).optional(), - created_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updated_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), -}).strict(); - -export const Reward_TransactionsCreateManyInputSchema: z.ZodType = z.object({ - id: z.string().cuid().optional(), - donator_id: z.string(), - points: z.number().int(), - created_at: z.coerce.date().optional(), - updated_at: z.coerce.date().optional() -}).strict(); - -export const Reward_TransactionsUpdateManyMutationInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - points: z.union([ z.number().int(),z.lazy(() => IntFieldUpdateOperationsInputSchema) ]).optional(), - created_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updated_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), -}).strict(); - -export const Reward_TransactionsUncheckedUpdateManyInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - donator_id: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - points: z.union([ z.number().int(),z.lazy(() => IntFieldUpdateOperationsInputSchema) ]).optional(), - created_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updated_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), -}).strict(); - export const Redemption_HistoryCreateInputSchema: z.ZodType = z.object({ id: z.string().cuid().optional(), status: z.lazy(() => RedemptionStatusSchema), @@ -4526,12 +4364,6 @@ export const ReservationsListRelationFilterSchema: z.ZodType ReservationsWhereInputSchema).optional() }).strict(); -export const Reward_TransactionsListRelationFilterSchema: z.ZodType = z.object({ - every: z.lazy(() => Reward_TransactionsWhereInputSchema).optional(), - some: z.lazy(() => Reward_TransactionsWhereInputSchema).optional(), - none: z.lazy(() => Reward_TransactionsWhereInputSchema).optional() -}).strict(); - export const SessionListRelationFilterSchema: z.ZodType = z.object({ every: z.lazy(() => SessionWhereInputSchema).optional(), some: z.lazy(() => SessionWhereInputSchema).optional(), @@ -4551,10 +4383,6 @@ export const ReservationsOrderByRelationAggregateInputSchema: z.ZodType SortOrderSchema).optional() }).strict(); -export const Reward_TransactionsOrderByRelationAggregateInputSchema: z.ZodType = z.object({ - _count: z.lazy(() => SortOrderSchema).optional() -}).strict(); - export const SessionOrderByRelationAggregateInputSchema: z.ZodType = z.object({ _count: z.lazy(() => SortOrderSchema).optional() }).strict(); @@ -4662,43 +4490,6 @@ export const IntWithAggregatesFilterSchema: z.ZodType NestedIntFilterSchema).optional() }).strict(); -export const DonatorsRelationFilterSchema: z.ZodType = z.object({ - is: z.lazy(() => DonatorsWhereInputSchema).optional(), - isNot: z.lazy(() => DonatorsWhereInputSchema).optional() -}).strict(); - -export const Reward_TransactionsCountOrderByAggregateInputSchema: z.ZodType = z.object({ - id: z.lazy(() => SortOrderSchema).optional(), - donator_id: z.lazy(() => SortOrderSchema).optional(), - points: z.lazy(() => SortOrderSchema).optional(), - created_at: z.lazy(() => SortOrderSchema).optional(), - updated_at: z.lazy(() => SortOrderSchema).optional() -}).strict(); - -export const Reward_TransactionsAvgOrderByAggregateInputSchema: z.ZodType = z.object({ - points: z.lazy(() => SortOrderSchema).optional() -}).strict(); - -export const Reward_TransactionsMaxOrderByAggregateInputSchema: z.ZodType = z.object({ - id: z.lazy(() => SortOrderSchema).optional(), - donator_id: z.lazy(() => SortOrderSchema).optional(), - points: z.lazy(() => SortOrderSchema).optional(), - created_at: z.lazy(() => SortOrderSchema).optional(), - updated_at: z.lazy(() => SortOrderSchema).optional() -}).strict(); - -export const Reward_TransactionsMinOrderByAggregateInputSchema: z.ZodType = z.object({ - id: z.lazy(() => SortOrderSchema).optional(), - donator_id: z.lazy(() => SortOrderSchema).optional(), - points: z.lazy(() => SortOrderSchema).optional(), - created_at: z.lazy(() => SortOrderSchema).optional(), - updated_at: z.lazy(() => SortOrderSchema).optional() -}).strict(); - -export const Reward_TransactionsSumOrderByAggregateInputSchema: z.ZodType = z.object({ - points: z.lazy(() => SortOrderSchema).optional() -}).strict(); - export const EnumRedemptionStatusFilterSchema: z.ZodType = z.object({ equals: z.lazy(() => RedemptionStatusSchema).optional(), in: z.lazy(() => RedemptionStatusSchema).array().optional(), @@ -4706,6 +4497,11 @@ export const EnumRedemptionStatusFilterSchema: z.ZodType RedemptionStatusSchema),z.lazy(() => NestedEnumRedemptionStatusFilterSchema) ]).optional(), }).strict(); +export const DonatorsRelationFilterSchema: z.ZodType = z.object({ + is: z.lazy(() => DonatorsWhereInputSchema).optional(), + isNot: z.lazy(() => DonatorsWhereInputSchema).optional() +}).strict(); + export const RewardsRelationFilterSchema: z.ZodType = z.object({ is: z.lazy(() => RewardsWhereInputSchema).optional(), isNot: z.lazy(() => RewardsWhereInputSchema).optional() @@ -5753,13 +5549,6 @@ export const ReservationsCreateNestedManyWithoutDonatorInputSchema: z.ZodType ReservationsWhereUniqueInputSchema),z.lazy(() => ReservationsWhereUniqueInputSchema).array() ]).optional(), }).strict(); -export const Reward_TransactionsCreateNestedManyWithoutDonatorInputSchema: z.ZodType = z.object({ - create: z.union([ z.lazy(() => Reward_TransactionsCreateWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsCreateWithoutDonatorInputSchema).array(),z.lazy(() => Reward_TransactionsUncheckedCreateWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsUncheckedCreateWithoutDonatorInputSchema).array() ]).optional(), - connectOrCreate: z.union([ z.lazy(() => Reward_TransactionsCreateOrConnectWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsCreateOrConnectWithoutDonatorInputSchema).array() ]).optional(), - createMany: z.lazy(() => Reward_TransactionsCreateManyDonatorInputEnvelopeSchema).optional(), - connect: z.union([ z.lazy(() => Reward_TransactionsWhereUniqueInputSchema),z.lazy(() => Reward_TransactionsWhereUniqueInputSchema).array() ]).optional(), -}).strict(); - export const SessionCreateNestedManyWithoutDonatorInputSchema: z.ZodType = z.object({ create: z.union([ z.lazy(() => SessionCreateWithoutDonatorInputSchema),z.lazy(() => SessionCreateWithoutDonatorInputSchema).array(),z.lazy(() => SessionUncheckedCreateWithoutDonatorInputSchema),z.lazy(() => SessionUncheckedCreateWithoutDonatorInputSchema).array() ]).optional(), connectOrCreate: z.union([ z.lazy(() => SessionCreateOrConnectWithoutDonatorInputSchema),z.lazy(() => SessionCreateOrConnectWithoutDonatorInputSchema).array() ]).optional(), @@ -5781,13 +5570,6 @@ export const ReservationsUncheckedCreateNestedManyWithoutDonatorInputSchema: z.Z connect: z.union([ z.lazy(() => ReservationsWhereUniqueInputSchema),z.lazy(() => ReservationsWhereUniqueInputSchema).array() ]).optional(), }).strict(); -export const Reward_TransactionsUncheckedCreateNestedManyWithoutDonatorInputSchema: z.ZodType = z.object({ - create: z.union([ z.lazy(() => Reward_TransactionsCreateWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsCreateWithoutDonatorInputSchema).array(),z.lazy(() => Reward_TransactionsUncheckedCreateWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsUncheckedCreateWithoutDonatorInputSchema).array() ]).optional(), - connectOrCreate: z.union([ z.lazy(() => Reward_TransactionsCreateOrConnectWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsCreateOrConnectWithoutDonatorInputSchema).array() ]).optional(), - createMany: z.lazy(() => Reward_TransactionsCreateManyDonatorInputEnvelopeSchema).optional(), - connect: z.union([ z.lazy(() => Reward_TransactionsWhereUniqueInputSchema),z.lazy(() => Reward_TransactionsWhereUniqueInputSchema).array() ]).optional(), -}).strict(); - export const SessionUncheckedCreateNestedManyWithoutDonatorInputSchema: z.ZodType = z.object({ create: z.union([ z.lazy(() => SessionCreateWithoutDonatorInputSchema),z.lazy(() => SessionCreateWithoutDonatorInputSchema).array(),z.lazy(() => SessionUncheckedCreateWithoutDonatorInputSchema),z.lazy(() => SessionUncheckedCreateWithoutDonatorInputSchema).array() ]).optional(), connectOrCreate: z.union([ z.lazy(() => SessionCreateOrConnectWithoutDonatorInputSchema),z.lazy(() => SessionCreateOrConnectWithoutDonatorInputSchema).array() ]).optional(), @@ -5847,20 +5629,6 @@ export const ReservationsUpdateManyWithoutDonatorNestedInputSchema: z.ZodType ReservationsScalarWhereInputSchema),z.lazy(() => ReservationsScalarWhereInputSchema).array() ]).optional(), }).strict(); -export const Reward_TransactionsUpdateManyWithoutDonatorNestedInputSchema: z.ZodType = z.object({ - create: z.union([ z.lazy(() => Reward_TransactionsCreateWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsCreateWithoutDonatorInputSchema).array(),z.lazy(() => Reward_TransactionsUncheckedCreateWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsUncheckedCreateWithoutDonatorInputSchema).array() ]).optional(), - connectOrCreate: z.union([ z.lazy(() => Reward_TransactionsCreateOrConnectWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsCreateOrConnectWithoutDonatorInputSchema).array() ]).optional(), - upsert: z.union([ z.lazy(() => Reward_TransactionsUpsertWithWhereUniqueWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsUpsertWithWhereUniqueWithoutDonatorInputSchema).array() ]).optional(), - createMany: z.lazy(() => Reward_TransactionsCreateManyDonatorInputEnvelopeSchema).optional(), - set: z.union([ z.lazy(() => Reward_TransactionsWhereUniqueInputSchema),z.lazy(() => Reward_TransactionsWhereUniqueInputSchema).array() ]).optional(), - disconnect: z.union([ z.lazy(() => Reward_TransactionsWhereUniqueInputSchema),z.lazy(() => Reward_TransactionsWhereUniqueInputSchema).array() ]).optional(), - delete: z.union([ z.lazy(() => Reward_TransactionsWhereUniqueInputSchema),z.lazy(() => Reward_TransactionsWhereUniqueInputSchema).array() ]).optional(), - connect: z.union([ z.lazy(() => Reward_TransactionsWhereUniqueInputSchema),z.lazy(() => Reward_TransactionsWhereUniqueInputSchema).array() ]).optional(), - update: z.union([ z.lazy(() => Reward_TransactionsUpdateWithWhereUniqueWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsUpdateWithWhereUniqueWithoutDonatorInputSchema).array() ]).optional(), - updateMany: z.union([ z.lazy(() => Reward_TransactionsUpdateManyWithWhereWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsUpdateManyWithWhereWithoutDonatorInputSchema).array() ]).optional(), - deleteMany: z.union([ z.lazy(() => Reward_TransactionsScalarWhereInputSchema),z.lazy(() => Reward_TransactionsScalarWhereInputSchema).array() ]).optional(), -}).strict(); - export const SessionUpdateManyWithoutDonatorNestedInputSchema: z.ZodType = z.object({ create: z.union([ z.lazy(() => SessionCreateWithoutDonatorInputSchema),z.lazy(() => SessionCreateWithoutDonatorInputSchema).array(),z.lazy(() => SessionUncheckedCreateWithoutDonatorInputSchema),z.lazy(() => SessionUncheckedCreateWithoutDonatorInputSchema).array() ]).optional(), connectOrCreate: z.union([ z.lazy(() => SessionCreateOrConnectWithoutDonatorInputSchema),z.lazy(() => SessionCreateOrConnectWithoutDonatorInputSchema).array() ]).optional(), @@ -5903,20 +5671,6 @@ export const ReservationsUncheckedUpdateManyWithoutDonatorNestedInputSchema: z.Z deleteMany: z.union([ z.lazy(() => ReservationsScalarWhereInputSchema),z.lazy(() => ReservationsScalarWhereInputSchema).array() ]).optional(), }).strict(); -export const Reward_TransactionsUncheckedUpdateManyWithoutDonatorNestedInputSchema: z.ZodType = z.object({ - create: z.union([ z.lazy(() => Reward_TransactionsCreateWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsCreateWithoutDonatorInputSchema).array(),z.lazy(() => Reward_TransactionsUncheckedCreateWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsUncheckedCreateWithoutDonatorInputSchema).array() ]).optional(), - connectOrCreate: z.union([ z.lazy(() => Reward_TransactionsCreateOrConnectWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsCreateOrConnectWithoutDonatorInputSchema).array() ]).optional(), - upsert: z.union([ z.lazy(() => Reward_TransactionsUpsertWithWhereUniqueWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsUpsertWithWhereUniqueWithoutDonatorInputSchema).array() ]).optional(), - createMany: z.lazy(() => Reward_TransactionsCreateManyDonatorInputEnvelopeSchema).optional(), - set: z.union([ z.lazy(() => Reward_TransactionsWhereUniqueInputSchema),z.lazy(() => Reward_TransactionsWhereUniqueInputSchema).array() ]).optional(), - disconnect: z.union([ z.lazy(() => Reward_TransactionsWhereUniqueInputSchema),z.lazy(() => Reward_TransactionsWhereUniqueInputSchema).array() ]).optional(), - delete: z.union([ z.lazy(() => Reward_TransactionsWhereUniqueInputSchema),z.lazy(() => Reward_TransactionsWhereUniqueInputSchema).array() ]).optional(), - connect: z.union([ z.lazy(() => Reward_TransactionsWhereUniqueInputSchema),z.lazy(() => Reward_TransactionsWhereUniqueInputSchema).array() ]).optional(), - update: z.union([ z.lazy(() => Reward_TransactionsUpdateWithWhereUniqueWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsUpdateWithWhereUniqueWithoutDonatorInputSchema).array() ]).optional(), - updateMany: z.union([ z.lazy(() => Reward_TransactionsUpdateManyWithWhereWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsUpdateManyWithWhereWithoutDonatorInputSchema).array() ]).optional(), - deleteMany: z.union([ z.lazy(() => Reward_TransactionsScalarWhereInputSchema),z.lazy(() => Reward_TransactionsScalarWhereInputSchema).array() ]).optional(), -}).strict(); - export const SessionUncheckedUpdateManyWithoutDonatorNestedInputSchema: z.ZodType = z.object({ create: z.union([ z.lazy(() => SessionCreateWithoutDonatorInputSchema),z.lazy(() => SessionCreateWithoutDonatorInputSchema).array(),z.lazy(() => SessionUncheckedCreateWithoutDonatorInputSchema),z.lazy(() => SessionUncheckedCreateWithoutDonatorInputSchema).array() ]).optional(), connectOrCreate: z.union([ z.lazy(() => SessionCreateOrConnectWithoutDonatorInputSchema),z.lazy(() => SessionCreateOrConnectWithoutDonatorInputSchema).array() ]).optional(), @@ -5931,20 +5685,6 @@ export const SessionUncheckedUpdateManyWithoutDonatorNestedInputSchema: z.ZodTyp deleteMany: z.union([ z.lazy(() => SessionScalarWhereInputSchema),z.lazy(() => SessionScalarWhereInputSchema).array() ]).optional(), }).strict(); -export const DonatorsCreateNestedOneWithoutReward_TransactionsInputSchema: z.ZodType = z.object({ - create: z.union([ z.lazy(() => DonatorsCreateWithoutReward_TransactionsInputSchema),z.lazy(() => DonatorsUncheckedCreateWithoutReward_TransactionsInputSchema) ]).optional(), - connectOrCreate: z.lazy(() => DonatorsCreateOrConnectWithoutReward_TransactionsInputSchema).optional(), - connect: z.lazy(() => DonatorsWhereUniqueInputSchema).optional() -}).strict(); - -export const DonatorsUpdateOneRequiredWithoutReward_TransactionsNestedInputSchema: z.ZodType = z.object({ - create: z.union([ z.lazy(() => DonatorsCreateWithoutReward_TransactionsInputSchema),z.lazy(() => DonatorsUncheckedCreateWithoutReward_TransactionsInputSchema) ]).optional(), - connectOrCreate: z.lazy(() => DonatorsCreateOrConnectWithoutReward_TransactionsInputSchema).optional(), - upsert: z.lazy(() => DonatorsUpsertWithoutReward_TransactionsInputSchema).optional(), - connect: z.lazy(() => DonatorsWhereUniqueInputSchema).optional(), - update: z.union([ z.lazy(() => DonatorsUpdateToOneWithWhereWithoutReward_TransactionsInputSchema),z.lazy(() => DonatorsUpdateWithoutReward_TransactionsInputSchema),z.lazy(() => DonatorsUncheckedUpdateWithoutReward_TransactionsInputSchema) ]).optional(), -}).strict(); - export const DonatorsCreateNestedOneWithoutRedemption_HistoryInputSchema: z.ZodType = z.object({ create: z.union([ z.lazy(() => DonatorsCreateWithoutRedemption_HistoryInputSchema),z.lazy(() => DonatorsUncheckedCreateWithoutRedemption_HistoryInputSchema) ]).optional(), connectOrCreate: z.lazy(() => DonatorsCreateOrConnectWithoutRedemption_HistoryInputSchema).optional(), @@ -7544,7 +7284,6 @@ export const DonatorsCreateWithoutMedical_AccountInputSchema: z.ZodType Redemption_HistoryCreateNestedManyWithoutDonatorInputSchema).optional(), Reservations: z.lazy(() => ReservationsCreateNestedManyWithoutDonatorInputSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsCreateNestedManyWithoutDonatorInputSchema).optional(), Session: z.lazy(() => SessionCreateNestedManyWithoutDonatorInputSchema).optional() }).strict(); @@ -7564,7 +7303,6 @@ export const DonatorsUncheckedCreateWithoutMedical_AccountInputSchema: z.ZodType updated_at: z.coerce.date().optional(), Redemption_History: z.lazy(() => Redemption_HistoryUncheckedCreateNestedManyWithoutDonatorInputSchema).optional(), Reservations: z.lazy(() => ReservationsUncheckedCreateNestedManyWithoutDonatorInputSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsUncheckedCreateNestedManyWithoutDonatorInputSchema).optional(), Session: z.lazy(() => SessionUncheckedCreateNestedManyWithoutDonatorInputSchema).optional() }).strict(); @@ -7699,30 +7437,6 @@ export const ReservationsCreateManyDonatorInputEnvelopeSchema: z.ZodType = z.object({ - id: z.string().cuid().optional(), - points: z.number().int(), - created_at: z.coerce.date().optional(), - updated_at: z.coerce.date().optional() -}).strict(); - -export const Reward_TransactionsUncheckedCreateWithoutDonatorInputSchema: z.ZodType = z.object({ - id: z.string().cuid().optional(), - points: z.number().int(), - created_at: z.coerce.date().optional(), - updated_at: z.coerce.date().optional() -}).strict(); - -export const Reward_TransactionsCreateOrConnectWithoutDonatorInputSchema: z.ZodType = z.object({ - where: z.lazy(() => Reward_TransactionsWhereUniqueInputSchema), - create: z.union([ z.lazy(() => Reward_TransactionsCreateWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsUncheckedCreateWithoutDonatorInputSchema) ]), -}).strict(); - -export const Reward_TransactionsCreateManyDonatorInputEnvelopeSchema: z.ZodType = z.object({ - data: z.union([ z.lazy(() => Reward_TransactionsCreateManyDonatorInputSchema),z.lazy(() => Reward_TransactionsCreateManyDonatorInputSchema).array() ]), - skipDuplicates: z.boolean().optional() -}).strict(); - export const SessionCreateWithoutDonatorInputSchema: z.ZodType = z.object({ id: z.string().cuid().optional(), session_token: z.string().cuid().optional(), @@ -7842,33 +7556,6 @@ export const ReservationsScalarWhereInputSchema: z.ZodType StringFilterSchema),z.string() ]).optional(), }).strict(); -export const Reward_TransactionsUpsertWithWhereUniqueWithoutDonatorInputSchema: z.ZodType = z.object({ - where: z.lazy(() => Reward_TransactionsWhereUniqueInputSchema), - update: z.union([ z.lazy(() => Reward_TransactionsUpdateWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsUncheckedUpdateWithoutDonatorInputSchema) ]), - create: z.union([ z.lazy(() => Reward_TransactionsCreateWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsUncheckedCreateWithoutDonatorInputSchema) ]), -}).strict(); - -export const Reward_TransactionsUpdateWithWhereUniqueWithoutDonatorInputSchema: z.ZodType = z.object({ - where: z.lazy(() => Reward_TransactionsWhereUniqueInputSchema), - data: z.union([ z.lazy(() => Reward_TransactionsUpdateWithoutDonatorInputSchema),z.lazy(() => Reward_TransactionsUncheckedUpdateWithoutDonatorInputSchema) ]), -}).strict(); - -export const Reward_TransactionsUpdateManyWithWhereWithoutDonatorInputSchema: z.ZodType = z.object({ - where: z.lazy(() => Reward_TransactionsScalarWhereInputSchema), - data: z.union([ z.lazy(() => Reward_TransactionsUpdateManyMutationInputSchema),z.lazy(() => Reward_TransactionsUncheckedUpdateManyWithoutDonatorInputSchema) ]), -}).strict(); - -export const Reward_TransactionsScalarWhereInputSchema: z.ZodType = z.object({ - AND: z.union([ z.lazy(() => Reward_TransactionsScalarWhereInputSchema),z.lazy(() => Reward_TransactionsScalarWhereInputSchema).array() ]).optional(), - OR: z.lazy(() => Reward_TransactionsScalarWhereInputSchema).array().optional(), - NOT: z.union([ z.lazy(() => Reward_TransactionsScalarWhereInputSchema),z.lazy(() => Reward_TransactionsScalarWhereInputSchema).array() ]).optional(), - id: z.union([ z.lazy(() => StringFilterSchema),z.string() ]).optional(), - donator_id: z.union([ z.lazy(() => StringFilterSchema),z.string() ]).optional(), - points: z.union([ z.lazy(() => IntFilterSchema),z.number() ]).optional(), - created_at: z.union([ z.lazy(() => DateTimeFilterSchema),z.coerce.date() ]).optional(), - updated_at: z.union([ z.lazy(() => DateTimeFilterSchema),z.coerce.date() ]).optional(), -}).strict(); - export const SessionUpsertWithWhereUniqueWithoutDonatorInputSchema: z.ZodType = z.object({ where: z.lazy(() => SessionWhereUniqueInputSchema), update: z.union([ z.lazy(() => SessionUpdateWithoutDonatorInputSchema),z.lazy(() => SessionUncheckedUpdateWithoutDonatorInputSchema) ]), @@ -7899,102 +7586,6 @@ export const SessionScalarWhereInputSchema: z.ZodType StringNullableFilterSchema),z.string() ]).optional().nullable(), }).strict(); -export const DonatorsCreateWithoutReward_TransactionsInputSchema: z.ZodType = z.object({ - id: z.string().cuid().optional(), - image_src: z.string().optional().nullable(), - first_name: z.string(), - last_name: z.string(), - phone_number: z.string(), - gender: z.lazy(() => GenderSchema), - dob: z.coerce.date(), - address: z.string(), - email: z.string().optional().nullable(), - password: z.string(), - reward_point: z.number().int().optional(), - created_at: z.coerce.date().optional(), - updated_at: z.coerce.date().optional(), - Medical_Account: z.lazy(() => Medical_AccountsCreateNestedOneWithoutDonatorsInputSchema), - Redemption_History: z.lazy(() => Redemption_HistoryCreateNestedManyWithoutDonatorInputSchema).optional(), - Reservations: z.lazy(() => ReservationsCreateNestedManyWithoutDonatorInputSchema).optional(), - Session: z.lazy(() => SessionCreateNestedManyWithoutDonatorInputSchema).optional() -}).strict(); - -export const DonatorsUncheckedCreateWithoutReward_TransactionsInputSchema: z.ZodType = z.object({ - id: z.string().cuid().optional(), - medical_account_id: z.string(), - image_src: z.string().optional().nullable(), - first_name: z.string(), - last_name: z.string(), - phone_number: z.string(), - gender: z.lazy(() => GenderSchema), - dob: z.coerce.date(), - address: z.string(), - email: z.string().optional().nullable(), - password: z.string(), - reward_point: z.number().int().optional(), - created_at: z.coerce.date().optional(), - updated_at: z.coerce.date().optional(), - Redemption_History: z.lazy(() => Redemption_HistoryUncheckedCreateNestedManyWithoutDonatorInputSchema).optional(), - Reservations: z.lazy(() => ReservationsUncheckedCreateNestedManyWithoutDonatorInputSchema).optional(), - Session: z.lazy(() => SessionUncheckedCreateNestedManyWithoutDonatorInputSchema).optional() -}).strict(); - -export const DonatorsCreateOrConnectWithoutReward_TransactionsInputSchema: z.ZodType = z.object({ - where: z.lazy(() => DonatorsWhereUniqueInputSchema), - create: z.union([ z.lazy(() => DonatorsCreateWithoutReward_TransactionsInputSchema),z.lazy(() => DonatorsUncheckedCreateWithoutReward_TransactionsInputSchema) ]), -}).strict(); - -export const DonatorsUpsertWithoutReward_TransactionsInputSchema: z.ZodType = z.object({ - update: z.union([ z.lazy(() => DonatorsUpdateWithoutReward_TransactionsInputSchema),z.lazy(() => DonatorsUncheckedUpdateWithoutReward_TransactionsInputSchema) ]), - create: z.union([ z.lazy(() => DonatorsCreateWithoutReward_TransactionsInputSchema),z.lazy(() => DonatorsUncheckedCreateWithoutReward_TransactionsInputSchema) ]), - where: z.lazy(() => DonatorsWhereInputSchema).optional() -}).strict(); - -export const DonatorsUpdateToOneWithWhereWithoutReward_TransactionsInputSchema: z.ZodType = z.object({ - where: z.lazy(() => DonatorsWhereInputSchema).optional(), - data: z.union([ z.lazy(() => DonatorsUpdateWithoutReward_TransactionsInputSchema),z.lazy(() => DonatorsUncheckedUpdateWithoutReward_TransactionsInputSchema) ]), -}).strict(); - -export const DonatorsUpdateWithoutReward_TransactionsInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - image_src: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - first_name: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - last_name: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - phone_number: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - gender: z.union([ z.lazy(() => GenderSchema),z.lazy(() => EnumGenderFieldUpdateOperationsInputSchema) ]).optional(), - dob: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - address: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - email: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - password: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - reward_point: z.union([ z.number().int(),z.lazy(() => IntFieldUpdateOperationsInputSchema) ]).optional(), - created_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updated_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - Medical_Account: z.lazy(() => Medical_AccountsUpdateOneRequiredWithoutDonatorsNestedInputSchema).optional(), - Redemption_History: z.lazy(() => Redemption_HistoryUpdateManyWithoutDonatorNestedInputSchema).optional(), - Reservations: z.lazy(() => ReservationsUpdateManyWithoutDonatorNestedInputSchema).optional(), - Session: z.lazy(() => SessionUpdateManyWithoutDonatorNestedInputSchema).optional() -}).strict(); - -export const DonatorsUncheckedUpdateWithoutReward_TransactionsInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - medical_account_id: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - image_src: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - first_name: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - last_name: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - phone_number: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - gender: z.union([ z.lazy(() => GenderSchema),z.lazy(() => EnumGenderFieldUpdateOperationsInputSchema) ]).optional(), - dob: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - address: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - email: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - password: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - reward_point: z.union([ z.number().int(),z.lazy(() => IntFieldUpdateOperationsInputSchema) ]).optional(), - created_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updated_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - Redemption_History: z.lazy(() => Redemption_HistoryUncheckedUpdateManyWithoutDonatorNestedInputSchema).optional(), - Reservations: z.lazy(() => ReservationsUncheckedUpdateManyWithoutDonatorNestedInputSchema).optional(), - Session: z.lazy(() => SessionUncheckedUpdateManyWithoutDonatorNestedInputSchema).optional() -}).strict(); - export const DonatorsCreateWithoutRedemption_HistoryInputSchema: z.ZodType = z.object({ id: z.string().cuid().optional(), image_src: z.string().optional().nullable(), @@ -8011,7 +7602,6 @@ export const DonatorsCreateWithoutRedemption_HistoryInputSchema: z.ZodType Medical_AccountsCreateNestedOneWithoutDonatorsInputSchema), Reservations: z.lazy(() => ReservationsCreateNestedManyWithoutDonatorInputSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsCreateNestedManyWithoutDonatorInputSchema).optional(), Session: z.lazy(() => SessionCreateNestedManyWithoutDonatorInputSchema).optional() }).strict(); @@ -8031,7 +7621,6 @@ export const DonatorsUncheckedCreateWithoutRedemption_HistoryInputSchema: z.ZodT created_at: z.coerce.date().optional(), updated_at: z.coerce.date().optional(), Reservations: z.lazy(() => ReservationsUncheckedCreateNestedManyWithoutDonatorInputSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsUncheckedCreateNestedManyWithoutDonatorInputSchema).optional(), Session: z.lazy(() => SessionUncheckedCreateNestedManyWithoutDonatorInputSchema).optional() }).strict(); @@ -8100,7 +7689,6 @@ export const DonatorsUpdateWithoutRedemption_HistoryInputSchema: z.ZodType DateTimeFieldUpdateOperationsInputSchema) ]).optional(), Medical_Account: z.lazy(() => Medical_AccountsUpdateOneRequiredWithoutDonatorsNestedInputSchema).optional(), Reservations: z.lazy(() => ReservationsUpdateManyWithoutDonatorNestedInputSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsUpdateManyWithoutDonatorNestedInputSchema).optional(), Session: z.lazy(() => SessionUpdateManyWithoutDonatorNestedInputSchema).optional() }).strict(); @@ -8120,7 +7708,6 @@ export const DonatorsUncheckedUpdateWithoutRedemption_HistoryInputSchema: z.ZodT created_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), updated_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), Reservations: z.lazy(() => ReservationsUncheckedUpdateManyWithoutDonatorNestedInputSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsUncheckedUpdateManyWithoutDonatorNestedInputSchema).optional(), Session: z.lazy(() => SessionUncheckedUpdateManyWithoutDonatorNestedInputSchema).optional() }).strict(); @@ -9369,8 +8956,7 @@ export const DonatorsCreateWithoutSessionInputSchema: z.ZodType Medical_AccountsCreateNestedOneWithoutDonatorsInputSchema), Redemption_History: z.lazy(() => Redemption_HistoryCreateNestedManyWithoutDonatorInputSchema).optional(), - Reservations: z.lazy(() => ReservationsCreateNestedManyWithoutDonatorInputSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsCreateNestedManyWithoutDonatorInputSchema).optional() + Reservations: z.lazy(() => ReservationsCreateNestedManyWithoutDonatorInputSchema).optional() }).strict(); export const DonatorsUncheckedCreateWithoutSessionInputSchema: z.ZodType = z.object({ @@ -9389,8 +8975,7 @@ export const DonatorsUncheckedCreateWithoutSessionInputSchema: z.ZodType Redemption_HistoryUncheckedCreateNestedManyWithoutDonatorInputSchema).optional(), - Reservations: z.lazy(() => ReservationsUncheckedCreateNestedManyWithoutDonatorInputSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsUncheckedCreateNestedManyWithoutDonatorInputSchema).optional() + Reservations: z.lazy(() => ReservationsUncheckedCreateNestedManyWithoutDonatorInputSchema).optional() }).strict(); export const DonatorsCreateOrConnectWithoutSessionInputSchema: z.ZodType = z.object({ @@ -9479,8 +9064,7 @@ export const DonatorsUpdateWithoutSessionInputSchema: z.ZodType DateTimeFieldUpdateOperationsInputSchema) ]).optional(), Medical_Account: z.lazy(() => Medical_AccountsUpdateOneRequiredWithoutDonatorsNestedInputSchema).optional(), Redemption_History: z.lazy(() => Redemption_HistoryUpdateManyWithoutDonatorNestedInputSchema).optional(), - Reservations: z.lazy(() => ReservationsUpdateManyWithoutDonatorNestedInputSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsUpdateManyWithoutDonatorNestedInputSchema).optional() + Reservations: z.lazy(() => ReservationsUpdateManyWithoutDonatorNestedInputSchema).optional() }).strict(); export const DonatorsUncheckedUpdateWithoutSessionInputSchema: z.ZodType = z.object({ @@ -9499,8 +9083,7 @@ export const DonatorsUncheckedUpdateWithoutSessionInputSchema: z.ZodType DateTimeFieldUpdateOperationsInputSchema) ]).optional(), updated_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), Redemption_History: z.lazy(() => Redemption_HistoryUncheckedUpdateManyWithoutDonatorNestedInputSchema).optional(), - Reservations: z.lazy(() => ReservationsUncheckedUpdateManyWithoutDonatorNestedInputSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsUncheckedUpdateManyWithoutDonatorNestedInputSchema).optional() + Reservations: z.lazy(() => ReservationsUncheckedUpdateManyWithoutDonatorNestedInputSchema).optional() }).strict(); export const Medical_StaffUpsertWithoutSessionInputSchema: z.ZodType = z.object({ @@ -9619,7 +9202,6 @@ export const DonatorsCreateWithoutReservationsInputSchema: z.ZodType Medical_AccountsCreateNestedOneWithoutDonatorsInputSchema), Redemption_History: z.lazy(() => Redemption_HistoryCreateNestedManyWithoutDonatorInputSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsCreateNestedManyWithoutDonatorInputSchema).optional(), Session: z.lazy(() => SessionCreateNestedManyWithoutDonatorInputSchema).optional() }).strict(); @@ -9639,7 +9221,6 @@ export const DonatorsUncheckedCreateWithoutReservationsInputSchema: z.ZodType Redemption_HistoryUncheckedCreateNestedManyWithoutDonatorInputSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsUncheckedCreateNestedManyWithoutDonatorInputSchema).optional(), Session: z.lazy(() => SessionUncheckedCreateNestedManyWithoutDonatorInputSchema).optional() }).strict(); @@ -9749,7 +9330,6 @@ export const DonatorsUpdateWithoutReservationsInputSchema: z.ZodType DateTimeFieldUpdateOperationsInputSchema) ]).optional(), Medical_Account: z.lazy(() => Medical_AccountsUpdateOneRequiredWithoutDonatorsNestedInputSchema).optional(), Redemption_History: z.lazy(() => Redemption_HistoryUpdateManyWithoutDonatorNestedInputSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsUpdateManyWithoutDonatorNestedInputSchema).optional(), Session: z.lazy(() => SessionUpdateManyWithoutDonatorNestedInputSchema).optional() }).strict(); @@ -9769,7 +9349,6 @@ export const DonatorsUncheckedUpdateWithoutReservationsInputSchema: z.ZodType DateTimeFieldUpdateOperationsInputSchema) ]).optional(), updated_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), Redemption_History: z.lazy(() => Redemption_HistoryUncheckedUpdateManyWithoutDonatorNestedInputSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsUncheckedUpdateManyWithoutDonatorNestedInputSchema).optional(), Session: z.lazy(() => SessionUncheckedUpdateManyWithoutDonatorNestedInputSchema).optional() }).strict(); @@ -10771,7 +10350,6 @@ export const DonatorsUpdateWithoutMedical_AccountInputSchema: z.ZodType DateTimeFieldUpdateOperationsInputSchema) ]).optional(), Redemption_History: z.lazy(() => Redemption_HistoryUpdateManyWithoutDonatorNestedInputSchema).optional(), Reservations: z.lazy(() => ReservationsUpdateManyWithoutDonatorNestedInputSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsUpdateManyWithoutDonatorNestedInputSchema).optional(), Session: z.lazy(() => SessionUpdateManyWithoutDonatorNestedInputSchema).optional() }).strict(); @@ -10791,7 +10369,6 @@ export const DonatorsUncheckedUpdateWithoutMedical_AccountInputSchema: z.ZodType updated_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), Redemption_History: z.lazy(() => Redemption_HistoryUncheckedUpdateManyWithoutDonatorNestedInputSchema).optional(), Reservations: z.lazy(() => ReservationsUncheckedUpdateManyWithoutDonatorNestedInputSchema).optional(), - Reward_Transactions: z.lazy(() => Reward_TransactionsUncheckedUpdateManyWithoutDonatorNestedInputSchema).optional(), Session: z.lazy(() => SessionUncheckedUpdateManyWithoutDonatorNestedInputSchema).optional() }).strict(); @@ -10831,13 +10408,6 @@ export const ReservationsCreateManyDonatorInputSchema: z.ZodType = z.object({ - id: z.string().cuid().optional(), - points: z.number().int(), - created_at: z.coerce.date().optional(), - updated_at: z.coerce.date().optional() -}).strict(); - export const SessionCreateManyDonatorInputSchema: z.ZodType = z.object({ id: z.string().cuid().optional(), session_token: z.string().cuid().optional(), @@ -10910,27 +10480,6 @@ export const ReservationsUncheckedUpdateManyWithoutDonatorInputSchema: z.ZodType pre_donation_fb_id: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), }).strict(); -export const Reward_TransactionsUpdateWithoutDonatorInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - points: z.union([ z.number().int(),z.lazy(() => IntFieldUpdateOperationsInputSchema) ]).optional(), - created_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updated_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), -}).strict(); - -export const Reward_TransactionsUncheckedUpdateWithoutDonatorInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - points: z.union([ z.number().int(),z.lazy(() => IntFieldUpdateOperationsInputSchema) ]).optional(), - created_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updated_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), -}).strict(); - -export const Reward_TransactionsUncheckedUpdateManyWithoutDonatorInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - points: z.union([ z.number().int(),z.lazy(() => IntFieldUpdateOperationsInputSchema) ]).optional(), - created_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updated_at: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), -}).strict(); - export const SessionUpdateWithoutDonatorInputSchema: z.ZodType = z.object({ id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), session_token: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), @@ -11723,68 +11272,6 @@ export const DonatorsFindUniqueOrThrowArgsSchema: z.ZodType = z.object({ - select: Reward_TransactionsSelectSchema.optional(), - include: Reward_TransactionsIncludeSchema.optional(), - where: Reward_TransactionsWhereInputSchema.optional(), - orderBy: z.union([ Reward_TransactionsOrderByWithRelationInputSchema.array(),Reward_TransactionsOrderByWithRelationInputSchema ]).optional(), - cursor: Reward_TransactionsWhereUniqueInputSchema.optional(), - take: z.number().optional(), - skip: z.number().optional(), - distinct: z.union([ Reward_TransactionsScalarFieldEnumSchema,Reward_TransactionsScalarFieldEnumSchema.array() ]).optional(), -}).strict() - -export const Reward_TransactionsFindFirstOrThrowArgsSchema: z.ZodType = z.object({ - select: Reward_TransactionsSelectSchema.optional(), - include: Reward_TransactionsIncludeSchema.optional(), - where: Reward_TransactionsWhereInputSchema.optional(), - orderBy: z.union([ Reward_TransactionsOrderByWithRelationInputSchema.array(),Reward_TransactionsOrderByWithRelationInputSchema ]).optional(), - cursor: Reward_TransactionsWhereUniqueInputSchema.optional(), - take: z.number().optional(), - skip: z.number().optional(), - distinct: z.union([ Reward_TransactionsScalarFieldEnumSchema,Reward_TransactionsScalarFieldEnumSchema.array() ]).optional(), -}).strict() - -export const Reward_TransactionsFindManyArgsSchema: z.ZodType = z.object({ - select: Reward_TransactionsSelectSchema.optional(), - include: Reward_TransactionsIncludeSchema.optional(), - where: Reward_TransactionsWhereInputSchema.optional(), - orderBy: z.union([ Reward_TransactionsOrderByWithRelationInputSchema.array(),Reward_TransactionsOrderByWithRelationInputSchema ]).optional(), - cursor: Reward_TransactionsWhereUniqueInputSchema.optional(), - take: z.number().optional(), - skip: z.number().optional(), - distinct: z.union([ Reward_TransactionsScalarFieldEnumSchema,Reward_TransactionsScalarFieldEnumSchema.array() ]).optional(), -}).strict() - -export const Reward_TransactionsAggregateArgsSchema: z.ZodType = z.object({ - where: Reward_TransactionsWhereInputSchema.optional(), - orderBy: z.union([ Reward_TransactionsOrderByWithRelationInputSchema.array(),Reward_TransactionsOrderByWithRelationInputSchema ]).optional(), - cursor: Reward_TransactionsWhereUniqueInputSchema.optional(), - take: z.number().optional(), - skip: z.number().optional(), -}).strict() - -export const Reward_TransactionsGroupByArgsSchema: z.ZodType = z.object({ - where: Reward_TransactionsWhereInputSchema.optional(), - orderBy: z.union([ Reward_TransactionsOrderByWithAggregationInputSchema.array(),Reward_TransactionsOrderByWithAggregationInputSchema ]).optional(), - by: Reward_TransactionsScalarFieldEnumSchema.array(), - having: Reward_TransactionsScalarWhereWithAggregatesInputSchema.optional(), - take: z.number().optional(), - skip: z.number().optional(), -}).strict() - -export const Reward_TransactionsFindUniqueArgsSchema: z.ZodType = z.object({ - select: Reward_TransactionsSelectSchema.optional(), - include: Reward_TransactionsIncludeSchema.optional(), - where: Reward_TransactionsWhereUniqueInputSchema, -}).strict() - -export const Reward_TransactionsFindUniqueOrThrowArgsSchema: z.ZodType = z.object({ - select: Reward_TransactionsSelectSchema.optional(), - include: Reward_TransactionsIncludeSchema.optional(), - where: Reward_TransactionsWhereUniqueInputSchema, -}).strict() - export const Redemption_HistoryFindFirstArgsSchema: z.ZodType = z.object({ select: Redemption_HistorySelectSchema.optional(), include: Redemption_HistoryIncludeSchema.optional(), @@ -12983,47 +12470,6 @@ export const DonatorsDeleteManyArgsSchema: z.ZodType = z.object({ - select: Reward_TransactionsSelectSchema.optional(), - include: Reward_TransactionsIncludeSchema.optional(), - data: z.union([ Reward_TransactionsCreateInputSchema,Reward_TransactionsUncheckedCreateInputSchema ]), -}).strict() - -export const Reward_TransactionsUpsertArgsSchema: z.ZodType = z.object({ - select: Reward_TransactionsSelectSchema.optional(), - include: Reward_TransactionsIncludeSchema.optional(), - where: Reward_TransactionsWhereUniqueInputSchema, - create: z.union([ Reward_TransactionsCreateInputSchema,Reward_TransactionsUncheckedCreateInputSchema ]), - update: z.union([ Reward_TransactionsUpdateInputSchema,Reward_TransactionsUncheckedUpdateInputSchema ]), -}).strict() - -export const Reward_TransactionsCreateManyArgsSchema: z.ZodType = z.object({ - data: z.union([ Reward_TransactionsCreateManyInputSchema,Reward_TransactionsCreateManyInputSchema.array() ]), - skipDuplicates: z.boolean().optional(), -}).strict() - -export const Reward_TransactionsDeleteArgsSchema: z.ZodType = z.object({ - select: Reward_TransactionsSelectSchema.optional(), - include: Reward_TransactionsIncludeSchema.optional(), - where: Reward_TransactionsWhereUniqueInputSchema, -}).strict() - -export const Reward_TransactionsUpdateArgsSchema: z.ZodType = z.object({ - select: Reward_TransactionsSelectSchema.optional(), - include: Reward_TransactionsIncludeSchema.optional(), - data: z.union([ Reward_TransactionsUpdateInputSchema,Reward_TransactionsUncheckedUpdateInputSchema ]), - where: Reward_TransactionsWhereUniqueInputSchema, -}).strict() - -export const Reward_TransactionsUpdateManyArgsSchema: z.ZodType = z.object({ - data: z.union([ Reward_TransactionsUpdateManyMutationInputSchema,Reward_TransactionsUncheckedUpdateManyInputSchema ]), - where: Reward_TransactionsWhereInputSchema.optional(), -}).strict() - -export const Reward_TransactionsDeleteManyArgsSchema: z.ZodType = z.object({ - where: Reward_TransactionsWhereInputSchema.optional(), -}).strict() - export const Redemption_HistoryCreateArgsSchema: z.ZodType = z.object({ select: Redemption_HistorySelectSchema.optional(), include: Redemption_HistoryIncludeSchema.optional(), diff --git a/package.json b/package.json index 1f16ad0..66cf8c3 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "prettier": " prettier --plugin-search-dir --write \"./**/*.{js,json,md,html,css,scss,svelte}\"", "lint": "prettier --plugin-search-dir . --check . && eslint .", "format": "prettier --plugin-search-dir . --write .", - "postinstall": "pnpm db:push", + "postinstall": "npx prisma db push", "studio": "pnpx prisma studio", "db:push": "prisma db push", "db:generate": "prisma generate", @@ -28,7 +28,6 @@ "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "autoprefixer": "^10.4.16", - "bcrypt]": "link:@types/bcrypt]", "daisyui": "^3.8.0", "date-picker-svelte": "^2.6.0", "eslint": "^8.28.0", @@ -73,4 +72,4 @@ "zod": "^3.22.2", "zod-prisma-types": "^2.7.9" } -} +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml deleted file mode 100644 index 1fe7c8f..0000000 --- a/pnpm-lock.yaml +++ /dev/null @@ -1,3097 +0,0 @@ -lockfileVersion: '6.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -dependencies: - '@carbon/charts-svelte': - specifier: ^1.13.4 - version: 1.13.4(d3-cloud@1.2.7)(d3-sankey@0.12.3)(d3@7.8.5)(svelte@4.2.1) - '@castlenine/svelte-qrcode': - specifier: ^1.1.0 - version: 1.1.0(svelte@4.2.1) - '@prisma/client': - specifier: 5.3.1 - version: 5.3.1(prisma@5.3.1) - '@trpc/client': - specifier: ^10.38.4 - version: 10.38.4(@trpc/server@10.38.4) - '@trpc/server': - specifier: ^10.38.4 - version: 10.38.4 - bits-ui: - specifier: ^0.5.7 - version: 0.5.7(svelte@4.2.1) - clsx: - specifier: ^2.0.0 - version: 2.0.0 - cryptr: - specifier: ^6.3.0 - version: 6.3.0 - d3: - specifier: ^7.8.5 - version: 7.8.5 - d3-cloud: - specifier: ^1.2.7 - version: 1.2.7 - d3-sankey: - specifier: ^0.12.3 - version: 0.12.3 - date-fns: - specifier: ^2.30.0 - version: 2.30.0 - formsnap: - specifier: ^0.1.3 - version: 0.1.3(svelte@4.2.1)(sveltekit-superforms@1.7.2)(zod@3.22.2) - image-to-base64: - specifier: ^2.2.0 - version: 2.2.0 - lucide-svelte: - specifier: ^0.279.0 - version: 0.279.0(svelte@4.2.1) - superjson: - specifier: ^1.13.3 - version: 1.13.3 - svelte-steps: - specifier: ^2.4.1 - version: 2.4.1 - sveltekit-superforms: - specifier: ^1.7.2 - version: 1.7.2(@sveltejs/kit@1.25.0)(svelte@4.2.1)(zod@3.22.2) - tailwind-merge: - specifier: ^1.14.0 - version: 1.14.0 - tailwind-variants: - specifier: ^0.1.14 - version: 0.1.14(tailwindcss@3.3.3) - zod: - specifier: ^3.22.2 - version: 3.22.2 - zod-prisma-types: - specifier: ^2.7.9 - version: 2.7.9 - -devDependencies: - '@melt-ui/pp': - specifier: ^0.1.2 - version: 0.1.2(@melt-ui/svelte@0.50.0)(svelte@4.2.1) - '@melt-ui/svelte': - specifier: ^0.50.0 - version: 0.50.0(svelte@4.2.1) - '@neoconfetti/svelte': - specifier: ^1.0.0 - version: 1.0.0 - '@sveltejs/adapter-auto': - specifier: ^2.0.0 - version: 2.1.0(@sveltejs/kit@1.25.0) - '@sveltejs/kit': - specifier: ^1.20.4 - version: 1.25.0(svelte@4.2.1)(vite@4.4.9) - '@types/cookie': - specifier: ^0.5.1 - version: 0.5.2 - '@types/image-to-base64': - specifier: ^2.1.0 - version: 2.1.0 - '@types/node': - specifier: ^20.6.3 - version: 20.6.3 - '@typescript-eslint/eslint-plugin': - specifier: ^6.0.0 - version: 6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/parser': - specifier: ^6.0.0 - version: 6.7.2(eslint@8.49.0)(typescript@5.2.2) - autoprefixer: - specifier: ^10.4.16 - version: 10.4.16(postcss@8.4.30) - bcrypt]: - specifier: link:@types/bcrypt] - version: link:@types/bcrypt] - daisyui: - specifier: ^3.8.0 - version: 3.8.0(ts-node@10.9.1) - date-picker-svelte: - specifier: ^2.6.0 - version: 2.6.0(svelte@4.2.1) - eslint: - specifier: ^8.28.0 - version: 8.49.0 - eslint-config-prettier: - specifier: ^8.5.0 - version: 8.10.0(eslint@8.49.0) - eslint-plugin-svelte: - specifier: ^2.30.0 - version: 2.33.2(eslint@8.49.0)(svelte@4.2.1)(ts-node@10.9.1) - postcss: - specifier: ^8.4.30 - version: 8.4.30 - prettier: - specifier: ^2.8.0 - version: 2.8.8 - prettier-plugin-svelte: - specifier: ^2.10.1 - version: 2.10.1(prettier@2.8.8)(svelte@4.2.1) - prisma: - specifier: ^5.3.1 - version: 5.3.1 - svelte: - specifier: ^4.0.5 - version: 4.2.1 - svelte-calendar: - specifier: ^3.1.6 - version: 3.1.6 - svelte-check: - specifier: ^3.4.3 - version: 3.5.2(postcss@8.4.30)(svelte@4.2.1) - svelte-sequential-preprocessor: - specifier: ^2.0.1 - version: 2.0.1 - tailwindcss: - specifier: ^3.3.3 - version: 3.3.3(ts-node@10.9.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@20.6.3)(typescript@5.2.2) - tslib: - specifier: ^2.4.1 - version: 2.6.2 - typescript: - specifier: ^5.2.2 - version: 5.2.2 - vite: - specifier: ^4.4.2 - version: 4.4.9(@types/node@20.6.3) - -packages: - - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - dev: true - - /@alloc/quick-lru@5.2.0: - resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} - engines: {node: '>=10'} - - /@ampproject/remapping@2.2.1: - resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 - - /@babel/runtime@7.22.15: - resolution: {integrity: sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.14.0 - dev: false - - /@carbon/charts-svelte@1.13.4(d3-cloud@1.2.7)(d3-sankey@0.12.3)(d3@7.8.5)(svelte@4.2.1): - resolution: {integrity: sha512-NS1pEFRiGEhyIEzJWf3bNYgfeGawBdB531rG3BwIbwkOr77WFsvRoKNciXqe+Jq0G9D47gmnVBurNCA3WCydEQ==} - requiresBuild: true - peerDependencies: - svelte: ^3.31.0 || ^4.0.0 - dependencies: - '@carbon/charts': 1.13.4(d3-cloud@1.2.7)(d3-sankey@0.12.3)(d3@7.8.5) - '@carbon/telemetry': 0.1.0 - svelte: 4.2.1 - transitivePeerDependencies: - - d3 - - d3-cloud - - d3-sankey - dev: false - - /@carbon/charts@1.13.4(d3-cloud@1.2.7)(d3-sankey@0.12.3)(d3@7.8.5): - resolution: {integrity: sha512-Wb2sKxMZfoI7sdZNY01rgUEVor1ep16tO88ua0+0VtMdvc73+rWafVuWF8d4haz5AlHMWBAt13SPo/Hz0+kvEg==} - requiresBuild: true - peerDependencies: - d3: ^7.0.0 - d3-cloud: ^1.2.5 - d3-sankey: ^0.12.3 - peerDependenciesMeta: - d3-cloud: - optional: true - d3-sankey: - optional: true - dependencies: - '@carbon/colors': 11.19.0 - '@carbon/telemetry': 0.1.0 - '@carbon/utils-position': 1.1.4 - carbon-components: 10.58.10 - d3: 7.8.5 - d3-cloud: 1.2.7 - d3-sankey: 0.12.3 - date-fns: 2.30.0 - html-to-image: 1.11.11 - lodash-es: 4.17.21 - topojson-client: 3.1.0 - tslib: 2.6.2 - dev: false - - /@carbon/colors@11.19.0: - resolution: {integrity: sha512-cRDnv9GfktZo+p/t/Lsy2B3yvMbDI1Ht2ECU0rAikClQHVnOffz791Q4m2gy2STPdISnzjFSPmoRxGKLfYhLRA==} - dev: false - - /@carbon/telemetry@0.1.0: - resolution: {integrity: sha512-kNWt0bkgPwGW0i5h7HFuljbKRXPvIhsKbB+1tEURAYLXoJg9iJLF1eGvWN5iVoFCS2zje4GR3OGOsvvKVe7Hlg==} - hasBin: true - dev: false - - /@carbon/utils-position@1.1.4: - resolution: {integrity: sha512-/01kFPKr+wD2pPd5Uck2gElm3K/+eNxX7lEn2j1NKzzE4+eSZXDfQtLR/UHcvOSgkP+Av42LET6B9h9jXGV+HA==} - dev: false - - /@castlenine/svelte-qrcode@1.1.0(svelte@4.2.1): - resolution: {integrity: sha512-NHjq6PLusq+LCPLTcQi4nZKSQpuYlXV7t1vHX2RwPgEel+vyScZJHFeoAO3rXc4vs2YM3EDKkpfqw3ElNJ0hsQ==} - peerDependencies: - svelte: '>=3.54.0' - dependencies: - svelte: 4.2.1 - dev: false - - /@cspotcode/source-map-support@0.8.1: - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - - /@esbuild/android-arm64@0.18.20: - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-arm@0.18.20: - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-x64@0.18.20: - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/darwin-arm64@0.18.20: - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/darwin-x64@0.18.20: - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/freebsd-arm64@0.18.20: - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/freebsd-x64@0.18.20: - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/linux-arm64@0.18.20: - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-arm@0.18.20: - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ia32@0.18.20: - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-loong64@0.18.20: - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-mips64el@0.18.20: - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ppc64@0.18.20: - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-riscv64@0.18.20: - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-s390x@0.18.20: - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-x64@0.18.20: - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/netbsd-x64@0.18.20: - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - optional: true - - /@esbuild/openbsd-x64@0.18.20: - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - optional: true - - /@esbuild/sunos-x64@0.18.20: - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - optional: true - - /@esbuild/win32-arm64@0.18.20: - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - optional: true - - /@esbuild/win32-ia32@0.18.20: - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - optional: true - - /@esbuild/win32-x64@0.18.20: - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - optional: true - - /@eslint-community/eslint-utils@4.4.0(eslint@8.49.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.49.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.8.1: - resolution: {integrity: sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - - /@eslint/eslintrc@2.1.2: - resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.22.0 - ignore: 5.2.4 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/js@8.49.0: - resolution: {integrity: sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /@floating-ui/core@1.5.0: - resolution: {integrity: sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==} - dependencies: - '@floating-ui/utils': 0.1.4 - - /@floating-ui/dom@1.5.3: - resolution: {integrity: sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==} - dependencies: - '@floating-ui/core': 1.5.0 - '@floating-ui/utils': 0.1.4 - - /@floating-ui/utils@0.1.4: - resolution: {integrity: sha512-qprfWkn82Iw821mcKofJ5Pk9wgioHicxcQMxx+5zt5GSKoqdWvgG5AxVmpmUUjzTLPVSH5auBrhI93Deayn/DA==} - - /@humanwhocodes/config-array@0.11.11: - resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - dev: true - - /@humanwhocodes/object-schema@1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - dev: true - - /@jridgewell/gen-mapping@0.3.3: - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.19 - - /@jridgewell/resolve-uri@3.1.1: - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} - engines: {node: '>=6.0.0'} - - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - - /@jridgewell/trace-mapping@0.3.19: - resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} - dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 - - /@jridgewell/trace-mapping@0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 - - /@melt-ui/pp@0.1.2(@melt-ui/svelte@0.50.0)(svelte@4.2.1): - resolution: {integrity: sha512-GZeqp7UWLNZUC2dJpREnZrWMR88vy27WO7C3cIBz4KW3/CFD19FjNkd3VbSRfcRryrMkdnEs9nu2VUa8/0u58w==} - engines: {pnpm: '>=8.6.3'} - peerDependencies: - '@melt-ui/svelte': '>= 0.29.0' - svelte: ^3.55.0 || ^4.0.0 - dependencies: - '@melt-ui/svelte': 0.50.0(svelte@4.2.1) - svelte: 4.2.1 - dev: true - - /@melt-ui/svelte@0.41.3(svelte@4.2.1): - resolution: {integrity: sha512-zNd7Bogh9Bm0CdrjU0hAak26SVV5VSxJoaJEtJnV1ZR3KxVPDekVoG1hnin7AG0VYWPm1gKXA1uXTOi5M8XJYw==} - peerDependencies: - svelte: '>=3 <5' - dependencies: - '@floating-ui/core': 1.5.0 - '@floating-ui/dom': 1.5.3 - dequal: 2.0.3 - focus-trap: 7.5.2 - nanoid: 4.0.2 - svelte: 4.2.1 - dev: false - - /@melt-ui/svelte@0.50.0(svelte@4.2.1): - resolution: {integrity: sha512-NcWwxwStXq77/yOuBfnGkuJdUta3M4SwqZECdaRpAQ61BHI3qz7WW2ZM42JmDvGSs9W6ww2kZFNF8XNTO92CdA==} - peerDependencies: - svelte: '>=3 <5' - dependencies: - '@floating-ui/core': 1.5.0 - '@floating-ui/dom': 1.5.3 - dequal: 2.0.3 - focus-trap: 7.5.2 - nanoid: 4.0.2 - svelte: 4.2.1 - dev: true - - /@neoconfetti/svelte@1.0.0: - resolution: {integrity: sha512-SmksyaJAdSlMa9cTidVSIqYo1qti+WTsviNDwgjNVm+KQ3DRP2Df9umDIzC4vCcpEYY+chQe0i2IKnLw03AT8Q==} - dev: true - - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 - - /@polka/url@1.0.0-next.23: - resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==} - - /@prisma/client@5.3.1(prisma@5.3.1): - resolution: {integrity: sha512-ArOKjHwdFZIe1cGU56oIfy7wRuTn0FfZjGuU/AjgEBOQh+4rDkB6nF+AGHP8KaVpkBIiHGPQh3IpwQ3xDMdO0Q==} - engines: {node: '>=16.13'} - requiresBuild: true - peerDependencies: - prisma: '*' - peerDependenciesMeta: - prisma: - optional: true - dependencies: - '@prisma/engines-version': 5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59 - prisma: 5.3.1 - dev: false - - /@prisma/debug@5.3.1: - resolution: {integrity: sha512-eYrxqslEKf+wpMFIIHgbcNYuZBXUdiJLA85Or3TwOhgPIN1ZoXT9CwJph3ynW8H1Xg0LkdYLwVmuULCwiMoU5A==} - dependencies: - '@types/debug': 4.1.8 - debug: 4.3.4 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - supports-color - dev: false - - /@prisma/engines-version@5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59: - resolution: {integrity: sha512-y5qbUi3ql2Xg7XraqcXEdMHh0MocBfnBzDn5GbV1xk23S3Mq8MGs+VjacTNiBh3dtEdUERCrUUG7Z3QaJ+h79w==} - dev: false - - /@prisma/engines@5.3.1: - resolution: {integrity: sha512-6QkILNyfeeN67BNEPEtkgh3Xo2tm6D7V+UhrkBbRHqKw9CTaz/vvTP/ROwYSP/3JT2MtIutZm/EnhxUiuOPVDA==} - requiresBuild: true - - /@prisma/generator-helper@5.3.1: - resolution: {integrity: sha512-zrYS0iHLgPlOJjYnd5KvVMMvSS+ktOL39EwooS5EnyvfzwfzxlKCeOUgxTfiKYs0WUWqzEvyNAYtramYgSknsQ==} - dependencies: - '@prisma/debug': 5.3.1 - '@types/cross-spawn': 6.0.2 - cross-spawn: 7.0.3 - kleur: 4.1.5 - transitivePeerDependencies: - - supports-color - dev: false - - /@sveltejs/adapter-auto@2.1.0(@sveltejs/kit@1.25.0): - resolution: {integrity: sha512-o2pZCfATFtA/Gw/BB0Xm7k4EYaekXxaPGER3xGSY3FvzFJGTlJlZjBseaXwYSM94lZ0HniOjTokN3cWaLX6fow==} - peerDependencies: - '@sveltejs/kit': ^1.0.0 - dependencies: - '@sveltejs/kit': 1.25.0(svelte@4.2.1)(vite@4.4.9) - import-meta-resolve: 3.0.0 - dev: true - - /@sveltejs/kit@1.25.0(svelte@4.2.1)(vite@4.4.9): - resolution: {integrity: sha512-+VqMWJJYtcLoF8hYkdqY2qs/MPaawrMwA/gNBJW2o2UrcuYdNiy0ZZnjQQuPD33df/VcAulnoeyzF5ZtaajFEw==} - engines: {node: ^16.14 || >=18} - hasBin: true - requiresBuild: true - peerDependencies: - svelte: ^3.54.0 || ^4.0.0-next.0 - vite: ^4.0.0 - dependencies: - '@sveltejs/vite-plugin-svelte': 2.4.6(svelte@4.2.1)(vite@4.4.9) - '@types/cookie': 0.5.2 - cookie: 0.5.0 - devalue: 4.3.2 - esm-env: 1.0.0 - kleur: 4.1.5 - magic-string: 0.30.3 - mime: 3.0.0 - sade: 1.8.1 - set-cookie-parser: 2.6.0 - sirv: 2.0.3 - svelte: 4.2.1 - tiny-glob: 0.2.9 - undici: 5.23.0 - vite: 4.4.9(@types/node@20.6.3) - transitivePeerDependencies: - - supports-color - - /@sveltejs/vite-plugin-svelte-inspector@1.0.4(@sveltejs/vite-plugin-svelte@2.4.6)(svelte@4.2.1)(vite@4.4.9): - resolution: {integrity: sha512-zjiuZ3yydBtwpF3bj0kQNV0YXe+iKE545QGZVTaylW3eAzFr+pJ/cwK8lZEaRp4JtaJXhD5DyWAV4AxLh6DgaQ==} - engines: {node: ^14.18.0 || >= 16} - peerDependencies: - '@sveltejs/vite-plugin-svelte': ^2.2.0 - svelte: ^3.54.0 || ^4.0.0 - vite: ^4.0.0 - dependencies: - '@sveltejs/vite-plugin-svelte': 2.4.6(svelte@4.2.1)(vite@4.4.9) - debug: 4.3.4 - svelte: 4.2.1 - vite: 4.4.9(@types/node@20.6.3) - transitivePeerDependencies: - - supports-color - - /@sveltejs/vite-plugin-svelte@2.4.6(svelte@4.2.1)(vite@4.4.9): - resolution: {integrity: sha512-zO79p0+DZnXPnF0ltIigWDx/ux7Ni+HRaFOw720Qeivc1azFUrJxTl0OryXVibYNx1hCboGia1NRV3x8RNv4cA==} - engines: {node: ^14.18.0 || >= 16} - peerDependencies: - svelte: ^3.54.0 || ^4.0.0 - vite: ^4.0.0 - dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 1.0.4(@sveltejs/vite-plugin-svelte@2.4.6)(svelte@4.2.1)(vite@4.4.9) - debug: 4.3.4 - deepmerge: 4.3.1 - kleur: 4.1.5 - magic-string: 0.30.3 - svelte: 4.2.1 - svelte-hmr: 0.15.3(svelte@4.2.1) - vite: 4.4.9(@types/node@20.6.3) - vitefu: 0.2.4(vite@4.4.9) - transitivePeerDependencies: - - supports-color - - /@trpc/client@10.38.4(@trpc/server@10.38.4): - resolution: {integrity: sha512-svpZ9Iq9cnn+XfXQZF8PMt1YxAtNYeGiKZ/pGpcume7RqJrra/kWwU41gbax8d/cAg3YKUgNft9dZFKMYtXuYw==} - peerDependencies: - '@trpc/server': 10.38.4 - dependencies: - '@trpc/server': 10.38.4 - dev: false - - /@trpc/server@10.38.4: - resolution: {integrity: sha512-xSMTwnKA/Unxu5fbAkQ7cApHeWj1rTEA3XgrGDcPHn03fmeIidIKxronM46N46ZF4CCexey4JWzu89XxA16uIA==} - dev: false - - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} - - /@tsconfig/node12@1.0.11: - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - - /@tsconfig/node14@1.0.3: - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - - /@tsconfig/node16@1.0.4: - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - - /@types/cookie@0.5.2: - resolution: {integrity: sha512-DBpRoJGKJZn7RY92dPrgoMew8xCWc2P71beqsjyhEI/Ds9mOyVmBwtekyfhpwFIVt1WrxTonFifiOZ62V8CnNA==} - - /@types/cross-spawn@6.0.2: - resolution: {integrity: sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==} - dependencies: - '@types/node': 20.6.3 - dev: false - - /@types/debug@4.1.8: - resolution: {integrity: sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==} - dependencies: - '@types/ms': 0.7.31 - dev: false - - /@types/estree@1.0.1: - resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} - - /@types/image-to-base64@2.1.0: - resolution: {integrity: sha512-UgmqJVJyPIkzzI23TWqLc9iO+hZTzNoVD0rEf+I70FeKtcxxvLIlKJ5CrejkxkvDc/8/lk9yswSYZoAv8eyOYQ==} - dev: true - - /@types/json-schema@7.0.13: - resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==} - dev: true - - /@types/ms@0.7.31: - resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} - dev: false - - /@types/node@20.6.3: - resolution: {integrity: sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA==} - - /@types/pug@2.0.6: - resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} - dev: true - - /@types/semver@7.5.2: - resolution: {integrity: sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==} - dev: true - - /@typescript-eslint/eslint-plugin@6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@5.2.2): - resolution: {integrity: sha512-ooaHxlmSgZTM6CHYAFRlifqh1OAr3PAQEwi7lhYhaegbnXrnh7CDcHmc3+ihhbQC7H0i4JF0psI5ehzkF6Yl6Q==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@eslint-community/regexpp': 4.8.1 - '@typescript-eslint/parser': 6.7.2(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.7.2 - '@typescript-eslint/type-utils': 6.7.2(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.7.2(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.7.2 - debug: 4.3.4 - eslint: 8.49.0 - graphemer: 1.4.0 - ignore: 5.2.4 - natural-compare: 1.4.0 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/parser@6.7.2(eslint@8.49.0)(typescript@5.2.2): - resolution: {integrity: sha512-KA3E4ox0ws+SPyxQf9iSI25R6b4Ne78ORhNHeVKrPQnoYsb9UhieoiRoJgrzgEeKGOXhcY1i8YtOeCHHTDa6Fw==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 6.7.2 - '@typescript-eslint/types': 6.7.2 - '@typescript-eslint/typescript-estree': 6.7.2(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.7.2 - debug: 4.3.4 - eslint: 8.49.0 - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/scope-manager@6.7.2: - resolution: {integrity: sha512-bgi6plgyZjEqapr7u2mhxGR6E8WCzKNUFWNh6fkpVe9+yzRZeYtDTbsIBzKbcxI+r1qVWt6VIoMSNZ4r2A+6Yw==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.7.2 - '@typescript-eslint/visitor-keys': 6.7.2 - dev: true - - /@typescript-eslint/type-utils@6.7.2(eslint@8.49.0)(typescript@5.2.2): - resolution: {integrity: sha512-36F4fOYIROYRl0qj95dYKx6kybddLtsbmPIYNK0OBeXv2j9L5nZ17j9jmfy+bIDHKQgn2EZX+cofsqi8NPATBQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/typescript-estree': 6.7.2(typescript@5.2.2) - '@typescript-eslint/utils': 6.7.2(eslint@8.49.0)(typescript@5.2.2) - debug: 4.3.4 - eslint: 8.49.0 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/types@6.7.2: - resolution: {integrity: sha512-flJYwMYgnUNDAN9/GAI3l8+wTmvTYdv64fcH8aoJK76Y+1FCZ08RtI5zDerM/FYT5DMkAc+19E4aLmd5KqdFyg==} - engines: {node: ^16.0.0 || >=18.0.0} - dev: true - - /@typescript-eslint/typescript-estree@6.7.2(typescript@5.2.2): - resolution: {integrity: sha512-kiJKVMLkoSciGyFU0TOY0fRxnp9qq1AzVOHNeN1+B9erKFCJ4Z8WdjAkKQPP+b1pWStGFqezMLltxO+308dJTQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 6.7.2 - '@typescript-eslint/visitor-keys': 6.7.2 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/utils@6.7.2(eslint@8.49.0)(typescript@5.2.2): - resolution: {integrity: sha512-ZCcBJug/TS6fXRTsoTkgnsvyWSiXwMNiPzBUani7hDidBdj1779qwM1FIAmpH4lvlOZNF3EScsxxuGifjpLSWQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) - '@types/json-schema': 7.0.13 - '@types/semver': 7.5.2 - '@typescript-eslint/scope-manager': 6.7.2 - '@typescript-eslint/types': 6.7.2 - '@typescript-eslint/typescript-estree': 6.7.2(typescript@5.2.2) - eslint: 8.49.0 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /@typescript-eslint/visitor-keys@6.7.2: - resolution: {integrity: sha512-uVw9VIMFBUTz8rIeaUT3fFe8xIUx8r4ywAdlQv1ifH+6acn/XF8Y6rwJ7XNmkNMDrTW+7+vxFFPIF40nJCVsMQ==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.7.2 - eslint-visitor-keys: 3.4.3 - dev: true - - /acorn-jsx@5.3.2(acorn@8.10.0): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.10.0 - dev: true - - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} - engines: {node: '>=0.4.0'} - - /acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} - engines: {node: '>=0.4.0'} - hasBin: true - - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - - /any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - - /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - - /arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - - /arg@5.0.2: - resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - - /aria-query@5.3.0: - resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} - dependencies: - dequal: 2.0.3 - - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true - - /autoprefixer@10.4.16(postcss@8.4.30): - resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} - engines: {node: ^10 || ^12 || >=14} - hasBin: true - peerDependencies: - postcss: ^8.1.0 - dependencies: - browserslist: 4.21.11 - caniuse-lite: 1.0.30001538 - fraction.js: 4.3.6 - normalize-range: 0.1.2 - picocolors: 1.0.0 - postcss: 8.4.30 - postcss-value-parser: 4.2.0 - dev: true - - /axobject-query@3.2.1: - resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} - dependencies: - dequal: 2.0.3 - - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - - /bits-ui@0.5.7(svelte@4.2.1): - resolution: {integrity: sha512-ixGAWfZSQVaqzf+jQaPNs8ZFcSs4busZg9ITaEDfbm6pptgbbxbSGRmOwtsNgQYbsSBTS4xEHSxtEyNOsnXJ0Q==} - peerDependencies: - svelte: ^4.0.0 - dependencies: - '@melt-ui/svelte': 0.41.3(svelte@4.2.1) - nanoid: 4.0.2 - svelte: 4.2.1 - dev: false - - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - - /browserslist@4.21.11: - resolution: {integrity: sha512-xn1UXOKUz7DjdGlg9RrUr0GGiWzI97UQJnugHtH0OLDfJB7jMgoIkYvRIEO1l9EeEERVqeqLYOcFBW9ldjypbQ==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001538 - electron-to-chromium: 1.4.527 - node-releases: 2.0.13 - update-browserslist-db: 1.0.13(browserslist@4.21.11) - dev: true - - /buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - dev: true - - /busboy@1.6.0: - resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} - engines: {node: '>=10.16.0'} - dependencies: - streamsearch: 1.1.0 - - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true - - /camelcase-css@2.0.1: - resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} - engines: {node: '>= 6'} - - /caniuse-lite@1.0.30001538: - resolution: {integrity: sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw==} - dev: true - - /carbon-components@10.58.10: - resolution: {integrity: sha512-RnTFB5s27rTKiGELIZVF72CKCFNy6Mz3x4cU6wVifbgjYKRDVlFCyXsmo56pNIhfGi5LPFHfLl/+sc/+ImkOsg==} - requiresBuild: true - dependencies: - '@carbon/telemetry': 0.1.0 - flatpickr: 4.6.1 - lodash.debounce: 4.0.8 - warning: 3.0.0 - dev: false - - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - - /clsx@2.0.0: - resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==} - engines: {node: '>=6'} - dev: false - - /code-block-writer@12.0.0: - resolution: {integrity: sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==} - dev: false - - /code-red@1.0.4: - resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - '@types/estree': 1.0.1 - acorn: 8.10.0 - estree-walker: 3.0.3 - periscopic: 3.1.0 - - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - - /colord@2.9.3: - resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} - dev: true - - /commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - dev: false - - /commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} - - /commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} - dev: false - - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - - /cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} - engines: {node: '>= 0.6'} - - /copy-anything@3.0.5: - resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} - engines: {node: '>=12.13'} - dependencies: - is-what: 4.1.15 - dev: false - - /create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - /cryptr@6.3.0: - resolution: {integrity: sha512-TA4byAuorT8qooU9H8YJhBwnqD151i1rcauHfJ3Divg6HmukHB2AYMp0hmjv2873J2alr4t15QqC7zAnWFrtfQ==} - dev: false - - /css-selector-tokenizer@0.8.0: - resolution: {integrity: sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==} - dependencies: - cssesc: 3.0.0 - fastparse: 1.1.2 - dev: true - - /css-tree@2.3.1: - resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - dependencies: - mdn-data: 2.0.30 - source-map-js: 1.0.2 - - /cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true - - /d3-array@2.12.1: - resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} - dependencies: - internmap: 1.0.1 - dev: false - - /d3-array@3.2.4: - resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} - engines: {node: '>=12'} - dependencies: - internmap: 2.0.3 - dev: false - - /d3-axis@3.0.0: - resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} - engines: {node: '>=12'} - dev: false - - /d3-brush@3.0.0: - resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} - engines: {node: '>=12'} - dependencies: - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) - dev: false - - /d3-chord@3.0.1: - resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} - engines: {node: '>=12'} - dependencies: - d3-path: 3.1.0 - dev: false - - /d3-cloud@1.2.7: - resolution: {integrity: sha512-8TrgcgwRIpoZYQp7s3fGB7tATWfhckRb8KcVd1bOgqkNdkJRDGWfdSf4HkHHzZxSczwQJdSxvfPudwir5IAJ3w==} - dependencies: - d3-dispatch: 1.0.6 - dev: false - - /d3-color@3.1.0: - resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} - engines: {node: '>=12'} - dev: false - - /d3-contour@4.0.2: - resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} - engines: {node: '>=12'} - dependencies: - d3-array: 3.2.4 - dev: false - - /d3-delaunay@6.0.4: - resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} - engines: {node: '>=12'} - dependencies: - delaunator: 5.0.0 - dev: false - - /d3-dispatch@1.0.6: - resolution: {integrity: sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==} - dev: false - - /d3-dispatch@3.0.1: - resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} - engines: {node: '>=12'} - dev: false - - /d3-drag@3.0.0: - resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} - engines: {node: '>=12'} - dependencies: - d3-dispatch: 3.0.1 - d3-selection: 3.0.0 - dev: false - - /d3-dsv@3.0.1: - resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} - engines: {node: '>=12'} - hasBin: true - dependencies: - commander: 7.2.0 - iconv-lite: 0.6.3 - rw: 1.3.3 - dev: false - - /d3-ease@3.0.1: - resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} - engines: {node: '>=12'} - dev: false - - /d3-fetch@3.0.1: - resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} - engines: {node: '>=12'} - dependencies: - d3-dsv: 3.0.1 - dev: false - - /d3-force@3.0.0: - resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} - engines: {node: '>=12'} - dependencies: - d3-dispatch: 3.0.1 - d3-quadtree: 3.0.1 - d3-timer: 3.0.1 - dev: false - - /d3-format@3.1.0: - resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} - engines: {node: '>=12'} - dev: false - - /d3-geo@3.1.0: - resolution: {integrity: sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==} - engines: {node: '>=12'} - dependencies: - d3-array: 3.2.4 - dev: false - - /d3-hierarchy@3.1.2: - resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} - engines: {node: '>=12'} - dev: false - - /d3-interpolate@3.0.1: - resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} - engines: {node: '>=12'} - dependencies: - d3-color: 3.1.0 - dev: false - - /d3-path@1.0.9: - resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} - dev: false - - /d3-path@3.1.0: - resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} - engines: {node: '>=12'} - dev: false - - /d3-polygon@3.0.1: - resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} - engines: {node: '>=12'} - dev: false - - /d3-quadtree@3.0.1: - resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} - engines: {node: '>=12'} - dev: false - - /d3-random@3.0.1: - resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} - engines: {node: '>=12'} - dev: false - - /d3-sankey@0.12.3: - resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} - dependencies: - d3-array: 2.12.1 - d3-shape: 1.3.7 - dev: false - - /d3-scale-chromatic@3.0.0: - resolution: {integrity: sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==} - engines: {node: '>=12'} - dependencies: - d3-color: 3.1.0 - d3-interpolate: 3.0.1 - dev: false - - /d3-scale@4.0.2: - resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} - engines: {node: '>=12'} - dependencies: - d3-array: 3.2.4 - d3-format: 3.1.0 - d3-interpolate: 3.0.1 - d3-time: 3.1.0 - d3-time-format: 4.1.0 - dev: false - - /d3-selection@3.0.0: - resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} - engines: {node: '>=12'} - dev: false - - /d3-shape@1.3.7: - resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} - dependencies: - d3-path: 1.0.9 - dev: false - - /d3-shape@3.2.0: - resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} - engines: {node: '>=12'} - dependencies: - d3-path: 3.1.0 - dev: false - - /d3-time-format@4.1.0: - resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} - engines: {node: '>=12'} - dependencies: - d3-time: 3.1.0 - dev: false - - /d3-time@3.1.0: - resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} - engines: {node: '>=12'} - dependencies: - d3-array: 3.2.4 - dev: false - - /d3-timer@3.0.1: - resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} - engines: {node: '>=12'} - dev: false - - /d3-transition@3.0.1(d3-selection@3.0.0): - resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} - engines: {node: '>=12'} - peerDependencies: - d3-selection: 2 - 3 - dependencies: - d3-color: 3.1.0 - d3-dispatch: 3.0.1 - d3-ease: 3.0.1 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-timer: 3.0.1 - dev: false - - /d3-zoom@3.0.0: - resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} - engines: {node: '>=12'} - dependencies: - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) - dev: false - - /d3@7.8.5: - resolution: {integrity: sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==} - engines: {node: '>=12'} - dependencies: - d3-array: 3.2.4 - d3-axis: 3.0.0 - d3-brush: 3.0.0 - d3-chord: 3.0.1 - d3-color: 3.1.0 - d3-contour: 4.0.2 - d3-delaunay: 6.0.4 - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-dsv: 3.0.1 - d3-ease: 3.0.1 - d3-fetch: 3.0.1 - d3-force: 3.0.0 - d3-format: 3.1.0 - d3-geo: 3.1.0 - d3-hierarchy: 3.1.2 - d3-interpolate: 3.0.1 - d3-path: 3.1.0 - d3-polygon: 3.0.1 - d3-quadtree: 3.0.1 - d3-random: 3.0.1 - d3-scale: 4.0.2 - d3-scale-chromatic: 3.0.0 - d3-selection: 3.0.0 - d3-shape: 3.2.0 - d3-time: 3.1.0 - d3-time-format: 4.1.0 - d3-timer: 3.0.1 - d3-transition: 3.0.1(d3-selection@3.0.0) - d3-zoom: 3.0.0 - dev: false - - /daisyui@3.8.0(ts-node@10.9.1): - resolution: {integrity: sha512-VsWD//XlHkOBFSiRNTOZTxTJ/W8xI65erowErfbDWrPTkMYqf0ee/FTaqn4rquZoCcumENdFegAL8eELMnztxQ==} - engines: {node: '>=16.9.0'} - dependencies: - colord: 2.9.3 - css-selector-tokenizer: 0.8.0 - postcss: 8.4.30 - postcss-js: 4.0.1(postcss@8.4.30) - tailwindcss: 3.3.3(ts-node@10.9.1) - transitivePeerDependencies: - - ts-node - dev: true - - /date-fns@2.30.0: - resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} - engines: {node: '>=0.11'} - dependencies: - '@babel/runtime': 7.22.15 - dev: false - - /date-picker-svelte@2.6.0(svelte@4.2.1): - resolution: {integrity: sha512-xTzF1GTuAB1/NgDgM+no1y2raAfyZAMFtgEvrlL1VcHJYweggFoCK+1LHfMnVu4cJPLtC+NCRLThCMb/pu1xsg==} - peerDependencies: - svelte: ^3.24.0 || ^4.0.0 - dependencies: - svelte: 4.2.1 - dev: true - - /dayjs@1.11.10: - resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} - dev: true - - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - - /deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - - /delaunator@5.0.0: - resolution: {integrity: sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==} - dependencies: - robust-predicates: 3.0.2 - dev: false - - /dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} - - /detect-indent@6.1.0: - resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} - engines: {node: '>=8'} - dev: true - - /devalue@4.3.2: - resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==} - - /didyoumean@1.2.2: - resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - - /diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 - dev: true - - /dlv@1.1.3: - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true - - /electron-to-chromium@1.4.527: - resolution: {integrity: sha512-EafxEiEDzk2aLrdbtVczylHflHdHkNrpGNHIgDyA63sUQLQVS2ayj2hPw3RsVB42qkwURH+T2OxV7kGPUuYszA==} - dev: true - - /es6-promise@3.3.1: - resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} - dev: true - - /esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 - - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} - dev: true - - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true - - /eslint-config-prettier@8.10.0(eslint@8.49.0): - resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - dependencies: - eslint: 8.49.0 - dev: true - - /eslint-plugin-svelte@2.33.2(eslint@8.49.0)(svelte@4.2.1)(ts-node@10.9.1): - resolution: {integrity: sha512-knWmauax+E/jvQ9CmuX5dAhQKP9P4eGQZxWa5RMutEJVCcy0wFmiUvOeDND2jR4vUkbDlX4khKjaceY7QzbkYw==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0-0 - svelte: ^3.37.0 || ^4.0.0 - peerDependenciesMeta: - svelte: - optional: true - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) - '@jridgewell/sourcemap-codec': 1.4.15 - debug: 4.3.4 - eslint: 8.49.0 - esutils: 2.0.3 - known-css-properties: 0.28.0 - postcss: 8.4.30 - postcss-load-config: 3.1.4(postcss@8.4.30)(ts-node@10.9.1) - postcss-safe-parser: 6.0.0(postcss@8.4.30) - postcss-selector-parser: 6.0.13 - semver: 7.5.4 - svelte: 4.2.1 - svelte-eslint-parser: 0.33.0(svelte@4.2.1) - transitivePeerDependencies: - - supports-color - - ts-node - dev: true - - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /eslint@8.49.0: - resolution: {integrity: sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) - '@eslint-community/regexpp': 4.8.1 - '@eslint/eslintrc': 2.1.2 - '@eslint/js': 8.49.0 - '@humanwhocodes/config-array': 0.11.11 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.22.0 - graphemer: 1.4.0 - ignore: 5.2.4 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.3 - strip-ansi: 6.0.1 - text-table: 0.2.0 - transitivePeerDependencies: - - supports-color - dev: true - - /esm-env@1.0.0: - resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==} - - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.10.0 - acorn-jsx: 5.3.2(acorn@8.10.0) - eslint-visitor-keys: 3.4.3 - dev: true - - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true - - /estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - dependencies: - '@types/estree': 1.0.1 - - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true - - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true - - /fast-glob@3.3.1: - resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true - - /fastparse@1.1.2: - resolution: {integrity: sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==} - dev: true - - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} - dependencies: - reusify: 1.0.4 - - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flat-cache: 3.1.0 - dev: true - - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - - /flat-cache@3.1.0: - resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==} - engines: {node: '>=12.0.0'} - dependencies: - flatted: 3.2.9 - keyv: 4.5.3 - rimraf: 3.0.2 - dev: true - - /flatpickr@4.6.1: - resolution: {integrity: sha512-3ULSxbXmcMIRzer/2jLNweoqHpwDvsjEawO2FUd9UFR8uPwLM+LruZcPDpuZStcEgbQKhuFOfXo4nYdGladSNw==} - dev: false - - /flatted@3.2.9: - resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} - dev: true - - /focus-trap@7.5.2: - resolution: {integrity: sha512-p6vGNNWLDGwJCiEjkSK6oERj/hEyI9ITsSwIUICBoKLlWiTWXJRfQibCwcoi50rTZdbi87qDtUlMCmQwsGSgPw==} - dependencies: - tabbable: 6.2.0 - - /formsnap@0.1.3(svelte@4.2.1)(sveltekit-superforms@1.7.2)(zod@3.22.2): - resolution: {integrity: sha512-mJGVt3deFsyQE/sBllySOpTtyr2IuMe1zDVOecKrzaJCPa7ygq+L2jK5kTVc40hkvgXtjjbY3PWdxuxkpsaEzw==} - peerDependencies: - svelte: ^4.0.0 - sveltekit-superforms: ^1.6.1 - zod: ^3.22.2 - dependencies: - svelte: 4.2.1 - sveltekit-superforms: 1.7.2(@sveltejs/kit@1.25.0)(svelte@4.2.1)(zod@3.22.2) - zod: 3.22.2 - dev: false - - /fraction.js@4.3.6: - resolution: {integrity: sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==} - dev: true - - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - optional: true - - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - dependencies: - is-glob: 4.0.3 - - /glob@7.1.6: - resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /globals@13.22.0: - resolution: {integrity: sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true - - /globalyzer@0.1.0: - resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} - - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.1 - ignore: 5.2.4 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - - /globrex@0.1.2: - resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} - - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true - - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true - - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - - /html-to-image@1.11.11: - resolution: {integrity: sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==} - dev: false - - /iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 - dev: false - - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} - dev: true - - /image-to-base64@2.2.0: - resolution: {integrity: sha512-Z+aMwm/91UOQqHhrz7Upre2ytKhWejZlWV/JxUTD1sT7GWWKFDJUEV5scVQKnkzSgPHFuQBUEWcanO+ma0PSVw==} - dependencies: - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding - dev: false - - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /import-meta-resolve@3.0.0: - resolution: {integrity: sha512-4IwhLhNNA8yy445rPjD/lWh++7hMDOml2eHtd58eG7h+qK3EryMuuRbsHGPikCoAgIkkDnckKfWSk2iDla/ejg==} - dev: true - - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - dev: true - - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - /internmap@1.0.1: - resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} - dev: false - - /internmap@2.0.3: - resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} - engines: {node: '>=12'} - dev: false - - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - - /is-core-module@2.13.0: - resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} - dependencies: - has: 1.0.3 - - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true - - /is-reference@3.0.2: - resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} - dependencies: - '@types/estree': 1.0.1 - - /is-what@4.1.15: - resolution: {integrity: sha512-uKua1wfy3Yt+YqsD6mTUEa2zSi3G1oPlqTflgaPJ7z63vUGN5pxFpnQfeSLMFnJDEsdvOtkp1rUWkYjB4YfhgA==} - engines: {node: '>=12.13'} - dev: false - - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - /jiti@1.20.0: - resolution: {integrity: sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==} - hasBin: true - - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: false - - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true - - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true - - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true - - /just-throttle@2.3.1: - resolution: {integrity: sha512-0H4miIAWZYpnpg7oD/Y/PBb77ISSHAETif5xK9EnwIgYCO6oC8ErkJxDumMUTR44shSOwptRIArRuvNuvN/hOw==} - dev: true - - /keyv@4.5.3: - resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} - dependencies: - json-buffer: 3.0.1 - dev: true - - /kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} - - /known-css-properties@0.28.0: - resolution: {integrity: sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ==} - dev: true - - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /lilconfig@2.1.0: - resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} - engines: {node: '>=10'} - - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - - /locate-character@3.0.0: - resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} - - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - dependencies: - p-locate: 5.0.0 - dev: true - - /lodash-es@4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - dev: false - - /lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - dev: false - - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true - - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: false - - /loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true - dependencies: - js-tokens: 4.0.0 - dev: false - - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - dev: true - - /lucide-svelte@0.279.0(svelte@4.2.1): - resolution: {integrity: sha512-u9j8tMPxWsv5iXJvrUU/jpyML/k49flr7440UE8QM9V3u0OZt5+qaY5TMiPDTVRMdEELBg4d4ueW1+3Mo3VT4A==} - peerDependencies: - svelte: '>=3 <5' - dependencies: - svelte: 4.2.1 - dev: false - - /magic-string@0.27.0: - resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /magic-string@0.30.3: - resolution: {integrity: sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - - /make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - - /mdn-data@2.0.30: - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - - /mime@3.0.0: - resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} - engines: {node: '>=10.0.0'} - hasBin: true - - /min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - dev: true - - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 - - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true - - /mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true - dependencies: - minimist: 1.2.8 - dev: true - - /mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} - - /mrmime@1.0.1: - resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} - engines: {node: '>=10'} - - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - - /mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 - - /nanoid@3.3.6: - resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - /nanoid@4.0.2: - resolution: {integrity: sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==} - engines: {node: ^14 || ^16 || >=18} - hasBin: true - - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true - - /node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - dev: false - - /node-releases@2.0.13: - resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} - dev: true - - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - /normalize-range@0.1.2: - resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} - engines: {node: '>=0.10.0'} - dev: true - - /object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - - /object-hash@3.0.0: - resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} - engines: {node: '>= 6'} - - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} - dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - dependencies: - yocto-queue: 0.1.0 - dev: true - - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - dependencies: - p-limit: 3.1.0 - dev: true - - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - dependencies: - callsites: 3.1.0 - dev: true - - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true - - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true - - /periscopic@3.1.0: - resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} - dependencies: - '@types/estree': 1.0.1 - estree-walker: 3.0.3 - is-reference: 3.0.2 - - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - /pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - - /pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} - - /postcss-import@15.1.0(postcss@8.4.30): - resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} - engines: {node: '>=14.0.0'} - peerDependencies: - postcss: ^8.0.0 - dependencies: - postcss: 8.4.30 - postcss-value-parser: 4.2.0 - read-cache: 1.0.0 - resolve: 1.22.6 - - /postcss-js@4.0.1(postcss@8.4.30): - resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} - engines: {node: ^12 || ^14 || >= 16} - peerDependencies: - postcss: ^8.4.21 - dependencies: - camelcase-css: 2.0.1 - postcss: 8.4.30 - - /postcss-load-config@3.1.4(postcss@8.4.30)(ts-node@10.9.1): - resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} - engines: {node: '>= 10'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - dependencies: - lilconfig: 2.1.0 - postcss: 8.4.30 - ts-node: 10.9.1(@types/node@20.6.3)(typescript@5.2.2) - yaml: 1.10.2 - dev: true - - /postcss-load-config@4.0.1(postcss@8.4.30)(ts-node@10.9.1): - resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} - engines: {node: '>= 14'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - dependencies: - lilconfig: 2.1.0 - postcss: 8.4.30 - ts-node: 10.9.1(@types/node@20.6.3)(typescript@5.2.2) - yaml: 2.3.2 - - /postcss-nested@6.0.1(postcss@8.4.30): - resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.2.14 - dependencies: - postcss: 8.4.30 - postcss-selector-parser: 6.0.13 - - /postcss-safe-parser@6.0.0(postcss@8.4.30): - resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.3.3 - dependencies: - postcss: 8.4.30 - dev: true - - /postcss-scss@4.0.8(postcss@8.4.30): - resolution: {integrity: sha512-Cr0X8Eu7xMhE96PJck6ses/uVVXDtE5ghUTKNUYgm8ozgP2TkgV3LWs3WgLV1xaSSLq8ZFiXaUrj0LVgG1fGEA==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.4.29 - dependencies: - postcss: 8.4.30 - dev: true - - /postcss-selector-parser@6.0.13: - resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} - engines: {node: '>=4'} - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - - /postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - - /postcss@8.4.30: - resolution: {integrity: sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.6 - picocolors: 1.0.0 - source-map-js: 1.0.2 - - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true - - /prettier-plugin-svelte@2.10.1(prettier@2.8.8)(svelte@4.2.1): - resolution: {integrity: sha512-Wlq7Z5v2ueCubWo0TZzKc9XHcm7TDxqcuzRuGd0gcENfzfT4JZ9yDlCbEgxWgiPmLHkBjfOtpAWkcT28MCDpUQ==} - peerDependencies: - prettier: ^1.16.4 || ^2.0.0 - svelte: ^3.2.0 || ^4.0.0-next.0 - dependencies: - prettier: 2.8.8 - svelte: 4.2.1 - dev: true - - /prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: true - - /prisma@5.3.1: - resolution: {integrity: sha512-Wp2msQIlMPHe+5k5Od6xnsI/WNG7UJGgFUJgqv/ygc7kOECZapcSz/iU4NIEzISs3H1W9sFLjAPbg/gOqqtB7A==} - engines: {node: '>=16.13'} - hasBin: true - requiresBuild: true - dependencies: - '@prisma/engines': 5.3.1 - - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} - dev: true - - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - /read-cache@1.0.0: - resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} - dependencies: - pify: 2.3.0 - - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - - /regenerator-runtime@0.14.0: - resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} - dev: false - - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true - - /resolve@1.22.6: - resolution: {integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==} - hasBin: true - dependencies: - is-core-module: 2.13.0 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - /rimraf@2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - - /robust-predicates@3.0.2: - resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - dev: false - - /rollup@3.29.2: - resolution: {integrity: sha512-CJouHoZ27v6siztc21eEQGo0kIcE5D1gVPA571ez0mMYb25LGYGKnVNXpEj5MGlepmDWGXNjDB5q7uNiPHC11A==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.3 - - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - dependencies: - queue-microtask: 1.2.3 - - /rw@1.3.3: - resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} - dev: false - - /sade@1.8.1: - resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} - engines: {node: '>=6'} - dependencies: - mri: 1.2.0 - - /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: false - - /sander@0.5.1: - resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==} - dependencies: - es6-promise: 3.3.1 - graceful-fs: 4.2.11 - mkdirp: 0.5.6 - rimraf: 2.7.1 - dev: true - - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /set-cookie-parser@2.6.0: - resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} - - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - /sirv@2.0.3: - resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} - engines: {node: '>= 10'} - dependencies: - '@polka/url': 1.0.0-next.23 - mrmime: 1.0.1 - totalist: 3.0.1 - - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true - - /sorcery@0.11.0: - resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==} - hasBin: true - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - buffer-crc32: 0.2.13 - minimist: 1.2.8 - sander: 0.5.1 - dev: true - - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - - /streamsearch@1.1.0: - resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} - engines: {node: '>=10.0.0'} - - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - - /strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} - dependencies: - min-indent: 1.0.1 - dev: true - - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true - - /sucrase@3.34.0: - resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} - engines: {node: '>=8'} - hasBin: true - dependencies: - '@jridgewell/gen-mapping': 0.3.3 - commander: 4.1.1 - glob: 7.1.6 - lines-and-columns: 1.2.4 - mz: 2.7.0 - pirates: 4.0.6 - ts-interface-checker: 0.1.13 - - /superjson@1.13.3: - resolution: {integrity: sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==} - engines: {node: '>=10'} - dependencies: - copy-anything: 3.0.5 - dev: false - - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - /svelte-calendar@3.1.6: - resolution: {integrity: sha512-jOHiPlxBAa1LGVFQZoczdAGnCSI2RKcuQQHj32TjLbXO/P2Povx4JphPEcP7XjKj/s/jimBC6xQyFhyjD0vxbg==} - dependencies: - dayjs: 1.11.10 - just-throttle: 2.3.1 - dev: true - - /svelte-check@3.5.2(postcss@8.4.30)(svelte@4.2.1): - resolution: {integrity: sha512-5a/YWbiH4c+AqAUP+0VneiV5bP8YOk9JL3jwvN+k2PEPLgpu85bjQc5eE67+eIZBBwUEJzmO3I92OqKcqbp3fw==} - hasBin: true - peerDependencies: - svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 - dependencies: - '@jridgewell/trace-mapping': 0.3.19 - chokidar: 3.5.3 - fast-glob: 3.3.1 - import-fresh: 3.3.0 - picocolors: 1.0.0 - sade: 1.8.1 - svelte: 4.2.1 - svelte-preprocess: 5.0.4(postcss@8.4.30)(svelte@4.2.1)(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - '@babel/core' - - coffeescript - - less - - postcss - - postcss-load-config - - pug - - sass - - stylus - - sugarss - dev: true - - /svelte-eslint-parser@0.33.0(svelte@4.2.1): - resolution: {integrity: sha512-5awZ6Bs+Tb/zQwa41PSdcLynAVQTwW0HGyCBjtbAQ59taLZqDgQSMzRlDmapjZdDtzERm0oXDZNE0E+PKJ6ryg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - svelte: ^3.37.0 || ^4.0.0 - peerDependenciesMeta: - svelte: - optional: true - dependencies: - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - postcss: 8.4.30 - postcss-scss: 4.0.8(postcss@8.4.30) - svelte: 4.2.1 - dev: true - - /svelte-hmr@0.15.3(svelte@4.2.1): - resolution: {integrity: sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==} - engines: {node: ^12.20 || ^14.13.1 || >= 16} - peerDependencies: - svelte: ^3.19.0 || ^4.0.0 - dependencies: - svelte: 4.2.1 - - /svelte-preprocess@5.0.4(postcss@8.4.30)(svelte@4.2.1)(typescript@5.2.2): - resolution: {integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==} - engines: {node: '>= 14.10.0'} - requiresBuild: true - peerDependencies: - '@babel/core': ^7.10.2 - coffeescript: ^2.5.1 - less: ^3.11.3 || ^4.0.0 - postcss: ^7 || ^8 - postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 - pug: ^3.0.0 - sass: ^1.26.8 - stylus: ^0.55.0 - sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 - svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 - typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0' - peerDependenciesMeta: - '@babel/core': - optional: true - coffeescript: - optional: true - less: - optional: true - postcss: - optional: true - postcss-load-config: - optional: true - pug: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - typescript: - optional: true - dependencies: - '@types/pug': 2.0.6 - detect-indent: 6.1.0 - magic-string: 0.27.0 - postcss: 8.4.30 - sorcery: 0.11.0 - strip-indent: 3.0.0 - svelte: 4.2.1 - typescript: 5.2.2 - dev: true - - /svelte-sequential-preprocessor@2.0.1: - resolution: {integrity: sha512-N5JqlBni6BzElxmuFrOPxOJnjsxh1cFDACLEVKs8OHBcx8ZNRO1p5SxuQex1m3qbLzAC8G99EHeWcxGkjyKjLQ==} - engines: {node: '>=16'} - dependencies: - svelte: 4.2.1 - tslib: 2.6.2 - dev: true - - /svelte-steps@2.4.1: - resolution: {integrity: sha512-2Xq2lLcGJf3PaEY46f1w5s+/O+tLl4U2V+Z+sCeoUm/kEPFXeZP/aFr2JVKwdzSlXCT+raz75xqXtnZrPWJ0zA==} - dev: false - - /svelte@4.2.1: - resolution: {integrity: sha512-LpLqY2Jr7cRxkrTc796/AaaoMLF/1ax7cto8Ot76wrvKQhrPmZ0JgajiWPmg9mTSDqO16SSLiD17r9MsvAPTmw==} - engines: {node: '>=16'} - dependencies: - '@ampproject/remapping': 2.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.19 - acorn: 8.10.0 - aria-query: 5.3.0 - axobject-query: 3.2.1 - code-red: 1.0.4 - css-tree: 2.3.1 - estree-walker: 3.0.3 - is-reference: 3.0.2 - locate-character: 3.0.0 - magic-string: 0.30.3 - periscopic: 3.1.0 - - /sveltekit-superforms@1.7.2(@sveltejs/kit@1.25.0)(svelte@4.2.1)(zod@3.22.2): - resolution: {integrity: sha512-3zhMynkNWCQF+af2NlsVhi5n03+NEnPy0jzL7EVO3aiYDlJ/9LY1GNI09Mac5UVlJDPS00oB8q3qQUhZSX/gSg==} - peerDependencies: - '@sveltejs/kit': 1.x - svelte: 3.x || 4.x - zod: 3.x - dependencies: - '@sveltejs/kit': 1.25.0(svelte@4.2.1)(vite@4.4.9) - svelte: 4.2.1 - zod: 3.22.2 - dev: false - - /tabbable@6.2.0: - resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - - /tailwind-merge@1.14.0: - resolution: {integrity: sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==} - dev: false - - /tailwind-variants@0.1.14(tailwindcss@3.3.3): - resolution: {integrity: sha512-qfOkSGP+cSolTTkJboldGmiM+w5uE77pazCRkwixEBsuaml9CmhN0E8qgH7QnZNmOTVSsgRK1tn/MsKOvOKVWA==} - engines: {node: '>=16.x', pnpm: '>=7.x'} - peerDependencies: - tailwindcss: '*' - dependencies: - tailwind-merge: 1.14.0 - tailwindcss: 3.3.3(ts-node@10.9.1) - dev: false - - /tailwindcss@3.3.3(ts-node@10.9.1): - resolution: {integrity: sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==} - engines: {node: '>=14.0.0'} - hasBin: true - dependencies: - '@alloc/quick-lru': 5.2.0 - arg: 5.0.2 - chokidar: 3.5.3 - didyoumean: 1.2.2 - dlv: 1.1.3 - fast-glob: 3.3.1 - glob-parent: 6.0.2 - is-glob: 4.0.3 - jiti: 1.20.0 - lilconfig: 2.1.0 - micromatch: 4.0.5 - normalize-path: 3.0.0 - object-hash: 3.0.0 - picocolors: 1.0.0 - postcss: 8.4.30 - postcss-import: 15.1.0(postcss@8.4.30) - postcss-js: 4.0.1(postcss@8.4.30) - postcss-load-config: 4.0.1(postcss@8.4.30)(ts-node@10.9.1) - postcss-nested: 6.0.1(postcss@8.4.30) - postcss-selector-parser: 6.0.13 - resolve: 1.22.6 - sucrase: 3.34.0 - transitivePeerDependencies: - - ts-node - - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true - - /thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} - dependencies: - thenify: 3.3.1 - - /thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - dependencies: - any-promise: 1.3.0 - - /tiny-glob@0.2.9: - resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} - dependencies: - globalyzer: 0.1.0 - globrex: 0.1.2 - - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - - /topojson-client@3.1.0: - resolution: {integrity: sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==} - hasBin: true - dependencies: - commander: 2.20.3 - dev: false - - /totalist@3.0.1: - resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} - engines: {node: '>=6'} - - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: false - - /ts-api-utils@1.0.3(typescript@5.2.2): - resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} - engines: {node: '>=16.13.0'} - peerDependencies: - typescript: '>=4.2.0' - dependencies: - typescript: 5.2.2 - dev: true - - /ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - - /ts-node@10.9.1(@types/node@20.6.3)(typescript@5.2.2): - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 20.6.3 - acorn: 8.10.0 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.2.2 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - dev: true - - /typescript@5.2.2: - resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} - engines: {node: '>=14.17'} - hasBin: true - - /undici@5.23.0: - resolution: {integrity: sha512-1D7w+fvRsqlQ9GscLBwcAJinqcZGHUKjbOmXdlE/v8BvEGXjeWAax+341q44EuTcHXXnfyKNbKRq4Lg7OzhMmg==} - engines: {node: '>=14.0'} - dependencies: - busboy: 1.6.0 - - /update-browserslist-db@1.0.13(browserslist@4.21.11): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.21.11 - escalade: 3.1.1 - picocolors: 1.0.0 - dev: true - - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.3.0 - dev: true - - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - /v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - - /vite@4.4.9(@types/node@20.6.3): - resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 20.6.3 - esbuild: 0.18.20 - postcss: 8.4.30 - rollup: 3.29.2 - optionalDependencies: - fsevents: 2.3.3 - - /vitefu@0.2.4(vite@4.4.9): - resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} - peerDependencies: - vite: ^3.0.0 || ^4.0.0 - peerDependenciesMeta: - vite: - optional: true - dependencies: - vite: 4.4.9(@types/node@20.6.3) - - /warning@3.0.0: - resolution: {integrity: sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==} - dependencies: - loose-envify: 1.4.0 - dev: false - - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: false - - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - dev: false - - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true - - /yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} - dev: true - - /yaml@2.3.2: - resolution: {integrity: sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==} - engines: {node: '>= 14'} - - /yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true - - /zod-prisma-types@2.7.9: - resolution: {integrity: sha512-JgPN32d/Wm6/E61oHXek2jDT6VxBpKVPmLom7585SmdCyj+xb+OAg8O3G0BLU+gWNiC+Eyt3blo1S/8W9sIaxA==} - hasBin: true - dependencies: - '@prisma/generator-helper': 5.3.1 - code-block-writer: 12.0.0 - lodash: 4.17.21 - zod: 3.22.2 - transitivePeerDependencies: - - supports-color - dev: false - - /zod@3.22.2: - resolution: {integrity: sha512-wvWkphh5WQsJbVk1tbx1l1Ly4yg+XecD+Mq280uBGt9wa5BKSWf4Mhp6GmrkPixhMxmabYY7RbzlwVP32pbGCg==} - dev: false diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 058054b..a76fec3 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -23,34 +23,24 @@ model Medical_Accounts { } model Donators { - id String @id @unique @default(cuid()) - medical_account_id String - image_src String? - first_name String - last_name String - phone_number String @unique - gender Gender - dob DateTime - address String - email String? @unique - password String - reward_point Int @default(0) - created_at DateTime @default(now()) - updated_at DateTime @updatedAt - Medical_Account Medical_Accounts @relation(fields: [medical_account_id], references: [id]) - Redemption_History Redemption_History[] - Reservations Reservations[] - Reward_Transactions Reward_Transactions[] - Session Session[] -} - -model Reward_Transactions { - id String @id @unique @default(cuid()) - donator_id String - points Int - created_at DateTime @default(now()) - updated_at DateTime @updatedAt - Donator Donators @relation(fields: [donator_id], references: [id]) + id String @id @unique @default(cuid()) + medical_account_id String + image_src String? + first_name String + last_name String + phone_number String @unique + gender Gender + dob DateTime + address String + email String? @unique + password String + reward_point Int @default(0) + created_at DateTime @default(now()) + updated_at DateTime @updatedAt + Medical_Account Medical_Accounts @relation(fields: [medical_account_id], references: [id]) + Redemption_History Redemption_History[] + Reservations Reservations[] + Session Session[] } model Redemption_History { diff --git a/src/app.html b/src/app.html index effe0d0..9613bd5 100644 --- a/src/app.html +++ b/src/app.html @@ -6,7 +6,7 @@ %sveltekit.head% - +
%sveltekit.body%
diff --git a/src/lib/components/svelte/dialog/RewardDetails.svelte b/src/lib/components/svelte/dialog/RewardDetails.svelte index 63d204c..ebc2f9c 100644 --- a/src/lib/components/svelte/dialog/RewardDetails.svelte +++ b/src/lib/components/svelte/dialog/RewardDetails.svelte @@ -51,7 +51,7 @@ title="ยืนยันการแลกของรางวัลหรือไม่ ?" description={`แต้มสะสมของคุณจะถูกหักจำนวน: ${$selectedReward.rewardData.required_points.toLocaleString( 'en' - )} แต้ม เพื่อปลกของรางวัลชิ้นนี้ ยืนยันที่จะดำเนินการต่อหรือไม่ ?`} + )} แต้ม เพื่อแลกของรางวัลชิ้นนี้ ยืนยันที่จะดำเนินการต่อหรือไม่ ?`} actionLabel="แลกของรางวัล" secondaryLabel="ยกเลิก" onAction={() => { diff --git a/src/lib/components/svelte/navbar/BottomNavBar.svelte b/src/lib/components/svelte/navbar/BottomNavBar.svelte index 06fc9db..1c4eee6 100644 --- a/src/lib/components/svelte/navbar/BottomNavBar.svelte +++ b/src/lib/components/svelte/navbar/BottomNavBar.svelte @@ -11,39 +11,43 @@ const handleRouteChange = (route: string) => { currentRoute.set(route); - goto(route); + // goto(route); }; diff --git a/src/lib/server/context.ts b/src/lib/server/context.ts index 5ca62e3..6c2e922 100644 --- a/src/lib/server/context.ts +++ b/src/lib/server/context.ts @@ -84,8 +84,9 @@ export const createSvelteKitContext = }; }; -const t = initTRPC.context>().create({ +export const t = initTRPC.context>().create({ transformer: superjson }); + export const createRouter = t.router; export const publicProcedure = t.procedure; diff --git a/src/lib/server/database/controllers/PlaceReviewHistoryController.ts b/src/lib/server/database/controllers/PlaceReviewHistoryController.ts index b61f12a..54eb9b3 100644 --- a/src/lib/server/database/controllers/PlaceReviewHistoryController.ts +++ b/src/lib/server/database/controllers/PlaceReviewHistoryController.ts @@ -1,7 +1,7 @@ import type { Prisma } from '@prisma/client'; import prisma from '..'; -export const PlaceReviewHistoryController = { +export const placeReviewHistoryController = { createReview: async (input: Prisma.Place_Review_HistoryCreateInput) => { const review = await prisma.place_Review_History.create({ data: input diff --git a/src/lib/server/database/controllers/announcementController.ts b/src/lib/server/database/controllers/announcementController.ts index 7aa72de..9aedb3e 100644 --- a/src/lib/server/database/controllers/announcementController.ts +++ b/src/lib/server/database/controllers/announcementController.ts @@ -1,5 +1,11 @@ import prisma, { Prisma } from '..'; +export type AnnouncementControllerUpdateAnnouncementArgs = { + filter: Prisma.AnnouncementsWhereUniqueInput; + data: Prisma.AnnouncementsUpdateInput; + include: Prisma.AnnouncementsInclude; +}; + export const announcementsController = { getAnnouncements: async (filter?: Prisma.AnnouncementsWhereInput) => { const announcements = await prisma.announcements.findMany({ @@ -18,5 +24,25 @@ export const announcementsController = { } }); return announcement; + }, + update: async (args: AnnouncementControllerUpdateAnnouncementArgs) => { + const { filter, data } = args; + + const existed = await prisma.announcements.findUnique({ + where: filter + }); + + if (!existed) { + throw new Error('ANNOUNCEMENT_NOT_FOUND'); + } + + const updatedAnnouncement = await prisma.announcements.update({ + where: filter, + data, + include: { + Place: true + } + }); + return updatedAnnouncement; } }; diff --git a/src/lib/server/database/controllers/donationHistoryController.ts b/src/lib/server/database/controllers/donationHistoryController.ts index 6a2dcf8..dd2d33d 100644 --- a/src/lib/server/database/controllers/donationHistoryController.ts +++ b/src/lib/server/database/controllers/donationHistoryController.ts @@ -2,6 +2,10 @@ import type { Prisma } from '@prisma/client'; import prisma from '..'; export const donationHistoryController = { + create: async (args: Prisma.Donation_HistoryCreateArgs) => { + const donationHistory = await prisma.donation_History.create(args); + return donationHistory; + }, getDonationHistory: async (filter: Prisma.Donation_HistoryWhereUniqueInput) => { const res = await prisma.donation_History.findUnique({ where: filter, diff --git a/src/lib/server/database/controllers/donatorsController.ts b/src/lib/server/database/controllers/donatorsController.ts index 83b5f4f..24830eb 100644 --- a/src/lib/server/database/controllers/donatorsController.ts +++ b/src/lib/server/database/controllers/donatorsController.ts @@ -25,5 +25,25 @@ export const donatorsController = { } }); return res; + }, + getDonator: async (args: Prisma.DonatorsWhereUniqueInput) => { + const donator = await prisma.donators.findUnique({ + where: args, + include: { + Medical_Account: true + } + }); + return donator; + }, + updatePoints: async (filter: Prisma.DonatorsWhereUniqueInput, points: number) => { + const donator = await prisma.donators.update({ + where: filter, + data: { + reward_point: { + increment: points + } + } + }); + return donator; } }; diff --git a/src/lib/server/database/controllers/placeController.ts b/src/lib/server/database/controllers/placeController.ts new file mode 100644 index 0000000..e890010 --- /dev/null +++ b/src/lib/server/database/controllers/placeController.ts @@ -0,0 +1,39 @@ +import prisma, { Prisma } from '..'; + +export const placeController = { + getAll: async () => { + const places = await prisma.places.findMany({ + where: { + deleted_at: null + } + }); + return places; + }, + get: async (args: Prisma.PlacesFindUniqueArgs) => { + const place = await prisma.places.findUnique(args); + return place; + }, + getAllWithReviews: async () => { + const [hospital, reviews] = await Promise.all([ + prisma.places.findMany({ + where: { + deleted_at: null + } + }), + prisma.place_Review_History.groupBy({ + by: ['place_id'], + _sum: { + rating: true + }, + _count: { + id: true + } + }) + ]); + + return { + hospital, + reviews + }; + } +}; diff --git a/src/lib/server/database/controllers/preDonationFeedbackController.ts b/src/lib/server/database/controllers/preDonationFeedbackController.ts index 3a23e6a..d12a7f9 100644 --- a/src/lib/server/database/controllers/preDonationFeedbackController.ts +++ b/src/lib/server/database/controllers/preDonationFeedbackController.ts @@ -1,10 +1,35 @@ -import type { Prisma } from '@prisma/client'; +import type { Prisma, Survey_Choices, Survey_Questions } from '@prisma/client'; import prisma from '..'; +import type { PreFeedbackSurveySelectionType } from '$lib/server/routes/preFeedBackRouter'; export const preFeedbackController = { createFeedback: async (feedback: Prisma.Pre_Donation_FeedbacksCreateArgs) => { return await prisma.pre_Donation_Feedbacks.create({ data: feedback }); + }, + getAllQuestions: async () => { + return await prisma.survey_Questions.findMany({ + include: { + Survey_Choices: true + }, + where: { + type: 'PRE_SURVEY' + } + }); + }, + checkFeedback: async (args: PreFeedbackSurveySelectionType) => { + const questions = await preFeedbackController.getAllQuestions(); + + let hasAll: boolean = true; + + questions.forEach((question, index) => { + const a = question.Survey_Choices.find((q) => q.id === args[index].choice_id); + if (a?.label === 'ไม่ใช่') { + hasAll = false; + } + }); + + return hasAll; } }; diff --git a/src/lib/server/database/controllers/reservationController.ts b/src/lib/server/database/controllers/reservationController.ts index 224621a..db48765 100644 --- a/src/lib/server/database/controllers/reservationController.ts +++ b/src/lib/server/database/controllers/reservationController.ts @@ -1,11 +1,17 @@ +import { TRPCError } from '@trpc/server'; import prisma, { Prisma, type Reservations } from '..'; -import { checkEquivalenceDate } from '../../../../routes/(donator)/reservation/[placeId]/date/utils'; +import { + checkEquivalenceDate, + get24HoursTimeString +} from '../../../../routes/(donator)/reservation/[placeId]/date/utils'; import { DEFAULT_TIME_SLOT, getDatesFrom, MAX_SEAT_PER_TIME_SLOT, type HospitalAvailability } from '../../../../routes/(donator)/reservation/[placeId]/utils'; +import { placeController } from './placeController'; +import { sessionController } from './sessionController'; const reservationController = { getLastReservation: async () => { @@ -22,10 +28,47 @@ const reservationController = { */ createReservation: async ( donator: Prisma.DonatorsWhereUniqueInput, - place: Prisma.PlacesWhereUniqueInput, + placeFilter: Prisma.PlacesWhereUniqueInput, preFeedback: Prisma.Pre_Donation_FeedbacksCreateInput, timeSlot: Date ): Promise => { + // validate the place id + const place = await placeController.get({ + where: placeFilter + }); + if (!placeFilter) { + throw new TRPCError({ + code: 'NOT_FOUND', + message: 'Place not found' + }); + } + + // validate the time slot + const validateSlot = DEFAULT_TIME_SLOT.find((slot) => { + return slot.time === get24HoursTimeString(timeSlot); + }); + if (!validateSlot) { + throw new TRPCError({ + code: 'NOT_FOUND', + message: 'Time slot not found' + }); + } + + // check if the slot is still free or not + const alreadyReserved = await reservationController.getReservationSlots({ + Place: { + id: place?.id + }, + reserve_date: timeSlot + }); + + if (alreadyReserved.length >= MAX_SEAT_PER_TIME_SLOT) { + throw new TRPCError({ + code: 'NOT_FOUND', + message: 'Time slot is fully booked' + }); + } + return await prisma.reservations.create({ data: { status: 'BOOKED', @@ -37,7 +80,7 @@ const reservationController = { reserve_date: timeSlot, reserve_time: timeSlot, Place: { - connect: place + connect: placeFilter } } }, @@ -47,7 +90,8 @@ const reservationController = { } }); }, - getAvailbleTimeSlots: async (placeId: string, date: Date) => { + + getAvailbleTimeSlots: async (placeId: string) => { // validate place id const place = await prisma.places.findUnique({ where: { @@ -98,6 +142,27 @@ const reservationController = { } }); }, + getReservations: async (reservation: Prisma.ReservationsWhereInput) => { + return await prisma.reservations.findMany({ + where: reservation, + include: { + Donator: true, + Reservation_Slot: { + include: { + Place: true + } + } + } + }); + }, + getReservationSlots: async (reservationSlot: Prisma.Reservation_SlotsWhereInput) => { + return await prisma.reservation_Slots.findMany({ + where: reservationSlot, + include: { + Place: true + } + }); + }, getAllReservations: async (donator: Prisma.DonatorsWhereInput) => { return await prisma.reservations.findMany({ where: { @@ -115,6 +180,18 @@ const reservationController = { created_at: 'desc' } }); + }, + completeReservation: async (reservationId: string) => { + const reservation = await prisma.reservations.update({ + where: { + id: reservationId + }, + data: { + status: 'COMPLETED' + } + }); + + return reservation; } }; export default reservationController; diff --git a/src/lib/server/database/controllers/rewardController.ts b/src/lib/server/database/controllers/rewardController.ts new file mode 100644 index 0000000..2dd2975 --- /dev/null +++ b/src/lib/server/database/controllers/rewardController.ts @@ -0,0 +1,374 @@ +import type { RedemptionHistory } from '$lib/stores/rewardStores'; +import type { DefaultArgs } from '@prisma/client/runtime/library'; +import prisma, { Prisma, type Donators, type Rewards } from '..'; +import { donatorsController } from './donatorsController'; + +export type RewardControllerCreateRewardArgs = { + rewardData: Pick< + Prisma.RewardsCreateInput, + 'name' | 'description' | 'required_points' | 'amount_left' | 'image_src' + >; + sessionToken: string; +}; + +export type RewardControllerRedeemRewardArgs = { + rewardId: string; + donatorId: string; +}; + +export type RewardControllerUpdateRewardArgs = { + rewardId: string; + data: Pick< + Prisma.RewardsUpdateInput, + 'name' | 'description' | 'required_points' | 'amount_left' | 'image_src' + >; + sessionToken: string; +}; + +export type RewardControllerCancelRedeemRewardArgs = { + redemptionHistoryFilter: Prisma.Redemption_HistoryWhereUniqueInput; + donatorFilter: Prisma.DonatorsWhereInput; +}; + +export type RewardControllerRedeemCompleteArgs = { + redemptionHistoryFilter: Prisma.Redemption_HistoryWhereUniqueInput; +}; + +export type RewardControllerGetAllRedeemRewardsHistoryArgs = { + donatorFilter?: Prisma.DonatorsWhereInput; +}; + +export const rewardController = { + create: async (args: RewardControllerCreateRewardArgs) => { + const session = await prisma.session.findUnique({ + where: { + session_token: args.sessionToken + }, + include: { + Medical_Staff: true + } + }); + + if (!session) { + throw new Error('SESSION_NOT_FOUND'); + } + + if (!session.medical_staff_id) { + throw new Error('NOT_MEDICAL_STAFF'); + } + + const place = await prisma.places.findUnique({ + where: { + id: session?.Medical_Staff?.place_id + } + }); + + const reward = await prisma.rewards.create({ + data: { + ...args.rewardData, + place_id: place?.id || '' + } + }); + return { + reward, + place + }; + }, + getAllRewards: async () => { + const allRewards = await prisma.rewards.findMany({ + include: { + Place: true, + Redemption_History: true + }, + orderBy: { + created_at: 'desc' + }, + where: { + deleted_at: { + equals: null + } + } + }); + return allRewards; + }, + delete: async (rewardId: string) => { + const deleted = await prisma.rewards.update({ + where: { + id: rewardId + }, + data: { + deleted_at: new Date() + } + }); + + return deleted; + }, + updateReward: async (args: RewardControllerUpdateRewardArgs) => { + const rewardExist = await prisma.rewards.findUnique({ + where: { + id: args.rewardId + } + }); + + if (!rewardExist) { + throw new Error('REWARD_NOT_FOUND'); + } + + const session = await prisma.session.findUnique({ + where: { + session_token: args.sessionToken + }, + include: { + Medical_Staff: true + } + }); + + if (!session) { + throw new Error('SESSION_NOT_FOUND'); + } + + const place = await prisma.places.findUnique({ + where: { + id: session?.Medical_Staff?.place_id + } + }); + + // check if place id match + if (place?.id !== rewardExist.place_id) { + throw new Error('PLACE_ID_NOT_MATCH'); + } + + const newData = args.data; + const reward = await prisma.rewards.update({ + where: { + id: args.rewardId + }, + data: { + name: newData.name, + description: newData.description, + required_points: newData.required_points, + amount_left: newData.amount_left, + image_src: newData.image_src + } + }); + return reward; + }, + redeemReward: async (args: RewardControllerRedeemRewardArgs) => { + const { rewardId, donatorId } = args; + + const reward = await prisma.rewards.findUnique({ + where: { + id: rewardId + } + }); + + // check if reward exists or not + if (!reward) { + throw new Error('REWARD_NOT_FOUND'); + } + + if (reward.amount_left <= 0) { + throw new Error('REWARD_OUT_OF_STOCK'); + } + + const donator = await prisma.donators.findUnique({ + where: { + id: donatorId + } + }); + + // check if donator exists or not + if (!donator) { + throw new Error('DONATOR_NOT_FOUND'); + } + + // check if donator has enough points to redeem reward + if (donator.reward_point < reward?.required_points) { + throw new Error('INSUFFICIENT_POINTS'); + } + + const updatedReward = await prisma.rewards.update({ + where: { + id: rewardId + }, + data: { + amount_left: { + decrement: 1 + } + } + }); + + const updatedDonator = await donatorsController.updatePoints( + { + id: donatorId + }, + -reward?.required_points + ); + + const redemptionHistory = await prisma.redemption_History.create({ + data: { + redeem_amount: 1, + status: 'REDEEMED', + used_points: reward?.required_points || 0, + reward_id: rewardId, + donator_id: donatorId + }, + include: { + Donator: true, + Reward: true + } + }); + + return { + redemptionHistory, + donator: updatedDonator, + reward: updatedReward + }; + }, + getRedeemRewardsHistory: async (args: { + donatorFilter?: Prisma.DonatorsWhereUniqueInput; + rewardsFilter?: Prisma.Redemption_HistoryWhereInput; + include?: Prisma.Redemption_HistoryInclude; + }) => { + const { donatorFilter, rewardsFilter, include } = args; + + if (donatorFilter) { + const donator = await prisma.donators.findUnique({ + where: donatorFilter + }); + + if (!donator) { + throw new Error('DONATOR_NOT_FOUND'); + } + } + + if (rewardsFilter) { + const reward = await prisma.redemption_History.findMany({ + where: rewardsFilter + }); + + if (!reward) { + throw new Error('REWARD_NOT_FOUND'); + } + } + + const redeemedRewards = await prisma.redemption_History.findMany({ + where: { + Donator: donatorFilter, + ...rewardsFilter + }, + include: { + Donator: true, + Reward: true, + ...include + }, + orderBy: { + created_at: 'desc' + } + }); + return redeemedRewards; + }, + cancelRedeem: async (args: RewardControllerCancelRedeemRewardArgs) => { + const { redemptionHistoryFilter, donatorFilter } = args; + + const redemptionHistory = await prisma.redemption_History.findUnique({ + where: redemptionHistoryFilter + }); + + if (!redemptionHistory) { + throw new Error('REDEMPTION_HISTORY_NOT_FOUND'); + } + + const reward = await prisma.rewards.findFirst({ + where: { + Redemption_History: { + some: { + ...redemptionHistory + } + } + } + }); + + // check if reward exists + if (!reward) { + throw new Error('REWARD_NOT_FOUND'); + } + + const donator = await prisma.donators.findFirst({ + where: donatorFilter + }); + + if (!donator) { + throw new Error('DONATOR_NOT_FOUND'); + } + + await prisma.$transaction([ + prisma.rewards.update({ + where: reward, + data: { + amount_left: { + increment: 1 + } + } + }), + prisma.redemption_History.update({ + where: { + id: redemptionHistory.id + }, + data: { + status: 'CANCELLED' + } + }), + prisma.donators.update({ + where: { + id: donator.id + }, + data: { + reward_point: { + increment: reward?.required_points + } + } + }) + ]); + }, + redeemComplete: async (args: RewardControllerCancelRedeemRewardArgs) => { + const { redemptionHistoryFilter } = args; + + const historyExist = await prisma.redemption_History.findUnique({ + where: { + ...redemptionHistoryFilter, + status: 'REDEEMED' + } + }); + + if (!historyExist) { + throw new Error('REDEMPTION_HISTORY_NOT_FOUND'); + } + + const redemptionHistory = await prisma.redemption_History.update({ + where: { ...redemptionHistoryFilter }, + data: { + status: 'RECEIVED' + } + }); + + return redemptionHistory; + }, + getAllRedeemRewardsHistory: async (args: RewardControllerGetAllRedeemRewardsHistoryArgs) => { + const { donatorFilter } = args; + + const allRedeemedRewards = await prisma.redemption_History.findMany({ + where: { + Donator: donatorFilter + }, + include: { + Donator: true, + Reward: true + }, + orderBy: { + created_at: 'desc' + } + }); + return allRedeemedRewards; + } +}; diff --git a/src/lib/server/database/controllers/sessionController.ts b/src/lib/server/database/controllers/sessionController.ts index cd1e61b..99cbad8 100644 --- a/src/lib/server/database/controllers/sessionController.ts +++ b/src/lib/server/database/controllers/sessionController.ts @@ -19,5 +19,9 @@ export const sessionController = { } }); return res; + }, + get: async (args: Prisma.SessionFindUniqueArgs) => { + const session = await prisma.session.findUnique(args); + return session; } }; diff --git a/src/lib/server/middlewares.ts b/src/lib/server/middlewares.ts new file mode 100644 index 0000000..ce6686a --- /dev/null +++ b/src/lib/server/middlewares.ts @@ -0,0 +1,54 @@ +import { TRPCError } from '@trpc/server'; +import { t } from './context'; + +export const enforceDonator = t.middleware(({ ctx, next }) => { + if (ctx.userContext?.type !== 'DONATOR') { + throw new TRPCError({ + code: 'UNAUTHORIZED', + message: 'Insufficient permissions' + }); + } + + return next({ + ctx + }); +}); + +export const enforceMedicalStaff = t.middleware(({ ctx, next }) => { + if (ctx.userContext?.type !== 'MEDICAL_STAFF') { + throw new TRPCError({ + code: 'UNAUTHORIZED', + message: 'Insufficient permissions' + }); + } + + return next({ + ctx + }); +}); + +export const enforceModerator = t.middleware(({ ctx, next }) => { + if (ctx.userContext?.type !== 'MODERATOR') { + throw new TRPCError({ + code: 'UNAUTHORIZED', + message: 'Insufficient permissions' + }); + } + + return next({ + ctx + }); +}); + +export const enforceAuthenticated = t.middleware(({ ctx, next }) => { + if (!ctx.userContext || !ctx.sessionToken || !ctx.session) { + throw new TRPCError({ + code: 'UNAUTHORIZED', + message: 'Insufficient permissions' + }); + } + + return next({ + ctx + }); +}); diff --git a/src/lib/server/procedures.ts b/src/lib/server/procedures.ts new file mode 100644 index 0000000..51281a1 --- /dev/null +++ b/src/lib/server/procedures.ts @@ -0,0 +1,12 @@ +import { t } from './context'; +import { + enforceAuthenticated, + enforceDonator, + enforceMedicalStaff, + enforceModerator +} from './middlewares'; + +export const donatorProcedure = t.procedure.use(enforceDonator); +export const medicalStaffProcedure = t.procedure.use(enforceMedicalStaff); +export const moderatorProcedure = t.procedure.use(enforceModerator); +export const protectedProcedure = t.procedure.use(enforceAuthenticated); diff --git a/src/lib/server/router.ts b/src/lib/server/router.ts index 4c2822e..48de7b2 100644 --- a/src/lib/server/router.ts +++ b/src/lib/server/router.ts @@ -5,7 +5,6 @@ import { authRouter } from './routes/authRouter'; import { placesRouter } from './routes/placesRouter'; import { medicalStaffRouter } from './routes/medicalStaffRouter'; import { specialEventRouter } from './routes/specialEventRouter'; -import { reservationSlotsRouter } from './routes/reservationSlotsRouter'; import { preFeedBackRouter } from './routes/preFeedBackRouter'; import { rewardRouter } from './routes/rewardRouter'; import { moderatorRoutes } from './routes/moderatorsRoutes'; @@ -33,7 +32,6 @@ export const appRouter = createRouter({ preFeedback: preFeedBackRouter, postFeedback: postFeedbackRouter, reservation: reservationsRouter, - reservationSlot: reservationSlotsRouter, moderator: moderatorRoutes, reward: rewardRouter, announcement: announcementsRouter, diff --git a/src/lib/server/routes/announcementRouter.ts b/src/lib/server/routes/announcementRouter.ts index 6a3ec1d..016d4ab 100644 --- a/src/lib/server/routes/announcementRouter.ts +++ b/src/lib/server/routes/announcementRouter.ts @@ -7,6 +7,8 @@ import prisma, { type PostTypeType } from '../database'; import { announcementsController } from '../database/controllers/announcementController'; +import { medicalStaffProcedure } from '../procedures'; +import { TRPCError } from '@trpc/server'; export const announcementsRouter = createRouter({ getAnnouncements: publicProcedure @@ -51,7 +53,7 @@ export const announcementsRouter = createRouter({ }); return announcement; }), - update: publicProcedure + update: medicalStaffProcedure .input( z.object({ data: z.object({ @@ -67,23 +69,32 @@ export const announcementsRouter = createRouter({ ) .mutation(async ({ input }) => { const { data, announcementId } = input; - const announcement = await prisma.announcements.update({ - where: { - id: announcementId - }, - data: { - content: data.content, - post_type: data.post_type as PostTypeType, - title: data.title, - blood_type: data.blood_type as BloodType, - image_src: data.image_src, - created_at: new Date(new Date().getTime()) - }, - include: { - Place: true - } - }); - return announcement; + + try { + const announcement = await announcementsController.update({ + filter: { + id: announcementId + }, + data: { + content: data.content, + post_type: data.post_type as PostTypeType, + title: data.title, + blood_type: data.blood_type as BloodType, + image_src: data.image_src, + created_at: new Date(new Date().getTime()) + }, + include: { + Place: true + } + }); + + return announcement; + } catch (e) { + throw new TRPCError({ + code: 'BAD_REQUEST', + cause: e + }); + } }), getById: publicProcedure .input( diff --git a/src/lib/server/routes/donationHistory.ts b/src/lib/server/routes/donationHistory.ts index 0e7fae7..8bf700f 100644 --- a/src/lib/server/routes/donationHistory.ts +++ b/src/lib/server/routes/donationHistory.ts @@ -59,6 +59,17 @@ export const donationHistoryRouter = createRouter({ Reservation: true } }); + + await prisma.donators.update({ + where: { + id: reservation.donator_id + }, + data: { + reward_point: { + increment: data.rewarded_points + } + } + }); return donationHistory; }), getAllDonationHistoryByDonatorId: publicProcedure diff --git a/src/lib/server/routes/donationHistoryRouter.ts b/src/lib/server/routes/donationHistoryRouter.ts index e42e018..920e8b1 100644 --- a/src/lib/server/routes/donationHistoryRouter.ts +++ b/src/lib/server/routes/donationHistoryRouter.ts @@ -1,6 +1,9 @@ import { z } from 'zod'; import { createRouter, publicProcedure } from '../context'; import prisma from '../database'; +import { donatorsController } from '../database/controllers/donatorsController'; +import { donationHistoryController } from '../database/controllers/donationHistoryController'; +import reservationController from '../database/controllers/reservationController'; export const donationHistoryRouter = createRouter({ submitBloodDonation: publicProcedure @@ -28,17 +31,10 @@ export const donationHistoryRouter = createRouter({ const { data } = input; // Update Status to success - const reservation = await prisma.reservations.update({ - where: { - id: data.reservation_id - }, - data: { - status: 'COMPLETED' - } - }); + const reservation = await reservationController.completeReservation(data.reservation_id); // Create new donation history - const donationHistory = await prisma.donation_History.create({ + const donationHistory = await donationHistoryController.create({ data: { blood_type: data.blood_type, rewarded_points: data.rewarded_points, @@ -55,6 +51,14 @@ export const donationHistoryRouter = createRouter({ Reservation: true } }); + + await donatorsController.updatePoints( + { + id: reservation.donator_id + }, + data.rewarded_points + ); + return donationHistory; }), getAllDonationHistoryByDonatorId: publicProcedure diff --git a/src/lib/server/routes/donatorsRouter.ts b/src/lib/server/routes/donatorsRouter.ts index 9c5eb84..e01535e 100644 --- a/src/lib/server/routes/donatorsRouter.ts +++ b/src/lib/server/routes/donatorsRouter.ts @@ -53,12 +53,10 @@ export const donatorsRouter = createRouter({ ) .query(async ({ input }) => { const { donatorId } = input; - const user = await prisma.donators.findUnique({ - where: { - id: donatorId - } + const donator = await donatorsController.getDonator({ + id: donatorId }); - return user; + return donator; }), updateById: publicProcedure .input( diff --git a/src/lib/server/routes/placesRouter.ts b/src/lib/server/routes/placesRouter.ts index 19d31fa..56efa8e 100644 --- a/src/lib/server/routes/placesRouter.ts +++ b/src/lib/server/routes/placesRouter.ts @@ -6,22 +6,17 @@ import prisma, { PlacesUpdateInputSchema } from '../database'; import { PlacesCreateInputSchema } from '../database'; -import { PlaceReviewHistoryController } from '../database/controllers/PlaceReviewHistoryController'; +import { placeController } from '../database/controllers/placeController'; +import { placeReviewHistoryController } from '../database/controllers/PlaceReviewHistoryController'; export const placesRouter = createRouter({ findAll: publicProcedure.query(async () => { - const places = await prisma.places.findMany({ - where: { - deleted_at: { - equals: null - } - } - }); + const places = await placeController.getAll(); return places; }), findById: publicProcedure.input(z.object({ placeId: z.string() })).query(async ({ input }) => { const { placeId } = input; - const place = await prisma.places.findUnique({ + const place = await placeController.get({ where: { id: placeId }, @@ -78,7 +73,7 @@ export const placesRouter = createRouter({ createReview: publicProcedure .input(Place_Review_HistoryCreateInputSchema) .mutation(async ({ input }) => { - const review = await PlaceReviewHistoryController.createReview(input); + const review = await placeReviewHistoryController.createReview(input); return review; }) }); diff --git a/src/lib/server/routes/preFeedBackRouter.ts b/src/lib/server/routes/preFeedBackRouter.ts index 57d1434..9359627 100644 --- a/src/lib/server/routes/preFeedBackRouter.ts +++ b/src/lib/server/routes/preFeedBackRouter.ts @@ -1,36 +1,22 @@ import { createRouter, publicProcedure } from '../context'; import prisma from '../database'; import { z } from 'zod'; +import { preFeedbackController } from '../database/controllers/preDonationFeedbackController'; + +export const preFeedbackSurveySelectionSchema = z.array( + z.object({ + question_id: z.string(), + choice_id: z.string() + }) +); + +export type PreFeedbackSurveySelectionType = z.infer; export const preFeedBackRouter = createRouter({ checkFeedBack: publicProcedure - .input( - z.array( - z.object({ - question_id: z.string(), - choice_id: z.string() - }) - ) - ) + .input(preFeedbackSurveySelectionSchema) .query(async ({ input }) => { - const allQuestions = await prisma.survey_Questions.findMany({ - include: { - Survey_Choices: true - }, - where: { - type: 'PRE_SURVEY' - } - }); - - let hasAll: boolean = true; - - allQuestions.forEach((question, index) => { - const a = question.Survey_Choices.find((q) => q.id === input[index].choice_id); - if (a?.label === 'ไม่ใช่') { - hasAll = false; - } - }); - + const hasAll = await preFeedbackController.checkFeedback(input); // The user doesn't update the database pre feedback answers right now return hasAll; }) diff --git a/src/lib/server/routes/reservationSlotsRouter.ts b/src/lib/server/routes/reservationSlotsRouter.ts deleted file mode 100644 index 3f8920d..0000000 --- a/src/lib/server/routes/reservationSlotsRouter.ts +++ /dev/null @@ -1,146 +0,0 @@ -import { z } from 'zod'; -import { createRouter, publicProcedure } from '../context'; -import prisma, { - DonatorsWhereInputSchema, - type Donators, - DonatorsWhereUniqueInputSchema -} from '../database'; -import { TRPCError } from '@trpc/server'; -import { - DEFAULT_TIME_SLOT, - MAX_SEAT_PER_TIME_SLOT -} from '../../../routes/(donator)/reservation/[placeId]/utils'; -import { get24HoursTimeString } from '../../../routes/(donator)/reservation/[placeId]/date/utils'; -import reservationController from '../database/controllers/reservationController'; -import { validatePreDonationFeedback } from '$lib/stores/preFeedback'; - -export const reservationSlotsRouter = createRouter({ - findByDate: publicProcedure - .input( - z.object({ - date: z.coerce.date() - }) - ) - .mutation(async ({ input }) => { - const { date } = input; - const reservationSlots = await prisma.reservation_Slots.findMany({ - where: { - reserve_date: { - equals: date - } - } - }); - return reservationSlots; - }), - reserve: publicProcedure - .input( - z.object({ - placeId: z.string(), - timeSlotInMillisecond: z.number(), - preFeedback: validatePreDonationFeedback - }) - ) - .mutation(async ({ ctx, input }) => { - const { placeId, timeSlotInMillisecond } = input; - const { sessionToken } = ctx; - - const session = await prisma.session.findUnique({ - where: { - session_token: sessionToken - } - }); - - const timeSlot = new Date(timeSlotInMillisecond); - - // validate the place id - const place = await prisma.places.findUnique({ - where: { - id: placeId - } - }); - if (!place) { - throw new TRPCError({ - code: 'NOT_FOUND', - message: 'Place not found' - }); - } - - // validate the time slot - const validateSlot = DEFAULT_TIME_SLOT.find((slot) => { - return slot.time === get24HoursTimeString(timeSlot); - }); - if (!validateSlot) { - throw new TRPCError({ - code: 'NOT_FOUND', - message: 'Time slot not found' - }); - } - - // check if the slot is still free or not - const alreadyReserved = await prisma.reservation_Slots.findMany({ - where: { - Place: { - id: placeId - }, - reserve_date: timeSlot - } - }); - if (alreadyReserved.length >= MAX_SEAT_PER_TIME_SLOT) { - throw new TRPCError({ - code: 'NOT_FOUND', - message: 'Time slot is fully booked' - }); - } - - const reservation = await reservationController.createReservation( - { - id: session?.donator_id! - }, - { - id: placeId - }, - { - Pre_Feedback_Answers: { - createMany: { - data: input.preFeedback.Pre_Feedback_Answers - } - } - }, - timeSlot - ); - return reservation; - }), - getLog: publicProcedure - .input(DonatorsWhereUniqueInputSchema.optional()) - .query(async ({ ctx, input }) => { - let donator: Donators | undefined | null; - if (input) { - donator = await prisma.donators.findUnique({ - where: input - }); - } else { - const { sessionToken } = ctx; - const session = await prisma.session.findUnique({ - where: { - session_token: sessionToken - } - }); - donator = await prisma.donators.findUnique({ - where: { - id: session?.donator_id! - } - }); - } - if (!donator) { - throw new TRPCError({ - code: 'NOT_FOUND', - message: 'Donator not found' - }); - } - const reservations = await reservationController.getAllReservations({ - id: donator?.id - }); - - return reservations; - }) -}); diff --git a/src/lib/server/routes/reservationsRouter.ts b/src/lib/server/routes/reservationsRouter.ts index 2c5937c..e7f30dd 100644 --- a/src/lib/server/routes/reservationsRouter.ts +++ b/src/lib/server/routes/reservationsRouter.ts @@ -1,6 +1,10 @@ import { z } from 'zod'; import { createRouter, publicProcedure } from '../context'; -import prisma, { type PrismaPromise, type Pre_Feedback_Answers } from '../database'; +import prisma, { type Donators, DonatorsWhereUniqueInputSchema } from '../database'; +import { TRPCError } from '@trpc/server'; +import reservationController from '../database/controllers/reservationController'; +import { validatePreDonationFeedback } from '$lib/stores/preFeedback'; +import { donatorProcedure } from '../procedures'; export const reservationsRouter = createRouter({ changeReservationSlot: publicProcedure @@ -120,5 +124,87 @@ export const reservationsRouter = createRouter({ } }); return { reservation }; + }), + findByDate: publicProcedure + .input( + z.object({ + date: z.coerce.date() + }) + ) + .mutation(async ({ input }) => { + const { date } = input; + const reservationSlots = await prisma.reservation_Slots.findMany({ + where: { + reserve_date: { + equals: date + } + } + }); + return reservationSlots; + }), + reserve: donatorProcedure + .input( + z.object({ + placeId: z.string(), + timeSlotInMillisecond: z.number(), + preFeedback: validatePreDonationFeedback + }) + ) + .mutation(async ({ ctx, input }) => { + const { placeId, timeSlotInMillisecond } = input; + const { userContext, opts } = ctx; + + const timeSlot = new Date(timeSlotInMillisecond); + + const reservation = await reservationController.createReservation( + { + id: userContext?.user.id + }, + { + id: placeId + }, + { + Pre_Feedback_Answers: { + createMany: { + data: input.preFeedback.Pre_Feedback_Answers + } + } + }, + timeSlot + ); + return reservation; + }), + getLog: publicProcedure + .input(DonatorsWhereUniqueInputSchema.optional()) + .query(async ({ ctx, input }) => { + let donator: Donators | undefined | null; + if (input) { + donator = await prisma.donators.findUnique({ + where: input + }); + } else { + const { sessionToken } = ctx; + const session = await prisma.session.findUnique({ + where: { + session_token: sessionToken + } + }); + donator = await prisma.donators.findUnique({ + where: { + id: session?.donator_id! + } + }); + } + if (!donator) { + throw new TRPCError({ + code: 'NOT_FOUND', + message: 'Donator not found' + }); + } + const reservations = await reservationController.getAllReservations({ + id: donator?.id + }); + + return reservations; }) }); diff --git a/src/lib/server/routes/rewardRouter.ts b/src/lib/server/routes/rewardRouter.ts index 6302f47..58defb6 100644 --- a/src/lib/server/routes/rewardRouter.ts +++ b/src/lib/server/routes/rewardRouter.ts @@ -1,6 +1,9 @@ import { z } from 'zod'; import { createRouter, publicProcedure } from '../context'; import prisma from '../database'; +import { rewardController } from '../database/controllers/rewardController'; +import { TRPCError } from '@trpc/server'; +import { medicalStaffProcedure } from '../procedures'; export const rewardRouter = createRouter({ create: publicProcedure @@ -15,48 +18,35 @@ export const rewardRouter = createRouter({ ) .mutation(async ({ input, ctx }) => { const sessionToken = ctx.sessionToken; - const session = await prisma.session.findUnique({ - where: { - session_token: sessionToken - }, - include: { - Medical_Staff: true - } - }); - const reward = await prisma.rewards.create({ - data: { - ...input, - place_id: session?.Medical_Staff?.place_id || '' - } - }); - return reward; + + try { + const { reward } = await rewardController.create({ + rewardData: input, + sessionToken + }); + + return reward; + } catch (error) { + throw new TRPCError({ + code: 'BAD_REQUEST', + cause: error + }); + } }), getAllRewards: publicProcedure.query(async () => { - const allRewards = await prisma.rewards.findMany({ - include: { - Place: true, - Redemption_History: true - }, - orderBy: { - created_at: 'desc' - }, - where: { - deleted_at: { - equals: null - } - } - }); - return allRewards; + try { + const allRewards = await rewardController.getAllRewards(); + return allRewards; + } catch (e) { + throw new TRPCError({ + code: 'BAD_REQUEST', + cause: e + }); + } }), delete: publicProcedure.input(z.string()).mutation(async ({ input }) => { - await prisma.rewards.update({ - where: { - id: input - }, - data: { - deleted_at: new Date() - } - }); + const deleted = await rewardController.delete(input); + return deleted; }), update: publicProcedure .input( @@ -71,28 +61,34 @@ export const rewardRouter = createRouter({ rewardId: z.string().min(1) }) ) - .mutation(async ({ input }) => { - const newData = input.data; - await prisma.rewards.update({ + .mutation(async ({ input, ctx }) => { + try { + const updated = await rewardController.updateReward({ + ...input, + sessionToken: ctx.sessionToken + }); + return updated; + } catch (error) { + throw new TRPCError({ + code: 'BAD_REQUEST', + cause: error + }); + } + }), + findById: publicProcedure.input(z.string().min(1)).query(async ({ input }) => { + try { + const currentReward = await prisma.rewards.findUnique({ where: { - id: input.rewardId - }, - data: { - name: newData.name, - description: newData.description, - required_points: newData.required_points, - amount_left: newData.required_points, - image_src: newData.image_src + id: input } }); - }), - findById: publicProcedure.input(z.string().min(1)).query(async ({ input }) => { - const currentReward = await prisma.rewards.findUnique({ - where: { - id: input - } - }); - return currentReward; + return currentReward; + } catch (e) { + throw new TRPCError({ + code: 'BAD_REQUEST', + cause: e + }); + } }), redeem: publicProcedure .input( @@ -103,56 +99,24 @@ export const rewardRouter = createRouter({ ) .mutation(async ({ input }) => { const { rewardId, donatorId } = input; - const reward = await prisma.rewards.update({ - where: { - id: rewardId - }, - data: { - amount_left: { - decrement: 1 - } - } - }); - const redemptionHistory = await prisma.redemption_History.create({ - data: { - redeem_amount: 1, - status: 'REDEEMED', - used_points: reward?.required_points || 0, - reward_id: rewardId, - donator_id: donatorId - }, - include: { - Donator: true, - Reward: true - } - }); - const rewardTransaction = await prisma.reward_Transactions.create({ - data: { - donator_id: donatorId, - points: reward?.required_points ? -reward.required_points : 0 - }, - include: { - Donator: true - } - }); + try { + const { redemptionHistory, donator } = await rewardController.redeemReward({ + rewardId, + donatorId + }); - const donator = await prisma.donators.update({ - where: { - id: donatorId - }, - data: { - reward_point: { - decrement: reward?.required_points - } - } - }); + return { + redemptionHistory, - return { - redemptionHistory, - rewardTransaction, - donator - }; + donator + }; + } catch (e) { + throw new TRPCError({ + code: 'BAD_REQUEST', + cause: e + }); + } }), getRedeemRewardsByDonatorId: publicProcedure .input( @@ -162,19 +126,20 @@ export const rewardRouter = createRouter({ ) .query(async ({ input }) => { const { donatorId } = input; - const redemptionHistory = await prisma.redemption_History.findMany({ - where: { - donator_id: donatorId - }, - include: { - Donator: true, - Reward: true - }, - orderBy: { - created_at: 'desc' - } - }); - return redemptionHistory; + + try { + const redemptionHistory = await rewardController.getRedeemRewardsHistory({ + donatorFilter: { + id: donatorId + } + }); + return redemptionHistory; + } catch (e) { + throw new TRPCError({ + code: 'BAD_REQUEST', + cause: e + }); + } }), getRedeemRewardsByRewardId: publicProcedure .input( @@ -183,110 +148,145 @@ export const rewardRouter = createRouter({ }) ) .query(async ({ input }) => { - const { rewardId } = input; - const redemptionHistory = await prisma.redemption_History.findMany({ - where: { - reward_id: rewardId - }, - include: { - Donator: true, - Reward: true - } - }); - return redemptionHistory; - }), + try { + const { rewardId } = input; + + const redemptionHistory = await rewardController.getRedeemRewardsHistory({ + rewardsFilter: { id: rewardId } + }); + return redemptionHistory; + } catch (error) { + throw new TRPCError({ + code: 'BAD_REQUEST', + cause: error + }); + } + }), cancelRedeem: publicProcedure .input( z.object({ donatorId: z.string(), - rewardId: z.string(), redemptionHistoryId: z.string() }) ) .mutation(async ({ input }) => { - const { donatorId, rewardId, redemptionHistoryId } = input; - const reward = await prisma.rewards.findUnique({ - where: { - id: rewardId - } - }); - await prisma.$transaction([ - prisma.rewards.update({ - where: { - id: rewardId - }, - data: { - amount_left: { - increment: 1 - } - } - }), - prisma.reward_Transactions.create({ - data: { - donator_id: donatorId, - points: reward?.required_points || 0 - } - }), - prisma.redemption_History.update({ - where: { + const { redemptionHistoryId, donatorId } = input; + + try { + await rewardController.cancelRedeem({ + redemptionHistoryFilter: { id: redemptionHistoryId }, - data: { - status: 'CANCELLED' - } - }), - prisma.donators.update({ - where: { + donatorFilter: { id: donatorId - }, - data: { - reward_point: { - increment: reward?.required_points - } } - }) - ]); + }); + } catch (error) { + throw new TRPCError({ + code: 'BAD_REQUEST', + cause: error + }); + } + return true; }), markAsReceived: publicProcedure .input(z.object({ redemptionHistoryId: z.string().min(1) })) - .mutation(async ({ input }) => { + .mutation(async ({ input, ctx }) => { const { redemptionHistoryId } = input; - const res = await prisma.redemption_History.update({ - where: { - id: redemptionHistoryId - }, - data: { - status: 'RECEIVED' - } - }); - return res; + try { + const res = await rewardController.redeemComplete({ + redemptionHistoryFilter: { + id: redemptionHistoryId + }, + donatorFilter: { + Session: { + some: { + session_token: ctx.sessionToken + } + } + } + }); + return res; + } catch (e) { + throw new TRPCError({ + code: 'BAD_REQUEST', + cause: e + }); + } }), getRedemptionHistoryById: publicProcedure .input(z.object({ redemptionHistoryId: z.string() })) .query(async ({ input }) => { - const redemptionHistory = await prisma.redemption_History.findUnique({ - where: { - id: input.redemptionHistoryId - }, - include: { - Reward: true, - Donator: true - } - }); - return redemptionHistory; + try { + const redemptionHistory = await rewardController.getRedeemRewardsHistory({ + rewardsFilter: { + id: input.redemptionHistoryId + } + }); + return redemptionHistory[0]; + } catch (error) { + throw new TRPCError({ + code: 'BAD_REQUEST', + cause: error + }); + } }), - getAllRedemptionHistory: publicProcedure.query(async () => { - const redemptionHistories = await prisma.redemption_History.findMany({ - orderBy: { - created_at: 'desc' - }, - include: { - Reward: true, - Donator: true + getAllRedemptionHistoryByPlaceId: medicalStaffProcedure + .input(z.string().optional()) + .query(async ({ ctx, input }) => { + const { sessionToken } = ctx; + + const user = ctx.userContext; + + if (user?.type !== 'MEDICAL_STAFF') { + throw new TRPCError({ + code: 'UNAUTHORIZED' + }); } - }); - return redemptionHistories; + + try { + const redemptionHistories = await prisma.redemption_History.findMany({ + where: { + Reward: { + place_id: input ?? user.user.place_id + } + }, + include: { + Donator: true, + Reward: true + } + }); + + return redemptionHistories; + } catch (e) { + throw new TRPCError({ + code: 'BAD_REQUEST', + cause: e + }); + } + }), + getAllRedemptionHistory: publicProcedure.query(async ({ ctx }) => { + const { sessionToken } = ctx; + + try { + const redemptionHistories = await rewardController.getAllRedeemRewardsHistory({ + donatorFilter: { + Session: { + some: { + session_token: sessionToken + } + } + } + }); + + return redemptionHistories; + } catch (e) { + throw new TRPCError({ + code: 'BAD_REQUEST', + cause: e + }); + } }) }); diff --git a/src/lib/server/routes/specialEventRouter.ts b/src/lib/server/routes/specialEventRouter.ts index a56da60..a172aff 100644 --- a/src/lib/server/routes/specialEventRouter.ts +++ b/src/lib/server/routes/specialEventRouter.ts @@ -67,6 +67,11 @@ export const specialEventRouter = createRouter({ return sp_event; }), + getEvents: publicProcedure.query(async () => { + const sp_events = await prisma.special_Events.findMany(); + return sp_events; + }), + isEvent: publicProcedure.query(async ({ ctx }) => { const sessionToken = ctx.sessionToken; const session = await prisma.session.findUnique({ diff --git a/src/routes/(donator)/history/+page.server.ts b/src/routes/(donator)/history/+page.server.ts index 30bdcc6..67ba124 100644 --- a/src/routes/(donator)/history/+page.server.ts +++ b/src/routes/(donator)/history/+page.server.ts @@ -14,11 +14,14 @@ export const load = (async ({ fetch }) => { throw redirect(307, '/login'); } - const reservationLog = await trpc.reservationSlot.getLog.query(); - const donationHistoryData = await trpc.donationHistory.getDonationHistories.query(); - const pendingFeedback = await trpc.postFeedback.checkPendingFeedback.query({ - id: userContext.user.id - }); + // promise all + const [reservationLog, donationHistoryData, pendingFeedback] = await Promise.all([ + trpc.reservation.getLog.query(), + trpc.donationHistory.getDonationHistories.query(), + trpc.postFeedback.checkPendingFeedback.query({ + id: userContext.user.id + }) + ]); console.log(pendingFeedback); diff --git a/src/routes/(donator)/history/donation/[donationId]/survey/+page.server.ts b/src/routes/(donator)/history/donation/[donationId]/survey/+page.server.ts index 081f2c1..21097c6 100644 --- a/src/routes/(donator)/history/donation/[donationId]/survey/+page.server.ts +++ b/src/routes/(donator)/history/donation/[donationId]/survey/+page.server.ts @@ -7,9 +7,13 @@ export const load = (async ({ params, fetch }) => { const trpc = trpcOnServer(fetch); - const donationHistory = await trpc.donationHistory.getDonationHistory.query({ - id: donationHistoryId - }); + // promise all + const [donationHistory, questions] = await Promise.all([ + trpc.donationHistory.getDonationHistory.query({ + id: donationHistoryId + }), + trpc.postFeedback.getPostFeedbackQuestions.query() + ]); if (!donationHistory) { throw redirect(307, '/history'); @@ -21,7 +25,6 @@ export const load = (async ({ params, fetch }) => { } const place = donationHistory?.Reservation.Reservation_Slot.Place; - const questions = await trpc.postFeedback.getPostFeedbackQuestions.query(); return { donationHistoryId: params.donationId, diff --git a/src/routes/(donator)/home/+page.server.ts b/src/routes/(donator)/home/+page.server.ts index 2ae3834..ad8c98d 100644 --- a/src/routes/(donator)/home/+page.server.ts +++ b/src/routes/(donator)/home/+page.server.ts @@ -4,7 +4,12 @@ import type { PageServerLoad } from './$types'; export const load: PageServerLoad = async ({ fetch }) => { const trpc = trpcOnServer(fetch); - const user = await trpc.auth.getUser.query(); + + const [user, announcements, sp_events] = await Promise.all([ + trpc.auth.getUser.query(), + trpc.announcement.getAnnouncements.query(), + trpc.specialEvent.getEvents.query() + ]); if (user?.type !== 'DONATOR') { throw redirect(307, '/login'); @@ -13,14 +18,15 @@ export const load: PageServerLoad = async ({ fetch }) => { if (user.user?.id === undefined) { throw redirect(307, '/login'); } - - // fetch announcemnet - const announcements = await trpc.announcement.getAnnouncements.query(); - // fetch for post feedback status const pendingFeedback = await trpc.postFeedback.checkPendingFeedback.query({ id: user.user.id }); - return { announcements, user: user.user, pendingFeedback: pendingFeedback ?? undefined }; + return { + announcements, + user: user.user, + pendingFeedback: pendingFeedback ?? undefined, + sp_events + }; }; diff --git a/src/routes/(donator)/home/+page.svelte b/src/routes/(donator)/home/+page.svelte index c97e5ab..2f28397 100644 --- a/src/routes/(donator)/home/+page.svelte +++ b/src/routes/(donator)/home/+page.svelte @@ -41,7 +41,7 @@ {/if}
- +
diff --git a/src/routes/(donator)/home/SpecialEventHero.svelte b/src/routes/(donator)/home/SpecialEventHero.svelte index d7f1e7e..655bd48 100644 --- a/src/routes/(donator)/home/SpecialEventHero.svelte +++ b/src/routes/(donator)/home/SpecialEventHero.svelte @@ -5,26 +5,11 @@ import specialEventMockImage from '$lib/images/home/special_event_banner.png'; interface Poster { - img: string; - href: string; + img_src: string | null; } - const mock_data: Poster[] = [ - { - img: '/images/mock_carousel.png', - href: 'www.google.com' - }, - { - img: '/images/mock_carousel.png', - href: 'www.google.com' - }, - { - img: '/images/mock_carousel.png', - href: 'www.google.com' - } - ]; - $: selectID = $page.url.hash; + export let sp_events: Poster[] = [];
@@ -34,21 +19,23 @@
- {#each mock_data as _, key} + {#each sp_events as _, key} { - // fetch hospital - const hospital = await prisma.places.findMany({ - where: { - deleted_at: null - } - }); - - const reviews = await prisma.place_Review_History.groupBy({ - by: ['place_id'], - _sum: { - rating: true - }, - _count: { - id: true - } - }); + const { hospital, reviews } = await placeController.getAllWithReviews(); const hospitalWithReviews: HospitalWithReviews[] = hospital.map((hospital) => { const review = reviews.find((review) => review.place_id === hospital.id); diff --git a/src/routes/(donator)/reservation/[placeId]/confirm/+page.server.ts b/src/routes/(donator)/reservation/[placeId]/confirm/+page.server.ts index 58e9a41..142a6ba 100644 --- a/src/routes/(donator)/reservation/[placeId]/confirm/+page.server.ts +++ b/src/routes/(donator)/reservation/[placeId]/confirm/+page.server.ts @@ -1,6 +1,5 @@ import { redirect } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; -import { mock_hospitalData } from '../utils'; import { get24HoursTimeString } from '../date/utils'; import { trpcOnServer } from '$lib/trpc'; import reservationController from '$lib/server/database/controllers/reservationController'; @@ -21,15 +20,16 @@ export const load = (async ({ url, params, fetch }) => { const selectedDate = new Date(+date); - // check for valid available dates - const hospital = await trpcServer.places.findById.query({ placeId: placeId }); + // promise all + const [hospital, availableDates] = await Promise.all([ + trpcServer.places.findById.query({ placeId: placeId }), + reservationController.getAvailbleTimeSlots(placeId) + ]); + if (!hospital) { throw redirect(307, `/reservation`); } - // get available dates - const availableDates = await reservationController.getAvailbleTimeSlots(placeId, selectedDate); - const filteredByDate = availableDates.find((d) => { // check date only if ( diff --git a/src/routes/(donator)/reservation/[placeId]/confirm/+page@.svelte b/src/routes/(donator)/reservation/[placeId]/confirm/+page@.svelte index dc64a45..22cc758 100644 --- a/src/routes/(donator)/reservation/[placeId]/confirm/+page@.svelte +++ b/src/routes/(donator)/reservation/[placeId]/confirm/+page@.svelte @@ -13,8 +13,8 @@ const { dateTime, hospitalData } = data; const handleClick = async () => { - const response = await trpc.reservationSlot.reserve.mutate({ - placeId: hospitalData.id, + const response = await trpc.reservation.reserve.mutate({ + placeId: hospitalData!.id, timeSlotInMillisecond: dateTime.getTime(), preFeedback: $preFeedbackStore }); diff --git a/src/routes/(donator)/reservation/[placeId]/date/+page.server.ts b/src/routes/(donator)/reservation/[placeId]/date/+page.server.ts index 1085580..83a9dbf 100644 --- a/src/routes/(donator)/reservation/[placeId]/date/+page.server.ts +++ b/src/routes/(donator)/reservation/[placeId]/date/+page.server.ts @@ -1,20 +1,26 @@ import prisma from '$lib/server/database'; -import { - type HospitalAvailability, - getDatesFrom, - DEFAULT_TIME_SLOT, - MAX_SEAT_PER_TIME_SLOT -} from '../utils'; +import { placeController } from '$lib/server/database/controllers/placeController'; +import reservationController from '$lib/server/database/controllers/reservationController'; +import { placesRouter } from '$lib/server/routes/placesRouter'; +import type { HospitalAvailability } from '../utils'; + import type { PageServerLoad } from './$types'; import { checkEquivalenceDate, get24HoursTimeString } from './utils'; export const load = (async ({ params }) => { + const { placeId } = params; + + const [hospital, availableDates] = await Promise.all([ + placeController.get({ + where: { + id: placeId + } + }), + + reservationController.getAvailbleTimeSlots(placeId) + ]); + // check if placeId exists or not - const hospital = await prisma.places.findUnique({ - where: { - id: params.placeId - } - }); if (!hospital) { throw { @@ -23,41 +29,11 @@ export const load = (async ({ params }) => { }; } - const { placeId } = params; - - const alreadyReserved = await prisma.reservation_Slots.findMany({ - where: { - Place: { - id: placeId - }, - reserve_date: { - gt: new Date() - } - } - }); - - const availableDates = getDatesFrom(new Date(), 14).map((date) => ({ - date, - periods: DEFAULT_TIME_SLOT.map((time) => ({ - ...time, - available: - alreadyReserved.filter((reservation) => { - return ( - checkEquivalenceDate(reservation.reserve_date, date) && - get24HoursTimeString(reservation.reserve_time) === time.time - ); - }).length < MAX_SEAT_PER_TIME_SLOT && time.available - })) - })); - const hospitalAvailability: HospitalAvailability = { id: placeId, name: hospital.name, availableDates }; - // mock get hospital data from database - // const hospitalData: HospitalAvailability = mock_hospitalData(placeId); - return { hospitalData: hospitalAvailability }; }) satisfies PageServerLoad; diff --git a/src/routes/(donator)/reservation/survey/start/+page.server.ts b/src/routes/(donator)/reservation/survey/start/+page.server.ts index 7ab9b0d..79d7da5 100644 --- a/src/routes/(donator)/reservation/survey/start/+page.server.ts +++ b/src/routes/(donator)/reservation/survey/start/+page.server.ts @@ -1,7 +1,7 @@ import prisma, { Survey_ChoicesSchema } from '$lib/server/database'; -import { writable } from 'svelte/store'; import type { PageServerLoad } from './$types'; import { z } from 'zod'; +import { preFeedbackController } from '$lib/server/database/controllers/preDonationFeedbackController'; const validatePreSurveyQuestion = z.object({ id: z.string(), @@ -14,12 +14,9 @@ const validatePreSurveyQuestion = z.object({ export type PreSurveyQuestion = z.infer; export const load = (async () => { - const surveyQuestion = await prisma.survey_Questions.findMany({ - include: { - Survey_Choices: true - } - }); - const preSurveyQuestion = await surveyQuestion + const surveyQuestion = await preFeedbackController.getAllQuestions(); + + const preSurveyQuestion = surveyQuestion .filter((question) => question.type === 'PRE_SURVEY') .sort((q1, q2) => q1.order - q2.order) .map((questions) => ({ diff --git a/src/routes/(donator)/reward/+page.server.ts b/src/routes/(donator)/reward/+page.server.ts index 1ec1ae8..7514e30 100644 --- a/src/routes/(donator)/reward/+page.server.ts +++ b/src/routes/(donator)/reward/+page.server.ts @@ -4,8 +4,12 @@ import type { PageServerLoad } from './$types'; export const load: PageServerLoad = async ({ fetch }) => { const trpc = trpcOnServer(fetch); - const rewards = await trpc.reward.getAllRewards.query(); - const currentUser = await trpc.auth.getUser.query(); + + const [rewards, currentUser] = await Promise.all([ + trpc.reward.getAllRewards.query(), + trpc.auth.getUser.query() + ]); + const donator = await trpc.donators.findById.query({ donatorId: currentUser?.user.id || '' }); if (currentUser?.type !== 'DONATOR') { diff --git a/src/routes/(donator)/reward/+page.svelte b/src/routes/(donator)/reward/+page.svelte index 8f8ce68..e809226 100644 --- a/src/routes/(donator)/reward/+page.svelte +++ b/src/routes/(donator)/reward/+page.svelte @@ -103,7 +103,7 @@ amount_left: reward.amount_left, created_at: new Date(reward.created_at), deleted_at: null, - updated_at: null, + updated_at: new Date(reward.updated_at), name: reward.name, description: reward.description, id: reward.id, diff --git a/src/routes/(donator)/reward/history/[redeemId]/+page.server.ts b/src/routes/(donator)/reward/history/[redeemId]/+page.server.ts index 5c06133..18a6f81 100644 --- a/src/routes/(donator)/reward/history/[redeemId]/+page.server.ts +++ b/src/routes/(donator)/reward/history/[redeemId]/+page.server.ts @@ -3,12 +3,14 @@ import type { PageServerLoad } from './$types'; export const load = (async ({ params, fetch }) => { const trpc = trpcOnServer(fetch); + const redemptionHistory = await trpc.reward.getRedemptionHistoryById.query({ redemptionHistoryId: params.redeemId }); const place = await trpc.places.findById.query({ placeId: redemptionHistory?.Reward.place_id || '' }); + return { redemptionHistory, place diff --git a/src/routes/(donator)/reward/history/[redeemId]/+page.svelte b/src/routes/(donator)/reward/history/[redeemId]/+page.svelte index 59db9dd..e26efff 100644 --- a/src/routes/(donator)/reward/history/[redeemId]/+page.svelte +++ b/src/routes/(donator)/reward/history/[redeemId]/+page.svelte @@ -31,8 +31,7 @@ await trpc.reward.cancelRedeem .mutate({ donatorId: redemptionHistory?.donator_id, - redemptionHistoryId: redemptionHistory?.id, - rewardId: redemptionHistory?.reward_id + redemptionHistoryId: redemptionHistory?.id }) .then(() => { alert('ระบบยกเลิกรายการแลกของรางวัลของคุณแล้ว'); diff --git a/src/routes/moderator/home/+page.server.ts b/src/routes/moderator/home/+page.server.ts index 5668cc7..279982d 100644 --- a/src/routes/moderator/home/+page.server.ts +++ b/src/routes/moderator/home/+page.server.ts @@ -23,21 +23,25 @@ function groupDatesByDay(dateArray: Date[]): Record { export const load = (async ({ fetch }) => { const trpc = trpcOnServer(fetch); - const places = await trpc.places.findAll.query(); - const medicalAccounts = await trpc.medicalStaff.findAll.query(); - const donators = await trpc.donators.findAll.query(); - - // Prisma Group by - const bloodTypeAggregations = await prisma.donation_History.groupBy({ - by: ['blood_type'], - _count: { - blood_type: true - } - }); // Sample array of date objects const dateArray: Date[] = []; - const donationHistories = await prisma.donation_History.findMany(); + + // promise all + const [places, medicalAccounts, donators, bloodTypeAggregations, donationHistories] = + await Promise.all([ + trpc.places.findAll.query(), + trpc.medicalStaff.findAll.query(), + trpc.donators.findAll.query(), + prisma.donation_History.groupBy({ + by: ['blood_type'], + _count: { + blood_type: true + } + }), + prisma.donation_History.findMany() + ]); + for (const data of donationHistories) { dateArray.push(new Date(data.created_at)); } diff --git a/src/routes/moderator/manage/staff/+page.server.ts b/src/routes/moderator/manage/staff/+page.server.ts index 8ca19a2..c623c77 100644 --- a/src/routes/moderator/manage/staff/+page.server.ts +++ b/src/routes/moderator/manage/staff/+page.server.ts @@ -3,8 +3,12 @@ import type { PageServerLoad } from './$types'; export const load: PageServerLoad = async ({ fetch }) => { const trpc = trpcOnServer(fetch); - const places = await trpc.places.findAll.query(); - const medicalAccounts = await trpc.medicalStaff.findAll.query(); + + const [places, medicalAccounts] = await Promise.all([ + trpc.places.findAll.query(), + trpc.medicalStaff.findAll.query() + ]); + return { places, medicalAccounts diff --git a/src/routes/staff/home/+page.server.ts b/src/routes/staff/home/+page.server.ts index 6cbecde..608c67f 100644 --- a/src/routes/staff/home/+page.server.ts +++ b/src/routes/staff/home/+page.server.ts @@ -23,14 +23,35 @@ function groupDatesByDay(dateArray: Date[]): Record { export const load = (async ({ fetch }) => { const trpc = trpcOnServer(fetch); - const places = await trpc.places.findAll.query(); - const medicalAccounts = await trpc.medicalStaff.findAll.query(); - const donators = await trpc.donators.findAll.query(); - const currentUser = await trpc.auth.getUser.query(); + + const [ + places, + medicalAccounts, + donators, + currentUser, + reservations, + bloodTypeAggregations, + donationHistories, + specialEvent + ] = await Promise.all([ + trpc.places.findAll.query(), + trpc.medicalStaff.findAll.query(), + trpc.donators.findAll.query(), + trpc.auth.getUser.query(), + trpc.reservation.findAll.query(), + prisma.donation_History.groupBy({ + by: ['blood_type'], + _count: { + blood_type: true + } + }), + prisma.donation_History.findMany(), + trpc.specialEvent.getEvent.query() + ]); + const currentStaff = await trpc.medicalStaff.findById.query({ medicalStaffId: currentUser?.user.id || '' }); - const reservations = await trpc.reservation.findAll.query(); const allReservation = []; for (const reservation of reservations) { if (reservation.Reservation_Slot.place_id === currentStaff?.Place.id) { @@ -38,17 +59,8 @@ export const load = (async ({ fetch }) => { } } - // Prisma Group by - const bloodTypeAggregations = await prisma.donation_History.groupBy({ - by: ['blood_type'], - _count: { - blood_type: true - } - }); - // Sample array of date objects const dateArray: Date[] = []; - const donationHistories = await prisma.donation_History.findMany(); for (const data of donationHistories) { dateArray.push(new Date(data.created_at)); } @@ -73,8 +85,6 @@ export const load = (async ({ fetch }) => { }); } - const specialEvent = await trpc.specialEvent.getEvent.query(); - return { places, medicalAccounts, diff --git a/src/routes/staff/manage/announcement/edit/+page.svelte b/src/routes/staff/manage/announcement/edit/+page.svelte deleted file mode 100644 index 8ca469b..0000000 --- a/src/routes/staff/manage/announcement/edit/+page.svelte +++ /dev/null @@ -1,342 +0,0 @@ - - -
-
-
- -

BLOODPROMPT

-
-
-
- - - - - - - - - -
- -
-
-
-
-
-
{$placeName}
-
-
- -

{$medicalStaffName}

- -
-
-
- -
-
-

การแก้ไขประกาศประชาสัมพันธ์

-

สามารถแก้ข้อมูลของการประกาศประชาสัมพันธ์

-
-
- - - -
-
-
-
-
-
- -

รูปภาพประกอบของประกาศประชาสัมพันธ์

-
- -
- {#if imageSeleceted} - d - {:else} -
-

ยังไม่ได้เลือกรูปภาพ

-

(โปรดเลือกอย่างน้อย 1 รูปภาพ)

-
- {/if} -
- -
- onFileSelected(e)} - bind:this={fileInput} - class="hidden" - /> - - -
-
-
-
- -

ข้อมูลของประกาศประชาสัมพันธ์

-
- - - - - - - ประเภทประกาศประชาสัมพันธ์ - { - selected = null; - }} - > - {types[0].label} - - { - selected = ''; - }} - > - {types[1].label} - - - - - - -