@bash-app/bash-common 30.424.0 → 30.427.0
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/__tests__/agePolicy.test.js +6 -6
- package/dist/__tests__/agePolicy.test.js.map +1 -1
- package/dist/__tests__/bashEventCancellationPolicy.test.js +2 -2
- package/dist/__tests__/bashEventCancellationPolicy.test.js.map +1 -1
- package/dist/__tests__/bashSectionTitleForBashType.test.js +3 -3
- package/dist/__tests__/definitionsHelpers.test.js +1 -1
- package/dist/__tests__/definitionsHelpers.test.js.map +1 -1
- package/dist/__tests__/entertainmentNotableVenues.test.js +1 -1
- package/dist/__tests__/entertainmentNotableVenues.test.js.map +1 -1
- package/dist/__tests__/hostCrmCrowdPulse.test.js +1 -1
- package/dist/__tests__/hostCrmSegments.test.js +2 -2
- package/dist/__tests__/hostCrmSegments.test.js.map +1 -1
- package/dist/__tests__/hostPromoter.test.js +1 -1
- package/dist/__tests__/influencerAudience.test.js +1 -1
- package/dist/__tests__/influencerAudience.test.js.map +1 -1
- package/dist/__tests__/promoterCompetitionUtils.test.js +3 -3
- package/dist/__tests__/promoterCompetitionUtils.test.js.map +1 -1
- package/dist/__tests__/scenePulse.test.js +1 -1
- package/dist/__tests__/seatMap.test.js +1 -1
- package/dist/__tests__/seatMap.test.js.map +1 -1
- package/dist/__tests__/ticketAdmission.test.d.ts +1 -1
- package/dist/__tests__/ticketAdmission.test.js +1 -1
- package/dist/accessScreening.js +1 -1
- package/dist/aiApproval.d.ts +3 -3
- package/dist/aiApproval.js +3 -3
- package/dist/appleIapProducts.d.ts +1 -1
- package/dist/appleIapProducts.d.ts.map +1 -1
- package/dist/appleIapProducts.js +1 -1
- package/dist/appleIapProducts.js.map +1 -1
- package/dist/applicationFunnel.d.ts +1 -1
- package/dist/applicationFunnel.js +1 -1
- package/dist/audienceImport.d.ts +2 -2
- package/dist/audienceImport.d.ts.map +1 -1
- package/dist/audienceImport.js +2 -2
- package/dist/audienceImport.js.map +1 -1
- package/dist/bashEventCancellationPolicy.js +3 -3
- package/dist/bashEventCancellationPolicy.js.map +1 -1
- package/dist/budgetApproval.d.ts +1 -1
- package/dist/budgetApproval.js +1 -1
- package/dist/causeTags.js +4 -4
- package/dist/causeTags.js.map +1 -1
- package/dist/competitionIdeas.js +12 -12
- package/dist/competitionIdeas.js.map +1 -1
- package/dist/competitionValidation.d.ts +1 -1
- package/dist/competitionValidation.d.ts.map +1 -1
- package/dist/competitionValidation.js +1 -1
- package/dist/competitionValidation.js.map +1 -1
- package/dist/definitions.d.ts +35 -35
- package/dist/definitions.d.ts.map +1 -1
- package/dist/definitions.js +30 -30
- package/dist/definitions.js.map +1 -1
- package/dist/discoveryScope.d.ts +2 -2
- package/dist/discoveryScope.js +2 -2
- package/dist/entertainmentNotableVenues.js +1 -1
- package/dist/entertainmentNotableVenues.js.map +1 -1
- package/dist/extendedSchemas.d.ts +150 -150
- package/dist/extendedSchemas.d.ts.map +1 -1
- package/dist/extendedSchemas.js +11 -11
- package/dist/extendedSchemas.js.map +1 -1
- package/dist/fundingMeter.d.ts +1 -1
- package/dist/fundingMeter.js +1 -1
- package/dist/giveaway.d.ts +2 -2
- package/dist/giveaway.d.ts.map +1 -1
- package/dist/giveaway.js +2 -2
- package/dist/giveaway.js.map +1 -1
- package/dist/guestPartySize.js +3 -3
- package/dist/guestPartySize.js.map +1 -1
- package/dist/home.d.ts +1 -1
- package/dist/homepageSyntheticRows.d.ts +2 -2
- package/dist/homepageSyntheticRows.d.ts.map +1 -1
- package/dist/homepageSyntheticRows.js +2 -2
- package/dist/homepageSyntheticRows.js.map +1 -1
- package/dist/hostCrmAutomation.d.ts +11 -11
- package/dist/hostCrmAutomation.d.ts.map +1 -1
- package/dist/hostCrmAutomation.js +9 -9
- package/dist/hostCrmAutomation.js.map +1 -1
- package/dist/hostCrmConstants.d.ts +1 -1
- package/dist/hostCrmConstants.d.ts.map +1 -1
- package/dist/hostCrmConstants.js +1 -1
- package/dist/hostCrmConstants.js.map +1 -1
- package/dist/hostCrmCrowdPulse.d.ts +2 -2
- package/dist/hostCrmCrowdPulse.d.ts.map +1 -1
- package/dist/hostCrmCrowdPulse.js +1 -1
- package/dist/hostCrmInsights.d.ts +3 -3
- package/dist/hostCrmLastBashProof.d.ts +2 -2
- package/dist/hostCrmLastBashProof.d.ts.map +1 -1
- package/dist/hostCrmLastBashProof.js +1 -1
- package/dist/hostCrmSegments.d.ts +10 -10
- package/dist/hostCrmSegments.d.ts.map +1 -1
- package/dist/hostCrmSegments.js +2 -2
- package/dist/hostCrmSegments.js.map +1 -1
- package/dist/hostPromoter.d.ts +1 -1
- package/dist/hostPromoter.d.ts.map +1 -1
- package/dist/hostPromoter.js +1 -1
- package/dist/hostPromoter.js.map +1 -1
- package/dist/icebreakerPrompts.js +2 -2
- package/dist/icebreakerPrompts.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/influencerAudience.js +3 -3
- package/dist/influencerAudience.js.map +1 -1
- package/dist/liveActivity/liveActivityTypes.d.ts +10 -10
- package/dist/liveActivity/liveActivityTypes.d.ts.map +1 -1
- package/dist/liveActivity/liveActivityTypes.js +2 -2
- package/dist/liveActivity/liveActivityTypes.js.map +1 -1
- package/dist/locationShare.d.ts +2 -2
- package/dist/locationShare.d.ts.map +1 -1
- package/dist/locationShare.js +2 -2
- package/dist/locationShare.js.map +1 -1
- package/dist/membershipDefinitions.d.ts +5 -5
- package/dist/membershipDefinitions.d.ts.map +1 -1
- package/dist/membershipDefinitions.js +21 -21
- package/dist/membershipDefinitions.js.map +1 -1
- package/dist/mirroredPrismaEnums.d.ts +6 -6
- package/dist/mirroredPrismaEnums.js +6 -6
- package/dist/onSaleCapabilityRecommendations.d.ts +1 -1
- package/dist/onSaleCapabilityRecommendations.js +1 -1
- package/dist/partnerStoreTypes.d.ts +1 -1
- package/dist/partnerStoreTypes.d.ts.map +1 -1
- package/dist/productLaunch.d.ts +2 -2
- package/dist/productLaunch.d.ts.map +1 -1
- package/dist/productLaunch.js +2 -2
- package/dist/productLaunch.js.map +1 -1
- package/dist/relationshipHealth.d.ts +3 -3
- package/dist/relationshipHealth.d.ts.map +1 -1
- package/dist/relationshipHealth.js +3 -3
- package/dist/relationshipHealth.js.map +1 -1
- package/dist/scenePulse.d.ts +2 -2
- package/dist/scenePulse.js +1 -1
- package/dist/seatMap.d.ts +1 -1
- package/dist/seatMap.d.ts.map +1 -1
- package/dist/seatMap.js +2 -2
- package/dist/seatMap.js.map +1 -1
- package/dist/seatMapBestAvailable.js +2 -2
- package/dist/seatMapBestAvailable.js.map +1 -1
- package/dist/serviceTypeLabels.d.ts +3 -3
- package/dist/serviceTypeLabels.js +3 -3
- package/dist/sideQuestIdeas.js +8 -8
- package/dist/sideQuestIdeas.js.map +1 -1
- package/dist/sideQuestTypes.js +2 -2
- package/dist/sideQuestTypes.js.map +1 -1
- package/dist/sms/smsTemplates.d.ts +1 -1
- package/dist/sms/smsTemplates.js +1 -1
- package/dist/stripeListingSubscriptionMessages.d.ts +1 -1
- package/dist/stripeListingSubscriptionMessages.js +1 -1
- package/dist/targetAudienceLabels.d.ts +1 -1
- package/dist/targetAudienceLabels.js +1 -1
- package/dist/ticketBnplPaymentMethods.d.ts +3 -3
- package/dist/ticketBnplPaymentMethods.d.ts.map +1 -1
- package/dist/ticketBnplPaymentMethods.js +2 -2
- package/dist/userReportTypes.d.ts +1 -1
- package/dist/userReportTypes.d.ts.map +1 -1
- package/dist/userReportTypes.js +1 -1
- package/dist/userReportTypes.js.map +1 -1
- package/dist/userTaste.d.ts +2 -2
- package/dist/userTaste.d.ts.map +1 -1
- package/dist/userTaste.js +2 -2
- package/dist/userTaste.js.map +1 -1
- package/dist/utils/__tests__/badgeUtils.test.js +5 -5
- package/dist/utils/__tests__/badgeUtils.test.js.map +1 -1
- package/dist/utils/__tests__/bashPointsPaymentUtils.test.js +4 -4
- package/dist/utils/__tests__/bashPointsPaymentUtils.test.js.map +1 -1
- package/dist/utils/__tests__/contentFilterUtils.test.js +23 -23
- package/dist/utils/__tests__/contentFilterUtils.test.js.map +1 -1
- package/dist/utils/__tests__/dateTimeUtils.test.js +1 -1
- package/dist/utils/__tests__/displayDateUtils.test.js +1 -1
- package/dist/utils/__tests__/flyerUtils.test.js +1 -1
- package/dist/utils/__tests__/flyerUtils.test.js.map +1 -1
- package/dist/utils/__tests__/getBackendHost.test.js +8 -8
- package/dist/utils/__tests__/getBackendHost.test.js.map +1 -1
- package/dist/utils/__tests__/getFrontendHost.native.test.js +1 -1
- package/dist/utils/__tests__/getFrontendHost.native.test.js.map +1 -1
- package/dist/utils/__tests__/getFrontendHost.test.js +9 -9
- package/dist/utils/__tests__/getFrontendHost.test.js.map +1 -1
- package/dist/utils/__tests__/guestSurface.test.js +1 -0
- package/dist/utils/__tests__/guestSurface.test.js.map +1 -1
- package/dist/utils/__tests__/organizationEntitlements.test.js +1 -1
- package/dist/utils/__tests__/organizationEntitlements.test.js.map +1 -1
- package/dist/utils/__tests__/paymentUtils.test.js +7 -7
- package/dist/utils/__tests__/paymentUtils.test.js.map +1 -1
- package/dist/utils/__tests__/promoCodesUtils.test.js +2 -2
- package/dist/utils/__tests__/promoCodesUtils.test.js.map +1 -1
- package/dist/utils/__tests__/qrCodeUtils.test.js +4 -4
- package/dist/utils/__tests__/qrCodeUtils.test.js.map +1 -1
- package/dist/utils/__tests__/recurrenceUtils.test.js +18 -0
- package/dist/utils/__tests__/recurrenceUtils.test.js.map +1 -1
- package/dist/utils/__tests__/reviewDimensionUtils.test.js +1 -1
- package/dist/utils/__tests__/reviewDimensionUtils.test.js.map +1 -1
- package/dist/utils/__tests__/stripeAccountUtils.test.js +1 -1
- package/dist/utils/__tests__/ticketPrintPostageUtils.test.js +1 -1
- package/dist/utils/__tests__/ticketPrintPostageUtils.test.js.map +1 -1
- package/dist/utils/addressUtils.js +1 -1
- package/dist/utils/addressUtils.js.map +1 -1
- package/dist/utils/apiUtils.js +1 -1
- package/dist/utils/apiUtils.js.map +1 -1
- package/dist/utils/birthdayExperienceQuality.d.ts +1 -1
- package/dist/utils/birthdayExperienceQuality.js +4 -4
- package/dist/utils/birthdayExperienceQuality.js.map +1 -1
- package/dist/utils/blogUtils.d.ts +1 -1
- package/dist/utils/blogUtils.d.ts.map +1 -1
- package/dist/utils/blogUtils.js +2 -2
- package/dist/utils/blogUtils.js.map +1 -1
- package/dist/utils/discountEngine/discountCalculator.js +1 -1
- package/dist/utils/discountEngine/discountCalculator.js.map +1 -1
- package/dist/utils/displayDateUtils.d.ts +2 -2
- package/dist/utils/displayDateUtils.d.ts.map +1 -1
- package/dist/utils/displayDateUtils.js +2 -2
- package/dist/utils/displayDateUtils.js.map +1 -1
- package/dist/utils/entertainmentDrawFit.d.ts +1 -1
- package/dist/utils/entertainmentDrawFit.js +1 -1
- package/dist/utils/eventTimezoneIana.d.ts +1 -1
- package/dist/utils/eventTimezoneIana.js +4 -4
- package/dist/utils/eventTimezoneIana.js.map +1 -1
- package/dist/utils/flyerUtils.d.ts +2 -2
- package/dist/utils/flyerUtils.d.ts.map +1 -1
- package/dist/utils/flyerUtils.js +3 -3
- package/dist/utils/flyerUtils.js.map +1 -1
- package/dist/utils/groupTicketCartUtils.js +1 -1
- package/dist/utils/groupTicketCartUtils.js.map +1 -1
- package/dist/utils/guestSurface.d.ts +2 -2
- package/dist/utils/guestSurface.d.ts.map +1 -1
- package/dist/utils/guestSurface.js +8 -5
- package/dist/utils/guestSurface.js.map +1 -1
- package/dist/utils/lobFlyerUtils.d.ts +2 -2
- package/dist/utils/lobFlyerUtils.js +2 -2
- package/dist/utils/luxonUtils.d.ts +4 -4
- package/dist/utils/luxonUtils.js +5 -5
- package/dist/utils/luxonUtils.js.map +1 -1
- package/dist/utils/moodTrackUtils.d.ts +1 -1
- package/dist/utils/moodTrackUtils.js +1 -1
- package/dist/utils/nonprofitUtils.d.ts +3 -3
- package/dist/utils/nonprofitUtils.js +2 -2
- package/dist/utils/orgPromotionalPackageUtils.d.ts +1 -1
- package/dist/utils/orgPromotionalPackageUtils.js +1 -1
- package/dist/utils/organizationEntitlements.d.ts +4 -4
- package/dist/utils/organizationEntitlements.js +3 -3
- package/dist/utils/paymentUtils.d.ts +10 -10
- package/dist/utils/paymentUtils.js +9 -9
- package/dist/utils/promoterCompetitionUtils.d.ts +4 -4
- package/dist/utils/promoterCompetitionUtils.d.ts.map +1 -1
- package/dist/utils/promoterCompetitionUtils.js +7 -7
- package/dist/utils/promoterCompetitionUtils.js.map +1 -1
- package/dist/utils/promotionBlastUtils.d.ts +1 -1
- package/dist/utils/promotionBlastUtils.js +4 -4
- package/dist/utils/promotionBlastUtils.js.map +1 -1
- package/dist/utils/qrCodeUtils.d.ts +3 -3
- package/dist/utils/qrCodeUtils.d.ts.map +1 -1
- package/dist/utils/qrCodeUtils.js +3 -3
- package/dist/utils/qrCodeUtils.js.map +1 -1
- package/dist/utils/recurrenceUtils.d.ts +7 -4
- package/dist/utils/recurrenceUtils.d.ts.map +1 -1
- package/dist/utils/recurrenceUtils.js +32 -5
- package/dist/utils/recurrenceUtils.js.map +1 -1
- package/dist/utils/reputationUtils.d.ts +2 -2
- package/dist/utils/reputationUtils.d.ts.map +1 -1
- package/dist/utils/reputationUtils.js +1 -1
- package/dist/utils/reputationUtils.js.map +1 -1
- package/dist/utils/reviewDimensionUtils.d.ts +2 -2
- package/dist/utils/reviewDimensionUtils.d.ts.map +1 -1
- package/dist/utils/reviewDimensionUtils.js +1 -1
- package/dist/utils/reviewDimensionUtils.js.map +1 -1
- package/dist/utils/service/__tests__/billingCapUtils.test.js +3 -3
- package/dist/utils/service/__tests__/billingCapUtils.test.js.map +1 -1
- package/dist/utils/service/__tests__/eventPromoterPhase3.test.js +1 -1
- package/dist/utils/service/__tests__/eventPromoterUtils.test.js +1 -1
- package/dist/utils/service/__tests__/eventPromoterUtils.test.js.map +1 -1
- package/dist/utils/service/__tests__/frontendServiceBookingUtils.test.js +2 -2
- package/dist/utils/service/__tests__/frontendServiceBookingUtils.test.js.map +1 -1
- package/dist/utils/service/__tests__/serviceBookingExposureUtils.test.js +1 -1
- package/dist/utils/service/__tests__/serviceBookingExposureUtils.test.js.map +1 -1
- package/dist/utils/service/__tests__/serviceBookingStatusUtils.test.js +2 -2
- package/dist/utils/service/__tests__/serviceBookingStatusUtils.test.js.map +1 -1
- package/dist/utils/service/__tests__/serviceRateUtils.test.js +6 -6
- package/dist/utils/service/__tests__/serviceRateUtils.test.js.map +1 -1
- package/dist/utils/service/apiServiceBookingApiUtils.js +1 -1
- package/dist/utils/service/apiServiceBookingApiUtils.js.map +1 -1
- package/dist/utils/service/billingCapUtils.d.ts +5 -5
- package/dist/utils/service/billingCapUtils.js +5 -5
- package/dist/utils/service/cancellationPolicyRefundResolver.d.ts +1 -1
- package/dist/utils/service/cancellationPolicyRefundResolver.d.ts.map +1 -1
- package/dist/utils/service/eventPromoterUtils.d.ts +17 -17
- package/dist/utils/service/eventPromoterUtils.d.ts.map +1 -1
- package/dist/utils/service/eventPromoterUtils.js +11 -11
- package/dist/utils/service/eventPromoterUtils.js.map +1 -1
- package/dist/utils/service/foodAndBeverageQuote.d.ts +8 -8
- package/dist/utils/service/foodAndBeverageQuote.js +8 -8
- package/dist/utils/service/offerAllowListUtils.d.ts +1 -1
- package/dist/utils/service/offerComparisonUtils.d.ts +6 -6
- package/dist/utils/service/offerComparisonUtils.js +2 -2
- package/dist/utils/service/offerComparisonUtils.js.map +1 -1
- package/dist/utils/service/serviceBookingExposureUtils.d.ts +7 -7
- package/dist/utils/service/serviceBookingExposureUtils.js +5 -5
- package/dist/utils/service/serviceBookingExposureUtils.js.map +1 -1
- package/dist/utils/service/serviceFeaturedSortUtils.js +2 -2
- package/dist/utils/service/serviceFeaturedSortUtils.js.map +1 -1
- package/dist/utils/service/serviceListingMediaUtils.d.ts +2 -2
- package/dist/utils/service/serviceListingMediaUtils.d.ts.map +1 -1
- package/dist/utils/service/serviceListingMediaUtils.js +2 -2
- package/dist/utils/service/serviceListingMediaUtils.js.map +1 -1
- package/dist/utils/service/serviceUtils.js +2 -2
- package/dist/utils/service/serviceUtils.js.map +1 -1
- package/dist/utils/service/unifiedPricingResolver.d.ts +5 -5
- package/dist/utils/service/unifiedPricingResolver.d.ts.map +1 -1
- package/dist/utils/service/venueSettlementUtils.d.ts +2 -2
- package/dist/utils/service/venueSettlementUtils.js +3 -3
- package/dist/utils/service/venueSettlementUtils.js.map +1 -1
- package/dist/utils/service/volunteerCompensationUtils.d.ts +2 -2
- package/dist/utils/service/volunteerCompensationUtils.js +1 -1
- package/dist/utils/service/volunteerCompensationUtils.js.map +1 -1
- package/dist/utils/slugUtils.d.ts +1 -1
- package/dist/utils/slugUtils.js +1 -1
- package/dist/utils/ticketPrintPostageUtils.d.ts +4 -4
- package/dist/utils/ticketPrintPostageUtils.js +5 -5
- package/dist/utils/ticketPrintPostageUtils.js.map +1 -1
- package/dist/utils/ticketTierSchedule.d.ts +1 -1
- package/dist/utils/ticketTierSchedule.js +4 -4
- package/dist/utils/ticketTierSchedule.js.map +1 -1
- package/dist/utils/trustScoreUtils.d.ts +1 -1
- package/dist/utils/trustScoreUtils.js +1 -1
- package/dist/utils/urlUtils.d.ts +2 -2
- package/dist/utils/urlUtils.js +2 -2
- package/dist/utils/userUtils.d.ts +4 -4
- package/dist/utils/userUtils.js +3 -3
- package/dist/utils/venueLoyalty/__tests__/eligibilityUtils.test.js +1 -1
- package/dist/utils/venueLoyalty/__tests__/redemptionCodeUtils.test.js +1 -1
- package/dist/utils/venueLoyalty/redemptionCodeUtils.d.ts +3 -3
- package/dist/utils/venueLoyalty/redemptionCodeUtils.js +3 -3
- package/dist/venueLoyaltyRedemption.d.ts +2 -2
- package/dist/venueLoyaltyRedemption.js +1 -1
- package/dist/venueMatch.d.ts +4 -4
- package/dist/venueMatch.d.ts.map +1 -1
- package/dist/venueMatch.js +1 -1
- package/dist/venueMatch.js.map +1 -1
- package/package.json +1 -1
- package/prisma/schema.prisma +3 -3
- package/src/__tests__/agePolicy.test.ts +6 -6
- package/src/__tests__/bashEventCancellationPolicy.test.ts +2 -2
- package/src/__tests__/bashSectionTitleForBashType.test.ts +3 -3
- package/src/__tests__/definitionsHelpers.test.ts +1 -1
- package/src/__tests__/entertainmentNotableVenues.test.ts +1 -1
- package/src/__tests__/hostCrmCrowdPulse.test.ts +1 -1
- package/src/__tests__/hostCrmSegments.test.ts +2 -2
- package/src/__tests__/hostPromoter.test.ts +1 -1
- package/src/__tests__/influencerAudience.test.ts +1 -1
- package/src/__tests__/promoterCompetitionUtils.test.ts +3 -3
- package/src/__tests__/scenePulse.test.ts +1 -1
- package/src/__tests__/seatMap.test.ts +1 -1
- package/src/__tests__/ticketAdmission.test.ts +1 -1
- package/src/accessScreening.ts +1 -1
- package/src/aiApproval.ts +3 -3
- package/src/appleIapProducts.ts +1 -1
- package/src/applicationFunnel.ts +1 -1
- package/src/audienceImport.ts +2 -2
- package/src/bashEventCancellationPolicy.ts +3 -3
- package/src/budgetApproval.ts +1 -1
- package/src/causeTags.ts +4 -4
- package/src/competitionIdeas.ts +12 -12
- package/src/competitionValidation.ts +1 -1
- package/src/definitions.ts +42 -42
- package/src/discoveryScope.ts +2 -2
- package/src/entertainmentNotableVenues.ts +1 -1
- package/src/extendedSchemas.ts +41 -41
- package/src/fundingMeter.ts +1 -1
- package/src/giveaway.ts +2 -2
- package/src/guestPartySize.ts +3 -3
- package/src/home.ts +1 -1
- package/src/homepageSyntheticRows.ts +2 -2
- package/src/hostCrmAutomation.ts +11 -11
- package/src/hostCrmConstants.ts +1 -1
- package/src/hostCrmCrowdPulse.ts +2 -2
- package/src/hostCrmInsights.ts +3 -3
- package/src/hostCrmLastBashProof.ts +2 -2
- package/src/hostCrmSegments.ts +12 -12
- package/src/hostPromoter.ts +1 -1
- package/src/icebreakerPrompts.ts +2 -2
- package/src/index.ts +1 -1
- package/src/influencerAudience.ts +3 -3
- package/src/liveActivity/liveActivityTypes.ts +10 -10
- package/src/locationShare.ts +2 -2
- package/src/membershipDefinitions.ts +21 -21
- package/src/mirroredPrismaEnums.ts +6 -6
- package/src/onSaleCapabilityRecommendations.ts +1 -1
- package/src/partnerStoreTypes.ts +1 -1
- package/src/productLaunch.ts +2 -2
- package/src/relationshipHealth.ts +5 -5
- package/src/scenePulse.ts +2 -2
- package/src/seatMap.ts +3 -3
- package/src/seatMapBestAvailable.ts +2 -2
- package/src/serviceTypeLabels.ts +3 -3
- package/src/sideQuestIdeas.ts +8 -8
- package/src/sideQuestTypes.ts +2 -2
- package/src/sms/smsTemplates.ts +1 -1
- package/src/stripeListingSubscriptionMessages.ts +1 -1
- package/src/targetAudienceLabels.ts +1 -1
- package/src/ticketBnplPaymentMethods.ts +3 -3
- package/src/userReportTypes.ts +1 -1
- package/src/userTaste.ts +2 -2
- package/src/utils/__tests__/badgeUtils.test.ts +5 -5
- package/src/utils/__tests__/bashPointsPaymentUtils.test.ts +4 -4
- package/src/utils/__tests__/contentFilterUtils.test.ts +23 -23
- package/src/utils/__tests__/dateTimeUtils.test.ts +1 -1
- package/src/utils/__tests__/displayDateUtils.test.ts +1 -1
- package/src/utils/__tests__/flyerUtils.test.ts +1 -1
- package/src/utils/__tests__/getBackendHost.test.ts +8 -8
- package/src/utils/__tests__/getFrontendHost.native.test.ts +1 -1
- package/src/utils/__tests__/getFrontendHost.test.ts +9 -9
- package/src/utils/__tests__/guestSurface.test.ts +1 -0
- package/src/utils/__tests__/organizationEntitlements.test.ts +1 -1
- package/src/utils/__tests__/paymentUtils.test.ts +7 -7
- package/src/utils/__tests__/promoCodesUtils.test.ts +2 -2
- package/src/utils/__tests__/qrCodeUtils.test.ts +4 -4
- package/src/utils/__tests__/recurrenceUtils.test.ts +26 -0
- package/src/utils/__tests__/reviewDimensionUtils.test.ts +1 -1
- package/src/utils/__tests__/stripeAccountUtils.test.ts +1 -1
- package/src/utils/__tests__/ticketPrintPostageUtils.test.ts +1 -1
- package/src/utils/addressUtils.ts +1 -1
- package/src/utils/apiUtils.ts +1 -1
- package/src/utils/birthdayExperienceQuality.ts +4 -4
- package/src/utils/blogUtils.ts +2 -2
- package/src/utils/discountEngine/discountCalculator.ts +1 -1
- package/src/utils/displayDateUtils.ts +2 -2
- package/src/utils/entertainmentDrawFit.ts +1 -1
- package/src/utils/eventTimezoneIana.ts +4 -4
- package/src/utils/flyerUtils.ts +3 -3
- package/src/utils/groupTicketCartUtils.ts +1 -1
- package/src/utils/guestSurface.ts +8 -6
- package/src/utils/lobFlyerUtils.ts +2 -2
- package/src/utils/luxonUtils.ts +5 -5
- package/src/utils/moodTrackUtils.ts +1 -1
- package/src/utils/nonprofitUtils.ts +3 -3
- package/src/utils/orgPromotionalPackageUtils.ts +1 -1
- package/src/utils/organizationEntitlements.ts +4 -4
- package/src/utils/paymentUtils.ts +10 -10
- package/src/utils/promoterCompetitionUtils.ts +8 -8
- package/src/utils/promotionBlastUtils.ts +4 -4
- package/src/utils/qrCodeUtils.ts +3 -3
- package/src/utils/recurrenceUtils.ts +33 -5
- package/src/utils/reputationUtils.ts +3 -3
- package/src/utils/reviewDimensionUtils.ts +2 -2
- package/src/utils/service/__tests__/billingCapUtils.test.ts +3 -3
- package/src/utils/service/__tests__/eventPromoterPhase3.test.ts +1 -1
- package/src/utils/service/__tests__/eventPromoterUtils.test.ts +1 -1
- package/src/utils/service/__tests__/frontendServiceBookingUtils.test.ts +2 -2
- package/src/utils/service/__tests__/serviceBookingExposureUtils.test.ts +1 -1
- package/src/utils/service/__tests__/serviceBookingStatusUtils.test.ts +2 -2
- package/src/utils/service/__tests__/serviceRateUtils.test.ts +6 -6
- package/src/utils/service/apiServiceBookingApiUtils.ts +1 -1
- package/src/utils/service/billingCapUtils.ts +5 -5
- package/src/utils/service/cancellationPolicyRefundResolver.ts +1 -1
- package/src/utils/service/eventPromoterUtils.ts +27 -27
- package/src/utils/service/foodAndBeverageQuote.ts +8 -8
- package/src/utils/service/offerAllowListUtils.ts +1 -1
- package/src/utils/service/offerComparisonUtils.ts +8 -8
- package/src/utils/service/serviceBookingExposureUtils.ts +8 -8
- package/src/utils/service/serviceBookingTypes.ts +2 -2
- package/src/utils/service/serviceFeaturedSortUtils.ts +2 -2
- package/src/utils/service/serviceListingMediaUtils.ts +2 -2
- package/src/utils/service/serviceUtils.ts +2 -2
- package/src/utils/service/unifiedPricingResolver.ts +5 -5
- package/src/utils/service/venueSettlementUtils.ts +3 -3
- package/src/utils/service/volunteerCompensationUtils.ts +3 -3
- package/src/utils/slugUtils.ts +1 -1
- package/src/utils/ticketPrintPostageUtils.ts +5 -5
- package/src/utils/ticketTierSchedule.ts +4 -4
- package/src/utils/trustScoreUtils.ts +1 -1
- package/src/utils/urlUtils.ts +2 -2
- package/src/utils/userUtils.ts +4 -4
- package/src/utils/venueLoyalty/__tests__/eligibilityUtils.test.ts +1 -1
- package/src/utils/venueLoyalty/__tests__/redemptionCodeUtils.test.ts +1 -1
- package/src/utils/venueLoyalty/redemptionCodeUtils.ts +3 -3
- package/src/venueLoyaltyRedemption.ts +2 -2
- package/src/venueMatch.ts +4 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Volunteer compensation
|
|
2
|
+
* Volunteer compensation. Closed-loop BashPoints stipends + on-site perks.
|
|
3
3
|
*
|
|
4
4
|
* Volunteers are NOT employees or contractors. This util intentionally avoids
|
|
5
5
|
* any USD rate / wage / per-attendee math, because crossing that line would
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* - never cashed out,
|
|
10
10
|
* - never used to settle third-party USD invoices,
|
|
11
11
|
* - only redeemable against Bash-issued goods (tickets, BashPass upgrades,
|
|
12
|
-
* premium features)
|
|
12
|
+
* premium features). See the closed-loop BP plan.
|
|
13
13
|
*
|
|
14
14
|
* Pure functions only so the wizard, api validators, and help-center page
|
|
15
15
|
* share one source of truth.
|
|
@@ -67,7 +67,7 @@ export function validateVolunteerCompensation(args) {
|
|
|
67
67
|
export function volunteerCompensationSummary(args) {
|
|
68
68
|
switch (args.compensationType) {
|
|
69
69
|
case "None":
|
|
70
|
-
return "Pure volunteer
|
|
70
|
+
return "Pure volunteer. No stipend or perks beyond appreciation.";
|
|
71
71
|
case "BashPointsStipend":
|
|
72
72
|
return `${args.bashPointsStipend ?? 0} BashPoints per ${args.rateUnit ?? "shift"}.`;
|
|
73
73
|
case "PerksOnly":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"volunteerCompensationUtils.js","sourceRoot":"","sources":["../../../src/utils/service/volunteerCompensationUtils.ts"],"names":[],"mappings":"AAkBA,gFAAgF;AAChF,MAAM,CAAC,MAAM,sCAAsC,GAAG,GAAG,CAAC;AAE1D,6CAA6C;AAC7C,MAAM,CAAC,MAAM,qCAAqC,GAAG,EAAE,CAAC;AAExD,sDAAsD;AACtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,MAAM,CAAU,CAAC;AAG/D;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAEnC;IACC,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO,qCAAqC,CAAC;IAC/C,CAAC;IACD,OAAO,sCAAsC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC5C,CAAwD;IAExD,OAAO,CAAC,KAAK,mBAAmB,IAAI,CAAC,KAAK,oBAAoB,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAC3C,CAAwD;IAExD,OAAO,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,oBAAoB,CAAC;AACzD,CAAC;AAWD,MAAM,UAAU,6BAA6B,CAAC,IAK7C;IACC,MAAM,MAAM,GAAG,8BAA8B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,6BAA6B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAEtE,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,EAAE,CAAC;YAClE,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,4EAA4E;aACrF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,sEAAsE;aAC/E,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;QAC5E,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,sEAAsE;SAC/E,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,6CAA6C;SACtD,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAAC,IAK5C;IACC,QAAQ,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,KAAK,MAAM;YACT,OAAO,
|
|
1
|
+
{"version":3,"file":"volunteerCompensationUtils.js","sourceRoot":"","sources":["../../../src/utils/service/volunteerCompensationUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export declare function generateBashDetailUrl(bashEventId: string, slug: string)
|
|
|
7
7
|
*/
|
|
8
8
|
export declare function getPublicBashDetailPath(bashEventId: string, slug: string | null | undefined): string;
|
|
9
9
|
/**
|
|
10
|
-
* Path to Your Memories (private vault) for a bash
|
|
10
|
+
* Path to Your Memories (private vault) for a bash. Nested under bash detail
|
|
11
11
|
* (`/bash/{id}-{slug}/memories`). Requires sign-in + eligibility; not a public
|
|
12
12
|
* unauthenticated recap page.
|
|
13
13
|
*/
|
package/dist/utils/slugUtils.js
CHANGED
|
@@ -52,7 +52,7 @@ export function getPublicBashDetailPath(bashEventId, slug) {
|
|
|
52
52
|
return `${BASH_DETAIL_URL}/${bashEventId}`;
|
|
53
53
|
}
|
|
54
54
|
/**
|
|
55
|
-
* Path to Your Memories (private vault) for a bash
|
|
55
|
+
* Path to Your Memories (private vault) for a bash. Nested under bash detail
|
|
56
56
|
* (`/bash/{id}-{slug}/memories`). Requires sign-in + eligibility; not a public
|
|
57
57
|
* unauthenticated recap page.
|
|
58
58
|
*/
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Buyer-facing surcharge for physical ticket delivery (mail-to-buyer or venue
|
|
3
|
-
* will-call), both fulfilled as individually-addressed Lob postcards
|
|
3
|
+
* will-call), both fulfilled as individually-addressed Lob postcards. One
|
|
4
4
|
* ticket = one piece, same product used by Flyer Blast's addressed mail path.
|
|
5
5
|
*
|
|
6
6
|
* Reuses the Lob per-piece cost table from `lobFlyerUtils.ts` rather than
|
|
7
|
-
* duplicating pricing
|
|
7
|
+
* duplicating pricing. Same "verify before production" caveat applies here.
|
|
8
8
|
*/
|
|
9
9
|
import { TicketDeliveryMethod, TicketPrintOrderStatus } from "@prisma/client";
|
|
10
10
|
import { type LobPostcardSizeKey } from "./lobFlyerUtils.js";
|
|
@@ -12,11 +12,11 @@ import { type LobPostcardSizeKey } from "./lobFlyerUtils.js";
|
|
|
12
12
|
export declare function ticketPrintSurchargeCentsPerPiece(size: LobPostcardSizeKey): number;
|
|
13
13
|
/**
|
|
14
14
|
* Total buyer-facing surcharge (integer cents) for `quantity` physical ticket
|
|
15
|
-
* pieces of the given size
|
|
15
|
+
* pieces of the given size. Used as the Stripe checkout line item amount.
|
|
16
16
|
*/
|
|
17
17
|
export declare function ticketPrintSurchargeCentsForQuantity(size: LobPostcardSizeKey, quantity: number): number;
|
|
18
18
|
/**
|
|
19
|
-
* Buyer-facing badge copy for a ticket's physical delivery status
|
|
19
|
+
* Buyer-facing badge copy for a ticket's physical delivery status. Shared by
|
|
20
20
|
* My Tickets and the ticket details view so both surfaces stay in sync.
|
|
21
21
|
* `null`/`undefined` (Digital) means no badge should render.
|
|
22
22
|
*/
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Buyer-facing surcharge for physical ticket delivery (mail-to-buyer or venue
|
|
3
|
-
* will-call), both fulfilled as individually-addressed Lob postcards
|
|
3
|
+
* will-call), both fulfilled as individually-addressed Lob postcards. One
|
|
4
4
|
* ticket = one piece, same product used by Flyer Blast's addressed mail path.
|
|
5
5
|
*
|
|
6
6
|
* Reuses the Lob per-piece cost table from `lobFlyerUtils.ts` rather than
|
|
7
|
-
* duplicating pricing
|
|
7
|
+
* duplicating pricing. Same "verify before production" caveat applies here.
|
|
8
8
|
*/
|
|
9
9
|
import { TicketDeliveryMethod, TicketPrintOrderStatus } from "@prisma/client";
|
|
10
10
|
import { quoteLobAddressedPostageCents, } from "./lobFlyerUtils.js";
|
|
@@ -14,7 +14,7 @@ export function ticketPrintSurchargeCentsPerPiece(size) {
|
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* Total buyer-facing surcharge (integer cents) for `quantity` physical ticket
|
|
17
|
-
* pieces of the given size
|
|
17
|
+
* pieces of the given size. Used as the Stripe checkout line item amount.
|
|
18
18
|
*/
|
|
19
19
|
export function ticketPrintSurchargeCentsForQuantity(size, quantity) {
|
|
20
20
|
if (quantity < 1)
|
|
@@ -22,7 +22,7 @@ export function ticketPrintSurchargeCentsForQuantity(size, quantity) {
|
|
|
22
22
|
return quoteLobAddressedPostageCents(size, quantity);
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
|
-
* Buyer-facing badge copy for a ticket's physical delivery status
|
|
25
|
+
* Buyer-facing badge copy for a ticket's physical delivery status. Shared by
|
|
26
26
|
* My Tickets and the ticket details view so both surfaces stay in sync.
|
|
27
27
|
* `null`/`undefined` (Digital) means no badge should render.
|
|
28
28
|
*/
|
|
@@ -35,7 +35,7 @@ export function ticketDeliveryStatusLabel(printOrder) {
|
|
|
35
35
|
return "Physical ticket cancelled";
|
|
36
36
|
}
|
|
37
37
|
if (status === TicketPrintOrderStatus.Failed) {
|
|
38
|
-
return "Physical ticket delivery failed
|
|
38
|
+
return "Physical ticket delivery failed. Contact the host";
|
|
39
39
|
}
|
|
40
40
|
if (deliveryMethod === TicketDeliveryMethod.VenueWillCall) {
|
|
41
41
|
switch (status) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ticketPrintPostageUtils.js","sourceRoot":"","sources":["../../src/utils/ticketPrintPostageUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE9E,OAAO,EACL,6BAA6B,GAE9B,MAAM,oBAAoB,CAAC;AAE5B,0EAA0E;AAC1E,MAAM,UAAU,iCAAiC,CAAC,IAAwB;IACxE,OAAO,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oCAAoC,CAClD,IAAwB,EACxB,QAAgB;IAEhB,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IAC3B,OAAO,6BAA6B,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAGa;IAEb,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAE9C,IACE,MAAM,KAAK,sBAAsB,CAAC,qBAAqB;QACvD,MAAM,KAAK,sBAAsB,CAAC,oBAAoB,EACtD,CAAC;QACD,OAAO,2BAA2B,CAAC;IACrC,CAAC;IACD,IAAI,MAAM,KAAK,sBAAsB,CAAC,MAAM,EAAE,CAAC;QAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"ticketPrintPostageUtils.js","sourceRoot":"","sources":["../../src/utils/ticketPrintPostageUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE9E,OAAO,EACL,6BAA6B,GAE9B,MAAM,oBAAoB,CAAC;AAE5B,0EAA0E;AAC1E,MAAM,UAAU,iCAAiC,CAAC,IAAwB;IACxE,OAAO,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oCAAoC,CAClD,IAAwB,EACxB,QAAgB;IAEhB,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IAC3B,OAAO,6BAA6B,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAGa;IAEb,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAE9C,IACE,MAAM,KAAK,sBAAsB,CAAC,qBAAqB;QACvD,MAAM,KAAK,sBAAsB,CAAC,oBAAoB,EACtD,CAAC;QACD,OAAO,2BAA2B,CAAC;IACrC,CAAC;IACD,IAAI,MAAM,KAAK,sBAAsB,CAAC,MAAM,EAAE,CAAC;QAC7C,OAAO,mDAAmD,CAAC;IAC7D,CAAC;IACD,IAAI,cAAc,KAAK,oBAAoB,CAAC,aAAa,EAAE,CAAC;QAC1D,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,sBAAsB,CAAC,MAAM;gBAChC,OAAO,6CAA6C,CAAC;YACvD,KAAK,sBAAsB,CAAC,SAAS;gBACnC,OAAO,qCAAqC,CAAC;YAC/C;gBACE,OAAO,6BAA6B,CAAC;QACzC,CAAC;IACH,CAAC;IACD,eAAe;IACf,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,sBAAsB,CAAC,MAAM,CAAC;QACnC,KAAK,sBAAsB,CAAC,SAAS;YACnC,OAAO,yBAAyB,CAAC;QACnC,KAAK,sBAAsB,CAAC,OAAO;YACjC,OAAO,wBAAwB,CAAC;QAClC,KAAK,sBAAsB,CAAC,SAAS;YACnC,OAAO,2BAA2B,CAAC;QACrC,KAAK,sBAAsB,CAAC,SAAS;YACnC,OAAO,0BAA0B,CAAC;QACpC;YACE,OAAO,eAAe,CAAC;IAC3B,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Ticket tier release / expiry / sold-out schedule resolver
|
|
2
|
+
* Ticket tier release / expiry / sold-out schedule resolver. Shared by API + bash-app.
|
|
3
3
|
*/
|
|
4
4
|
import type { TicketTierAvailability } from "../definitions.js";
|
|
5
5
|
export type PreReleaseDisplay = "Tease" | "Hidden";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Ticket tier release / expiry / sold-out schedule resolver
|
|
2
|
+
* Ticket tier release / expiry / sold-out schedule resolver. Shared by API + bash-app.
|
|
3
3
|
*/
|
|
4
4
|
function toDate(value) {
|
|
5
5
|
if (value == null)
|
|
@@ -65,7 +65,7 @@ export function resolveTicketTierScheduleState(tier, ctx = {}) {
|
|
|
65
65
|
const publicAvailableAt = toDate(tier.publicAvailableAt);
|
|
66
66
|
const inventory = ctx.availableInventory;
|
|
67
67
|
const manualSoldOut = tier.isManuallySoldOut === true;
|
|
68
|
-
/** Only treat as inventory sold-out when callers supply a count
|
|
68
|
+
/** Only treat as inventory sold-out when callers supply a count. Unknown ≠ zero. */
|
|
69
69
|
const soldOut = manualSoldOut || (inventory !== undefined && inventory <= 0);
|
|
70
70
|
const preDisplay = normalizePreReleaseDisplay(tier.preReleaseDisplay);
|
|
71
71
|
const type = tier.availabilityType ?? "Immediate";
|
|
@@ -254,14 +254,14 @@ export function validateTicketTierScheduleInput(tier, bashEvent) {
|
|
|
254
254
|
if (start && availableAt && availableAt > start) {
|
|
255
255
|
issues.push({
|
|
256
256
|
field: "availableAt",
|
|
257
|
-
message: "Release is after the event start
|
|
257
|
+
message: "Release is after the event start. Double-check the time.",
|
|
258
258
|
severity: "warn",
|
|
259
259
|
});
|
|
260
260
|
}
|
|
261
261
|
if (start && expiresAt && expiresAt > start) {
|
|
262
262
|
issues.push({
|
|
263
263
|
field: "expiresAt",
|
|
264
|
-
message: "Tier expires after the event starts
|
|
264
|
+
message: "Tier expires after the event starts. Unusual but allowed.",
|
|
265
265
|
severity: "warn",
|
|
266
266
|
});
|
|
267
267
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ticketTierSchedule.js","sourceRoot":"","sources":["../../src/utils/ticketTierSchedule.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ticketTierSchedule.js","sourceRoot":"","sources":["../../src/utils/ticketTierSchedule.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export interface TrustScoreBreakdown {
|
|
|
17
17
|
weights: Record<string, number>;
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
|
-
* Compute a 0
|
|
20
|
+
* Compute a 0 to 100 trust score from normalized component signals (0 to 1 each).
|
|
21
21
|
*/
|
|
22
22
|
export declare function computeTrustScoreFromInputs(actorType: TrustScoreActorType, inputs: TrustScoreInputs): TrustScoreBreakdown;
|
|
23
23
|
/** Convenience when only review stats are available (early bootstrap). */
|
|
@@ -40,7 +40,7 @@ function inverseRate(rate) {
|
|
|
40
40
|
return clamp01(1 - clamp01(rate));
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
|
-
* Compute a 0
|
|
43
|
+
* Compute a 0 to 100 trust score from normalized component signals (0 to 1 each).
|
|
44
44
|
*/
|
|
45
45
|
export function computeTrustScoreFromInputs(actorType, inputs) {
|
|
46
46
|
const weights = actorType === "host" ? HOST_WEIGHTS : SERVICE_WEIGHTS;
|
package/dist/utils/urlUtils.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Canonical frontend origin for share links, embeds, QR codes, etc.
|
|
3
3
|
*
|
|
4
4
|
* Browser-hostname-driven (NOT env-var driven) so the answer is correct in any
|
|
5
|
-
* deployed environment
|
|
5
|
+
* deployed environment. Including ones where `process.env.ENVIRONMENT` /
|
|
6
6
|
* `BASH_ENV` aren't inlined into the bundle (Vite only inlines REACT_APP_* /
|
|
7
7
|
* VITE_* / NODE_ENV / PUBLIC_URL). Previously this depended on `isProduction()`
|
|
8
8
|
* and produced URLs like `https://bash.community:3000/bash/...` in production,
|
|
@@ -56,7 +56,7 @@ export declare function redirectToStripeWithTimeout(redirectUrl: string, timeout
|
|
|
56
56
|
*
|
|
57
57
|
* Browsers resolve `href="example.com"` as a **relative** URL (under the current path),
|
|
58
58
|
* not `https://example.com`, so bare domains must be prefixed with `https://`.
|
|
59
|
-
* Stores sometimes save Instagram as `@handle` instead of a full URL
|
|
59
|
+
* Stores sometimes save Instagram as `@handle` instead of a full URL. Those are mapped
|
|
60
60
|
* to `https://www.instagram.com/{handle}/`.
|
|
61
61
|
*
|
|
62
62
|
* @returns `"#"` when the value is empty or unsafe (`javascript:`, `data:`).
|
package/dist/utils/urlUtils.js
CHANGED
|
@@ -20,7 +20,7 @@ function isLocalDevHostname(hostname) {
|
|
|
20
20
|
* Canonical frontend origin for share links, embeds, QR codes, etc.
|
|
21
21
|
*
|
|
22
22
|
* Browser-hostname-driven (NOT env-var driven) so the answer is correct in any
|
|
23
|
-
* deployed environment
|
|
23
|
+
* deployed environment. Including ones where `process.env.ENVIRONMENT` /
|
|
24
24
|
* `BASH_ENV` aren't inlined into the bundle (Vite only inlines REACT_APP_* /
|
|
25
25
|
* VITE_* / NODE_ENV / PUBLIC_URL). Previously this depended on `isProduction()`
|
|
26
26
|
* and produced URLs like `https://bash.community:3000/bash/...` in production,
|
|
@@ -217,7 +217,7 @@ export function redirectToStripeWithTimeout(redirectUrl, timeoutMs = STRIPE_REDI
|
|
|
217
217
|
*
|
|
218
218
|
* Browsers resolve `href="example.com"` as a **relative** URL (under the current path),
|
|
219
219
|
* not `https://example.com`, so bare domains must be prefixed with `https://`.
|
|
220
|
-
* Stores sometimes save Instagram as `@handle` instead of a full URL
|
|
220
|
+
* Stores sometimes save Instagram as `@handle` instead of a full URL. Those are mapped
|
|
221
221
|
* to `https://www.instagram.com/{handle}/`.
|
|
222
222
|
*
|
|
223
223
|
* @returns `"#"` when the value is empty or unsafe (`javascript:`, `data:`).
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Gender, SocialEventCadence } from "@prisma/client";
|
|
2
2
|
export declare const MAX_USER_NAME_CHANGES: 3;
|
|
3
3
|
/**
|
|
4
|
-
* Minimum shape needed by `getDisplayGender
|
|
4
|
+
* Minimum shape needed by `getDisplayGender`. Accepts any object that has the
|
|
5
5
|
* two relevant columns (e.g. `User`, `UserExt`, `PublicUser`, or a partial
|
|
6
6
|
* select). The free-text `genderIdentity` is the source of truth for *display*
|
|
7
7
|
* because it is user-self-described and may not map to a `Gender` enum value
|
|
@@ -17,7 +17,7 @@ export interface GenderDisplayUser {
|
|
|
17
17
|
*
|
|
18
18
|
* Precedence:
|
|
19
19
|
* 1. `genderIdentity` (free-text self-description) when present and
|
|
20
|
-
* non-blank
|
|
20
|
+
* non-blank. Wins over the enum so the user sees their own words.
|
|
21
21
|
* 2. `gender` (enum) when present.
|
|
22
22
|
* 3. `null` when neither is set.
|
|
23
23
|
*
|
|
@@ -32,12 +32,12 @@ export interface GenderDisplayUser {
|
|
|
32
32
|
*/
|
|
33
33
|
export declare function getDisplayGender(user: GenderDisplayUser): string | null;
|
|
34
34
|
/**
|
|
35
|
-
* Plain labels for the social event cadence enum
|
|
35
|
+
* Plain labels for the social event cadence enum. Used in Settings, the account
|
|
36
36
|
* edit forms, and the host CRM filter where clarity beats personality.
|
|
37
37
|
*/
|
|
38
38
|
export declare const SOCIAL_EVENT_CADENCE_LABELS: Record<SocialEventCadence, string>;
|
|
39
39
|
/**
|
|
40
|
-
* Promoter-voice labels for the public profile
|
|
40
|
+
* Promoter-voice labels for the public profile. Friendlier phrasing of how often
|
|
41
41
|
* someone likes to go out. Falls back to the plain label when no flourish exists.
|
|
42
42
|
*/
|
|
43
43
|
export declare const SOCIAL_EVENT_CADENCE_PROFILE_LABELS: Record<SocialEventCadence, string>;
|
package/dist/utils/userUtils.js
CHANGED
|
@@ -5,7 +5,7 @@ export const MAX_USER_NAME_CHANGES = 3;
|
|
|
5
5
|
*
|
|
6
6
|
* Precedence:
|
|
7
7
|
* 1. `genderIdentity` (free-text self-description) when present and
|
|
8
|
-
* non-blank
|
|
8
|
+
* non-blank. Wins over the enum so the user sees their own words.
|
|
9
9
|
* 2. `gender` (enum) when present.
|
|
10
10
|
* 3. `null` when neither is set.
|
|
11
11
|
*
|
|
@@ -27,7 +27,7 @@ export function getDisplayGender(user) {
|
|
|
27
27
|
return null;
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
|
-
* Plain labels for the social event cadence enum
|
|
30
|
+
* Plain labels for the social event cadence enum. Used in Settings, the account
|
|
31
31
|
* edit forms, and the host CRM filter where clarity beats personality.
|
|
32
32
|
*/
|
|
33
33
|
export const SOCIAL_EVENT_CADENCE_LABELS = {
|
|
@@ -38,7 +38,7 @@ export const SOCIAL_EVENT_CADENCE_LABELS = {
|
|
|
38
38
|
Never: "Never",
|
|
39
39
|
};
|
|
40
40
|
/**
|
|
41
|
-
* Promoter-voice labels for the public profile
|
|
41
|
+
* Promoter-voice labels for the public profile. Friendlier phrasing of how often
|
|
42
42
|
* someone likes to go out. Falls back to the plain label when no flourish exists.
|
|
43
43
|
*/
|
|
44
44
|
export const SOCIAL_EVENT_CADENCE_PROFILE_LABELS = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Pure eligibility evaluator
|
|
2
|
+
* Pure eligibility evaluator. Same logic runs on API + bash-app, so this
|
|
3
3
|
* suite locks the truth table for both call sites.
|
|
4
4
|
*/
|
|
5
5
|
import { evaluateEligibility, evaluateOffersEligibility, } from "../eligibilityUtils.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Pin the redemption code alphabet, length, normalization, and uniqueness
|
|
3
|
-
* retry loop. Hosts type these codes from a phone
|
|
3
|
+
* retry loop. Hosts type these codes from a phone. Fat-finger characters
|
|
4
4
|
* (I, O, 0, 1) must never appear.
|
|
5
5
|
*/
|
|
6
6
|
import { REDEMPTION_CODE_LENGTH, __testInternals, generateRedemptionCode, generateUniqueRedemptionCode, isValidRedemptionCodeShape, normalizeRedemptionCode, } from "../redemptionCodeUtils.js";
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* ambiguous `I`, `O`, `0`, `1` so a host typing the code from a phone screen
|
|
6
6
|
* doesn't fat-finger it. Collisions are scoped per-venue (see the unique
|
|
7
7
|
* constraint on `VenueLoyaltyRedemption(venueId, redemptionCode)`), so the
|
|
8
|
-
* 32^8 ≈ 1.1 trillion keyspace is enormous overkill
|
|
8
|
+
* 32^8 ≈ 1.1 trillion keyspace is enormous overkill. The retry loop in
|
|
9
9
|
* `generateUniqueRedemptionCode` exists to be defensive, not because we
|
|
10
10
|
* expect contention.
|
|
11
11
|
*/
|
|
@@ -13,7 +13,7 @@ export declare const REDEMPTION_CODE_LENGTH = 8;
|
|
|
13
13
|
/** True iff `code` matches the canonical 8-char alphabet. */
|
|
14
14
|
export declare function isValidRedemptionCodeShape(code: string): boolean;
|
|
15
15
|
/**
|
|
16
|
-
* Normalize user input
|
|
16
|
+
* Normalize user input. Uppercase, strip whitespace + dashes. Before
|
|
17
17
|
* validation or DB lookup. Lets us accept "ab12-cd34" from a phone keyboard.
|
|
18
18
|
*/
|
|
19
19
|
export declare function normalizeRedemptionCode(input: string): string;
|
|
@@ -22,7 +22,7 @@ export declare function generateRedemptionCode(randomBytes?: (length: number) =>
|
|
|
22
22
|
/**
|
|
23
23
|
* Sample fresh codes until `existsInVenue(code)` returns false. Bounded to
|
|
24
24
|
* `maxAttempts` so a misbehaving uniqueness probe can't spin forever. Throws
|
|
25
|
-
* after exhausting attempts
|
|
25
|
+
* after exhausting attempts. Caller should surface a 5xx, this would mean
|
|
26
26
|
* the keyspace is exhausted (impossible in practice) or the DB is unhealthy.
|
|
27
27
|
*/
|
|
28
28
|
export declare function generateUniqueRedemptionCode(existsInVenue: (code: string) => Promise<boolean>, options?: {
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* ambiguous `I`, `O`, `0`, `1` so a host typing the code from a phone screen
|
|
6
6
|
* doesn't fat-finger it. Collisions are scoped per-venue (see the unique
|
|
7
7
|
* constraint on `VenueLoyaltyRedemption(venueId, redemptionCode)`), so the
|
|
8
|
-
* 32^8 ≈ 1.1 trillion keyspace is enormous overkill
|
|
8
|
+
* 32^8 ≈ 1.1 trillion keyspace is enormous overkill. The retry loop in
|
|
9
9
|
* `generateUniqueRedemptionCode` exists to be defensive, not because we
|
|
10
10
|
* expect contention.
|
|
11
11
|
*/
|
|
@@ -17,7 +17,7 @@ export function isValidRedemptionCodeShape(code) {
|
|
|
17
17
|
return REDEMPTION_CODE_REGEX.test(code);
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
|
-
* Normalize user input
|
|
20
|
+
* Normalize user input. Uppercase, strip whitespace + dashes. Before
|
|
21
21
|
* validation or DB lookup. Lets us accept "ab12-cd34" from a phone keyboard.
|
|
22
22
|
*/
|
|
23
23
|
export function normalizeRedemptionCode(input) {
|
|
@@ -35,7 +35,7 @@ export function generateRedemptionCode(randomBytes = defaultRandomBytes) {
|
|
|
35
35
|
/**
|
|
36
36
|
* Sample fresh codes until `existsInVenue(code)` returns false. Bounded to
|
|
37
37
|
* `maxAttempts` so a misbehaving uniqueness probe can't spin forever. Throws
|
|
38
|
-
* after exhausting attempts
|
|
38
|
+
* after exhausting attempts. Caller should surface a 5xx, this would mean
|
|
39
39
|
* the keyspace is exhausted (impossible in practice) or the DB is unhealthy.
|
|
40
40
|
*/
|
|
41
41
|
export async function generateUniqueRedemptionCode(existsInVenue, options = {}) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* API shapes for venue loyalty perk offers + redemptions (guest claim / decline
|
|
3
3
|
* / redeem / expire). All BashPoints movements through these flows ledger via
|
|
4
|
-
* `CreditSourceType.VenueLoyaltyRedemption
|
|
4
|
+
* `CreditSourceType.VenueLoyaltyRedemption`. See
|
|
5
5
|
* `api/src/services/venueLoyaltyRedemptionService.ts`.
|
|
6
6
|
*/
|
|
7
7
|
import type { VenueLoyaltyTemplateId } from "./utils/service/serviceUtils.js";
|
|
@@ -149,7 +149,7 @@ export interface ClaimVenueLoyaltyResponse {
|
|
|
149
149
|
/**
|
|
150
150
|
* Convenience copy of `redemption.redemptionCode` so the success UI can
|
|
151
151
|
* pull it without branching on null. Equals `null` only when the offer was
|
|
152
|
-
* free (bashPointsCost == null)
|
|
152
|
+
* free (bashPointsCost == null). Currently still issued for traceability.
|
|
153
153
|
*/
|
|
154
154
|
code: string;
|
|
155
155
|
remainingBashPoints: number;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* API shapes for venue loyalty perk offers + redemptions (guest claim / decline
|
|
3
3
|
* / redeem / expire). All BashPoints movements through these flows ledger via
|
|
4
|
-
* `CreditSourceType.VenueLoyaltyRedemption
|
|
4
|
+
* `CreditSourceType.VenueLoyaltyRedemption`. See
|
|
5
5
|
* `api/src/services/venueLoyaltyRedemptionService.ts`.
|
|
6
6
|
*/
|
|
7
7
|
/**
|
package/dist/venueMatch.d.ts
CHANGED
|
@@ -41,17 +41,17 @@ export declare const VENUE_SUPPLY_LEAD_STAGES: {
|
|
|
41
41
|
readonly DoNotContact: "DoNotContact";
|
|
42
42
|
};
|
|
43
43
|
export type VenueSupplyLeadStage = (typeof VENUE_SUPPLY_LEAD_STAGES)[keyof typeof VENUE_SUPPLY_LEAD_STAGES];
|
|
44
|
-
/** Admin display labels
|
|
44
|
+
/** Admin display labels. Single source for the pipeline UI + CSV export. */
|
|
45
45
|
export declare const VenueSupplyLeadStageLabel: Record<VenueSupplyLeadStage, string>;
|
|
46
46
|
/** Stages a rep can manually transition to from the admin UI. */
|
|
47
47
|
export declare const VENUE_SUPPLY_LEAD_REP_STAGES: VenueSupplyLeadStage[];
|
|
48
48
|
/**
|
|
49
49
|
* Structured intent extracted from the host's prompt + current event fields.
|
|
50
50
|
* Persisted as `VenueMatchRun.intent` (Json column).
|
|
51
|
-
* All fields nullable
|
|
51
|
+
* All fields nullable. The scorer omits weights for missing signals.
|
|
52
52
|
*/
|
|
53
53
|
export interface VenueMatchIntent {
|
|
54
|
-
/** e.g. "bachelor party", "baby shower"
|
|
54
|
+
/** e.g. "bachelor party", "baby shower". Free text, lowercased */
|
|
55
55
|
occasion: string | null;
|
|
56
56
|
/** From amountOfGuests.expected or parsed from prompt */
|
|
57
57
|
guestCount: number | null;
|
|
@@ -103,7 +103,7 @@ export interface VenueCandidateDisplay {
|
|
|
103
103
|
capacity: number | null;
|
|
104
104
|
distanceMiles: number | null;
|
|
105
105
|
phone: string | null;
|
|
106
|
-
/** Marketplace only
|
|
106
|
+
/** Marketplace only. Deep link target */
|
|
107
107
|
serviceDetailPath: string | null;
|
|
108
108
|
}
|
|
109
109
|
/** One candidate as served to the host UI. */
|
package/dist/venueMatch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"venueMatch.d.ts","sourceRoot":"","sources":["../src/venueMatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,oFAAoF;AACpF,eAAO,MAAM,mBAAmB;;;CAGtB,CAAC;AACX,MAAM,MAAM,yBAAyB,GACnC,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAEjE,8FAA8F;AAC9F,eAAO,MAAM,wBAAwB;;;;;;;;CAQ3B,CAAC;AACX,MAAM,MAAM,oBAAoB,GAC9B,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,OAAO,wBAAwB,CAAC,CAAC;AAE3E,wEAAwE;AACxE,eAAO,MAAM,wBAAwB;;;;;;;;;;CAU3B,CAAC;AACX,MAAM,MAAM,oBAAoB,GAC9B,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,OAAO,wBAAwB,CAAC,CAAC;AAE3E,
|
|
1
|
+
{"version":3,"file":"venueMatch.d.ts","sourceRoot":"","sources":["../src/venueMatch.ts"],"names":[],"mappings":"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"}
|
package/dist/venueMatch.js
CHANGED
|
@@ -38,7 +38,7 @@ export const VENUE_SUPPLY_LEAD_STAGES = {
|
|
|
38
38
|
Declined: "Declined",
|
|
39
39
|
DoNotContact: "DoNotContact",
|
|
40
40
|
};
|
|
41
|
-
/** Admin display labels
|
|
41
|
+
/** Admin display labels. Single source for the pipeline UI + CSV export. */
|
|
42
42
|
export const VenueSupplyLeadStageLabel = {
|
|
43
43
|
Surfaced: "Surfaced",
|
|
44
44
|
Prioritized: "Hot lead",
|
package/dist/venueMatch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"venueMatch.js","sourceRoot":"","sources":["../src/venueMatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,oFAAoF;AACpF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;CACpB,CAAC;AAIX,8FAA8F;AAC9F,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,mBAAmB,EAAE,qBAAqB;IAC1C,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;CACpB,CAAC;AAIX,wEAAwE;AACxE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,eAAe;IAC9B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,YAAY,EAAE,cAAc;CACpB,CAAC;AAIX,
|
|
1
|
+
{"version":3,"file":"venueMatch.js","sourceRoot":"","sources":["../src/venueMatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,oFAAoF;AACpF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;CACpB,CAAC;AAIX,8FAA8F;AAC9F,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,mBAAmB,EAAE,qBAAqB;IAC1C,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;CACpB,CAAC;AAIX,wEAAwE;AACxE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,eAAe;IAC9B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,YAAY,EAAE,cAAc;CACpB,CAAC;AAIX,4EAA4E;AAC5E,MAAM,CAAC,MAAM,yBAAyB,GAAyC;IAC7E,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,UAAU;IACvB,MAAM,EAAE,qBAAqB;IAC7B,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB;IACxB,QAAQ,EAAE,UAAU;IACpB,YAAY,EAAE,gBAAgB;CAC/B,CAAC;AAEF,iEAAiE;AACjE,MAAM,CAAC,MAAM,4BAA4B,GAA2B;IAClE,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,eAAe;IACf,UAAU;IACV,cAAc;CACf,CAAC;AA4HF,kDAAkD;AAClD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,KAAK;IACL,kBAAkB;IAClB,wBAAwB;CAChB,CAAC"}
|
package/package.json
CHANGED
package/prisma/schema.prisma
CHANGED
|
@@ -1110,11 +1110,11 @@ model BashEvent {
|
|
|
1110
1110
|
/// Optional headline above featured guests on bash detail (curated guest visibility).
|
|
1111
1111
|
featuredGuestsHeadline String?
|
|
1112
1112
|
/// When true, bash detail shows the full privacy-filtered guest list to everyone (not just tier holders).
|
|
1113
|
-
attendeeListPublic Boolean @default(
|
|
1113
|
+
attendeeListPublic Boolean @default(true)
|
|
1114
1114
|
/// Host opt-in: show live current-location pins on the public bash page.
|
|
1115
1115
|
locationSharePublic Boolean @default(false)
|
|
1116
|
-
///
|
|
1117
|
-
attendeeListAccess String @default("
|
|
1116
|
+
/// Public = full list for everyone (default); Preview = count + curated faces; TicketHolders = full list for ticket buyers only.
|
|
1117
|
+
attendeeListAccess String @default("Public")
|
|
1118
1118
|
/// When true, only accounts with a published service profile (Vendor/Venue/Entertainment/Exhibitor/Sponsor/Event
|
|
1119
1119
|
/// Service) can view budget lines revealed via `Budget.showOnBashDetailPage`. Default off = anyone can click to view.
|
|
1120
1120
|
budgetRestrictedToServiceProviders Boolean @default(false)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* AgePolicy helpers
|
|
2
|
+
* AgePolicy helpers. Unit tests.
|
|
3
3
|
*
|
|
4
4
|
* `getAgeFromDob` and `meetsAgePolicy` are the source of truth for both:
|
|
5
5
|
* - the `GET /me/id-status` endpoint (which returns `verifiedAge`)
|
|
@@ -69,7 +69,7 @@ describe("getAgeFromDob", () => {
|
|
|
69
69
|
});
|
|
70
70
|
|
|
71
71
|
it("computes whole-year age for a clearly-past birthday", () => {
|
|
72
|
-
// Born 25 years ago, 1 month ago
|
|
72
|
+
// Born 25 years ago, 1 month ago. Birthday already passed this year.
|
|
73
73
|
expect(getAgeFromDob(isoFromOffset(25, 1))).toBe(25);
|
|
74
74
|
});
|
|
75
75
|
|
|
@@ -104,7 +104,7 @@ describe("getAgeFromDob", () => {
|
|
|
104
104
|
});
|
|
105
105
|
|
|
106
106
|
it("returns 0 for a baby born earlier this year", () => {
|
|
107
|
-
// Born ~3 months ago
|
|
107
|
+
// Born ~3 months ago. Under 1 year old.
|
|
108
108
|
expect(getAgeFromDob(isoFromOffset(0, 3))).toBe(0);
|
|
109
109
|
});
|
|
110
110
|
});
|
|
@@ -137,7 +137,7 @@ describe("meetsAgePolicy", () => {
|
|
|
137
137
|
return d.toISOString();
|
|
138
138
|
};
|
|
139
139
|
|
|
140
|
-
it("All Ages always passes
|
|
140
|
+
it("All Ages always passes. Even with no DOB", () => {
|
|
141
141
|
expect(meetsAgePolicy(AgePolicy.AllAges, null)).toBe(true);
|
|
142
142
|
expect(meetsAgePolicy(AgePolicy.AllAges, undefined)).toBe(true);
|
|
143
143
|
expect(meetsAgePolicy(AgePolicy.AllAges, yearsAgo(5))).toBe(true);
|
|
@@ -259,11 +259,11 @@ describe("legacyAgeRangeMatchesFilter", () => {
|
|
|
259
259
|
});
|
|
260
260
|
|
|
261
261
|
it("returns true when ANY selected label matches (multi-select union semantics)", () => {
|
|
262
|
-
// Legacy blob says 21+; user selected both 18+ and 21
|
|
262
|
+
// Legacy blob says 21+; user selected both 18+ and 21+. Still a match.
|
|
263
263
|
expect(
|
|
264
264
|
legacyAgeRangeMatchesFilter(["21+"], ["18+", "21+"])
|
|
265
265
|
).toBe(true);
|
|
266
|
-
// Legacy blob says 21+; user selected only 18
|
|
266
|
+
// Legacy blob says 21+; user selected only 18+. No match.
|
|
267
267
|
expect(legacyAgeRangeMatchesFilter(["21+"], ["18+"])).toBe(false);
|
|
268
268
|
});
|
|
269
269
|
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "../bashEventCancellationPolicy";
|
|
10
10
|
|
|
11
11
|
describe("bashEventCancellationPolicy", () => {
|
|
12
|
-
it("defaults to Standard
|
|
12
|
+
it("defaults to Standard. 7 days", () => {
|
|
13
13
|
expect(DEFAULT_BASH_EVENT_CANCELLATION_PRESET_ID).toBe("flexible_7_day");
|
|
14
14
|
expect(defaultBashEventCancellationPolicyDisplayText()).toBe(
|
|
15
15
|
bashEventCancellationPresetDisplayText("flexible_7_day")
|
|
@@ -32,7 +32,7 @@ describe("bashEventCancellationPolicy", () => {
|
|
|
32
32
|
bashEventCancellationPolicyDetailLabel(
|
|
33
33
|
bashEventCancellationPresetDisplayText("flexible_7_day")
|
|
34
34
|
)
|
|
35
|
-
).toBe("Standard
|
|
35
|
+
).toBe("Standard. 7 days");
|
|
36
36
|
expect(
|
|
37
37
|
bashEventCancellationPolicyDetailLabel("Call the host for a refund.")
|
|
38
38
|
).toBe("Call the host for a refund.");
|