@dragonmastery/dragoncore-shared 0.0.27 → 0.0.29

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
@@ -1,5 +1,13 @@
1
1
  import { z } from "zod";
2
2
 
3
+ //#region src/validation/app_settings/default_referral_team_zod.ts
4
+ /**
5
+ * Schema for the default team for unknown referral tags.
6
+ * Used by admin UI and API server for get/update.
7
+ */
8
+ const DefaultReferralTeamFormSchema = z.object({ default_team_id: z.string().nullable() });
9
+
10
+ //#endregion
3
11
  //#region src/validation/attachment/attachment_filters_zod.ts
4
12
  const AttachmentFiltersSchema = z.object({
5
13
  record_id: z.string(),
@@ -758,6 +766,28 @@ const recordVersionTrackerActivityInputSchema = z.object({
758
766
  filters: recordVersionFiltersBreadcrumbSchema.optional().nullable()
759
767
  });
760
768
 
769
+ //#endregion
770
+ //#region src/validation/referral_tag_zod.ts
771
+ /** URL-friendly format: lowercase, alphanumeric, hyphens only. No underscores. */
772
+ const REFERRAL_TAG_REGEX = /^[a-z0-9-]+$/;
773
+ const REFERRAL_TAG_MIN = 3;
774
+ const REFERRAL_TAG_MAX = 64;
775
+ const REFERRAL_TAG_ERROR_MESSAGE = "Referral tag must be 3–64 characters, lowercase, alphanumeric, and hyphens only";
776
+ /**
777
+ * Normalize a string to a URL-friendly referral tag.
778
+ * Matches the format validated by ReferralTagValueSchema.
779
+ * e.g. "Acme Corp & Co." → "acme-corp-co"
780
+ */
781
+ function normalizeToReferralTag(value) {
782
+ return value.toLowerCase().trim().replace(/[^a-z0-9\s-]/g, "").replace(/\s+/g, "-").replace(/-+/g, "-").replace(/^-|-$/g, "");
783
+ }
784
+ /**
785
+ * Schema for a single referral tag value (non-null, non-empty).
786
+ * Validates format only—no transform. Invalid input is rejected with an error.
787
+ * Use the normalize button or type the correct format: lowercase, alphanumeric, hyphens only.
788
+ */
789
+ const ReferralTagValueSchema = z.string().trim().min(REFERRAL_TAG_MIN, `Referral tag must be between ${REFERRAL_TAG_MIN} and ${REFERRAL_TAG_MAX} characters`).max(REFERRAL_TAG_MAX).regex(REFERRAL_TAG_REGEX, REFERRAL_TAG_ERROR_MESSAGE);
790
+
761
791
  //#endregion
762
792
  //#region src/validation/saved_filter/saved_filter_create_zod.ts
763
793
  /**
@@ -891,6 +921,7 @@ const loginResponseSchema = z.object({
891
921
  //#region src/validation/signup_initiate_zod.ts
892
922
  /** Input for signupInitiate - email and password only (no acceptances). */
893
923
  const signupInitiateSchema = z.object({
924
+ metadata: z.record(z.string(), z.unknown()).optional(),
894
925
  email: z.string().trim().toLowerCase().min(3, "Please enter your email.").email("The email address is badly formatted."),
895
926
  passwords: z.object({
896
927
  password: passwordSchema,
@@ -916,7 +947,10 @@ const signupInitiateResponseSchema = z.discriminatedUnion("created", [signupInit
916
947
  //#endregion
917
948
  //#region src/validation/signup_complete_zod.ts
918
949
  /** Input for signupComplete - acceptances only. Token is in Authorization: Bearer header. */
919
- const signupCompleteSchema = z.object({ acceptances: z.record(z.string(), z.boolean()).optional().transform((val) => val ?? {}) });
950
+ const signupCompleteSchema = z.object({
951
+ metadata: z.record(z.string(), z.unknown()).optional(),
952
+ acceptances: z.record(z.string(), z.boolean()).optional().transform((val) => val ?? {})
953
+ });
920
954
 
921
955
  //#endregion
922
956
  //#region src/validation/record_subscriber/record_subscriber_create_zod.ts
@@ -1595,6 +1629,7 @@ const TeamReadSchema = TeamCreateSchema.extend({
1595
1629
  id: z.string(),
1596
1630
  original_id: z.string().optional().nullable(),
1597
1631
  path: z.string().optional().nullable(),
1632
+ referral_tag: z.string().optional().nullable(),
1598
1633
  created_at: z.string(),
1599
1634
  updated_at: z.string().optional().nullable(),
1600
1635
  created_by: z.string(),
@@ -1609,6 +1644,22 @@ const TeamReadSchema = TeamCreateSchema.extend({
1609
1644
  //#region src/validation/team/team_page_zod.ts
1610
1645
  const TeamPageSchema = createPaginatedSchema(TeamReadSchema);
1611
1646
 
1647
+ //#endregion
1648
+ //#region src/validation/team/team_set_referral_tag_zod.ts
1649
+ /**
1650
+ * Schema for super admin to set or clear referral tag on a team.
1651
+ * Pass null, empty string, or omit to clear the tag.
1652
+ * Valid tags are URL-friendly: lowercase, alphanumeric, hyphens only.
1653
+ */
1654
+ const SetReferralTagSchema = z.object({
1655
+ team_id: z.string(),
1656
+ referral_tag: z.union([
1657
+ ReferralTagValueSchema,
1658
+ z.literal(""),
1659
+ z.null()
1660
+ ]).optional().nullable().transform((v) => v === "" || v == null ? null : v)
1661
+ });
1662
+
1612
1663
  //#endregion
1613
1664
  //#region src/validation/team/team_user_teams_zod.ts
1614
1665
  /**
@@ -2048,5 +2099,5 @@ const formatDollar = (amount) => {
2048
2099
  };
2049
2100
 
2050
2101
  //#endregion
2051
- 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, signupCompleteSchema, signupInitiateConsentRequiredSchema, signupInitiateCreatedSchema, signupInitiateResponseSchema, signupInitiateSchema, signupSchema, subtractMoney, supportTicketNumberToPriority, supportTicketPriorityToNumber, userSessionSchema };
2102
+ 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, DefaultReferralTeamFormSchema, DeleteSupportTicketSchema, EqualityArrayOperatorSchema, EqualityOperatorSchema, FilterConfigSchema, MAX_PRESETS_PER_CONTEXT, NoteCreateSchema, NoteFiltersSchema, NoteFiltersSortDirectionEnum, NoteReadSchema, NoteUpdateSchema, NumberFilterSchema, NumberOperatorSchema, OPERATORS, PageInfoSchema, PaginationFiltersSchema, REFERRAL_TAG_ERROR_MESSAGE, REFERRAL_TAG_MAX, REFERRAL_TAG_MIN, REFERRAL_TAG_REGEX, ReactivateInternalTaskSchema, RecordConst, RecordSubscriberCreateSchema, RecordSubscriberReadSchema, RecordSubscriberUpdateSchema, RecordTypeValues, ReferralTagValueSchema, 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, SetReferralTagSchema, 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, normalizeToReferralTag, pageInfoSchema, passwordSchema, recordConsentsSchema, recordVersionFiltersBreadcrumbSchema, recordVersionFiltersInputBreadcrumbSchema, recordVersionFiltersInputSchema, recordVersionFiltersSchema, recordVersionPageBreadcrumbSchema, recordVersionPageSchema, recordVersionSchema, recordVersionTrackerActivityInputSchema, resetPasswordInputSchema, resetPasswordSchema, roundMoney, sanitizeFileName, signupCompleteSchema, signupInitiateConsentRequiredSchema, signupInitiateCreatedSchema, signupInitiateResponseSchema, signupInitiateSchema, signupSchema, subtractMoney, supportTicketNumberToPriority, supportTicketPriorityToNumber, userSessionSchema };
2052
2103
  //# sourceMappingURL=index.mjs.map