@valentine-efagene/qshelter-common 2.0.90 → 2.0.93

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -282,6 +282,7 @@ export type PropertyPaymentMethodPhaseWhereInput = {
282
282
  steps?: Prisma.PaymentMethodPhaseStepListRelationFilter;
283
283
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentListRelationFilter;
284
284
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldListRelationFilter;
285
+ eventAttachments?: Prisma.PhaseEventAttachmentListRelationFilter;
285
286
  };
286
287
  export type PropertyPaymentMethodPhaseOrderByWithRelationInput = {
287
288
  id?: Prisma.SortOrder;
@@ -307,6 +308,7 @@ export type PropertyPaymentMethodPhaseOrderByWithRelationInput = {
307
308
  steps?: Prisma.PaymentMethodPhaseStepOrderByRelationAggregateInput;
308
309
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentOrderByRelationAggregateInput;
309
310
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldOrderByRelationAggregateInput;
311
+ eventAttachments?: Prisma.PhaseEventAttachmentOrderByRelationAggregateInput;
310
312
  _relevance?: Prisma.PropertyPaymentMethodPhaseOrderByRelevanceInput;
311
313
  };
312
314
  export type PropertyPaymentMethodPhaseWhereUniqueInput = Prisma.AtLeast<{
@@ -336,6 +338,7 @@ export type PropertyPaymentMethodPhaseWhereUniqueInput = Prisma.AtLeast<{
336
338
  steps?: Prisma.PaymentMethodPhaseStepListRelationFilter;
337
339
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentListRelationFilter;
338
340
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldListRelationFilter;
341
+ eventAttachments?: Prisma.PhaseEventAttachmentListRelationFilter;
339
342
  }, "id">;
340
343
  export type PropertyPaymentMethodPhaseOrderByWithAggregationInput = {
341
344
  id?: Prisma.SortOrder;
@@ -407,6 +410,7 @@ export type PropertyPaymentMethodPhaseCreateInput = {
407
410
  steps?: Prisma.PaymentMethodPhaseStepCreateNestedManyWithoutPhaseInput;
408
411
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentCreateNestedManyWithoutPhaseInput;
409
412
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldCreateNestedManyWithoutPhaseInput;
413
+ eventAttachments?: Prisma.PhaseEventAttachmentCreateNestedManyWithoutPhaseInput;
410
414
  };
411
415
  export type PropertyPaymentMethodPhaseUncheckedCreateInput = {
412
416
  id?: string;
@@ -430,6 +434,7 @@ export type PropertyPaymentMethodPhaseUncheckedCreateInput = {
430
434
  steps?: Prisma.PaymentMethodPhaseStepUncheckedCreateNestedManyWithoutPhaseInput;
431
435
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentUncheckedCreateNestedManyWithoutPhaseInput;
432
436
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldUncheckedCreateNestedManyWithoutPhaseInput;
437
+ eventAttachments?: Prisma.PhaseEventAttachmentUncheckedCreateNestedManyWithoutPhaseInput;
433
438
  };
434
439
  export type PropertyPaymentMethodPhaseUpdateInput = {
435
440
  id?: Prisma.StringFieldUpdateOperationsInput | string;
@@ -453,6 +458,7 @@ export type PropertyPaymentMethodPhaseUpdateInput = {
453
458
  steps?: Prisma.PaymentMethodPhaseStepUpdateManyWithoutPhaseNestedInput;
454
459
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentUpdateManyWithoutPhaseNestedInput;
455
460
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldUpdateManyWithoutPhaseNestedInput;
461
+ eventAttachments?: Prisma.PhaseEventAttachmentUpdateManyWithoutPhaseNestedInput;
456
462
  };
457
463
  export type PropertyPaymentMethodPhaseUncheckedUpdateInput = {
458
464
  id?: Prisma.StringFieldUpdateOperationsInput | string;
@@ -476,6 +482,7 @@ export type PropertyPaymentMethodPhaseUncheckedUpdateInput = {
476
482
  steps?: Prisma.PaymentMethodPhaseStepUncheckedUpdateManyWithoutPhaseNestedInput;
477
483
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentUncheckedUpdateManyWithoutPhaseNestedInput;
478
484
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldUncheckedUpdateManyWithoutPhaseNestedInput;
485
+ eventAttachments?: Prisma.PhaseEventAttachmentUncheckedUpdateManyWithoutPhaseNestedInput;
479
486
  };
480
487
  export type PropertyPaymentMethodPhaseCreateManyInput = {
481
488
  id?: string;
@@ -708,6 +715,18 @@ export type NullableBoolFieldUpdateOperationsInput = {
708
715
  export type NullableEnumCompletionCriterionFieldUpdateOperationsInput = {
709
716
  set?: $Enums.CompletionCriterion | null;
710
717
  };
718
+ export type PropertyPaymentMethodPhaseCreateNestedOneWithoutEventAttachmentsInput = {
719
+ create?: Prisma.XOR<Prisma.PropertyPaymentMethodPhaseCreateWithoutEventAttachmentsInput, Prisma.PropertyPaymentMethodPhaseUncheckedCreateWithoutEventAttachmentsInput>;
720
+ connectOrCreate?: Prisma.PropertyPaymentMethodPhaseCreateOrConnectWithoutEventAttachmentsInput;
721
+ connect?: Prisma.PropertyPaymentMethodPhaseWhereUniqueInput;
722
+ };
723
+ export type PropertyPaymentMethodPhaseUpdateOneRequiredWithoutEventAttachmentsNestedInput = {
724
+ create?: Prisma.XOR<Prisma.PropertyPaymentMethodPhaseCreateWithoutEventAttachmentsInput, Prisma.PropertyPaymentMethodPhaseUncheckedCreateWithoutEventAttachmentsInput>;
725
+ connectOrCreate?: Prisma.PropertyPaymentMethodPhaseCreateOrConnectWithoutEventAttachmentsInput;
726
+ upsert?: Prisma.PropertyPaymentMethodPhaseUpsertWithoutEventAttachmentsInput;
727
+ connect?: Prisma.PropertyPaymentMethodPhaseWhereUniqueInput;
728
+ update?: Prisma.XOR<Prisma.XOR<Prisma.PropertyPaymentMethodPhaseUpdateToOneWithWhereWithoutEventAttachmentsInput, Prisma.PropertyPaymentMethodPhaseUpdateWithoutEventAttachmentsInput>, Prisma.PropertyPaymentMethodPhaseUncheckedUpdateWithoutEventAttachmentsInput>;
729
+ };
711
730
  export type PropertyPaymentMethodPhaseCreateNestedOneWithoutStepsInput = {
712
731
  create?: Prisma.XOR<Prisma.PropertyPaymentMethodPhaseCreateWithoutStepsInput, Prisma.PropertyPaymentMethodPhaseUncheckedCreateWithoutStepsInput>;
713
732
  connectOrCreate?: Prisma.PropertyPaymentMethodPhaseCreateOrConnectWithoutStepsInput;
@@ -765,6 +784,7 @@ export type PropertyPaymentMethodPhaseCreateWithoutPaymentPlanInput = {
765
784
  steps?: Prisma.PaymentMethodPhaseStepCreateNestedManyWithoutPhaseInput;
766
785
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentCreateNestedManyWithoutPhaseInput;
767
786
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldCreateNestedManyWithoutPhaseInput;
787
+ eventAttachments?: Prisma.PhaseEventAttachmentCreateNestedManyWithoutPhaseInput;
768
788
  };
769
789
  export type PropertyPaymentMethodPhaseUncheckedCreateWithoutPaymentPlanInput = {
770
790
  id?: string;
@@ -787,6 +807,7 @@ export type PropertyPaymentMethodPhaseUncheckedCreateWithoutPaymentPlanInput = {
787
807
  steps?: Prisma.PaymentMethodPhaseStepUncheckedCreateNestedManyWithoutPhaseInput;
788
808
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentUncheckedCreateNestedManyWithoutPhaseInput;
789
809
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldUncheckedCreateNestedManyWithoutPhaseInput;
810
+ eventAttachments?: Prisma.PhaseEventAttachmentUncheckedCreateNestedManyWithoutPhaseInput;
790
811
  };
791
812
  export type PropertyPaymentMethodPhaseCreateOrConnectWithoutPaymentPlanInput = {
792
813
  where: Prisma.PropertyPaymentMethodPhaseWhereUniqueInput;
@@ -853,6 +874,7 @@ export type PropertyPaymentMethodPhaseCreateWithoutPaymentMethodInput = {
853
874
  steps?: Prisma.PaymentMethodPhaseStepCreateNestedManyWithoutPhaseInput;
854
875
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentCreateNestedManyWithoutPhaseInput;
855
876
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldCreateNestedManyWithoutPhaseInput;
877
+ eventAttachments?: Prisma.PhaseEventAttachmentCreateNestedManyWithoutPhaseInput;
856
878
  };
857
879
  export type PropertyPaymentMethodPhaseUncheckedCreateWithoutPaymentMethodInput = {
858
880
  id?: string;
@@ -875,6 +897,7 @@ export type PropertyPaymentMethodPhaseUncheckedCreateWithoutPaymentMethodInput =
875
897
  steps?: Prisma.PaymentMethodPhaseStepUncheckedCreateNestedManyWithoutPhaseInput;
876
898
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentUncheckedCreateNestedManyWithoutPhaseInput;
877
899
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldUncheckedCreateNestedManyWithoutPhaseInput;
900
+ eventAttachments?: Prisma.PhaseEventAttachmentUncheckedCreateNestedManyWithoutPhaseInput;
878
901
  };
879
902
  export type PropertyPaymentMethodPhaseCreateOrConnectWithoutPaymentMethodInput = {
880
903
  where: Prisma.PropertyPaymentMethodPhaseWhereUniqueInput;
@@ -897,6 +920,111 @@ export type PropertyPaymentMethodPhaseUpdateManyWithWhereWithoutPaymentMethodInp
897
920
  where: Prisma.PropertyPaymentMethodPhaseScalarWhereInput;
898
921
  data: Prisma.XOR<Prisma.PropertyPaymentMethodPhaseUpdateManyMutationInput, Prisma.PropertyPaymentMethodPhaseUncheckedUpdateManyWithoutPaymentMethodInput>;
899
922
  };
923
+ export type PropertyPaymentMethodPhaseCreateWithoutEventAttachmentsInput = {
924
+ id?: string;
925
+ name: string;
926
+ description?: string | null;
927
+ phaseCategory: $Enums.PhaseCategory;
928
+ phaseType: $Enums.PhaseType;
929
+ order: number;
930
+ interestRate?: number | null;
931
+ percentOfPrice?: number | null;
932
+ collectFunds?: boolean | null;
933
+ requiresPreviousPhaseCompletion?: boolean;
934
+ minimumCompletionPercentage?: number | null;
935
+ completionCriterion?: $Enums.CompletionCriterion | null;
936
+ stepDefinitionsSnapshot?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue;
937
+ requiredDocumentSnapshot?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue;
938
+ createdAt?: Date | string;
939
+ updatedAt?: Date | string;
940
+ paymentMethod: Prisma.PropertyPaymentMethodCreateNestedOneWithoutPhasesInput;
941
+ paymentPlan?: Prisma.PaymentPlanCreateNestedOneWithoutMethodPhasesInput;
942
+ steps?: Prisma.PaymentMethodPhaseStepCreateNestedManyWithoutPhaseInput;
943
+ requiredDocuments?: Prisma.PaymentMethodPhaseDocumentCreateNestedManyWithoutPhaseInput;
944
+ questionnaireFields?: Prisma.PaymentMethodPhaseFieldCreateNestedManyWithoutPhaseInput;
945
+ };
946
+ export type PropertyPaymentMethodPhaseUncheckedCreateWithoutEventAttachmentsInput = {
947
+ id?: string;
948
+ paymentMethodId: string;
949
+ paymentPlanId?: string | null;
950
+ name: string;
951
+ description?: string | null;
952
+ phaseCategory: $Enums.PhaseCategory;
953
+ phaseType: $Enums.PhaseType;
954
+ order: number;
955
+ interestRate?: number | null;
956
+ percentOfPrice?: number | null;
957
+ collectFunds?: boolean | null;
958
+ requiresPreviousPhaseCompletion?: boolean;
959
+ minimumCompletionPercentage?: number | null;
960
+ completionCriterion?: $Enums.CompletionCriterion | null;
961
+ stepDefinitionsSnapshot?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue;
962
+ requiredDocumentSnapshot?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue;
963
+ createdAt?: Date | string;
964
+ updatedAt?: Date | string;
965
+ steps?: Prisma.PaymentMethodPhaseStepUncheckedCreateNestedManyWithoutPhaseInput;
966
+ requiredDocuments?: Prisma.PaymentMethodPhaseDocumentUncheckedCreateNestedManyWithoutPhaseInput;
967
+ questionnaireFields?: Prisma.PaymentMethodPhaseFieldUncheckedCreateNestedManyWithoutPhaseInput;
968
+ };
969
+ export type PropertyPaymentMethodPhaseCreateOrConnectWithoutEventAttachmentsInput = {
970
+ where: Prisma.PropertyPaymentMethodPhaseWhereUniqueInput;
971
+ create: Prisma.XOR<Prisma.PropertyPaymentMethodPhaseCreateWithoutEventAttachmentsInput, Prisma.PropertyPaymentMethodPhaseUncheckedCreateWithoutEventAttachmentsInput>;
972
+ };
973
+ export type PropertyPaymentMethodPhaseUpsertWithoutEventAttachmentsInput = {
974
+ update: Prisma.XOR<Prisma.PropertyPaymentMethodPhaseUpdateWithoutEventAttachmentsInput, Prisma.PropertyPaymentMethodPhaseUncheckedUpdateWithoutEventAttachmentsInput>;
975
+ create: Prisma.XOR<Prisma.PropertyPaymentMethodPhaseCreateWithoutEventAttachmentsInput, Prisma.PropertyPaymentMethodPhaseUncheckedCreateWithoutEventAttachmentsInput>;
976
+ where?: Prisma.PropertyPaymentMethodPhaseWhereInput;
977
+ };
978
+ export type PropertyPaymentMethodPhaseUpdateToOneWithWhereWithoutEventAttachmentsInput = {
979
+ where?: Prisma.PropertyPaymentMethodPhaseWhereInput;
980
+ data: Prisma.XOR<Prisma.PropertyPaymentMethodPhaseUpdateWithoutEventAttachmentsInput, Prisma.PropertyPaymentMethodPhaseUncheckedUpdateWithoutEventAttachmentsInput>;
981
+ };
982
+ export type PropertyPaymentMethodPhaseUpdateWithoutEventAttachmentsInput = {
983
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
984
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
985
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
986
+ phaseCategory?: Prisma.EnumPhaseCategoryFieldUpdateOperationsInput | $Enums.PhaseCategory;
987
+ phaseType?: Prisma.EnumPhaseTypeFieldUpdateOperationsInput | $Enums.PhaseType;
988
+ order?: Prisma.IntFieldUpdateOperationsInput | number;
989
+ interestRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
990
+ percentOfPrice?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
991
+ collectFunds?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null;
992
+ requiresPreviousPhaseCompletion?: Prisma.BoolFieldUpdateOperationsInput | boolean;
993
+ minimumCompletionPercentage?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
994
+ completionCriterion?: Prisma.NullableEnumCompletionCriterionFieldUpdateOperationsInput | $Enums.CompletionCriterion | null;
995
+ stepDefinitionsSnapshot?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue;
996
+ requiredDocumentSnapshot?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue;
997
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
998
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
999
+ paymentMethod?: Prisma.PropertyPaymentMethodUpdateOneRequiredWithoutPhasesNestedInput;
1000
+ paymentPlan?: Prisma.PaymentPlanUpdateOneWithoutMethodPhasesNestedInput;
1001
+ steps?: Prisma.PaymentMethodPhaseStepUpdateManyWithoutPhaseNestedInput;
1002
+ requiredDocuments?: Prisma.PaymentMethodPhaseDocumentUpdateManyWithoutPhaseNestedInput;
1003
+ questionnaireFields?: Prisma.PaymentMethodPhaseFieldUpdateManyWithoutPhaseNestedInput;
1004
+ };
1005
+ export type PropertyPaymentMethodPhaseUncheckedUpdateWithoutEventAttachmentsInput = {
1006
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
1007
+ paymentMethodId?: Prisma.StringFieldUpdateOperationsInput | string;
1008
+ paymentPlanId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1009
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
1010
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1011
+ phaseCategory?: Prisma.EnumPhaseCategoryFieldUpdateOperationsInput | $Enums.PhaseCategory;
1012
+ phaseType?: Prisma.EnumPhaseTypeFieldUpdateOperationsInput | $Enums.PhaseType;
1013
+ order?: Prisma.IntFieldUpdateOperationsInput | number;
1014
+ interestRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1015
+ percentOfPrice?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1016
+ collectFunds?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null;
1017
+ requiresPreviousPhaseCompletion?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1018
+ minimumCompletionPercentage?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1019
+ completionCriterion?: Prisma.NullableEnumCompletionCriterionFieldUpdateOperationsInput | $Enums.CompletionCriterion | null;
1020
+ stepDefinitionsSnapshot?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue;
1021
+ requiredDocumentSnapshot?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue;
1022
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
1023
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
1024
+ steps?: Prisma.PaymentMethodPhaseStepUncheckedUpdateManyWithoutPhaseNestedInput;
1025
+ requiredDocuments?: Prisma.PaymentMethodPhaseDocumentUncheckedUpdateManyWithoutPhaseNestedInput;
1026
+ questionnaireFields?: Prisma.PaymentMethodPhaseFieldUncheckedUpdateManyWithoutPhaseNestedInput;
1027
+ };
900
1028
  export type PropertyPaymentMethodPhaseCreateWithoutStepsInput = {
901
1029
  id?: string;
902
1030
  name: string;
@@ -918,6 +1046,7 @@ export type PropertyPaymentMethodPhaseCreateWithoutStepsInput = {
918
1046
  paymentPlan?: Prisma.PaymentPlanCreateNestedOneWithoutMethodPhasesInput;
919
1047
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentCreateNestedManyWithoutPhaseInput;
920
1048
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldCreateNestedManyWithoutPhaseInput;
1049
+ eventAttachments?: Prisma.PhaseEventAttachmentCreateNestedManyWithoutPhaseInput;
921
1050
  };
922
1051
  export type PropertyPaymentMethodPhaseUncheckedCreateWithoutStepsInput = {
923
1052
  id?: string;
@@ -940,6 +1069,7 @@ export type PropertyPaymentMethodPhaseUncheckedCreateWithoutStepsInput = {
940
1069
  updatedAt?: Date | string;
941
1070
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentUncheckedCreateNestedManyWithoutPhaseInput;
942
1071
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldUncheckedCreateNestedManyWithoutPhaseInput;
1072
+ eventAttachments?: Prisma.PhaseEventAttachmentUncheckedCreateNestedManyWithoutPhaseInput;
943
1073
  };
944
1074
  export type PropertyPaymentMethodPhaseCreateOrConnectWithoutStepsInput = {
945
1075
  where: Prisma.PropertyPaymentMethodPhaseWhereUniqueInput;
@@ -975,6 +1105,7 @@ export type PropertyPaymentMethodPhaseUpdateWithoutStepsInput = {
975
1105
  paymentPlan?: Prisma.PaymentPlanUpdateOneWithoutMethodPhasesNestedInput;
976
1106
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentUpdateManyWithoutPhaseNestedInput;
977
1107
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldUpdateManyWithoutPhaseNestedInput;
1108
+ eventAttachments?: Prisma.PhaseEventAttachmentUpdateManyWithoutPhaseNestedInput;
978
1109
  };
979
1110
  export type PropertyPaymentMethodPhaseUncheckedUpdateWithoutStepsInput = {
980
1111
  id?: Prisma.StringFieldUpdateOperationsInput | string;
@@ -997,6 +1128,7 @@ export type PropertyPaymentMethodPhaseUncheckedUpdateWithoutStepsInput = {
997
1128
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
998
1129
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentUncheckedUpdateManyWithoutPhaseNestedInput;
999
1130
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldUncheckedUpdateManyWithoutPhaseNestedInput;
1131
+ eventAttachments?: Prisma.PhaseEventAttachmentUncheckedUpdateManyWithoutPhaseNestedInput;
1000
1132
  };
1001
1133
  export type PropertyPaymentMethodPhaseCreateWithoutRequiredDocumentsInput = {
1002
1134
  id?: string;
@@ -1019,6 +1151,7 @@ export type PropertyPaymentMethodPhaseCreateWithoutRequiredDocumentsInput = {
1019
1151
  paymentPlan?: Prisma.PaymentPlanCreateNestedOneWithoutMethodPhasesInput;
1020
1152
  steps?: Prisma.PaymentMethodPhaseStepCreateNestedManyWithoutPhaseInput;
1021
1153
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldCreateNestedManyWithoutPhaseInput;
1154
+ eventAttachments?: Prisma.PhaseEventAttachmentCreateNestedManyWithoutPhaseInput;
1022
1155
  };
1023
1156
  export type PropertyPaymentMethodPhaseUncheckedCreateWithoutRequiredDocumentsInput = {
1024
1157
  id?: string;
@@ -1041,6 +1174,7 @@ export type PropertyPaymentMethodPhaseUncheckedCreateWithoutRequiredDocumentsInp
1041
1174
  updatedAt?: Date | string;
1042
1175
  steps?: Prisma.PaymentMethodPhaseStepUncheckedCreateNestedManyWithoutPhaseInput;
1043
1176
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldUncheckedCreateNestedManyWithoutPhaseInput;
1177
+ eventAttachments?: Prisma.PhaseEventAttachmentUncheckedCreateNestedManyWithoutPhaseInput;
1044
1178
  };
1045
1179
  export type PropertyPaymentMethodPhaseCreateOrConnectWithoutRequiredDocumentsInput = {
1046
1180
  where: Prisma.PropertyPaymentMethodPhaseWhereUniqueInput;
@@ -1076,6 +1210,7 @@ export type PropertyPaymentMethodPhaseUpdateWithoutRequiredDocumentsInput = {
1076
1210
  paymentPlan?: Prisma.PaymentPlanUpdateOneWithoutMethodPhasesNestedInput;
1077
1211
  steps?: Prisma.PaymentMethodPhaseStepUpdateManyWithoutPhaseNestedInput;
1078
1212
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldUpdateManyWithoutPhaseNestedInput;
1213
+ eventAttachments?: Prisma.PhaseEventAttachmentUpdateManyWithoutPhaseNestedInput;
1079
1214
  };
1080
1215
  export type PropertyPaymentMethodPhaseUncheckedUpdateWithoutRequiredDocumentsInput = {
1081
1216
  id?: Prisma.StringFieldUpdateOperationsInput | string;
@@ -1098,6 +1233,7 @@ export type PropertyPaymentMethodPhaseUncheckedUpdateWithoutRequiredDocumentsInp
1098
1233
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
1099
1234
  steps?: Prisma.PaymentMethodPhaseStepUncheckedUpdateManyWithoutPhaseNestedInput;
1100
1235
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldUncheckedUpdateManyWithoutPhaseNestedInput;
1236
+ eventAttachments?: Prisma.PhaseEventAttachmentUncheckedUpdateManyWithoutPhaseNestedInput;
1101
1237
  };
1102
1238
  export type PropertyPaymentMethodPhaseCreateWithoutQuestionnaireFieldsInput = {
1103
1239
  id?: string;
@@ -1120,6 +1256,7 @@ export type PropertyPaymentMethodPhaseCreateWithoutQuestionnaireFieldsInput = {
1120
1256
  paymentPlan?: Prisma.PaymentPlanCreateNestedOneWithoutMethodPhasesInput;
1121
1257
  steps?: Prisma.PaymentMethodPhaseStepCreateNestedManyWithoutPhaseInput;
1122
1258
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentCreateNestedManyWithoutPhaseInput;
1259
+ eventAttachments?: Prisma.PhaseEventAttachmentCreateNestedManyWithoutPhaseInput;
1123
1260
  };
1124
1261
  export type PropertyPaymentMethodPhaseUncheckedCreateWithoutQuestionnaireFieldsInput = {
1125
1262
  id?: string;
@@ -1142,6 +1279,7 @@ export type PropertyPaymentMethodPhaseUncheckedCreateWithoutQuestionnaireFieldsI
1142
1279
  updatedAt?: Date | string;
1143
1280
  steps?: Prisma.PaymentMethodPhaseStepUncheckedCreateNestedManyWithoutPhaseInput;
1144
1281
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentUncheckedCreateNestedManyWithoutPhaseInput;
1282
+ eventAttachments?: Prisma.PhaseEventAttachmentUncheckedCreateNestedManyWithoutPhaseInput;
1145
1283
  };
1146
1284
  export type PropertyPaymentMethodPhaseCreateOrConnectWithoutQuestionnaireFieldsInput = {
1147
1285
  where: Prisma.PropertyPaymentMethodPhaseWhereUniqueInput;
@@ -1177,6 +1315,7 @@ export type PropertyPaymentMethodPhaseUpdateWithoutQuestionnaireFieldsInput = {
1177
1315
  paymentPlan?: Prisma.PaymentPlanUpdateOneWithoutMethodPhasesNestedInput;
1178
1316
  steps?: Prisma.PaymentMethodPhaseStepUpdateManyWithoutPhaseNestedInput;
1179
1317
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentUpdateManyWithoutPhaseNestedInput;
1318
+ eventAttachments?: Prisma.PhaseEventAttachmentUpdateManyWithoutPhaseNestedInput;
1180
1319
  };
1181
1320
  export type PropertyPaymentMethodPhaseUncheckedUpdateWithoutQuestionnaireFieldsInput = {
1182
1321
  id?: Prisma.StringFieldUpdateOperationsInput | string;
@@ -1199,6 +1338,7 @@ export type PropertyPaymentMethodPhaseUncheckedUpdateWithoutQuestionnaireFieldsI
1199
1338
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
1200
1339
  steps?: Prisma.PaymentMethodPhaseStepUncheckedUpdateManyWithoutPhaseNestedInput;
1201
1340
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentUncheckedUpdateManyWithoutPhaseNestedInput;
1341
+ eventAttachments?: Prisma.PhaseEventAttachmentUncheckedUpdateManyWithoutPhaseNestedInput;
1202
1342
  };
1203
1343
  export type PropertyPaymentMethodPhaseCreateManyPaymentPlanInput = {
1204
1344
  id?: string;
@@ -1240,6 +1380,7 @@ export type PropertyPaymentMethodPhaseUpdateWithoutPaymentPlanInput = {
1240
1380
  steps?: Prisma.PaymentMethodPhaseStepUpdateManyWithoutPhaseNestedInput;
1241
1381
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentUpdateManyWithoutPhaseNestedInput;
1242
1382
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldUpdateManyWithoutPhaseNestedInput;
1383
+ eventAttachments?: Prisma.PhaseEventAttachmentUpdateManyWithoutPhaseNestedInput;
1243
1384
  };
1244
1385
  export type PropertyPaymentMethodPhaseUncheckedUpdateWithoutPaymentPlanInput = {
1245
1386
  id?: Prisma.StringFieldUpdateOperationsInput | string;
@@ -1262,6 +1403,7 @@ export type PropertyPaymentMethodPhaseUncheckedUpdateWithoutPaymentPlanInput = {
1262
1403
  steps?: Prisma.PaymentMethodPhaseStepUncheckedUpdateManyWithoutPhaseNestedInput;
1263
1404
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentUncheckedUpdateManyWithoutPhaseNestedInput;
1264
1405
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldUncheckedUpdateManyWithoutPhaseNestedInput;
1406
+ eventAttachments?: Prisma.PhaseEventAttachmentUncheckedUpdateManyWithoutPhaseNestedInput;
1265
1407
  };
1266
1408
  export type PropertyPaymentMethodPhaseUncheckedUpdateManyWithoutPaymentPlanInput = {
1267
1409
  id?: Prisma.StringFieldUpdateOperationsInput | string;
@@ -1322,6 +1464,7 @@ export type PropertyPaymentMethodPhaseUpdateWithoutPaymentMethodInput = {
1322
1464
  steps?: Prisma.PaymentMethodPhaseStepUpdateManyWithoutPhaseNestedInput;
1323
1465
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentUpdateManyWithoutPhaseNestedInput;
1324
1466
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldUpdateManyWithoutPhaseNestedInput;
1467
+ eventAttachments?: Prisma.PhaseEventAttachmentUpdateManyWithoutPhaseNestedInput;
1325
1468
  };
1326
1469
  export type PropertyPaymentMethodPhaseUncheckedUpdateWithoutPaymentMethodInput = {
1327
1470
  id?: Prisma.StringFieldUpdateOperationsInput | string;
@@ -1344,6 +1487,7 @@ export type PropertyPaymentMethodPhaseUncheckedUpdateWithoutPaymentMethodInput =
1344
1487
  steps?: Prisma.PaymentMethodPhaseStepUncheckedUpdateManyWithoutPhaseNestedInput;
1345
1488
  requiredDocuments?: Prisma.PaymentMethodPhaseDocumentUncheckedUpdateManyWithoutPhaseNestedInput;
1346
1489
  questionnaireFields?: Prisma.PaymentMethodPhaseFieldUncheckedUpdateManyWithoutPhaseNestedInput;
1490
+ eventAttachments?: Prisma.PhaseEventAttachmentUncheckedUpdateManyWithoutPhaseNestedInput;
1347
1491
  };
1348
1492
  export type PropertyPaymentMethodPhaseUncheckedUpdateManyWithoutPaymentMethodInput = {
1349
1493
  id?: Prisma.StringFieldUpdateOperationsInput | string;
@@ -1371,11 +1515,13 @@ export type PropertyPaymentMethodPhaseCountOutputType = {
1371
1515
  steps: number;
1372
1516
  requiredDocuments: number;
1373
1517
  questionnaireFields: number;
1518
+ eventAttachments: number;
1374
1519
  };
1375
1520
  export type PropertyPaymentMethodPhaseCountOutputTypeSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1376
1521
  steps?: boolean | PropertyPaymentMethodPhaseCountOutputTypeCountStepsArgs;
1377
1522
  requiredDocuments?: boolean | PropertyPaymentMethodPhaseCountOutputTypeCountRequiredDocumentsArgs;
1378
1523
  questionnaireFields?: boolean | PropertyPaymentMethodPhaseCountOutputTypeCountQuestionnaireFieldsArgs;
1524
+ eventAttachments?: boolean | PropertyPaymentMethodPhaseCountOutputTypeCountEventAttachmentsArgs;
1379
1525
  };
1380
1526
  /**
1381
1527
  * PropertyPaymentMethodPhaseCountOutputType without action
@@ -1404,6 +1550,12 @@ export type PropertyPaymentMethodPhaseCountOutputTypeCountRequiredDocumentsArgs<
1404
1550
  export type PropertyPaymentMethodPhaseCountOutputTypeCountQuestionnaireFieldsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1405
1551
  where?: Prisma.PaymentMethodPhaseFieldWhereInput;
1406
1552
  };
1553
+ /**
1554
+ * PropertyPaymentMethodPhaseCountOutputType without action
1555
+ */
1556
+ export type PropertyPaymentMethodPhaseCountOutputTypeCountEventAttachmentsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1557
+ where?: Prisma.PhaseEventAttachmentWhereInput;
1558
+ };
1407
1559
  export type PropertyPaymentMethodPhaseSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
1408
1560
  id?: boolean;
1409
1561
  paymentMethodId?: boolean;
@@ -1428,6 +1580,7 @@ export type PropertyPaymentMethodPhaseSelect<ExtArgs extends runtime.Types.Exten
1428
1580
  steps?: boolean | Prisma.PropertyPaymentMethodPhase$stepsArgs<ExtArgs>;
1429
1581
  requiredDocuments?: boolean | Prisma.PropertyPaymentMethodPhase$requiredDocumentsArgs<ExtArgs>;
1430
1582
  questionnaireFields?: boolean | Prisma.PropertyPaymentMethodPhase$questionnaireFieldsArgs<ExtArgs>;
1583
+ eventAttachments?: boolean | Prisma.PropertyPaymentMethodPhase$eventAttachmentsArgs<ExtArgs>;
1431
1584
  _count?: boolean | Prisma.PropertyPaymentMethodPhaseCountOutputTypeDefaultArgs<ExtArgs>;
1432
1585
  }, ExtArgs["result"]["propertyPaymentMethodPhase"]>;
1433
1586
  export type PropertyPaymentMethodPhaseSelectScalar = {
@@ -1457,6 +1610,7 @@ export type PropertyPaymentMethodPhaseInclude<ExtArgs extends runtime.Types.Exte
1457
1610
  steps?: boolean | Prisma.PropertyPaymentMethodPhase$stepsArgs<ExtArgs>;
1458
1611
  requiredDocuments?: boolean | Prisma.PropertyPaymentMethodPhase$requiredDocumentsArgs<ExtArgs>;
1459
1612
  questionnaireFields?: boolean | Prisma.PropertyPaymentMethodPhase$questionnaireFieldsArgs<ExtArgs>;
1613
+ eventAttachments?: boolean | Prisma.PropertyPaymentMethodPhase$eventAttachmentsArgs<ExtArgs>;
1460
1614
  _count?: boolean | Prisma.PropertyPaymentMethodPhaseCountOutputTypeDefaultArgs<ExtArgs>;
1461
1615
  };
1462
1616
  export type $PropertyPaymentMethodPhasePayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
@@ -1467,6 +1621,7 @@ export type $PropertyPaymentMethodPhasePayload<ExtArgs extends runtime.Types.Ext
1467
1621
  steps: Prisma.$PaymentMethodPhaseStepPayload<ExtArgs>[];
1468
1622
  requiredDocuments: Prisma.$PaymentMethodPhaseDocumentPayload<ExtArgs>[];
1469
1623
  questionnaireFields: Prisma.$PaymentMethodPhaseFieldPayload<ExtArgs>[];
1624
+ eventAttachments: Prisma.$PhaseEventAttachmentPayload<ExtArgs>[];
1470
1625
  };
1471
1626
  scalars: runtime.Types.Extensions.GetPayloadResult<{
1472
1627
  id: string;
@@ -1769,6 +1924,7 @@ export interface Prisma__PropertyPaymentMethodPhaseClient<T, Null = never, ExtAr
1769
1924
  steps<T extends Prisma.PropertyPaymentMethodPhase$stepsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.PropertyPaymentMethodPhase$stepsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$PaymentMethodPhaseStepPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
1770
1925
  requiredDocuments<T extends Prisma.PropertyPaymentMethodPhase$requiredDocumentsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.PropertyPaymentMethodPhase$requiredDocumentsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$PaymentMethodPhaseDocumentPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
1771
1926
  questionnaireFields<T extends Prisma.PropertyPaymentMethodPhase$questionnaireFieldsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.PropertyPaymentMethodPhase$questionnaireFieldsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$PaymentMethodPhaseFieldPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
1927
+ eventAttachments<T extends Prisma.PropertyPaymentMethodPhase$eventAttachmentsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.PropertyPaymentMethodPhase$eventAttachmentsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$PhaseEventAttachmentPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
1772
1928
  /**
1773
1929
  * Attaches callbacks for the resolution and/or rejection of the Promise.
1774
1930
  * @param onfulfilled The callback to execute when the Promise is resolved.
@@ -2226,6 +2382,29 @@ export type PropertyPaymentMethodPhase$questionnaireFieldsArgs<ExtArgs extends r
2226
2382
  skip?: number;
2227
2383
  distinct?: Prisma.PaymentMethodPhaseFieldScalarFieldEnum | Prisma.PaymentMethodPhaseFieldScalarFieldEnum[];
2228
2384
  };
2385
+ /**
2386
+ * PropertyPaymentMethodPhase.eventAttachments
2387
+ */
2388
+ export type PropertyPaymentMethodPhase$eventAttachmentsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2389
+ /**
2390
+ * Select specific fields to fetch from the PhaseEventAttachment
2391
+ */
2392
+ select?: Prisma.PhaseEventAttachmentSelect<ExtArgs> | null;
2393
+ /**
2394
+ * Omit specific fields from the PhaseEventAttachment
2395
+ */
2396
+ omit?: Prisma.PhaseEventAttachmentOmit<ExtArgs> | null;
2397
+ /**
2398
+ * Choose, which related nodes to fetch as well
2399
+ */
2400
+ include?: Prisma.PhaseEventAttachmentInclude<ExtArgs> | null;
2401
+ where?: Prisma.PhaseEventAttachmentWhereInput;
2402
+ orderBy?: Prisma.PhaseEventAttachmentOrderByWithRelationInput | Prisma.PhaseEventAttachmentOrderByWithRelationInput[];
2403
+ cursor?: Prisma.PhaseEventAttachmentWhereUniqueInput;
2404
+ take?: number;
2405
+ skip?: number;
2406
+ distinct?: Prisma.PhaseEventAttachmentScalarFieldEnum | Prisma.PhaseEventAttachmentScalarFieldEnum[];
2407
+ };
2229
2408
  /**
2230
2409
  * PropertyPaymentMethodPhase without action
2231
2410
  */
@@ -32,6 +32,7 @@ export * from './PaymentMethodPhaseStep';
32
32
  export * from './PaymentPhase';
33
33
  export * from './PaymentPlan';
34
34
  export * from './Permission';
35
+ export * from './PhaseEventAttachment';
35
36
  export * from './Property';
36
37
  export * from './PropertyAmenity';
37
38
  export * from './PropertyDocument';
@@ -32,6 +32,7 @@ export * from './PaymentMethodPhaseStep';
32
32
  export * from './PaymentPhase';
33
33
  export * from './PaymentPlan';
34
34
  export * from './Permission';
35
+ export * from './PhaseEventAttachment';
35
36
  export * from './Property';
36
37
  export * from './PropertyAmenity';
37
38
  export * from './PropertyDocument';
@@ -29,6 +29,7 @@ export type * from './models/PaymentPlan.js';
29
29
  export type * from './models/PropertyPaymentMethod.js';
30
30
  export type * from './models/PropertyPaymentMethodLink.js';
31
31
  export type * from './models/PropertyPaymentMethodPhase.js';
32
+ export type * from './models/PhaseEventAttachment.js';
32
33
  export type * from './models/PaymentMethodPhaseStep.js';
33
34
  export type * from './models/StepEventAttachment.js';
34
35
  export type * from './models/PaymentMethodPhaseDocument.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@valentine-efagene/qshelter-common",
3
- "version": "2.0.90",
3
+ "version": "2.0.93",
4
4
  "description": "Shared database schemas and utilities for QShelter services",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -0,0 +1,22 @@
1
+ -- CreateTable
2
+ CREATE TABLE `phase_event_attachments` (
3
+ `id` VARCHAR(191) NOT NULL,
4
+ `phaseId` VARCHAR(191) NOT NULL,
5
+ `trigger` ENUM('ON_ACTIVATE', 'ON_COMPLETE', 'ON_CANCEL', 'ON_PAYMENT_RECEIVED', 'ON_ALL_PAYMENTS_RECEIVED') NOT NULL,
6
+ `handlerId` VARCHAR(191) NOT NULL,
7
+ `priority` INTEGER NOT NULL DEFAULT 100,
8
+ `enabled` BOOLEAN NOT NULL DEFAULT true,
9
+ `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
10
+ `updatedAt` DATETIME(3) NOT NULL,
11
+
12
+ INDEX `phase_event_attachments_phaseId_idx`(`phaseId`),
13
+ INDEX `phase_event_attachments_handlerId_idx`(`handlerId`),
14
+ UNIQUE INDEX `phase_event_attachments_phaseId_handlerId_trigger_key`(`phaseId`, `handlerId`, `trigger`),
15
+ PRIMARY KEY (`id`)
16
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
17
+
18
+ -- AddForeignKey
19
+ ALTER TABLE `phase_event_attachments` ADD CONSTRAINT `phase_event_attachments_phaseId_fkey` FOREIGN KEY (`phaseId`) REFERENCES `property_payment_method_phases`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
20
+
21
+ -- AddForeignKey
22
+ ALTER TABLE `phase_event_attachments` ADD CONSTRAINT `phase_event_attachments_handlerId_fkey` FOREIGN KEY (`handlerId`) REFERENCES `event_handlers`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
@@ -113,6 +113,15 @@ enum StepTrigger {
113
113
  ON_START // When step transitions to IN_PROGRESS
114
114
  }
115
115
 
116
+ /// When a phase event attachment should trigger
117
+ enum PhaseTrigger {
118
+ ON_ACTIVATE // When phase is activated (becomes current)
119
+ ON_COMPLETE // When phase is completed (all steps/payments done)
120
+ ON_CANCEL // When phase is cancelled
121
+ ON_PAYMENT_RECEIVED // When any payment is received (for PAYMENT phases)
122
+ ON_ALL_PAYMENTS_RECEIVED // When all payments in phase are complete
123
+ }
124
+
116
125
  enum InstallmentStatus {
117
126
  PENDING
118
127
  PAID
@@ -1083,6 +1092,8 @@ model PropertyPaymentMethodPhase {
1083
1092
  requiredDocuments PaymentMethodPhaseDocument[]
1084
1093
  // Normalized child tables (for QUESTIONNAIRE phases)
1085
1094
  questionnaireFields PaymentMethodPhaseField[]
1095
+ // Event attachments - handlers that fire on phase transitions
1096
+ eventAttachments PhaseEventAttachment[]
1086
1097
 
1087
1098
  @@index([paymentMethodId])
1088
1099
  @@index([paymentPlanId])
@@ -1090,6 +1101,35 @@ model PropertyPaymentMethodPhase {
1090
1101
  @@map("property_payment_method_phases")
1091
1102
  }
1092
1103
 
1104
+ /// Phase Event Attachment - Links event handlers to phase template triggers
1105
+ /// When a phase transitions (complete, payment received, etc.), attached handlers fire
1106
+ model PhaseEventAttachment {
1107
+ id String @id @default(cuid())
1108
+ phaseId String
1109
+ phase PropertyPaymentMethodPhase @relation(fields: [phaseId], references: [id], onDelete: Cascade)
1110
+
1111
+ /// When this handler should fire
1112
+ trigger PhaseTrigger
1113
+
1114
+ /// The event handler to execute
1115
+ handlerId String
1116
+ handler EventHandler @relation(fields: [handlerId], references: [id], onDelete: Cascade)
1117
+
1118
+ /// Order of execution (lower = first)
1119
+ priority Int @default(100)
1120
+
1121
+ /// Whether this attachment is active
1122
+ enabled Boolean @default(true)
1123
+
1124
+ createdAt DateTime @default(now())
1125
+ updatedAt DateTime @updatedAt
1126
+
1127
+ @@unique([phaseId, handlerId, trigger])
1128
+ @@index([phaseId])
1129
+ @@index([handlerId])
1130
+ @@map("phase_event_attachments")
1131
+ }
1132
+
1093
1133
  // Step template within a DOCUMENTATION phase
1094
1134
  model PaymentMethodPhaseStep {
1095
1135
  id String @id @default(cuid())
@@ -2239,6 +2279,9 @@ model EventHandler {
2239
2279
  /// Step attachments - steps that have attached this handler
2240
2280
  stepAttachments StepEventAttachment[]
2241
2281
 
2282
+ /// Phase attachments - phases that have attached this handler
2283
+ phaseAttachments PhaseEventAttachment[]
2284
+
2242
2285
  createdAt DateTime @default(now())
2243
2286
  updatedAt DateTime @updatedAt
2244
2287