@dragonmastery/dragoncore-shared 0.0.19 → 0.0.20

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.
package/dist/index.mjs CHANGED
@@ -533,6 +533,7 @@ const forgot_password_zod = z.object({ email: z.string().email().trim().toLowerC
533
533
  * These define all the different types of records that can exist in the system
534
534
  */
535
535
  const RecordTypeValues = [
536
+ "app_setting",
536
537
  "attachment_folder",
537
538
  "attachment",
538
539
  "user",
@@ -560,9 +561,11 @@ const RecordTypeValues = [
560
561
  "saved_filter",
561
562
  "user_pinned_preset",
562
563
  "record_subscriber",
563
- "support_staff"
564
+ "support_staff",
565
+ "user_consent"
564
566
  ];
565
567
  const RecordConst = {
568
+ APP_SETTING: "app_setting",
566
569
  ATTACHMENT: "attachment",
567
570
  ATTACHMENT_FOLDER: "attachment_folder",
568
571
  USER: "user",
@@ -589,7 +592,8 @@ const RecordConst = {
589
592
  SAVED_FILTER: "saved_filter",
590
593
  USER_PINNED_PRESET: "user_pinned_preset",
591
594
  RECORD_SUBSCRIBER: "record_subscriber",
592
- SUPPORT_STAFF: "support_staff"
595
+ SUPPORT_STAFF: "support_staff",
596
+ USER_CONSENT: "user_consent"
593
597
  };
594
598
 
595
599
  //#endregion
@@ -675,6 +679,14 @@ const NoteFiltersSchema = PaginationFiltersSchema.extend({
675
679
  });
676
680
  const NoteFiltersSortDirectionEnum = z.enum(["asc", "desc"]);
677
681
 
682
+ //#endregion
683
+ //#region src/validation/record_consents_zod.ts
684
+ /**
685
+ * Input for recording consent acceptances (re-consent flow).
686
+ * acceptances: Record<consent_type, boolean> - keys from getPendingConsents.
687
+ */
688
+ const recordConsentsSchema = z.object({ acceptances: z.record(z.string(), z.boolean()).optional().transform((val) => val ?? {}) });
689
+
678
690
  //#endregion
679
691
  //#region src/validation/record_version_zod.ts
680
692
  const RecordTypeEnum$2 = z.enum(RecordTypeValues);
@@ -784,8 +796,46 @@ const resetPasswordInputSchema = z.object({ passwords: z.object({
784
796
  }) });
785
797
  const resetPasswordSchema = resetPasswordInputSchema.extend({ token: z.string().min(20) });
786
798
 
799
+ //#endregion
800
+ //#region src/validation/signup_requirements_zod.ts
801
+ /**
802
+ * Single consent config returned to the signup form.
803
+ * Supports any number of consents - add new types via app settings.
804
+ */
805
+ const SignupConsentConfigSchema = z.object({
806
+ type: z.string(),
807
+ required: z.boolean(),
808
+ url: z.string(),
809
+ label: z.string(),
810
+ version: z.string().min(1),
811
+ effective_at: z.string().datetime("effective_at must be a valid ISO 8601 datetime"),
812
+ content: z.string().optional().nullable()
813
+ });
814
+ /**
815
+ * Array of consent configs - consumer adds items via admin/settings.
816
+ */
817
+ const SignupRequirementsSchema = z.array(SignupConsentConfigSchema);
818
+ /**
819
+ * Form schema for admin UI. effective_at accepts datetime-local format (YYYY-MM-DDTHH:mm).
820
+ * Transform to ISO before sending to API.
821
+ */
822
+ const SignupConsentItemFormSchema = z.object({
823
+ type: z.string().min(1, "Type is required"),
824
+ required: z.boolean(),
825
+ url: z.string(),
826
+ label: z.string().min(1, "Label is required"),
827
+ version: z.string().min(1, "Version is required"),
828
+ effective_at: z.string().datetime("Must be a valid ISO 8601 datetime"),
829
+ content: z.string().optional().nullable()
830
+ });
831
+ const SignupRequirementsFormSchema = z.object({ items: z.array(SignupConsentItemFormSchema).default([]) });
832
+
787
833
  //#endregion
788
834
  //#region src/validation/signup_zod.ts
835
+ /**
836
+ * acceptances: Record<consent_type, boolean> - supports any number of consents.
837
+ * Keys come from consumer-provided signup requirements (hardcoded, must match backend config).
838
+ */
789
839
  const signupSchema = z.object({
790
840
  email: z.string().trim().toLowerCase().min(3, "Please enter your email.").email("The email address is badly formatted."),
791
841
  passwords: z.object({
@@ -794,7 +844,8 @@ const signupSchema = z.object({
794
844
  }).refine((data) => data.password === data.password_confirm, {
795
845
  message: "Passwords do not match",
796
846
  path: ["password_confirm"]
797
- })
847
+ }),
848
+ acceptances: z.record(z.string(), z.boolean()).optional().transform((val) => val ?? {})
798
849
  });
799
850
 
800
851
  //#endregion
@@ -1679,6 +1730,7 @@ const userSessionSchema = z.object({
1679
1730
  first_name: z.string().optional().nullable(),
1680
1731
  last_name: z.string().optional().nullable(),
1681
1732
  avatar_url: z.string().optional().nullable(),
1733
+ consents_complete: z.boolean().optional(),
1682
1734
  subscriptions: z.array(z.object({
1683
1735
  subscription_id: z.string(),
1684
1736
  subscription_status: z.string().optional().nullable(),
@@ -1961,5 +2013,5 @@ const formatDollar = (amount) => {
1961
2013
  };
1962
2014
 
1963
2015
  //#endregion
1964
- export { AddCreditsSchema, ApproveSupportTicketSchema, ArchiveSupportTicketSchema, AttachmentCreateSchema, AttachmentFiltersSchema, AttachmentFiltersSchema as attachmentFilters_zod, AttachmentFolderCreateSchema, AttachmentFolderReadSchema, AttachmentFolderUpdateSchema, AttachmentPageSchema, AttachmentPageSchema as attachmentPage_zod, AttachmentReadSchema, AttachmentReadSchema as attachment_zod, AttachmentUpdateSchema, BaseFilterSchema, BooleanFilterSchema, CancelInternalTaskSchema, CompleteSupportTicketSchema, CreditBalanceSchema, CreditTransactionFiltersSchema, CreditTransactionPageSchema, CreditTransactionReadSchema, CreditTransactionTypeEnum, CustomerSupportTicketCreateSchema, CustomerSupportTicketFiltersSchema, CustomerSupportTicketPageSchema, CustomerSupportTicketReadSchema, CustomerSupportTicketUpdateSchema, DECIMAL_AMOUNT_2_DECIMALS_OR_EMPTY_ERROR_MESSAGE, DECIMAL_AMOUNT_2_DECIMALS_OR_EMPTY_REGEX, DECIMAL_AMOUNT_ERROR_MESSAGE, DECIMAL_AMOUNT_REGEX, DEFAULT_USER_TYPE, DataTypeSchema, DateFilterSchema, DateOperatorSchema, DeleteSupportTicketSchema, EqualityArrayOperatorSchema, EqualityOperatorSchema, FilterConfigSchema, MAX_PRESETS_PER_CONTEXT, NoteCreateSchema, NoteFiltersSchema, NoteFiltersSortDirectionEnum, NoteReadSchema, NoteUpdateSchema, NumberFilterSchema, NumberOperatorSchema, OPERATORS, PageInfoSchema, PaginationFiltersSchema, ReactivateInternalTaskSchema, RecordConst, RecordSubscriberCreateSchema, RecordSubscriberReadSchema, RecordSubscriberUpdateSchema, RecordTypeValues, RejectSupportTicketSchema, ResetMonthlyBalanceSchema, RevertSupportTicketSchema, SUPPORT_TICKET_APPROVAL_FILTER_OPTIONS, SUPPORT_TICKET_DEV_LIFECYCLE_FILTER_OPTIONS, SUPPORT_TICKET_NUMBER_TO_PRIORITY, SUPPORT_TICKET_PRIORITY_FILTER_OPTIONS, SUPPORT_TICKET_PRIORITY_NUMBER_TO_LABEL, SUPPORT_TICKET_PRIORITY_TO_NUMBER, SUPPORT_TICKET_STATUS_FILTER_OPTIONS, SUPPORT_TICKET_TYPE_FILTER_OPTIONS, SavedFilterCreateSchema, SavedFilterReadSchema, SavedFilterUpdateSchema, SetMonthlyAllocationSchema, SortDirectionSchema, StaffSupportTicketCreateSchema, StaffSupportTicketFiltersSchema, StaffSupportTicketInputSchema, StaffSupportTicketPageSchema, StaffSupportTicketReadSchema, StaffSupportTicketUpdateSchema, StringFilterSchema, StringOperatorSchema, SupportTicketApprovalEnum, SupportTicketApprovalFilterSchema, SupportTicketApprovalSchema, SupportTicketDevLifecycleEnum, SupportTicketDevLifecycleFilterSchema, SupportTicketDevLifecycleSchema, SupportTicketDevLifecycleUpdateEnum, SupportTicketDevLifecycleUpdateSchema, SupportTicketEventTypeEnum, SupportTicketEventTypeValues, SupportTicketPriorityEnum, SupportTicketPriorityFilterSchema, SupportTicketPriorityNumberEnum, SupportTicketPriorityNumberSchema, SupportTicketPrioritySchema, SupportTicketRecordDataSchema, SupportTicketStatusEnum, SupportTicketStatusFilterSchema, SupportTicketStatusSchema, SupportTicketSubscriberCreateSchema, SupportTicketTypeEnum, SupportTicketTypeFilterSchema, SupportTicketTypeSchema, TeamCreateSchema, TeamFiltersSchema, TeamInputBaseSchema, TeamMemberCreateSchema, TeamMemberFiltersSchema, TeamMemberOptionSchema, TeamMemberReadSchema, TeamMemberRoleEnum, TeamMemberRoleFilterSchema, TeamMemberRoleSchema, TeamMemberUpdateSchema, TeamOptionSchema, TeamPageSchema, TeamReadSchema, TeamStatusSchema, TeamUpdateSchema, USER_TYPES, UserProfileBaseSchema, UserProfileReadSchema, UserProfileUpdateSchema, UserReadSchema, UserTeamMembersSchema, UserTeamsSchema, UserTypeEnum, UserUpdateSchema, addMoney, applyPercentage, changePasswordSchema, createEnumFilter, createEnumLabelMap, createPaginatedSchema, createSelectOptionsFromLabelMap, createUserSchema, createUserSchemaOutput, divideMoney, enumToDisplayLabel, forgot_password_zod, formatCurrency, formatDollar, isCommonPassword, loginResponseSchema, loginSchema, multiplyMoney, pageInfoSchema, passwordSchema, recordVersionFiltersBreadcrumbSchema, recordVersionFiltersInputBreadcrumbSchema, recordVersionFiltersInputSchema, recordVersionFiltersSchema, recordVersionPageBreadcrumbSchema, recordVersionPageSchema, recordVersionSchema, recordVersionTrackerActivityInputSchema, resetPasswordInputSchema, resetPasswordSchema, roundMoney, sanitizeFileName, signupSchema, subtractMoney, supportTicketNumberToPriority, supportTicketPriorityToNumber, userSessionSchema };
2016
+ export { AddCreditsSchema, ApproveSupportTicketSchema, ArchiveSupportTicketSchema, AttachmentCreateSchema, AttachmentFiltersSchema, AttachmentFiltersSchema as attachmentFilters_zod, AttachmentFolderCreateSchema, AttachmentFolderReadSchema, AttachmentFolderUpdateSchema, AttachmentPageSchema, AttachmentPageSchema as attachmentPage_zod, AttachmentReadSchema, AttachmentReadSchema as attachment_zod, AttachmentUpdateSchema, BaseFilterSchema, BooleanFilterSchema, CancelInternalTaskSchema, CompleteSupportTicketSchema, CreditBalanceSchema, CreditTransactionFiltersSchema, CreditTransactionPageSchema, CreditTransactionReadSchema, CreditTransactionTypeEnum, CustomerSupportTicketCreateSchema, CustomerSupportTicketFiltersSchema, CustomerSupportTicketPageSchema, CustomerSupportTicketReadSchema, CustomerSupportTicketUpdateSchema, DECIMAL_AMOUNT_2_DECIMALS_OR_EMPTY_ERROR_MESSAGE, DECIMAL_AMOUNT_2_DECIMALS_OR_EMPTY_REGEX, DECIMAL_AMOUNT_ERROR_MESSAGE, DECIMAL_AMOUNT_REGEX, DEFAULT_USER_TYPE, DataTypeSchema, DateFilterSchema, DateOperatorSchema, DeleteSupportTicketSchema, EqualityArrayOperatorSchema, EqualityOperatorSchema, FilterConfigSchema, MAX_PRESETS_PER_CONTEXT, NoteCreateSchema, NoteFiltersSchema, NoteFiltersSortDirectionEnum, NoteReadSchema, NoteUpdateSchema, NumberFilterSchema, NumberOperatorSchema, OPERATORS, PageInfoSchema, PaginationFiltersSchema, ReactivateInternalTaskSchema, RecordConst, RecordSubscriberCreateSchema, RecordSubscriberReadSchema, RecordSubscriberUpdateSchema, RecordTypeValues, RejectSupportTicketSchema, ResetMonthlyBalanceSchema, RevertSupportTicketSchema, SUPPORT_TICKET_APPROVAL_FILTER_OPTIONS, SUPPORT_TICKET_DEV_LIFECYCLE_FILTER_OPTIONS, SUPPORT_TICKET_NUMBER_TO_PRIORITY, SUPPORT_TICKET_PRIORITY_FILTER_OPTIONS, SUPPORT_TICKET_PRIORITY_NUMBER_TO_LABEL, SUPPORT_TICKET_PRIORITY_TO_NUMBER, SUPPORT_TICKET_STATUS_FILTER_OPTIONS, SUPPORT_TICKET_TYPE_FILTER_OPTIONS, SavedFilterCreateSchema, SavedFilterReadSchema, SavedFilterUpdateSchema, SetMonthlyAllocationSchema, SignupConsentConfigSchema, SignupConsentItemFormSchema, SignupRequirementsFormSchema, SignupRequirementsSchema, SortDirectionSchema, StaffSupportTicketCreateSchema, StaffSupportTicketFiltersSchema, StaffSupportTicketInputSchema, StaffSupportTicketPageSchema, StaffSupportTicketReadSchema, StaffSupportTicketUpdateSchema, StringFilterSchema, StringOperatorSchema, SupportTicketApprovalEnum, SupportTicketApprovalFilterSchema, SupportTicketApprovalSchema, SupportTicketDevLifecycleEnum, SupportTicketDevLifecycleFilterSchema, SupportTicketDevLifecycleSchema, SupportTicketDevLifecycleUpdateEnum, SupportTicketDevLifecycleUpdateSchema, SupportTicketEventTypeEnum, SupportTicketEventTypeValues, SupportTicketPriorityEnum, SupportTicketPriorityFilterSchema, SupportTicketPriorityNumberEnum, SupportTicketPriorityNumberSchema, SupportTicketPrioritySchema, SupportTicketRecordDataSchema, SupportTicketStatusEnum, SupportTicketStatusFilterSchema, SupportTicketStatusSchema, SupportTicketSubscriberCreateSchema, SupportTicketTypeEnum, SupportTicketTypeFilterSchema, SupportTicketTypeSchema, TeamCreateSchema, TeamFiltersSchema, TeamInputBaseSchema, TeamMemberCreateSchema, TeamMemberFiltersSchema, TeamMemberOptionSchema, TeamMemberReadSchema, TeamMemberRoleEnum, TeamMemberRoleFilterSchema, TeamMemberRoleSchema, TeamMemberUpdateSchema, TeamOptionSchema, TeamPageSchema, TeamReadSchema, TeamStatusSchema, TeamUpdateSchema, USER_TYPES, UserProfileBaseSchema, UserProfileReadSchema, UserProfileUpdateSchema, UserReadSchema, UserTeamMembersSchema, UserTeamsSchema, UserTypeEnum, UserUpdateSchema, addMoney, applyPercentage, changePasswordSchema, createEnumFilter, createEnumLabelMap, createPaginatedSchema, createSelectOptionsFromLabelMap, createUserSchema, createUserSchemaOutput, divideMoney, enumToDisplayLabel, forgot_password_zod, formatCurrency, formatDollar, isCommonPassword, loginResponseSchema, loginSchema, multiplyMoney, pageInfoSchema, passwordSchema, recordConsentsSchema, recordVersionFiltersBreadcrumbSchema, recordVersionFiltersInputBreadcrumbSchema, recordVersionFiltersInputSchema, recordVersionFiltersSchema, recordVersionPageBreadcrumbSchema, recordVersionPageSchema, recordVersionSchema, recordVersionTrackerActivityInputSchema, resetPasswordInputSchema, resetPasswordSchema, roundMoney, sanitizeFileName, signupSchema, subtractMoney, supportTicketNumberToPriority, supportTicketPriorityToNumber, userSessionSchema };
1965
2017
  //# sourceMappingURL=index.mjs.map