@timardex/cluemart-shared 2.2.0 → 2.2.2
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/{ad-rrCulESo.d.ts → ad-C4L_-r-4.d.ts} +12 -3
- package/dist/{ad-D0xWGTAB.d.mts → ad-XtBAH4rD.d.mts} +12 -3
- package/dist/{affiliate-C9eTAxEj.d.ts → affiliate-CxZHVZb2.d.ts} +2 -2
- package/dist/{affiliate-CGe0hR-U.d.mts → affiliate-D-L_UtL8.d.mts} +2 -2
- package/dist/apollo/index.cjs +12 -7
- package/dist/apollo/index.cjs.map +1 -1
- package/dist/apollo/index.d.mts +11 -0
- package/dist/apollo/index.d.ts +11 -0
- package/dist/apollo/index.mjs +12 -7
- package/dist/apollo/index.mjs.map +1 -1
- package/dist/auth/index.cjs +42 -3
- package/dist/auth/index.cjs.map +1 -1
- package/dist/auth/index.d.mts +5 -4
- package/dist/auth/index.d.ts +5 -4
- package/dist/auth/index.mjs +7 -5
- package/dist/auth/index.mjs.map +1 -1
- package/dist/{chunk-OSSBKFNH.mjs → chunk-BR4XNXE7.mjs} +52 -1
- package/dist/chunk-BR4XNXE7.mjs.map +1 -0
- package/dist/{chunk-PIEXGXTD.mjs → chunk-FWKZZMQR.mjs} +1 -1
- package/dist/chunk-FWKZZMQR.mjs.map +1 -0
- package/dist/{chunk-KT65YYOB.mjs → chunk-KHC57ZNS.mjs} +16 -12
- package/dist/chunk-KHC57ZNS.mjs.map +1 -0
- package/dist/{chunk-T7A7ZG55.mjs → chunk-MTBH5LMV.mjs} +111 -22
- package/dist/chunk-MTBH5LMV.mjs.map +1 -0
- package/dist/{chunk-OK3BPZYA.mjs → chunk-PUX53EZX.mjs} +3 -3
- package/dist/{chunk-YPWBK4WU.mjs → chunk-Q2WLLXTA.mjs} +2 -1
- package/dist/chunk-Q2WLLXTA.mjs.map +1 -0
- package/dist/{chunk-GOWIY4NZ.mjs → chunk-TCV735VY.mjs} +10 -2
- package/dist/chunk-TCV735VY.mjs.map +1 -0
- package/dist/{chunk-BTZIWVSF.mjs → chunk-YKJAOTF7.mjs} +3 -3
- package/dist/chunk-YKJAOTF7.mjs.map +1 -0
- package/dist/{contactUs-Be0zqd9Q.d.ts → contactUs-CR-nghbk.d.ts} +1 -1
- package/dist/{contactUs-CQXyz40A.d.mts → contactUs-CwHKoGEt.d.mts} +1 -1
- package/dist/enums/index.cjs +1 -0
- package/dist/enums/index.cjs.map +1 -1
- package/dist/enums/index.d.mts +1 -0
- package/dist/enums/index.d.ts +1 -0
- package/dist/enums/index.mjs +1 -1
- package/dist/formFields/index.cjs +16 -7
- package/dist/formFields/index.cjs.map +1 -1
- package/dist/formFields/index.d.mts +1 -1
- package/dist/formFields/index.d.ts +1 -1
- package/dist/formFields/index.mjs +5 -5
- package/dist/{global-CAf04GRC.d.ts → global-B4mmQo6R.d.ts} +25 -7
- package/dist/{global-d8RFwoYS.d.mts → global-D1r5ZuQO.d.mts} +25 -7
- package/dist/graphql/index.cjs +62 -0
- package/dist/graphql/index.cjs.map +1 -1
- package/dist/graphql/index.d.mts +33 -6
- package/dist/graphql/index.d.ts +33 -6
- package/dist/graphql/index.mjs +9 -3
- package/dist/hooks/index.cjs +84 -37
- package/dist/hooks/index.cjs.map +1 -1
- package/dist/hooks/index.d.mts +5 -5
- package/dist/hooks/index.d.ts +5 -5
- package/dist/hooks/index.mjs +20 -20
- package/dist/hooks/index.mjs.map +1 -1
- package/dist/index.cjs +190 -32
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +90 -15
- package/dist/index.d.ts +90 -15
- package/dist/index.mjs +185 -32
- package/dist/index.mjs.map +1 -1
- package/dist/map/index.d.mts +1 -1
- package/dist/map/index.d.ts +1 -1
- package/dist/region/index.cjs.map +1 -1
- package/dist/region/index.d.mts +1 -1
- package/dist/region/index.d.ts +1 -1
- package/dist/region/index.mjs +1 -1
- package/dist/{resourceActivities-DO_PjmMN.d.mts → resourceActivities-DUReu_jD.d.mts} +1 -1
- package/dist/{resourceActivities-ByCZO0rJ.d.ts → resourceActivities-Uz9uavhK.d.ts} +1 -1
- package/dist/sharing/index.cjs +21 -10
- package/dist/sharing/index.cjs.map +1 -1
- package/dist/sharing/index.d.mts +1 -1
- package/dist/sharing/index.d.ts +1 -1
- package/dist/sharing/index.mjs +3 -3
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.mts +7 -7
- package/dist/types/index.d.ts +7 -7
- package/dist/types/index.mjs +2 -2
- package/dist/{user-BHYl7drL.d.mts → user-BpR-FTW2.d.mts} +1 -1
- package/dist/{user-DCqDbTLd.d.ts → user-IR0bHKFb.d.ts} +1 -1
- package/dist/utils/index.cjs +126 -31
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.mts +32 -12
- package/dist/utils/index.d.ts +32 -12
- package/dist/utils/index.mjs +9 -5
- package/package.json +1 -1
- package/dist/chunk-BTZIWVSF.mjs.map +0 -1
- package/dist/chunk-GOWIY4NZ.mjs.map +0 -1
- package/dist/chunk-KT65YYOB.mjs.map +0 -1
- package/dist/chunk-OSSBKFNH.mjs.map +0 -1
- package/dist/chunk-PIEXGXTD.mjs.map +0 -1
- package/dist/chunk-T7A7ZG55.mjs.map +0 -1
- package/dist/chunk-YPWBK4WU.mjs.map +0 -1
- /package/dist/{chunk-OK3BPZYA.mjs.map → chunk-PUX53EZX.mjs.map} +0 -0
package/dist/types/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/types/index.ts","../../src/types/auth.ts","../../src/types/global.ts","../../src/types/ad.ts","../../src/types/resourceActivities.ts","../../src/types/post.ts","../../src/types/game/index.ts","../../src/types/game/dailyClue.ts","../../src/types/game/global.ts","../../src/types/subscription.ts","../../src/types/affiliate.ts","../../src/types/coupon/index.ts"],"sourcesContent":["export * from \"./admin\";\nexport * from \"./auth\";\nexport * from \"./chat\";\nexport * from \"./contactUs\";\nexport * from \"./global\";\nexport * from \"./event\";\nexport * from \"./notification\";\nexport * from \"./poster\";\nexport * from \"./relation\";\nexport * from \"./vendor\";\nexport * from \"./user\";\nexport * from \"./ad\";\nexport * from \"./resourceActivities\";\nexport * from \"./partner\";\nexport * from \"./post\";\nexport * from \"./pushToken\";\nexport * from \"./appSettings\";\nexport * from \"./billingCatalog\";\nexport * from \"./googleImportedMarket\";\nexport * from \"./game\";\nexport * from \"./game/dailyClue\";\nexport * from \"./game/global\";\nexport * from \"./game/puzzleGame\";\nexport * from \"./school\";\nexport * from \"./subscription\";\nexport * from \"./affiliate\";\nexport * from \"./coupon\";\n","import {\n CreateFormData,\n EnumOSPlatform,\n EnumResourceType,\n PromoCodeType,\n TermsAgreement,\n} from \"src\";\n\nimport { MutationResponse } from \"./global\";\nimport { SafeUserType, UserFormData } from \"./user\";\n\nexport enum EnumVerificationType {\n REGISTER = \"register\",\n RESET_PASSWORD = \"resetPassword\",\n}\n\nexport type LoginFormData = {\n email: string;\n isAdminPage?: boolean;\n password: string;\n platform?: EnumOSPlatform;\n};\n\nexport type CreateLoginFormData = CreateFormData<LoginFormData>;\n\nexport type RegisterFormData = Pick<\n UserFormData,\n | \"email\"\n | \"firstName\"\n | \"lastName\"\n | \"nickName\"\n | \"platform\"\n | \"preferredRegion\"\n | \"termsAgreement\"\n> & {\n interests: EnumResourceType[];\n password: string;\n promoCode?: PromoCodeType | null;\n};\n\nexport type CreateRegisterFormData = CreateFormData<RegisterFormData>;\n\nexport type RequestPasswordResetFormData = {\n email: string;\n};\n\nexport type CreateRequestPasswordResetFormData =\n CreateFormData<RequestPasswordResetFormData>;\n\nexport type ResetPasswordFormData = {\n confirmPassword: string;\n email: string;\n password: string;\n};\n\nexport type CreateResetPasswordFormData = CreateFormData<ResetPasswordFormData>;\n\nexport type ValidateVerificationTokenFormData = {\n email: string;\n verificationToken: string;\n verificationType?: EnumVerificationType;\n};\n\nexport type CreateValidateVerificationTokenFormData =\n CreateFormData<ValidateVerificationTokenFormData>;\n\nexport type AuthPayloadType = {\n refreshToken: string | null;\n token: string;\n user: SafeUserType;\n};\n\nexport type AuthMutationResponse = MutationResponse<AuthPayloadType>;\n\nexport type RefreshTokenPayloadType = {\n refreshToken: string;\n token: string;\n};\n\nexport type RefreshTokenMutationResponse =\n MutationResponse<RefreshTokenPayloadType>;\n","import {\n Control,\n FieldValues,\n FormState,\n UseFormGetValues,\n UseFormHandleSubmit,\n UseFormReset,\n UseFormSetValue,\n UseFormWatch,\n} from \"react-hook-form\";\n\nimport {\n EnumEventDateStatus,\n EnumEventType,\n EnumPartnerType,\n EnumRegions,\n EnumResourceType,\n EnumSocialMedia,\n EnumUserLicence,\n EnumUserRole,\n} from \"../enums\";\n\nimport { EventListItemType } from \"./event\";\nimport { EnumPostType } from \"./post\";\nimport { VendorType } from \"./vendor\";\n\nexport const PROMO_CODE_PREFIX = \"CM-\";\n\nexport type PromoCodeType = `${typeof PROMO_CODE_PREFIX}${string}`;\n\nexport type Nullable<T> = {\n [K in keyof T]: T[K] | null | undefined;\n};\n\n/** Uniform mutation response envelope used across GraphQL mutations. */\nexport type MutationResponse<T> = {\n data: T | null;\n message: string | null;\n};\n\nexport type DeviceInfo = {\n appBuildNumber: string;\n appId: string;\n appVersion: string;\n brand: string;\n deviceName: string;\n installationId: string;\n manufacturer: string;\n modelName: string;\n osName: string;\n osVersion: string;\n timestamp: Date;\n};\n\nexport type TermsAgreement = DeviceInfo & {\n termVersion: string;\n};\n\nexport type ResourceContactDetailsType = {\n email?: string | null;\n landlinePhone?: string | null;\n mobilePhone?: string | null;\n};\n\nexport type ResourceImageType = {\n active: boolean;\n source: string;\n title: string;\n};\n\nexport type SocialMediaType = {\n name?: EnumSocialMedia;\n link?: string;\n};\n\nexport type UserLicenceType = {\n expiryDate: Date;\n issuedDate: Date;\n licenceType: EnumUserLicence;\n prevLicenceType?: EnumUserLicence | null;\n};\n\nexport type OwnerType = {\n email: string;\n userId: string;\n};\n\nexport interface BaseResourceTypeFormData {\n _id?: string;\n active: boolean;\n contactDetails: ResourceContactDetailsType | null;\n cover: ResourceImageType;\n coverUpload?: ResourceImageType | null;\n description: string;\n images?: ResourceImageType[] | null;\n imagesUpload?: ResourceImageType[] | null;\n logo?: ResourceImageType | null;\n logoUpload?: ResourceImageType | null;\n name: string;\n promoCodes?: PromoCodeType[] | null;\n region: string;\n socialMedia: SocialMediaType[] | null;\n termsAgreement?: TermsAgreement | null;\n}\n\nexport type PosterUsageType = {\n month: string;\n count: number;\n};\n\nexport type RelatedPostType = {\n postActive: boolean;\n postId: string;\n postSlug: string;\n postType: EnumPostType;\n};\n\nexport type SocialShareResourceType = {\n qrCode: ResourceImageType;\n socialImage: ResourceImageType;\n};\n\nexport type BaseResourceType = Omit<\n BaseResourceTypeFormData,\n \"_id\" | \"coverUpload\" | \"imagesUpload\" | \"logoUpload\"\n> & {\n _id: string;\n adIds?: string[] | null;\n approvedAt?: Date | null;\n createdAt: Date;\n deletedAt: Date | null;\n owner: OwnerType;\n posterUsage?: PosterUsageType | null;\n rating?: number | null;\n relatedPost?: RelatedPostType | null;\n reviewCount?: number | null;\n sharePublic?: SocialShareResourceType | null;\n slug: string;\n updatedAt: Date | null;\n};\n\nexport type LocationGeoType = {\n coordinates: number[]; // [longitude, latitude]\n type: \"Point\"; // Mongoose GeoJSON type\n};\n\nexport type LocationType = {\n city: string;\n country: string;\n fullAddress: string;\n geo: LocationGeoType;\n latitude: number;\n longitude: number;\n region: string;\n};\n\nexport type DateTimeType = {\n dateStatus: EnumEventDateStatus;\n endDate: string;\n endTime: string;\n startDate: string;\n startTime: string;\n};\n\nexport type Region = {\n latitude: number;\n latitudeDelta: number;\n longitude: number;\n longitudeDelta: number;\n};\n\nexport type ResourceDetails = {\n dateTime: DateTimeType[] | null;\n description: string | null;\n eventStatus?: EventStatusType | null;\n location: LocationType | null;\n resourceCover: ResourceImageType | null;\n resourceId: string;\n resourceLogo: ResourceImageType | null;\n resourceName: string;\n resourceType: EnumResourceType;\n};\n\nexport type GeocodeLocation = Pick<LocationType, \"latitude\" | \"longitude\">;\n\nexport type EventStatusType = {\n claimed: boolean;\n eventType: EnumEventType;\n googlePlaceId?: string | null;\n};\n\nexport interface FormField {\n disabled?: boolean;\n helperText?: string;\n isTextArea?: boolean;\n keyboardType?:\n | \"default\"\n | \"email-address\"\n | \"number-pad\"\n | \"url\"\n | \"decimal-pad\"\n | \"phone-pad\";\n name: string;\n placeholder: string;\n required?: boolean;\n secureTextEntry?: boolean;\n}\n\nexport interface FormDateField {\n dateMode: \"date\" | \"time\";\n helperText?: string;\n name: \"endDate\" | \"endTime\" | \"startDate\" | \"startTime\";\n placeholder: string;\n}\n\nexport interface SubcategoryItems {\n id: string;\n name: string;\n description?: string | null;\n}\n\nexport interface Subcategory {\n id: string;\n name: string;\n items?: SubcategoryItems[] | null;\n}\n\nexport type CategoryColorType = {\n primary: string;\n secondary: string;\n};\n\nexport interface Category {\n color?: CategoryColorType | null;\n description?: string | null;\n id: string;\n name: string;\n subcategories: Subcategory[];\n}\n\nexport type OptionItem = {\n value: string;\n label: string;\n};\n\nexport type ImageObjectType = {\n uri: string;\n type: string;\n name: string;\n};\n\nexport interface ResourceConnectionsType {\n events: EventListItemType[] | null;\n vendors: VendorType[] | null;\n}\n\nexport interface CreateFormData<T extends FieldValues> {\n control: Control<T, any>;\n fields: T;\n formState: FormState<T>;\n handleSubmit: UseFormHandleSubmit<T, any>;\n reset: UseFormReset<T>;\n setValue: UseFormSetValue<T>;\n watch: UseFormWatch<T>;\n getValues: UseFormGetValues<T>;\n}\n\n/** Offset-pagination input for plain list fields (events/vendors/partners/posts/users). */\nexport interface PaginationOptions {\n limit?: number;\n offset?: number;\n}\n\n/** Server-side filter input for the super-admin users list query. */\nexport interface UserListFilter {\n active?: boolean | null;\n hasLicences?: boolean | null;\n role?: EnumUserRole | null;\n search?: string | null;\n}\n\n/** Server-side filter input for the admin partners list query. */\nexport interface PartnerListFilter {\n active?: boolean | null;\n partnerType?: EnumPartnerType | null;\n region?: EnumRegions | null;\n search?: string | null;\n}\n\n/** Server-side filter input for the admin vendors list query. */\nexport interface VendorListFilter {\n active?: boolean | null;\n region?: EnumRegions | null;\n search?: string | null;\n}\n\n/** Server-side filter input for the admin events list query. */\nexport interface EventListFilter {\n active?: boolean | null;\n claimed?: boolean | null;\n region?: EnumRegions | null;\n search?: string | null;\n}\n\n/** Server-side filter input for the admin posts list query. */\nexport interface PostListFilter {\n active?: boolean | null;\n postType?: EnumPostType | null;\n search?: string | null;\n}\n\nexport interface UseGetResourcesByRegionOptions extends PaginationOptions {\n onlyClaimed?: boolean;\n skip?: boolean;\n}\n","import { EnumResourceType } from \"src/enums\";\n\nimport { CreateFormData } from \"./global\";\n\nexport enum EnumAdShowOn {\n EVENTS_PAGE = \"Events_page\",\n FRONT_PAGE = \"Front_page\",\n MARKET_SEARCH = \"Market_search\",\n PARTNERS_PAGE = \"Partners_page\",\n VENDORS_PAGE = \"Vendors_page\",\n}\n\nexport enum EnumAdPlatform {\n MOBILE = \"mobile\",\n WEB = \"web\",\n}\n\nexport enum EnumAdStatus {\n ACTIVE = \"Active\",\n PAUSED = \"Paused\",\n EXPIRED = \"Expired\",\n}\n\nexport enum EnumAdType {\n SPONSORED = \"Sponsored\",\n FREE = \"Free\",\n}\n\nexport enum EnumAdStyle {\n BLOOM = \"Bloom\",\n RISE = \"Rise\",\n}\n\nexport enum EnumAdBookingSlotKind {\n PAID = \"paid\",\n RESERVED = \"reserved\",\n}\n\nexport enum EnumAdBookingState {\n HELD = \"held\",\n PENDING_APPROVAL = \"pending_approval\",\n APPROVED = \"approved\",\n FAILED = \"failed\",\n CANCELLED = \"cancelled\",\n REJECTED = \"rejected\",\n}\n\nexport enum EnumAdPaymentStatus {\n PENDING = \"pending\",\n PAID = \"paid\",\n FAILED = \"failed\",\n CANCELLED = \"cancelled\",\n}\n\nexport enum EnumAdEntitlementSource {\n PRO_PLUS = \"pro_plus\",\n ADMIN = \"admin\",\n ORGANIZER = \"organizer\",\n PARTNER = \"partner\",\n}\n\nexport enum EnumAdApprovalStatus {\n PENDING = \"pending\",\n APPROVED = \"approved\",\n REJECTED = \"rejected\",\n}\n\nexport type AdPlacement = EnumAdShowOn.FRONT_PAGE | EnumAdShowOn.MARKET_SEARCH;\n\nexport type AdDailyPriceKey = \"front_page_day\" | \"market_search_day\";\n\nexport type AdResource = {\n adDescription: string;\n adImage: string;\n adStyle: EnumAdStyle;\n adTitle: string;\n adType: EnumAdType;\n resourceId: string;\n resourceName: string;\n resourceRegion: string;\n resourceType: EnumResourceType;\n resourceSlug: string;\n};\n\nexport interface AdFormData {\n active: boolean;\n end: Date; // ISO date string\n resource: AdResource;\n showOn: EnumAdShowOn[];\n start?: Date; // ISO date string\n status: EnumAdStatus;\n targetRegion: string[];\n}\n\n// Form state matches the validation schema: all resource fields are present.\n// Use empty strings / explicit enum defaults in `defaultValues` for \"create\" flows.\nexport type AdFormState = AdFormData;\n\nexport type CreateAdFormData = CreateFormData<AdFormData>;\nexport type CreateAdFormState = CreateFormData<AdFormState>;\n\nexport interface AdType extends AdFormData {\n _id: string;\n adminManaged?: boolean;\n approvalStatus?: EnumAdApprovalStatus;\n bookingIds?: string[];\n bookingKind?: EnumAdBookingSlotKind;\n clicks?: number; // How many times the ad was clicked\n createdAt: Date;\n impressions?: number; // How often the ad was seen\n paymentStatus?: EnumAdPaymentStatus;\n start: Date; // ISO date string\n updatedAt: Date | null;\n}\n\nexport type AdBookingType = {\n _id: string;\n adId?: string | null;\n approvalStatus: EnumAdApprovalStatus;\n checkoutAttemptId?: string | null;\n currency?: string | null;\n dayKey: string;\n entitlementClaimKey?: string | null;\n entitlementSource?: EnumAdEntitlementSource | null;\n expiresAt?: Date | null;\n placement: AdPlacement;\n purchaseKey?: string | null;\n region: string;\n resource: AdResource;\n slotKind: EnumAdBookingSlotKind;\n slotNumber: number;\n state: EnumAdBookingState;\n stripeCheckoutSessionId?: string | null;\n stripePaymentIntentId?: string | null;\n unitAmount?: number | null;\n userId: string;\n};\n\nexport type AdDailyPriceType = {\n _id: string;\n active: boolean;\n currency: \"nzd\";\n key: AdDailyPriceKey;\n revision: number;\n unitAmount: number;\n};\n\nexport type AdSettingsType = {\n _id: \"default\";\n approvalRequired: boolean;\n minAppearancesPerHour: number;\n paidSlotsPerPlacement: number;\n reservedSlotsPerPlacement: number;\n rotationSeconds: number;\n};\n","import {\n EnumEventDateStatus,\n EnumOSPlatform,\n EnumResourceType,\n} from \"src/enums\";\n\nimport { LocationGeoType } from \"./global\";\n\nexport enum EnumActivity {\n FAVORITE = \"FAVORITE\",\n GOING = \"GOING\",\n INTERESTED = \"INTERESTED\",\n PRESENT = \"PRESENT\",\n VIEW = \"VIEW\",\n}\n\nexport type ResourceActivityEntry = {\n activityType: EnumActivity;\n location: LocationGeoType | null;\n dateStatus?: EnumEventDateStatus | null;\n startDate?: string | null;\n startTime?: string | null;\n timestamp: Date;\n userAgent: EnumOSPlatform;\n userId?: string | null;\n};\n\nexport type ResourceActivityType = {\n _id: string;\n resourceType: EnumResourceType;\n resourceId: string;\n activity: ResourceActivityEntry[];\n};\n\nexport type ResourceActivityInputType = {\n resourceId: string;\n resourceType: EnumResourceType;\n activity: Omit<ResourceActivityEntry, \"timestamp\" | \"userId\">;\n};\n","import { EnumResourceType } from \"src/enums\";\n\nimport { BaseGameType } from \"./game\";\nimport {\n CreateFormData,\n ResourceImageType,\n SocialShareResourceType,\n} from \"./global\";\n\nexport enum EnumPostType {\n CLUE_BITES = \"clue_bites\",\n //CLUE_GUIDES_FOR_ORGANISERS = \"clue_guides_for_organisers\",\n //CLUE_GUIDES_FOR_VENDORS = \"clue_guides_for_vendors\",\n MARKET_FACES = \"market_faces\",\n PLAY_AND_WIN = \"play_and_win\",\n}\n\nexport enum EnumPostContentType {\n GAME = \"game\",\n IMAGE = \"image\",\n LIST = \"list\",\n TEXTAREA = \"textarea\",\n VIDEO = \"video\",\n}\n\nexport type PostFileInput = {\n source: File;\n title?: string;\n};\n\nexport type PostContentTextarea = {\n textarea: {\n title?: string;\n data: string;\n };\n};\n\nexport type PostContentImage = {\n images: ResourceImageType[] | null;\n imagesUpload?: PostFileInput[] | null;\n};\n\nexport type PostContentVideo = {\n video: {\n source: string;\n title?: string;\n };\n};\n\nexport type PostContentList = {\n list: {\n title?: string;\n items: {\n text: string;\n }[];\n };\n};\n\nexport type PostContentGame = {\n game: BaseGameType;\n};\n\nexport type PostContentData =\n | PostContentGame\n | PostContentTextarea\n | PostContentImage\n | PostContentVideo\n | PostContentList;\n\nexport type PostContentFormData = {\n contentData?: PostContentData | null;\n contentOrder?: number | null;\n contentType?: EnumPostContentType | null;\n};\n\nexport type PostResource = {\n resourceSlug: string;\n resourceId: string;\n resourceType: EnumResourceType;\n resourceRegion: string;\n};\n\nexport interface PostFormData {\n active: boolean;\n caption: string;\n content: PostContentFormData[];\n cover?: ResourceImageType | null;\n coverUpload?: PostFileInput | null;\n postType: EnumPostType;\n resource?: PostResource | null;\n tags?: string[] | null;\n title: string;\n notifyUsers?: boolean | null;\n}\n\nexport type CreatePostFormData = CreateFormData<PostFormData>;\n\nexport type PostContentType = Omit<PostContentFormData, \"contentData\"> & {\n contentData: Omit<PostContentData, \"imagesUpload\">;\n};\n\nexport type PostType = Omit<\n PostFormData,\n \"content\" | \"coverUpload\" | \"resource\"\n> & {\n _id: string;\n approvedAt?: Date | null;\n content: PostContentType[];\n createdAt: Date;\n deletedAt: Date | null;\n resource?: PostResource | null;\n slug: string;\n sharePublic?: SocialShareResourceType | null;\n updatedAt: Date | null;\n};\n","import { OwnerType } from \"../global\";\n\nimport { DailyClueBaseGame, DailyClueGameData } from \"./dailyClue\";\nimport { EnumGameType, GameDate } from \"./global\";\nimport { PuzzleBaseGame, PuzzleGameData } from \"./puzzleGame\";\n\nexport type BaseGameMap = {\n [EnumGameType.DAILY_CLUE]: DailyClueBaseGame;\n [EnumGameType.MINI_QUIZ]: PuzzleBaseGame;\n [EnumGameType.ODD_ONE_OUT]: PuzzleBaseGame;\n};\n\nexport type BaseGameType = {\n gameType: EnumGameType;\n gameTypeId: string;\n gameTitle: string;\n} & {\n [K in keyof BaseGameMap]?: BaseGameMap[K] | null;\n};\n\nexport enum EnumGameStatus {\n GAME_COMPLETED = \"GAME_COMPLETED\",\n GAME_IN_PROGRESS = \"GAME_IN_PROGRESS\",\n GAME_LEFT = \"GAME_LEFT\",\n GAME_STARTED = \"GAME_STARTED\",\n}\n\nexport type GameHistory = Pick<\n BaseGameType,\n \"gameTitle\" | \"gameType\" | \"gameTypeId\"\n> & {\n createdAt: Date;\n gameDate: GameDate;\n gameStatus: EnumGameStatus;\n /** Per-event delta. Not persisted for overallGamePoints (computed at read time). */\n pointsEarned: number;\n /** Running total for this game instance; computed at read time, not stored in Mongo. */\n overallGamePoints?: number;\n};\n\ntype GameDataMap = {\n [EnumGameType.DAILY_CLUE]: DailyClueGameData;\n [EnumGameType.MINI_QUIZ]: PuzzleGameData;\n [EnumGameType.ODD_ONE_OUT]: PuzzleGameData;\n};\ntype GameDataType = {\n [K in keyof GameDataMap]?: GameDataMap[K] | null;\n};\n\nexport type GameType = Pick<\n BaseGameType,\n \"gameTitle\" | \"gameType\" | \"gameTypeId\"\n> & {\n _id: string;\n active: boolean;\n createdAt: Date;\n gameData: GameDataType;\n gameHistory: GameHistory[] | null;\n updatedAt: Date | null;\n};\n\nexport type GameDocType = {\n _id: string;\n active: boolean;\n createdAt: Date;\n deletedAt: Date | null;\n games: GameType[] | null;\n owner: OwnerType;\n points: number;\n updatedAt: Date | null;\n};\n\nexport type GameLeaderboard = {\n gameHistory: GameHistory[] | null;\n nickName: string;\n overallPoints: number;\n userId: string;\n};\n","import { GameDate, GlobalGameData } from \"./global\";\n\nconst OBJECT_ID_PATH_SEGMENT = \"[a-f0-9]{24}\";\nconst OBJECT_ID_PATH_SEGMENT_END = `${OBJECT_ID_PATH_SEGMENT}$`;\n\nexport const gameScreenIdentifierList = [\n {\n clue: \"Where conversations happen without speaking.\",\n id: \"chat\",\n match: \"/chat\",\n },\n {\n clue: \"Where you can find your loyalties.\",\n id: \"coupons\",\n match: \"/profile/account/coupons\",\n },\n {\n clue: \"A single moment worth showing up for.\",\n id: \"single-event\",\n match: new RegExp(`^/events/${OBJECT_ID_PATH_SEGMENT_END}`),\n },\n {\n clue: \"What’s happening around you, right now.\",\n id: \"events-near-me\",\n match: \"/events/events-near-me\",\n },\n {\n clue: \"Where events appear as pins on a map.\",\n id: \"events-map\",\n match: \"/events/events-map\",\n },\n {\n clue: \"A collection of events worth attending.\",\n id: \"events\",\n match: \"/events\",\n },\n {\n clue: \"What’s happening in a wider area — not just nearby.\",\n id: \"events-region\",\n match: /^\\/events\\/region\\/[^/]+$/,\n },\n {\n clue: \"Where fun becomes a challenge.\",\n id: \"games\",\n match: \"/profile/account/games\",\n },\n {\n clue: \"Your starting point for everything.\",\n id: \"home\",\n match: \"/home\",\n },\n {\n clue: \"Where the app whispers what you shouldn’t miss.\",\n id: \"notifications\",\n match: \"/notifications\",\n },\n {\n clue: \"An organisation or creator supporting the community.\",\n id: \"single-partner\",\n match: new RegExp(`^/partners/${OBJECT_ID_PATH_SEGMENT_END}`),\n },\n {\n clue: \"Organisations and creators supporting the community.\",\n id: \"partners\",\n match: \"/partners\",\n },\n {\n clue: \"Where your actions turn into a timeline.\",\n id: \"activities\",\n match: \"/profile/account/favourites\",\n },\n {\n clue: \"The place to redefine who you are.\",\n id: \"edit-profile\",\n match: \"/profile/account\",\n },\n {\n clue: \"Your identity, on display.\",\n id: \"profile\",\n match: \"/profile\",\n },\n {\n clue: \"Where you can redeem your rewards.\",\n id: \"rewards\",\n match: \"/profile/account/rewards\",\n },\n {\n clue: \"A single published post in full view.\",\n id: \"single-visitor-post\",\n match: new RegExp(`^/visitors/post/${OBJECT_ID_PATH_SEGMENT_END}`),\n },\n {\n clue: \"One stallholder offering something valuable.\",\n id: \"single-vendor\",\n match: new RegExp(`^/vendors/${OBJECT_ID_PATH_SEGMENT_END}`),\n },\n {\n clue: \"Where every stallholder waits under the right category.\",\n id: \"vendors\",\n match: \"/vendors\",\n },\n {\n clue: \"Where you browse articles and posts from around the platform.\",\n id: \"visitors\",\n match: \"/visitors\",\n },\n {\n clue: \"Where you fine-tune your experience.\",\n id: \"options\",\n match: \"/options\",\n },\n] as const;\n\nexport type GamePlacement = (typeof gameScreenIdentifierList)[number][\"id\"];\nexport type GamePlacementClue =\n (typeof gameScreenIdentifierList)[number][\"clue\"];\n\nexport type DailyClueBaseGame = {\n gameDate: GameDate;\n gameSolution: string;\n};\n\nexport type DailyClueGameData = GlobalGameData & {\n gameFields: DailyClueBaseGame;\n lastFoundDate: Date | null;\n letterInfo: {\n collected: string[] | null; // The letters the user has found, e.g. [\"C\", \"L\", \"U\"]\n solutionShuffled: string[]; // The letters of the solution, but shuffled, e.g. [\"L\", \"C\", \"U\"]\n todaysClue: GamePlacementClue | null; // The clue for user to find the letter, e.g. related to {todaysPlacement}\n todaysLetter: string | null; // The letter the user has to find today, e.g. \"C\"\n todaysPlacement: GamePlacement | null; // The screen where the user has to find the clue, e.g. \"HomeScreen\"\n };\n};\n","export enum EnumGameType {\n DAILY_CLUE = \"dailyClue\",\n MINI_QUIZ = \"miniQuiz\",\n ODD_ONE_OUT = \"oddOneOut\",\n}\n\nexport type GameDate = {\n startDate: Date;\n endDate: Date;\n};\n\nexport const gameTypeToDisplayName: Record<EnumGameType, string> = {\n [EnumGameType.DAILY_CLUE]: \"Daily Clue\",\n [EnumGameType.MINI_QUIZ]: \"Mini Quiz\",\n [EnumGameType.ODD_ONE_OUT]: \"Odd One Out\",\n};\n\nexport type GlobalGameData = {\n points: number;\n // User has found the clue 3 days in a row, this is incrementing if the user finds the clue and decrements if user misses a day\n streak: number;\n};\n","import { EnumUserLicence } from \"../enums\";\n\n/** Tier keys in descending priority (highest first) for licence resolution. */\nexport const TIERS_BY_PRIORITY = [\"pro_plus\", \"pro\", \"standard\"] as const;\n\n/** Canonical subscription tier keys — matches Stripe/server tier identifiers. */\nexport type Tier = (typeof TIERS_BY_PRIORITY)[number];\n\n/** User-facing tier labels (decoupled from the Tier discriminant). */\nexport const TIER_DISPLAY_LABELS: Record<Tier, string> = {\n pro: \"Pro\",\n // eslint-disable-next-line camelcase\n pro_plus: \"Pro+ Ads\",\n standard: \"Standard\",\n};\n\n/** Maps licence enums to their canonical tier key. */\nexport const TIER_FROM_LICENCE: Record<EnumUserLicence, Tier> = {\n [EnumUserLicence.PRO_EVENT]: \"pro\",\n [EnumUserLicence.PRO_PLUS_EVENT]: \"pro_plus\",\n [EnumUserLicence.PRO_PLUS_VENDOR]: \"pro_plus\",\n [EnumUserLicence.PRO_VENDOR]: \"pro\",\n [EnumUserLicence.STANDARD_EVENT]: \"standard\",\n [EnumUserLicence.STANDARD_PARTNER]: \"standard\",\n [EnumUserLicence.STANDARD_VENDOR]: \"standard\",\n [EnumUserLicence.STANDARD_AFFILIATE]: \"standard\",\n [EnumUserLicence.STANDARD_SCHOOL]: \"standard\",\n};\n","import { EnumResourceType } from \"src/enums\";\n\nimport {\n CreateFormData,\n LocationType,\n OwnerType,\n PromoCodeType,\n SocialMediaType,\n} from \"./global\";\nimport { UserFormData } from \"./user\";\n\nexport enum EnumAffiliateParticipantType {\n INDIVIDUAL = \"INDIVIDUAL\",\n SOLE_TRADER = \"SOLE_TRADER\",\n COMPANY = \"COMPANY\",\n}\n\nexport type AffiliateContactDetails = {\n mobilePhone: string;\n};\n\nexport type AffiliateBankAccountDetailsType = {\n accountHolderName: string;\n accountNumber: string;\n};\n\nexport type AffiliateUserDefaultFields = Pick<\n UserFormData,\n \"email\" | \"firstName\" | \"lastName\" | \"termsAgreement\"\n>;\n\nexport type AffiliateDetailsType = AffiliateUserDefaultFields & {\n bankAccountDetails: AffiliateBankAccountDetailsType;\n contactDetails: AffiliateContactDetails;\n irdNumber: string;\n location: LocationType;\n participantType: EnumAffiliateParticipantType;\n socialMedia: SocialMediaType[] | null;\n};\n\nexport enum EnumAffiliateRewardType {\n ACTIVE_EVENT_WITH_VENDOR_REGISTRATIONS = \"ACTIVE_EVENT_WITH_VENDOR_REGISTRATIONS\",\n ACTIVE_VENDOR_BONUS_REWARD = \"ACTIVE_VENDOR_BONUS_REWARD\",\n ACTIVE_VENDOR_PRO_SUBSCRIPTION = \"ACTIVE_VENDOR_PRO_SUBSCRIPTION\",\n ACTIVE_VENDOR_STANDARD_SUBSCRIPTION = \"ACTIVE_VENDOR_STANDARD_SUBSCRIPTION\",\n NEW_EVENT_REGISTRATION = \"NEW_EVENT_REGISTRATION\",\n NEW_VENDOR_REGISTRATION = \"NEW_VENDOR_REGISTRATION\",\n}\n\nexport type AffiliateRewardType = {\n createdAt: Date;\n redeemedAt: Date | null;\n rewardDescription: string;\n rewardType: EnumAffiliateRewardType;\n rewardValue: number;\n};\n\nexport type AffiliateResourceType = {\n resourceActive: boolean;\n resourceDeletedAt: Date | null;\n resourceId: string;\n resourceName: string;\n resourceOwner: OwnerType;\n resourceType: EnumResourceType;\n rewards: AffiliateRewardType[];\n};\n\nexport type RedeemHistoryType = {\n paidAt?: Date | null;\n redeemedAt: Date;\n rewardValue: number;\n};\n\nexport interface AffiliateType {\n _id: string;\n active: boolean;\n approvedAt?: Date | null;\n affiliateBonusRewards?: AffiliateRewardType[] | null;\n affiliateCode: PromoCodeType | null;\n affiliateDetails: AffiliateDetailsType | null;\n affiliateResources: AffiliateResourceType[];\n createdAt: Date;\n deletedAt: Date | null;\n overallPoints: number;\n owner: OwnerType;\n redeemHistory?: RedeemHistoryType[] | null;\n updatedAt: Date | null;\n}\n\nexport type AffiliateFormData = Omit<\n AffiliateDetailsType,\n \"email\" | \"firstName\" | \"lastName\"\n>;\n\nexport type CreateAffiliateFormData = CreateFormData<AffiliateFormData>;\n","import { EnumResourceType } from \"../../enums\";\nimport { CreateFormData, OwnerType, ResourceImageType } from \"../global\";\nimport { VendorProductList } from \"../vendor\";\n\nexport type ProductCoupon = {\n couponDocumentId: string;\n couponId: string;\n};\n\nexport enum EnumCouponQualificationType {\n PURCHASE = \"PURCHASE\",\n MARKET_VISIT = \"MARKET_VISIT\",\n MARKET_PASSPORT = \"MARKET_PASSPORT\",\n}\n\nexport type CouponPurchaseOption = {\n buy: number;\n get: number;\n maxRewardCount: number;\n type: EnumCouponQualificationType.PURCHASE;\n unit: string;\n};\n\nexport type CouponMarketVisitOption = {\n type: EnumCouponQualificationType.MARKET_VISIT;\n visits: number;\n};\n\nexport type CouponMarketPassportOption = {\n type: EnumCouponQualificationType.MARKET_PASSPORT;\n visits: number;\n};\n\nexport type CouponOption =\n CouponPurchaseOption | CouponMarketVisitOption | CouponMarketPassportOption;\n\nexport type CouponVendorProduct = {\n couponId: string;\n productId: string;\n vendorId: string;\n\n // Required only for MARKET_PASSPORT: which Vendor coupon contributes\n // progress when scanned.\n vendorCouponId?: string | null;\n};\n\nexport type CouponDefaultsFormData = {\n couponDescription: string;\n couponOption: CouponOption | null;\n couponVendorProducts?: CouponVendorProduct[];\n endDate: Date;\n resourceId: string;\n resourceType: EnumResourceType;\n startDate: Date;\n};\n\nexport type CreateCouponFormData = CreateFormData<CouponDefaultsFormData>;\n\nexport type CouponParticipantUserType = {\n couponCollectedCount: number;\n couponRedeemedAt: Date | null;\n couponRedeemedCount: number;\n couponCycleRedeemed: boolean;\n createdAt: Date;\n updatedAt: Date | null;\n userId: string;\n // Not persisted; resolved on read by `attachCouponDataProducts` from\n // `UserModel` via the participant's `userId`.\n nickName?: string | null;\n};\n\nexport type CouponCodeType = {\n code: string;\n qrCode: ResourceImageType;\n shareableQrCode: ResourceImageType;\n};\n\nexport type CouponDataProductsType = {\n active: boolean | null;\n couponId: string;\n productsList: VendorProductList[];\n vendorId: string;\n vendorLogo: ResourceImageType | null;\n vendorName: string;\n};\n\nexport type CouponDataType = CouponDefaultsFormData & {\n _id: string;\n active: boolean;\n couponCode: CouponCodeType | null;\n createdAt: Date;\n deletedAt: Date | null;\n participantUsers: CouponParticipantUserType[] | null;\n // products are not saved in the database, but are returned by the backend for convenience\n products?: CouponDataProductsType[] | null;\n updatedAt: Date | null;\n};\n\nexport interface CouponType {\n _id: string;\n active: boolean;\n couponData: CouponDataType[] | null;\n createdAt: Date;\n deletedAt: Date | null;\n owner: OwnerType;\n updatedAt: Date | null;\n}\n\nexport enum EnumCouponListType {\n ACTIVE = \"active\",\n OWNED = \"owned\",\n SCANNED = \"scanned\",\n}\n\nexport type CouponTypeList = {\n active: {\n data: CouponType[] | null;\n listName: EnumCouponListType.ACTIVE;\n };\n owned: {\n data: CouponType[] | null;\n listName: EnumCouponListType.OWNED;\n };\n scanned: {\n data: CouponType[] | null;\n listName: EnumCouponListType.SCANNED;\n };\n};\n"],"mappings":"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","names":["EnumVerificationType","EnumAdShowOn","EnumAdPlatform","EnumAdStatus","EnumAdType","EnumAdStyle","EnumAdBookingSlotKind","EnumAdBookingState","EnumAdPaymentStatus","EnumAdEntitlementSource","EnumAdApprovalStatus","EnumActivity","EnumPostType","EnumPostContentType","EnumGameStatus","EnumGameType","EnumAffiliateParticipantType","EnumAffiliateRewardType","EnumCouponQualificationType","EnumCouponListType"]}
|
|
1
|
+
{"version":3,"sources":["../../src/types/index.ts","../../src/types/auth.ts","../../src/types/global.ts","../../src/types/ad.ts","../../src/types/resourceActivities.ts","../../src/types/post.ts","../../src/types/game/index.ts","../../src/types/game/dailyClue.ts","../../src/types/game/global.ts","../../src/types/subscription.ts","../../src/types/affiliate.ts","../../src/types/coupon/index.ts"],"sourcesContent":["export * from \"./admin\";\nexport * from \"./auth\";\nexport * from \"./chat\";\nexport * from \"./contactUs\";\nexport * from \"./global\";\nexport * from \"./event\";\nexport * from \"./notification\";\nexport * from \"./poster\";\nexport * from \"./relation\";\nexport * from \"./vendor\";\nexport * from \"./user\";\nexport * from \"./ad\";\nexport * from \"./resourceActivities\";\nexport * from \"./partner\";\nexport * from \"./post\";\nexport * from \"./pushToken\";\nexport * from \"./appSettings\";\nexport * from \"./billingCatalog\";\nexport * from \"./googleImportedMarket\";\nexport * from \"./game\";\nexport * from \"./game/dailyClue\";\nexport * from \"./game/global\";\nexport * from \"./game/puzzleGame\";\nexport * from \"./school\";\nexport * from \"./subscription\";\nexport * from \"./affiliate\";\nexport * from \"./coupon\";\n","import {\n CreateFormData,\n EnumOSPlatform,\n EnumResourceType,\n PromoCodeType,\n TermsAgreement,\n} from \"src\";\n\nimport { MutationResponse } from \"./global\";\nimport { SafeUserType, UserFormData } from \"./user\";\n\nexport enum EnumVerificationType {\n REGISTER = \"register\",\n RESET_PASSWORD = \"resetPassword\",\n}\n\nexport type LoginFormData = {\n email: string;\n isAdminPage?: boolean;\n password: string;\n platform?: EnumOSPlatform;\n};\n\nexport type CreateLoginFormData = CreateFormData<LoginFormData>;\n\nexport type RegisterFormData = Pick<\n UserFormData,\n | \"email\"\n | \"firstName\"\n | \"lastName\"\n | \"nickName\"\n | \"platform\"\n | \"preferredRegion\"\n | \"termsAgreement\"\n> & {\n interests: EnumResourceType[];\n password: string;\n promoCode?: PromoCodeType | null;\n};\n\nexport type CreateRegisterFormData = CreateFormData<RegisterFormData>;\n\nexport type RequestPasswordResetFormData = {\n email: string;\n};\n\nexport type CreateRequestPasswordResetFormData =\n CreateFormData<RequestPasswordResetFormData>;\n\nexport type ResetPasswordFormData = {\n confirmPassword: string;\n email: string;\n password: string;\n};\n\nexport type CreateResetPasswordFormData = CreateFormData<ResetPasswordFormData>;\n\nexport type ValidateVerificationTokenFormData = {\n email: string;\n verificationToken: string;\n verificationType?: EnumVerificationType;\n};\n\nexport type CreateValidateVerificationTokenFormData =\n CreateFormData<ValidateVerificationTokenFormData>;\n\nexport type AuthPayloadType = {\n refreshToken: string | null;\n token: string;\n user: SafeUserType;\n};\n\nexport type AuthMutationResponse = MutationResponse<AuthPayloadType>;\n\nexport type RefreshTokenPayloadType = {\n refreshToken: string;\n token: string;\n};\n\nexport type RefreshTokenMutationResponse =\n MutationResponse<RefreshTokenPayloadType>;\n\nexport type StartImpersonationPayloadType = {\n expiresAt: Date;\n refreshToken: string;\n sessionId: string;\n token: string;\n user: SafeUserType;\n};\n\nexport type StartImpersonationMutationResponse =\n MutationResponse<StartImpersonationPayloadType>;\n\nexport type RefreshImpersonationMutationResponse =\n MutationResponse<RefreshTokenPayloadType>;\n","import {\n Control,\n FieldValues,\n FormState,\n UseFormGetValues,\n UseFormHandleSubmit,\n UseFormReset,\n UseFormSetValue,\n UseFormWatch,\n} from \"react-hook-form\";\n\nimport {\n EnumEventDateStatus,\n EnumEventType,\n EnumPartnerType,\n EnumRegions,\n EnumResourceType,\n EnumSocialMedia,\n EnumUserLicence,\n EnumUserRole,\n} from \"../enums\";\n\nimport { EventListItemType } from \"./event\";\nimport { EnumPostType } from \"./post\";\nimport { VendorType } from \"./vendor\";\n\nexport const PROMO_CODE_PREFIX = \"CM-\";\n\nexport type PromoCodeType = `${typeof PROMO_CODE_PREFIX}${string}`;\n\nexport type Nullable<T> = {\n [K in keyof T]: T[K] | null | undefined;\n};\n\n/** Uniform mutation response envelope used across GraphQL mutations. */\nexport type MutationResponse<T> = {\n data: T | null;\n message: string | null;\n};\n\nexport type DeviceInfo = {\n appBuildNumber: string;\n appId: string;\n appVersion: string;\n brand: string;\n deviceName: string;\n installationId: string;\n manufacturer: string;\n modelName: string;\n osName: string;\n osVersion: string;\n timestamp: Date;\n};\n\nexport type TermsAgreement = DeviceInfo & {\n termVersion: string;\n};\n\nexport type ResourceContactDetailsType = {\n email?: string | null;\n landlinePhone?: string | null;\n mobilePhone?: string | null;\n};\n\nexport type ResourceImageType = {\n active: boolean;\n source: string;\n title: string;\n};\n\nexport type SocialMediaType = {\n name?: EnumSocialMedia;\n link?: string;\n};\n\nexport type UserLicenceType = {\n expiryDate: Date;\n issuedDate: Date;\n licenceType: EnumUserLicence;\n prevLicenceType?: EnumUserLicence | null;\n};\n\nexport type OwnerType = {\n email: string;\n userId: string;\n};\n\nexport interface BaseResourceTypeFormData {\n _id?: string;\n active: boolean;\n contactDetails: ResourceContactDetailsType | null;\n cover: ResourceImageType;\n coverUpload?: ResourceImageType | null;\n description: string;\n images?: ResourceImageType[] | null;\n imagesUpload?: ResourceImageType[] | null;\n logo?: ResourceImageType | null;\n logoUpload?: ResourceImageType | null;\n name: string;\n promoCodes?: PromoCodeType[] | null;\n region: string;\n socialMedia: SocialMediaType[] | null;\n termsAgreement?: TermsAgreement | null;\n}\n\nexport type PosterUsageType = {\n month: string;\n count: number;\n};\n\nexport type RelatedPostType = {\n postActive: boolean;\n postId: string;\n postSlug: string;\n postType: EnumPostType;\n};\n\nexport type SocialShareResourceType = {\n qrCode: ResourceImageType;\n socialImage: ResourceImageType;\n};\n\nexport type BaseResourceType = Omit<\n BaseResourceTypeFormData,\n \"_id\" | \"coverUpload\" | \"imagesUpload\" | \"logoUpload\"\n> & {\n _id: string;\n adIds?: string[] | null;\n approvedAt?: Date | null;\n createdAt: Date;\n deletedAt: Date | null;\n owner: OwnerType;\n posterUsage?: PosterUsageType | null;\n rating?: number | null;\n relatedPost?: RelatedPostType | null;\n reviewCount?: number | null;\n sharePublic?: SocialShareResourceType | null;\n slug: string;\n updatedAt: Date | null;\n};\n\nexport type LocationGeoType = {\n coordinates: number[]; // [longitude, latitude]\n type: \"Point\"; // Mongoose GeoJSON type\n};\n\nexport type LocationType = {\n city: string;\n country: string;\n fullAddress: string;\n geo: LocationGeoType;\n latitude: number;\n longitude: number;\n region: string;\n};\n\nexport type DateTimeType = {\n dateStatus: EnumEventDateStatus;\n endDate: string;\n endTime: string;\n startDate: string;\n startTime: string;\n};\n\nexport type DateTimeFormValue = {\n dateStatus: EnumEventDateStatus;\n endDate?: string;\n endTime?: string;\n startDate?: string;\n startTime?: string;\n};\n\nexport type Region = {\n latitude: number;\n latitudeDelta: number;\n longitude: number;\n longitudeDelta: number;\n};\n\nexport type ResourceDetails = {\n dateTime: DateTimeType[] | null;\n description: string | null;\n eventStatus?: EventStatusType | null;\n location: LocationType | null;\n resourceCover: ResourceImageType | null;\n resourceId: string;\n resourceLogo: ResourceImageType | null;\n resourceName: string;\n resourceType: EnumResourceType;\n};\n\nexport type GeocodeLocation = Pick<LocationType, \"latitude\" | \"longitude\">;\n\nexport type EventStatusType = {\n claimed: boolean;\n eventType: EnumEventType;\n googlePlaceId?: string | null;\n};\n\nexport interface FormField {\n disabled?: boolean;\n helperText?: string;\n isTextArea?: boolean;\n keyboardType?:\n | \"default\"\n | \"email-address\"\n | \"number-pad\"\n | \"url\"\n | \"decimal-pad\"\n | \"phone-pad\";\n name: string;\n placeholder: string;\n required?: boolean;\n secureTextEntry?: boolean;\n}\n\nexport interface FormDateField {\n dateMode: \"date\" | \"time\";\n helperText?: string;\n name: \"endDate\" | \"endTime\" | \"startDate\" | \"startTime\";\n placeholder: string;\n}\n\nexport interface SubcategoryItems {\n id: string;\n name: string;\n description?: string | null;\n}\n\nexport interface Subcategory {\n id: string;\n name: string;\n items?: SubcategoryItems[] | null;\n}\n\nexport type CategoryColorType = {\n primary: string;\n secondary: string;\n};\n\nexport interface Category {\n color?: CategoryColorType | null;\n description?: string | null;\n id: string;\n name: string;\n subcategories: Subcategory[];\n}\n\nexport type OptionItem = {\n value: string;\n label: string;\n};\n\nexport type ImageObjectType = {\n uri: string;\n type: string;\n name: string;\n};\n\nexport interface ResourceConnectionsType {\n events: EventListItemType[] | null;\n vendors: VendorType[] | null;\n}\n\nexport interface CreateFormData<T extends FieldValues> {\n control: Control<T, any>;\n fields: T;\n formState: FormState<T>;\n handleSubmit: UseFormHandleSubmit<T, any>;\n reset: UseFormReset<T>;\n setValue: UseFormSetValue<T>;\n watch: UseFormWatch<T>;\n getValues: UseFormGetValues<T>;\n}\n\n/** Offset-pagination input for plain list fields (events/vendors/partners/posts/users). */\nexport interface PaginationOptions {\n limit?: number;\n offset?: number;\n}\n\n/** Server-side filter input for the super-admin users list query. */\nexport interface UserListFilter {\n active?: boolean | null;\n hasLicences?: boolean | null;\n role?: EnumUserRole | null;\n search?: string | null;\n}\n\n/** Server-side filter input for the admin partners list query. */\nexport interface PartnerListFilter {\n active?: boolean | null;\n partnerType?: EnumPartnerType | null;\n region?: EnumRegions | null;\n search?: string | null;\n}\n\n/** Server-side filter input for the admin vendors list query. */\nexport interface VendorListFilter {\n active?: boolean | null;\n region?: EnumRegions | null;\n search?: string | null;\n}\n\n/** Server-side filter input for the admin events list query. */\nexport interface EventListFilter {\n active?: boolean | null;\n claimed?: boolean | null;\n region?: EnumRegions | null;\n search?: string | null;\n}\n\n/** Server-side filter input for the admin posts list query. */\nexport interface PostListFilter {\n active?: boolean | null;\n postType?: EnumPostType | null;\n search?: string | null;\n}\n\nexport interface UseGetResourcesByRegionOptions extends PaginationOptions {\n onlyClaimed?: boolean;\n skip?: boolean;\n}\n","import { EnumResourceType } from \"src/enums\";\n\nimport { CreateFormData } from \"./global\";\n\nexport enum EnumAdShowOn {\n EVENTS_PAGE = \"Events_page\",\n FRONT_PAGE = \"Front_page\",\n MARKET_SEARCH = \"Market_search\",\n PARTNERS_PAGE = \"Partners_page\",\n VENDORS_PAGE = \"Vendors_page\",\n}\n\nexport enum EnumAdPlatform {\n MOBILE = \"mobile\",\n WEB = \"web\",\n}\n\nexport enum EnumAdStatus {\n ACTIVE = \"Active\",\n PAUSED = \"Paused\",\n EXPIRED = \"Expired\",\n}\n\nexport enum EnumAdType {\n SPONSORED = \"Sponsored\",\n FREE = \"Free\",\n}\n\nexport enum EnumAdStyle {\n BLOOM = \"Bloom\",\n RISE = \"Rise\",\n}\n\nexport enum EnumAdBookingSlotKind {\n PAID = \"paid\",\n RESERVED = \"reserved\",\n}\n\nexport enum EnumAdBookingState {\n HELD = \"held\",\n PENDING_APPROVAL = \"pending_approval\",\n APPROVED = \"approved\",\n FAILED = \"failed\",\n CANCELLED = \"cancelled\",\n REJECTED = \"rejected\",\n}\n\nexport enum EnumAdPaymentStatus {\n PENDING = \"pending\",\n PAID = \"paid\",\n FAILED = \"failed\",\n CANCELLED = \"cancelled\",\n}\n\nexport enum EnumAdEntitlementSource {\n PRO_PLUS = \"pro_plus\",\n ADMIN = \"admin\",\n ORGANIZER = \"organizer\",\n PARTNER = \"partner\",\n}\n\nexport enum EnumAdApprovalStatus {\n PENDING = \"pending\",\n APPROVED = \"approved\",\n REJECTED = \"rejected\",\n}\n\nexport type AdPlacement = EnumAdShowOn.FRONT_PAGE | EnumAdShowOn.MARKET_SEARCH;\n\nexport type AdDailyPriceKey = \"front_page_day\" | \"market_search_day\";\n\nexport type AdResource = {\n adDescription: string;\n adImage: string;\n adStyle: EnumAdStyle;\n adTitle: string;\n adType: EnumAdType;\n resourceId: string;\n resourceName: string;\n resourceRegion: string;\n resourceType: EnumResourceType;\n resourceSlug: string;\n};\n\nexport interface AdFormData {\n active: boolean;\n end: Date; // ISO date string\n resource: AdResource;\n showOn: EnumAdShowOn[];\n start?: Date; // ISO date string\n status: EnumAdStatus;\n targetRegion: string[];\n}\n\n// Form state matches the validation schema: all resource fields are present.\n// Use empty strings / explicit enum defaults in `defaultValues` for \"create\" flows.\nexport type AdFormState = AdFormData;\n\nexport type CreateAdFormData = CreateFormData<AdFormData>;\nexport type CreateAdFormState = CreateFormData<AdFormState>;\n\nexport interface AdType extends AdFormData {\n _id: string;\n adminManaged?: boolean;\n approvalStatus?: EnumAdApprovalStatus;\n bookingIds?: string[];\n bookingKind?: EnumAdBookingSlotKind;\n clicks?: number; // How many times the ad was clicked\n createdAt: Date;\n impressions?: number; // How often the ad was seen\n paymentStatus?: EnumAdPaymentStatus;\n start: Date; // ISO date string\n updatedAt: Date | null;\n}\n\nexport type AdBookingType = {\n _id: string;\n adId?: string | null;\n approvalStatus: EnumAdApprovalStatus;\n checkoutAttemptId?: string | null;\n currency?: string | null;\n dayKey: string;\n entitlementClaimKey?: string | null;\n entitlementSource?: EnumAdEntitlementSource | null;\n expiresAt?: Date | null;\n placement: AdPlacement;\n purchaseKey?: string | null;\n region: string;\n resource: AdResource;\n slotKind: EnumAdBookingSlotKind;\n slotNumber: number;\n state: EnumAdBookingState;\n stripeCheckoutSessionId?: string | null;\n stripePaymentIntentId?: string | null;\n unitAmount?: number | null;\n userId: string;\n};\n\nexport type AdDailyPriceType = {\n _id: string;\n active: boolean;\n currency: \"nzd\";\n key: AdDailyPriceKey;\n revision: number;\n unitAmount: number;\n};\n\nexport type AdSettingsType = {\n _id: \"default\";\n approvalRequired: boolean;\n minAppearancesPerHour: number;\n paidSlotsPerPlacement: number;\n reservedSlotsPerPlacement: number;\n rotationSeconds: number;\n};\n","import {\n EnumEventDateStatus,\n EnumOSPlatform,\n EnumResourceType,\n} from \"src/enums\";\n\nimport { LocationGeoType } from \"./global\";\n\nexport enum EnumActivity {\n FAVORITE = \"FAVORITE\",\n GOING = \"GOING\",\n INTERESTED = \"INTERESTED\",\n PRESENT = \"PRESENT\",\n VIEW = \"VIEW\",\n}\n\nexport type ResourceActivityEntry = {\n activityType: EnumActivity;\n location: LocationGeoType | null;\n dateStatus?: EnumEventDateStatus | null;\n startDate?: string | null;\n startTime?: string | null;\n timestamp: Date;\n userAgent: EnumOSPlatform;\n userId?: string | null;\n};\n\nexport type ResourceActivityType = {\n _id: string;\n resourceType: EnumResourceType;\n resourceId: string;\n activity: ResourceActivityEntry[];\n};\n\nexport type ResourceActivityInputType = {\n resourceId: string;\n resourceType: EnumResourceType;\n activity: Omit<ResourceActivityEntry, \"timestamp\" | \"userId\">;\n};\n","import { EnumResourceType } from \"src/enums\";\n\nimport { BaseGameType } from \"./game\";\nimport {\n CreateFormData,\n ResourceImageType,\n SocialShareResourceType,\n} from \"./global\";\n\nexport enum EnumPostType {\n CLUE_BITES = \"clue_bites\",\n //CLUE_GUIDES_FOR_ORGANISERS = \"clue_guides_for_organisers\",\n //CLUE_GUIDES_FOR_VENDORS = \"clue_guides_for_vendors\",\n MARKET_FACES = \"market_faces\",\n PLAY_AND_WIN = \"play_and_win\",\n}\n\nexport enum EnumPostContentType {\n GAME = \"game\",\n IMAGE = \"image\",\n LIST = \"list\",\n TEXTAREA = \"textarea\",\n VIDEO = \"video\",\n}\n\nexport type PostFileInput = {\n source: File;\n title?: string;\n};\n\nexport type PostContentTextarea = {\n textarea: {\n title?: string;\n data: string;\n };\n};\n\nexport type PostContentImage = {\n images: ResourceImageType[] | null;\n imagesUpload?: PostFileInput[] | null;\n};\n\nexport type PostContentVideo = {\n video: {\n source: string;\n title?: string;\n };\n};\n\nexport type PostContentList = {\n list: {\n title?: string;\n items: {\n text: string;\n }[];\n };\n};\n\nexport type PostContentGame = {\n game: BaseGameType;\n};\n\nexport type PostContentData =\n | PostContentGame\n | PostContentTextarea\n | PostContentImage\n | PostContentVideo\n | PostContentList;\n\nexport type PostContentFormData = {\n contentData?: PostContentData | null;\n contentOrder?: number | null;\n contentType?: EnumPostContentType | null;\n};\n\nexport type PostResource = {\n resourceSlug: string;\n resourceId: string;\n resourceType: EnumResourceType;\n resourceRegion: string;\n};\n\nexport interface PostFormData {\n active: boolean;\n caption: string;\n content: PostContentFormData[];\n cover?: ResourceImageType | null;\n coverUpload?: PostFileInput | null;\n postType: EnumPostType;\n resource?: PostResource | null;\n tags?: string[] | null;\n title: string;\n notifyUsers?: boolean | null;\n}\n\nexport type CreatePostFormData = CreateFormData<PostFormData>;\n\nexport type PostContentType = Omit<PostContentFormData, \"contentData\"> & {\n contentData: Omit<PostContentData, \"imagesUpload\">;\n};\n\nexport type PostType = Omit<\n PostFormData,\n \"content\" | \"coverUpload\" | \"resource\"\n> & {\n _id: string;\n approvedAt?: Date | null;\n content: PostContentType[];\n createdAt: Date;\n deletedAt: Date | null;\n resource?: PostResource | null;\n slug: string;\n sharePublic?: SocialShareResourceType | null;\n updatedAt: Date | null;\n};\n","import { OwnerType } from \"../global\";\n\nimport { DailyClueBaseGame, DailyClueGameData } from \"./dailyClue\";\nimport { EnumGameType, GameDate } from \"./global\";\nimport { PuzzleBaseGame, PuzzleGameData } from \"./puzzleGame\";\n\nexport type BaseGameMap = {\n [EnumGameType.DAILY_CLUE]: DailyClueBaseGame;\n [EnumGameType.MINI_QUIZ]: PuzzleBaseGame;\n [EnumGameType.ODD_ONE_OUT]: PuzzleBaseGame;\n};\n\nexport type BaseGameType = {\n gameType: EnumGameType;\n gameTypeId: string;\n gameTitle: string;\n} & {\n [K in keyof BaseGameMap]?: BaseGameMap[K] | null;\n};\n\nexport enum EnumGameStatus {\n GAME_COMPLETED = \"GAME_COMPLETED\",\n GAME_IN_PROGRESS = \"GAME_IN_PROGRESS\",\n GAME_LEFT = \"GAME_LEFT\",\n GAME_STARTED = \"GAME_STARTED\",\n}\n\nexport type GameHistory = Pick<\n BaseGameType,\n \"gameTitle\" | \"gameType\" | \"gameTypeId\"\n> & {\n createdAt: Date;\n gameDate: GameDate;\n gameStatus: EnumGameStatus;\n /** Per-event delta. Not persisted for overallGamePoints (computed at read time). */\n pointsEarned: number;\n /** Running total for this game instance; computed at read time, not stored in Mongo. */\n overallGamePoints?: number;\n};\n\ntype GameDataMap = {\n [EnumGameType.DAILY_CLUE]: DailyClueGameData;\n [EnumGameType.MINI_QUIZ]: PuzzleGameData;\n [EnumGameType.ODD_ONE_OUT]: PuzzleGameData;\n};\ntype GameDataType = {\n [K in keyof GameDataMap]?: GameDataMap[K] | null;\n};\n\nexport type GameType = Pick<\n BaseGameType,\n \"gameTitle\" | \"gameType\" | \"gameTypeId\"\n> & {\n _id: string;\n active: boolean;\n createdAt: Date;\n gameData: GameDataType;\n gameHistory: GameHistory[] | null;\n updatedAt: Date | null;\n};\n\nexport type GameDocType = {\n _id: string;\n active: boolean;\n createdAt: Date;\n deletedAt: Date | null;\n games: GameType[] | null;\n owner: OwnerType;\n points: number;\n updatedAt: Date | null;\n};\n\nexport type GameLeaderboard = {\n gameHistory: GameHistory[] | null;\n nickName: string;\n overallPoints: number;\n userId: string;\n};\n","import { GameDate, GlobalGameData } from \"./global\";\n\nconst OBJECT_ID_PATH_SEGMENT = \"[a-f0-9]{24}\";\nconst OBJECT_ID_PATH_SEGMENT_END = `${OBJECT_ID_PATH_SEGMENT}$`;\n\nexport const gameScreenIdentifierList = [\n {\n clue: \"Where conversations happen without speaking.\",\n id: \"chat\",\n match: \"/chat\",\n },\n {\n clue: \"Where you can find your loyalties.\",\n id: \"coupons\",\n match: \"/profile/account/coupons\",\n },\n {\n clue: \"A single moment worth showing up for.\",\n id: \"single-event\",\n match: new RegExp(`^/events/${OBJECT_ID_PATH_SEGMENT_END}`),\n },\n {\n clue: \"What’s happening around you, right now.\",\n id: \"events-near-me\",\n match: \"/events/events-near-me\",\n },\n {\n clue: \"Where events appear as pins on a map.\",\n id: \"events-map\",\n match: \"/events/events-map\",\n },\n {\n clue: \"A collection of events worth attending.\",\n id: \"events\",\n match: \"/events\",\n },\n {\n clue: \"What’s happening in a wider area — not just nearby.\",\n id: \"events-region\",\n match: /^\\/events\\/region\\/[^/]+$/,\n },\n {\n clue: \"Where fun becomes a challenge.\",\n id: \"games\",\n match: \"/profile/account/games\",\n },\n {\n clue: \"Your starting point for everything.\",\n id: \"home\",\n match: \"/home\",\n },\n {\n clue: \"Where the app whispers what you shouldn’t miss.\",\n id: \"notifications\",\n match: \"/notifications\",\n },\n {\n clue: \"An organisation or creator supporting the community.\",\n id: \"single-partner\",\n match: new RegExp(`^/partners/${OBJECT_ID_PATH_SEGMENT_END}`),\n },\n {\n clue: \"Organisations and creators supporting the community.\",\n id: \"partners\",\n match: \"/partners\",\n },\n {\n clue: \"Where your actions turn into a timeline.\",\n id: \"activities\",\n match: \"/profile/account/favourites\",\n },\n {\n clue: \"The place to redefine who you are.\",\n id: \"edit-profile\",\n match: \"/profile/account\",\n },\n {\n clue: \"Your identity, on display.\",\n id: \"profile\",\n match: \"/profile\",\n },\n {\n clue: \"Where you can redeem your rewards.\",\n id: \"rewards\",\n match: \"/profile/account/rewards\",\n },\n {\n clue: \"A single published post in full view.\",\n id: \"single-visitor-post\",\n match: new RegExp(`^/visitors/post/${OBJECT_ID_PATH_SEGMENT_END}`),\n },\n {\n clue: \"One stallholder offering something valuable.\",\n id: \"single-vendor\",\n match: new RegExp(`^/vendors/${OBJECT_ID_PATH_SEGMENT_END}`),\n },\n {\n clue: \"Where every stallholder waits under the right category.\",\n id: \"vendors\",\n match: \"/vendors\",\n },\n {\n clue: \"Where you browse articles and posts from around the platform.\",\n id: \"visitors\",\n match: \"/visitors\",\n },\n {\n clue: \"Where you fine-tune your experience.\",\n id: \"options\",\n match: \"/options\",\n },\n] as const;\n\nexport type GamePlacement = (typeof gameScreenIdentifierList)[number][\"id\"];\nexport type GamePlacementClue =\n (typeof gameScreenIdentifierList)[number][\"clue\"];\n\nexport type DailyClueBaseGame = {\n gameDate: GameDate;\n gameSolution: string;\n};\n\nexport type DailyClueGameData = GlobalGameData & {\n gameFields: DailyClueBaseGame;\n lastFoundDate: Date | null;\n letterInfo: {\n collected: string[] | null; // The letters the user has found, e.g. [\"C\", \"L\", \"U\"]\n solutionShuffled: string[]; // The letters of the solution, but shuffled, e.g. [\"L\", \"C\", \"U\"]\n todaysClue: GamePlacementClue | null; // The clue for user to find the letter, e.g. related to {todaysPlacement}\n todaysLetter: string | null; // The letter the user has to find today, e.g. \"C\"\n todaysPlacement: GamePlacement | null; // The screen where the user has to find the clue, e.g. \"HomeScreen\"\n };\n};\n","export enum EnumGameType {\n DAILY_CLUE = \"dailyClue\",\n MINI_QUIZ = \"miniQuiz\",\n ODD_ONE_OUT = \"oddOneOut\",\n}\n\nexport type GameDate = {\n startDate: Date;\n endDate: Date;\n};\n\nexport const gameTypeToDisplayName: Record<EnumGameType, string> = {\n [EnumGameType.DAILY_CLUE]: \"Daily Clue\",\n [EnumGameType.MINI_QUIZ]: \"Mini Quiz\",\n [EnumGameType.ODD_ONE_OUT]: \"Odd One Out\",\n};\n\nexport type GlobalGameData = {\n points: number;\n // User has found the clue 3 days in a row, this is incrementing if the user finds the clue and decrements if user misses a day\n streak: number;\n};\n","import { EnumUserLicence } from \"../enums\";\n\n/** Tier keys in descending priority (highest first) for licence resolution. */\nexport const TIERS_BY_PRIORITY = [\"pro_plus\", \"pro\", \"standard\"] as const;\n\n/** Canonical subscription tier keys — matches Stripe/server tier identifiers. */\nexport type Tier = (typeof TIERS_BY_PRIORITY)[number];\n\n/** User-facing tier labels (decoupled from the Tier discriminant). */\nexport const TIER_DISPLAY_LABELS: Record<Tier, string> = {\n pro: \"Pro\",\n // eslint-disable-next-line camelcase\n pro_plus: \"Pro+ Ads\",\n standard: \"Standard\",\n};\n\n/** Maps licence enums to their canonical tier key. */\nexport const TIER_FROM_LICENCE: Record<EnumUserLicence, Tier> = {\n [EnumUserLicence.PRO_EVENT]: \"pro\",\n [EnumUserLicence.PRO_PLUS_EVENT]: \"pro_plus\",\n [EnumUserLicence.PRO_PLUS_VENDOR]: \"pro_plus\",\n [EnumUserLicence.PRO_VENDOR]: \"pro\",\n [EnumUserLicence.STANDARD_EVENT]: \"standard\",\n [EnumUserLicence.STANDARD_PARTNER]: \"standard\",\n [EnumUserLicence.STANDARD_VENDOR]: \"standard\",\n [EnumUserLicence.STANDARD_AFFILIATE]: \"standard\",\n [EnumUserLicence.STANDARD_SCHOOL]: \"standard\",\n};\n","import { EnumResourceType } from \"src/enums\";\n\nimport {\n CreateFormData,\n LocationType,\n OwnerType,\n PromoCodeType,\n SocialMediaType,\n} from \"./global\";\nimport { UserFormData } from \"./user\";\n\nexport enum EnumAffiliateParticipantType {\n INDIVIDUAL = \"INDIVIDUAL\",\n SOLE_TRADER = \"SOLE_TRADER\",\n COMPANY = \"COMPANY\",\n}\n\nexport type AffiliateContactDetails = {\n mobilePhone: string;\n};\n\nexport type AffiliateBankAccountDetailsType = {\n accountHolderName: string;\n accountNumber: string;\n};\n\nexport type AffiliateUserDefaultFields = Pick<\n UserFormData,\n \"email\" | \"firstName\" | \"lastName\" | \"termsAgreement\"\n>;\n\nexport type AffiliateDetailsType = AffiliateUserDefaultFields & {\n bankAccountDetails: AffiliateBankAccountDetailsType;\n contactDetails: AffiliateContactDetails;\n irdNumber: string;\n location: LocationType;\n participantType: EnumAffiliateParticipantType;\n socialMedia: SocialMediaType[] | null;\n};\n\nexport enum EnumAffiliateRewardType {\n ACTIVE_EVENT_WITH_VENDOR_REGISTRATIONS = \"ACTIVE_EVENT_WITH_VENDOR_REGISTRATIONS\",\n ACTIVE_VENDOR_BONUS_REWARD = \"ACTIVE_VENDOR_BONUS_REWARD\",\n ACTIVE_VENDOR_PRO_SUBSCRIPTION = \"ACTIVE_VENDOR_PRO_SUBSCRIPTION\",\n ACTIVE_VENDOR_STANDARD_SUBSCRIPTION = \"ACTIVE_VENDOR_STANDARD_SUBSCRIPTION\",\n NEW_EVENT_REGISTRATION = \"NEW_EVENT_REGISTRATION\",\n NEW_VENDOR_REGISTRATION = \"NEW_VENDOR_REGISTRATION\",\n}\n\nexport type AffiliateRewardType = {\n createdAt: Date;\n redeemedAt: Date | null;\n rewardDescription: string;\n rewardType: EnumAffiliateRewardType;\n rewardValue: number;\n};\n\nexport type AffiliateResourceType = {\n resourceActive: boolean;\n resourceDeletedAt: Date | null;\n resourceId: string;\n resourceName: string;\n resourceOwner: OwnerType;\n resourceType: EnumResourceType;\n rewards: AffiliateRewardType[];\n};\n\nexport type RedeemHistoryType = {\n paidAt?: Date | null;\n redeemedAt: Date;\n rewardValue: number;\n};\n\nexport interface AffiliateType {\n _id: string;\n active: boolean;\n approvedAt?: Date | null;\n affiliateBonusRewards?: AffiliateRewardType[] | null;\n affiliateCode: PromoCodeType | null;\n affiliateDetails: AffiliateDetailsType | null;\n affiliateResources: AffiliateResourceType[];\n createdAt: Date;\n deletedAt: Date | null;\n overallPoints: number;\n owner: OwnerType;\n redeemHistory?: RedeemHistoryType[] | null;\n updatedAt: Date | null;\n}\n\nexport type AffiliateFormData = Omit<\n AffiliateDetailsType,\n \"email\" | \"firstName\" | \"lastName\"\n>;\n\nexport type CreateAffiliateFormData = CreateFormData<AffiliateFormData>;\n","import { EnumResourceType } from \"../../enums\";\nimport { CreateFormData, OwnerType, ResourceImageType } from \"../global\";\nimport { VendorProductList } from \"../vendor\";\n\nexport type ProductCoupon = {\n couponDocumentId: string;\n couponId: string;\n};\n\nexport enum EnumCouponQualificationType {\n PURCHASE = \"PURCHASE\",\n MARKET_VISIT = \"MARKET_VISIT\",\n MARKET_PASSPORT = \"MARKET_PASSPORT\",\n}\n\nexport type CouponPurchaseOption = {\n buy: number;\n get: number;\n maxRewardCount: number;\n type: EnumCouponQualificationType.PURCHASE;\n unit: string;\n};\n\nexport type CouponMarketVisitOption = {\n type: EnumCouponQualificationType.MARKET_VISIT;\n visits: number;\n};\n\nexport type CouponMarketPassportOption = {\n type: EnumCouponQualificationType.MARKET_PASSPORT;\n visits: number;\n};\n\nexport type CouponOption =\n CouponPurchaseOption | CouponMarketVisitOption | CouponMarketPassportOption;\n\nexport type CouponVendorProduct = {\n couponId: string;\n productId: string;\n vendorId: string;\n\n // Required only for MARKET_PASSPORT: which Vendor coupon contributes\n // progress when scanned.\n vendorCouponId?: string | null;\n};\n\nexport type CouponDefaultsFormData = {\n couponDescription: string;\n couponOption: CouponOption | null;\n couponVendorProducts?: CouponVendorProduct[];\n endDate: Date;\n resourceId: string;\n resourceType: EnumResourceType;\n startDate: Date;\n};\n\nexport type CreateCouponFormData = CreateFormData<CouponDefaultsFormData>;\n\nexport type CouponParticipantUserType = {\n couponCollectedCount: number;\n couponRedeemedAt: Date | null;\n couponRedeemedCount: number;\n couponCycleRedeemed: boolean;\n createdAt: Date;\n updatedAt: Date | null;\n userId: string;\n // Not persisted; resolved on read by `attachCouponDataProducts` from\n // `UserModel` via the participant's `userId`.\n nickName?: string | null;\n};\n\nexport type CouponCodeType = {\n code: string;\n qrCode: ResourceImageType;\n shareableQrCode: ResourceImageType;\n};\n\nexport type CouponDataProductsType = {\n active: boolean | null;\n couponId: string;\n productsList: VendorProductList[];\n vendorId: string;\n vendorLogo: ResourceImageType | null;\n vendorName: string;\n};\n\nexport type CouponDataType = CouponDefaultsFormData & {\n _id: string;\n active: boolean;\n couponCode: CouponCodeType | null;\n createdAt: Date;\n deletedAt: Date | null;\n participantUsers: CouponParticipantUserType[] | null;\n // products are not saved in the database, but are returned by the backend for convenience\n products?: CouponDataProductsType[] | null;\n updatedAt: Date | null;\n};\n\nexport interface CouponType {\n _id: string;\n active: boolean;\n couponData: CouponDataType[] | null;\n createdAt: Date;\n deletedAt: Date | null;\n owner: OwnerType;\n updatedAt: Date | null;\n}\n\nexport enum EnumCouponListType {\n ACTIVE = \"active\",\n OWNED = \"owned\",\n SCANNED = \"scanned\",\n}\n\nexport type CouponTypeList = {\n active: {\n data: CouponType[] | null;\n listName: EnumCouponListType.ACTIVE;\n };\n owned: {\n data: CouponType[] | null;\n listName: EnumCouponListType.OWNED;\n };\n scanned: {\n data: CouponType[] | null;\n listName: EnumCouponListType.SCANNED;\n };\n};\n"],"mappings":"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","names":["EnumVerificationType","EnumAdShowOn","EnumAdPlatform","EnumAdStatus","EnumAdType","EnumAdStyle","EnumAdBookingSlotKind","EnumAdBookingState","EnumAdPaymentStatus","EnumAdEntitlementSource","EnumAdApprovalStatus","EnumActivity","EnumPostType","EnumPostContentType","EnumGameStatus","EnumGameType","EnumAffiliateParticipantType","EnumAffiliateRewardType","EnumCouponQualificationType","EnumCouponListType"]}
|
package/dist/types/index.d.mts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export { A as AdminUpdateResourceType, c as ChatMessageInput, d as ChatMessageReaction, e as ChatMessageReplyPreview, f as ChatMessageSeen, g as ChatMessageType, C as ChatType, h as CreateBulkNotificationInput, E as EnumActivity, a as NotificationCount, i as NotificationDataType, N as NotificationType, P as ParticipantType, R as ReportChatUser, j as ResourceActivityEntry, k as ResourceActivityInputType, b as ResourceActivityType } from '../resourceActivities-
|
|
2
|
-
export {
|
|
3
|
-
export { C as ContactUsFormData, a as CreateContactUsFormData } from '../contactUs-
|
|
4
|
-
import { d as EventListItemType } from '../global-
|
|
5
|
-
export { K as BaseGameMap, N as BaseGameType, Q as BaseResourceType, B as BaseResourceTypeFormData, C as Category, c as CategoryColorType, T as CouponCodeType, W as CouponDataProductsType, X as CouponDataType, H as CouponDefaultsFormData, Y as CouponMarketPassportOption, Z as CouponMarketVisitOption, _ as CouponOption, $ as CouponParticipantUserType, a0 as CouponPurchaseOption, o as CouponType, p as CouponTypeList, a1 as CouponVendorProduct, I as CreateCouponFormData, x as CreateEventFormData, z as CreateEventInfoFormData, a2 as CreateFormData, D as CreatePostFormData, v as CreateUnregisteredVendorFormData, r as CreateVendorFormData, t as CreateVendorInfoFormData, a3 as DailyClueBaseGame, a4 as DailyClueGameData, a5 as
|
|
6
|
-
export { C as CreateUserFormData, f as RedeemRewardInput, R as RedeemRewardMutationResponse, g as RedeemRewardResponse, h as RedeemedReward, b as ResourceByUser, S as SafeUserType, i as StripeSubscription, j as SubscriptionPlanData, d as SubscriptionPlansResponse, k as SubscriptionPricingData, c as SubscriptionStatusData, l as UserActivity, m as UserActivityEvent, e as UserFormData, n as UserType, U as UsersByPromoCode } from '../user-
|
|
1
|
+
export { A as AdminUpdateResourceType, c as ChatMessageInput, d as ChatMessageReaction, e as ChatMessageReplyPreview, f as ChatMessageSeen, g as ChatMessageType, C as ChatType, h as CreateBulkNotificationInput, E as EnumActivity, a as NotificationCount, i as NotificationDataType, N as NotificationType, P as ParticipantType, R as ReportChatUser, j as ResourceActivityEntry, k as ResourceActivityInputType, b as ResourceActivityType } from '../resourceActivities-DUReu_jD.mjs';
|
|
2
|
+
export { s as AdBookingType, t as AdDailyPriceKey, u as AdDailyPriceType, l as AdFormData, v as AdFormState, w as AdPlacement, x as AdResource, y as AdSettingsFormData, z as AdSettingsType, b as AdType, o as AppSettingsFormData, d as AppSettingsType, A as AuthMutationResponse, B as AuthPayloadType, D as CreateAdFormData, m as CreateAdFormState, p as CreateAppSettingsFormData, C as CreateLoginFormData, n as CreatePartnerFormData, g as CreateRegisterFormData, h as CreateRequestPasswordResetFormData, j as CreateResetPasswordFormData, r as CreateSchoolFormData, i as CreateValidateVerificationTokenFormData, F as EnumAdApprovalStatus, G as EnumAdBookingSlotKind, H as EnumAdBookingState, I as EnumAdEntitlementSource, J as EnumAdPaymentStatus, E as EnumAdPlatform, c as EnumAdShowOn, K as EnumAdStatus, L as EnumAdStyle, M as EnumAdType, N as EnumVerificationType, O as LoginFormData, Q as MarketingMaterialRequestInputType, k as PartnerFormData, P as PartnerType, T as PosterInputType, R as RefreshImpersonationMutationResponse, a as RefreshTokenMutationResponse, U as RefreshTokenPayloadType, V as RegisterFormData, W as RequestPasswordResetFormData, X as ResetPasswordFormData, Y as SchoolCampaignType, q as SchoolFormData, Z as SchoolRegisteredUserType, f as SchoolReturnType, e as SchoolType, S as StartImpersonationMutationResponse, _ as StartImpersonationPayloadType, $ as ValidateVerificationTokenFormData } from '../ad-XtBAH4rD.mjs';
|
|
3
|
+
export { C as ContactUsFormData, a as CreateContactUsFormData } from '../contactUs-CwHKoGEt.mjs';
|
|
4
|
+
import { d as EventListItemType } from '../global-D1r5ZuQO.mjs';
|
|
5
|
+
export { K as BaseGameMap, N as BaseGameType, Q as BaseResourceType, B as BaseResourceTypeFormData, C as Category, c as CategoryColorType, T as CouponCodeType, W as CouponDataProductsType, X as CouponDataType, H as CouponDefaultsFormData, Y as CouponMarketPassportOption, Z as CouponMarketVisitOption, _ as CouponOption, $ as CouponParticipantUserType, a0 as CouponPurchaseOption, o as CouponType, p as CouponTypeList, a1 as CouponVendorProduct, I as CreateCouponFormData, x as CreateEventFormData, z as CreateEventInfoFormData, a2 as CreateFormData, D as CreatePostFormData, v as CreateUnregisteredVendorFormData, r as CreateVendorFormData, t as CreateVendorInfoFormData, a3 as DailyClueBaseGame, a4 as DailyClueGameData, a5 as DateTimeFormValue, a6 as DateTimeType, a7 as DateTimeWithPriceFormValue, a8 as DateTimeWithPriceType, a9 as DeviceInfo, aa as EnumCouponListType, ab as EnumCouponQualificationType, ac as EnumGameStatus, ad as EnumGameType, ae as EnumPostContentType, af as EnumPostType, w as EventFormData, y as EventInfoFormData, e as EventInfoType, ag as EventListFilter, ah as EventStatusType, E as EventType, a as FormDateField, F as FormField, ai as GameDate, G as GameDocType, aj as GameHistory, n as GameLeaderboard, ak as GamePlacement, al as GamePlacementClue, am as GameType, an as GeocodeLocation, ao as GlobalGameData, ap as ImageObjectType, aq as LocationGeoType, L as LocationType, M as MutationResponse, k as MyPendingVendorClaim, ar as Nullable, O as OptionItem, as as OwnerType, at as PROMO_CODE_PREFIX, au as PaginationOptions, av as PartnerListFilter, aw as PaymentInfoType, ax as PostContentData, ay as PostContentFormData, az as PostContentGame, aA as PostContentImage, aB as PostContentList, aC as PostContentTextarea, aD as PostContentType, aE as PostContentVideo, aF as PostFileInput, A as PostFormData, aG as PostListFilter, aH as PostResource, m as PostType, P as PosterUsageType, aI as ProductCoupon, aJ as PromoCodeType, aK as PuzzleAnswer, aL as PuzzleAnsweredQuestion, aM as PuzzleBaseGame, aN as PuzzleGameData, aO as PuzzleQuestion, R as RefundPolicy, J as Region, aP as RelatedPostType, aQ as RelationDate, aR as RelationInputType, f as RelationType, b as Requirement, g as ResourceConnectionsType, aS as ResourceContactDetailsType, aT as ResourceDetails, aU as ResourceImageType, aV as ResourceRelationField, aW as SocialMediaType, aX as SocialShareResourceType, S as StallType, aY as Subcategory, aZ as SubcategoryItems, a_ as TermsAgreement, u as UnregisteredVendorFormData, a$ as UnregisteredVendorInvitationType, h as UnregisteredVendorType, U as UseGetResourcesByRegionOptions, l as UserLicenceType, b0 as UserListFilter, b1 as VendorAttributes, b2 as VendorAvailability, b3 as VendorCalendarData, V as VendorClaimTokenValidation, b4 as VendorDowngradeSnapshot, q as VendorFormData, s as VendorInfoFormData, j as VendorInfoType, b5 as VendorListFilter, b6 as VendorProductList, i as VendorType, b7 as gameScreenIdentifierList, b8 as gameTypeToDisplayName } from '../global-D1r5ZuQO.mjs';
|
|
6
|
+
export { C as CreateUserFormData, f as RedeemRewardInput, R as RedeemRewardMutationResponse, g as RedeemRewardResponse, h as RedeemedReward, b as ResourceByUser, S as SafeUserType, i as StripeSubscription, j as SubscriptionPlanData, d as SubscriptionPlansResponse, k as SubscriptionPricingData, c as SubscriptionStatusData, l as UserActivity, m as UserActivityEvent, e as UserFormData, n as UserType, U as UsersByPromoCode } from '../user-BpR-FTW2.mjs';
|
|
7
7
|
import { EnumOSPlatform } from '../enums/index.mjs';
|
|
8
8
|
export { a as BillingCatalogDefinition, B as BillingCatalogEntryType, b as BillingCatalogInitialEntry, c as BillingCatalogKey, d as BillingCatalogPriceHistoryEntry, P as PaidVendorBillingPeriod, e as PaidVendorLicence, S as SyncBillingCatalogPriceInput, U as UpdateBillingCatalogPriceInput } from '../billingCatalog-DDAU9BWV.mjs';
|
|
9
9
|
export { a as TIERS_BY_PRIORITY, b as TIER_DISPLAY_LABELS, c as TIER_FROM_LICENCE, T as Tier } from '../subscription-bmAdrnfi.mjs';
|
|
10
|
-
export { b as AffiliateBankAccountDetailsType, c as AffiliateContactDetails, d as AffiliateDetailsType, a as AffiliateFormData, e as AffiliateResourceType, f as AffiliateRewardType, A as AffiliateType, g as AffiliateUserDefaultFields, C as CreateAffiliateFormData, E as EnumAffiliateParticipantType, h as EnumAffiliateRewardType, R as RedeemHistoryType } from '../affiliate-
|
|
10
|
+
export { b as AffiliateBankAccountDetailsType, c as AffiliateContactDetails, d as AffiliateDetailsType, a as AffiliateFormData, e as AffiliateResourceType, f as AffiliateRewardType, A as AffiliateType, g as AffiliateUserDefaultFields, C as CreateAffiliateFormData, E as EnumAffiliateParticipantType, h as EnumAffiliateRewardType, R as RedeemHistoryType } from '../affiliate-D-L_UtL8.mjs';
|
|
11
11
|
import '../images/index.mjs';
|
|
12
12
|
import 'react-hook-form';
|
|
13
13
|
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export { A as AdminUpdateResourceType, c as ChatMessageInput, d as ChatMessageReaction, e as ChatMessageReplyPreview, f as ChatMessageSeen, g as ChatMessageType, C as ChatType, h as CreateBulkNotificationInput, E as EnumActivity, a as NotificationCount, i as NotificationDataType, N as NotificationType, P as ParticipantType, R as ReportChatUser, j as ResourceActivityEntry, k as ResourceActivityInputType, b as ResourceActivityType } from '../resourceActivities-
|
|
2
|
-
export {
|
|
3
|
-
export { C as ContactUsFormData, a as CreateContactUsFormData } from '../contactUs-
|
|
4
|
-
import { d as EventListItemType } from '../global-
|
|
5
|
-
export { K as BaseGameMap, N as BaseGameType, Q as BaseResourceType, B as BaseResourceTypeFormData, C as Category, c as CategoryColorType, T as CouponCodeType, W as CouponDataProductsType, X as CouponDataType, H as CouponDefaultsFormData, Y as CouponMarketPassportOption, Z as CouponMarketVisitOption, _ as CouponOption, $ as CouponParticipantUserType, a0 as CouponPurchaseOption, o as CouponType, p as CouponTypeList, a1 as CouponVendorProduct, I as CreateCouponFormData, x as CreateEventFormData, z as CreateEventInfoFormData, a2 as CreateFormData, D as CreatePostFormData, v as CreateUnregisteredVendorFormData, r as CreateVendorFormData, t as CreateVendorInfoFormData, a3 as DailyClueBaseGame, a4 as DailyClueGameData, a5 as
|
|
6
|
-
export { C as CreateUserFormData, f as RedeemRewardInput, R as RedeemRewardMutationResponse, g as RedeemRewardResponse, h as RedeemedReward, b as ResourceByUser, S as SafeUserType, i as StripeSubscription, j as SubscriptionPlanData, d as SubscriptionPlansResponse, k as SubscriptionPricingData, c as SubscriptionStatusData, l as UserActivity, m as UserActivityEvent, e as UserFormData, n as UserType, U as UsersByPromoCode } from '../user-
|
|
1
|
+
export { A as AdminUpdateResourceType, c as ChatMessageInput, d as ChatMessageReaction, e as ChatMessageReplyPreview, f as ChatMessageSeen, g as ChatMessageType, C as ChatType, h as CreateBulkNotificationInput, E as EnumActivity, a as NotificationCount, i as NotificationDataType, N as NotificationType, P as ParticipantType, R as ReportChatUser, j as ResourceActivityEntry, k as ResourceActivityInputType, b as ResourceActivityType } from '../resourceActivities-Uz9uavhK.js';
|
|
2
|
+
export { s as AdBookingType, t as AdDailyPriceKey, u as AdDailyPriceType, l as AdFormData, v as AdFormState, w as AdPlacement, x as AdResource, y as AdSettingsFormData, z as AdSettingsType, b as AdType, o as AppSettingsFormData, d as AppSettingsType, A as AuthMutationResponse, B as AuthPayloadType, D as CreateAdFormData, m as CreateAdFormState, p as CreateAppSettingsFormData, C as CreateLoginFormData, n as CreatePartnerFormData, g as CreateRegisterFormData, h as CreateRequestPasswordResetFormData, j as CreateResetPasswordFormData, r as CreateSchoolFormData, i as CreateValidateVerificationTokenFormData, F as EnumAdApprovalStatus, G as EnumAdBookingSlotKind, H as EnumAdBookingState, I as EnumAdEntitlementSource, J as EnumAdPaymentStatus, E as EnumAdPlatform, c as EnumAdShowOn, K as EnumAdStatus, L as EnumAdStyle, M as EnumAdType, N as EnumVerificationType, O as LoginFormData, Q as MarketingMaterialRequestInputType, k as PartnerFormData, P as PartnerType, T as PosterInputType, R as RefreshImpersonationMutationResponse, a as RefreshTokenMutationResponse, U as RefreshTokenPayloadType, V as RegisterFormData, W as RequestPasswordResetFormData, X as ResetPasswordFormData, Y as SchoolCampaignType, q as SchoolFormData, Z as SchoolRegisteredUserType, f as SchoolReturnType, e as SchoolType, S as StartImpersonationMutationResponse, _ as StartImpersonationPayloadType, $ as ValidateVerificationTokenFormData } from '../ad-C4L_-r-4.js';
|
|
3
|
+
export { C as ContactUsFormData, a as CreateContactUsFormData } from '../contactUs-CR-nghbk.js';
|
|
4
|
+
import { d as EventListItemType } from '../global-B4mmQo6R.js';
|
|
5
|
+
export { K as BaseGameMap, N as BaseGameType, Q as BaseResourceType, B as BaseResourceTypeFormData, C as Category, c as CategoryColorType, T as CouponCodeType, W as CouponDataProductsType, X as CouponDataType, H as CouponDefaultsFormData, Y as CouponMarketPassportOption, Z as CouponMarketVisitOption, _ as CouponOption, $ as CouponParticipantUserType, a0 as CouponPurchaseOption, o as CouponType, p as CouponTypeList, a1 as CouponVendorProduct, I as CreateCouponFormData, x as CreateEventFormData, z as CreateEventInfoFormData, a2 as CreateFormData, D as CreatePostFormData, v as CreateUnregisteredVendorFormData, r as CreateVendorFormData, t as CreateVendorInfoFormData, a3 as DailyClueBaseGame, a4 as DailyClueGameData, a5 as DateTimeFormValue, a6 as DateTimeType, a7 as DateTimeWithPriceFormValue, a8 as DateTimeWithPriceType, a9 as DeviceInfo, aa as EnumCouponListType, ab as EnumCouponQualificationType, ac as EnumGameStatus, ad as EnumGameType, ae as EnumPostContentType, af as EnumPostType, w as EventFormData, y as EventInfoFormData, e as EventInfoType, ag as EventListFilter, ah as EventStatusType, E as EventType, a as FormDateField, F as FormField, ai as GameDate, G as GameDocType, aj as GameHistory, n as GameLeaderboard, ak as GamePlacement, al as GamePlacementClue, am as GameType, an as GeocodeLocation, ao as GlobalGameData, ap as ImageObjectType, aq as LocationGeoType, L as LocationType, M as MutationResponse, k as MyPendingVendorClaim, ar as Nullable, O as OptionItem, as as OwnerType, at as PROMO_CODE_PREFIX, au as PaginationOptions, av as PartnerListFilter, aw as PaymentInfoType, ax as PostContentData, ay as PostContentFormData, az as PostContentGame, aA as PostContentImage, aB as PostContentList, aC as PostContentTextarea, aD as PostContentType, aE as PostContentVideo, aF as PostFileInput, A as PostFormData, aG as PostListFilter, aH as PostResource, m as PostType, P as PosterUsageType, aI as ProductCoupon, aJ as PromoCodeType, aK as PuzzleAnswer, aL as PuzzleAnsweredQuestion, aM as PuzzleBaseGame, aN as PuzzleGameData, aO as PuzzleQuestion, R as RefundPolicy, J as Region, aP as RelatedPostType, aQ as RelationDate, aR as RelationInputType, f as RelationType, b as Requirement, g as ResourceConnectionsType, aS as ResourceContactDetailsType, aT as ResourceDetails, aU as ResourceImageType, aV as ResourceRelationField, aW as SocialMediaType, aX as SocialShareResourceType, S as StallType, aY as Subcategory, aZ as SubcategoryItems, a_ as TermsAgreement, u as UnregisteredVendorFormData, a$ as UnregisteredVendorInvitationType, h as UnregisteredVendorType, U as UseGetResourcesByRegionOptions, l as UserLicenceType, b0 as UserListFilter, b1 as VendorAttributes, b2 as VendorAvailability, b3 as VendorCalendarData, V as VendorClaimTokenValidation, b4 as VendorDowngradeSnapshot, q as VendorFormData, s as VendorInfoFormData, j as VendorInfoType, b5 as VendorListFilter, b6 as VendorProductList, i as VendorType, b7 as gameScreenIdentifierList, b8 as gameTypeToDisplayName } from '../global-B4mmQo6R.js';
|
|
6
|
+
export { C as CreateUserFormData, f as RedeemRewardInput, R as RedeemRewardMutationResponse, g as RedeemRewardResponse, h as RedeemedReward, b as ResourceByUser, S as SafeUserType, i as StripeSubscription, j as SubscriptionPlanData, d as SubscriptionPlansResponse, k as SubscriptionPricingData, c as SubscriptionStatusData, l as UserActivity, m as UserActivityEvent, e as UserFormData, n as UserType, U as UsersByPromoCode } from '../user-IR0bHKFb.js';
|
|
7
7
|
import { EnumOSPlatform } from '../enums/index.js';
|
|
8
8
|
export { a as BillingCatalogDefinition, B as BillingCatalogEntryType, b as BillingCatalogInitialEntry, c as BillingCatalogKey, d as BillingCatalogPriceHistoryEntry, P as PaidVendorBillingPeriod, e as PaidVendorLicence, S as SyncBillingCatalogPriceInput, U as UpdateBillingCatalogPriceInput } from '../billingCatalog-oWAfZX95.js';
|
|
9
9
|
export { a as TIERS_BY_PRIORITY, b as TIER_DISPLAY_LABELS, c as TIER_FROM_LICENCE, T as Tier } from '../subscription-BU8GvH2K.js';
|
|
10
|
-
export { b as AffiliateBankAccountDetailsType, c as AffiliateContactDetails, d as AffiliateDetailsType, a as AffiliateFormData, e as AffiliateResourceType, f as AffiliateRewardType, A as AffiliateType, g as AffiliateUserDefaultFields, C as CreateAffiliateFormData, E as EnumAffiliateParticipantType, h as EnumAffiliateRewardType, R as RedeemHistoryType } from '../affiliate-
|
|
10
|
+
export { b as AffiliateBankAccountDetailsType, c as AffiliateContactDetails, d as AffiliateDetailsType, a as AffiliateFormData, e as AffiliateResourceType, f as AffiliateRewardType, A as AffiliateType, g as AffiliateUserDefaultFields, C as CreateAffiliateFormData, E as EnumAffiliateParticipantType, h as EnumAffiliateRewardType, R as RedeemHistoryType } from '../affiliate-CxZHVZb2.js';
|
|
11
11
|
import '../images/index.js';
|
|
12
12
|
import 'react-hook-form';
|
|
13
13
|
|
package/dist/types/index.mjs
CHANGED
|
@@ -22,13 +22,13 @@ import {
|
|
|
22
22
|
PROMO_CODE_PREFIX,
|
|
23
23
|
gameScreenIdentifierList,
|
|
24
24
|
gameTypeToDisplayName
|
|
25
|
-
} from "../chunk-
|
|
25
|
+
} from "../chunk-FWKZZMQR.mjs";
|
|
26
26
|
import {
|
|
27
27
|
TIERS_BY_PRIORITY,
|
|
28
28
|
TIER_DISPLAY_LABELS,
|
|
29
29
|
TIER_FROM_LICENCE
|
|
30
30
|
} from "../chunk-DQ7ZHIXW.mjs";
|
|
31
|
-
import "../chunk-
|
|
31
|
+
import "../chunk-Q2WLLXTA.mjs";
|
|
32
32
|
export {
|
|
33
33
|
EnumActivity,
|
|
34
34
|
EnumAdApprovalStatus,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EnumOSPlatform, EnumResourceType, EnumReward, EnumUserRole, EnumBillingPeriod, EnumUserLicence, EnumSubscriptionStatus, EnumNotificationResourceType } from './enums/index.mjs';
|
|
2
|
-
import {
|
|
2
|
+
import { aU as ResourceImageType, L as LocationType, a_ as TermsAgreement, l as UserLicenceType, aJ as PromoCodeType, a6 as DateTimeType, M as MutationResponse, a2 as CreateFormData } from './global-D1r5ZuQO.mjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Canonical permission IDs. Add new permissions here first, then map them in
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EnumOSPlatform, EnumResourceType, EnumReward, EnumUserRole, EnumBillingPeriod, EnumUserLicence, EnumSubscriptionStatus, EnumNotificationResourceType } from './enums/index.js';
|
|
2
|
-
import {
|
|
2
|
+
import { aU as ResourceImageType, L as LocationType, a_ as TermsAgreement, l as UserLicenceType, aJ as PromoCodeType, a6 as DateTimeType, M as MutationResponse, a2 as CreateFormData } from './global-B4mmQo6R.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Canonical permission IDs. Add new permissions here first, then map them in
|
package/dist/utils/index.cjs
CHANGED
|
@@ -95,6 +95,7 @@ __export(utils_exports, {
|
|
|
95
95
|
getEventScheduleStatusPresentation: () => getEventScheduleStatusPresentation,
|
|
96
96
|
getEventScheduleStatusTone: () => getEventScheduleStatusTone,
|
|
97
97
|
getEventStallholderEmptyMessage: () => getEventStallholderEmptyMessage,
|
|
98
|
+
getFutureEventStatus: () => getFutureEventStatus,
|
|
98
99
|
getRegisteredVendorCategoryNames: () => getRegisteredVendorCategoryNames,
|
|
99
100
|
getRegisteredVendorStartDates: () => getRegisteredVendorStartDates,
|
|
100
101
|
getStallholderCategoryNames: () => getStallholderCategoryNames,
|
|
@@ -134,6 +135,7 @@ __export(utils_exports, {
|
|
|
134
135
|
toNZTime: () => toNZTime,
|
|
135
136
|
toUserFacingErrorMessage: () => toUserFacingErrorMessage,
|
|
136
137
|
truncateText: () => truncateText,
|
|
138
|
+
updateSingleDateTimeStatus: () => updateSingleDateTimeStatus,
|
|
137
139
|
vendorLicences: () => vendorLicences
|
|
138
140
|
});
|
|
139
141
|
module.exports = __toCommonJS(utils_exports);
|
|
@@ -250,8 +252,8 @@ var gameScreenIdentifierList = [
|
|
|
250
252
|
];
|
|
251
253
|
|
|
252
254
|
// src/utils/date.ts
|
|
253
|
-
var
|
|
254
|
-
var
|
|
255
|
+
var import_dayjs2 = __toESM(require("dayjs"));
|
|
256
|
+
var import_customParseFormat2 = __toESM(require("dayjs/plugin/customParseFormat.js"));
|
|
255
257
|
var import_isSameOrAfter = __toESM(require("dayjs/plugin/isSameOrAfter.js"));
|
|
256
258
|
var import_timezone = __toESM(require("dayjs/plugin/timezone.js"));
|
|
257
259
|
var import_utc = __toESM(require("dayjs/plugin/utc.js"));
|
|
@@ -292,7 +294,16 @@ var EnumRegions = /* @__PURE__ */ ((EnumRegions2) => {
|
|
|
292
294
|
return EnumRegions2;
|
|
293
295
|
})(EnumRegions || {});
|
|
294
296
|
|
|
297
|
+
// src/utils/dateFormats.ts
|
|
298
|
+
var dateFormat = "DD-MM-YYYY";
|
|
299
|
+
var timeFormat = "HH:mm";
|
|
300
|
+
|
|
295
301
|
// src/utils/eventDateStatus.ts
|
|
302
|
+
var import_dayjs = __toESM(require("dayjs"));
|
|
303
|
+
var import_customParseFormat = __toESM(require("dayjs/plugin/customParseFormat.js"));
|
|
304
|
+
var import_isoWeek = __toESM(require("dayjs/plugin/isoWeek.js"));
|
|
305
|
+
import_dayjs.default.extend(import_customParseFormat.default);
|
|
306
|
+
import_dayjs.default.extend(import_isoWeek.default);
|
|
296
307
|
var EVENT_DATE_STATUS_PERIOD_MAP = {
|
|
297
308
|
["Today" /* TODAY */]: [
|
|
298
309
|
"Started" /* STARTED */,
|
|
@@ -333,27 +344,90 @@ function isFutureEventDateStatus(dateStatus) {
|
|
|
333
344
|
function filterDatesByFutureStatus(dates) {
|
|
334
345
|
return dates.filter((date) => isFutureEventDateStatus(date.dateStatus));
|
|
335
346
|
}
|
|
347
|
+
var MANUAL_DATE_STATUSES = /* @__PURE__ */ new Set([
|
|
348
|
+
"Canceled" /* CANCELED */,
|
|
349
|
+
"Rescheduled" /* RE_SCHEDULED */
|
|
350
|
+
]);
|
|
351
|
+
function getFutureEventStatus(startDateTime, now) {
|
|
352
|
+
const hoursUntilStart = startDateTime.diff(now, "hour", true);
|
|
353
|
+
if (hoursUntilStart > 0 && hoursUntilStart <= 4) {
|
|
354
|
+
return "Starting_Soon" /* STARTING_SOON */;
|
|
355
|
+
}
|
|
356
|
+
if (startDateTime.isSame(now, "day")) {
|
|
357
|
+
return "Today" /* TODAY */;
|
|
358
|
+
}
|
|
359
|
+
if (startDateTime.isSame(now.add(1, "day"), "day")) {
|
|
360
|
+
return "Tomorrow" /* TOMORROW */;
|
|
361
|
+
}
|
|
362
|
+
if (startDateTime.isSame(now, "isoWeek")) {
|
|
363
|
+
return "This_Week" /* THIS_WEEK */;
|
|
364
|
+
}
|
|
365
|
+
if (startDateTime.isSame(now.add(1, "week"), "isoWeek")) {
|
|
366
|
+
return "Next_Week" /* NEXT_WEEK */;
|
|
367
|
+
}
|
|
368
|
+
return "Upcoming" /* UPCOMING */;
|
|
369
|
+
}
|
|
370
|
+
function updateSingleDateTimeStatus(dateTime, now = (0, import_dayjs.default)()) {
|
|
371
|
+
if (MANUAL_DATE_STATUSES.has(dateTime.dateStatus)) {
|
|
372
|
+
return dateTime;
|
|
373
|
+
}
|
|
374
|
+
const dateTimeFormat = `${dateFormat} ${timeFormat}`;
|
|
375
|
+
const startDateTime = (0, import_dayjs.default)(
|
|
376
|
+
`${dateTime.startDate} ${dateTime.startTime}`,
|
|
377
|
+
dateTimeFormat,
|
|
378
|
+
true
|
|
379
|
+
);
|
|
380
|
+
const endDateTime = (0, import_dayjs.default)(
|
|
381
|
+
`${dateTime.endDate} ${dateTime.endTime}`,
|
|
382
|
+
dateTimeFormat,
|
|
383
|
+
true
|
|
384
|
+
);
|
|
385
|
+
if (!startDateTime.isValid() || !endDateTime.isValid()) {
|
|
386
|
+
return {
|
|
387
|
+
...dateTime,
|
|
388
|
+
dateStatus: "Invalid" /* INVALID */
|
|
389
|
+
};
|
|
390
|
+
}
|
|
391
|
+
if (endDateTime.isBefore(startDateTime)) {
|
|
392
|
+
return {
|
|
393
|
+
...dateTime,
|
|
394
|
+
dateStatus: "Invalid" /* INVALID */
|
|
395
|
+
};
|
|
396
|
+
}
|
|
397
|
+
let dateStatus;
|
|
398
|
+
if (endDateTime.isAfter(now)) {
|
|
399
|
+
if (startDateTime.isAfter(now)) {
|
|
400
|
+
dateStatus = getFutureEventStatus(startDateTime, now);
|
|
401
|
+
} else {
|
|
402
|
+
dateStatus = "Started" /* STARTED */;
|
|
403
|
+
}
|
|
404
|
+
} else {
|
|
405
|
+
dateStatus = "Ended" /* ENDED */;
|
|
406
|
+
}
|
|
407
|
+
return {
|
|
408
|
+
...dateTime,
|
|
409
|
+
dateStatus
|
|
410
|
+
};
|
|
411
|
+
}
|
|
336
412
|
|
|
337
413
|
// src/utils/date.ts
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
import_dayjs.default.extend(import_timezone.default);
|
|
343
|
-
import_dayjs.default.extend(import_isSameOrAfter.default);
|
|
414
|
+
import_dayjs2.default.extend(import_customParseFormat2.default);
|
|
415
|
+
import_dayjs2.default.extend(import_utc.default);
|
|
416
|
+
import_dayjs2.default.extend(import_timezone.default);
|
|
417
|
+
import_dayjs2.default.extend(import_isSameOrAfter.default);
|
|
344
418
|
var NZ_TZ = "Pacific/Auckland";
|
|
345
419
|
function toNZTime(date) {
|
|
346
|
-
return date ? (0,
|
|
420
|
+
return date ? (0, import_dayjs2.default)(date).tz(NZ_TZ) : (0, import_dayjs2.default)().tz(NZ_TZ);
|
|
347
421
|
}
|
|
348
422
|
function nzStartOfDay(input) {
|
|
349
423
|
if (input == null) {
|
|
350
|
-
return (0,
|
|
424
|
+
return (0, import_dayjs2.default)().tz(NZ_TZ).startOf("day");
|
|
351
425
|
}
|
|
352
|
-
return
|
|
426
|
+
return import_dayjs2.default.tz(input, NZ_TZ).startOf("day");
|
|
353
427
|
}
|
|
354
428
|
var formatDate = (dateStr, display = "datetime", timeStr) => {
|
|
355
429
|
const dateTimeStr = timeStr ? `${dateStr} ${timeStr}` : dateStr;
|
|
356
|
-
const dateTime = timeStr ? (0,
|
|
430
|
+
const dateTime = timeStr ? (0, import_dayjs2.default)(dateTimeStr, `${dateFormat} ${timeFormat}`) : (0, import_dayjs2.default)(dateStr, dateFormat);
|
|
357
431
|
const formattedDate = dateTime.format("dddd, D MMMM, YYYY");
|
|
358
432
|
const formattedTime = dateTime.format("h:mm a");
|
|
359
433
|
switch (display) {
|
|
@@ -368,9 +442,12 @@ var formatDate = (dateStr, display = "datetime", timeStr) => {
|
|
|
368
442
|
}
|
|
369
443
|
};
|
|
370
444
|
var getCurrentAndFutureDates = (dates) => {
|
|
371
|
-
const now = (0,
|
|
445
|
+
const now = (0, import_dayjs2.default)();
|
|
372
446
|
return dates.filter((dateObj) => {
|
|
373
|
-
|
|
447
|
+
if (!dateObj.startDate || !dateObj.startTime) {
|
|
448
|
+
return false;
|
|
449
|
+
}
|
|
450
|
+
const dateTime = (0, import_dayjs2.default)(
|
|
374
451
|
`${dateObj.startDate} ${dateObj.startTime}`,
|
|
375
452
|
`${dateFormat} ${timeFormat}`
|
|
376
453
|
);
|
|
@@ -378,8 +455,11 @@ var getCurrentAndFutureDates = (dates) => {
|
|
|
378
455
|
});
|
|
379
456
|
};
|
|
380
457
|
var isFutureDatesBeforeThreshold = (date, minHoursFromNow) => {
|
|
381
|
-
|
|
382
|
-
|
|
458
|
+
if (!date.startDate || !date.startTime) {
|
|
459
|
+
return false;
|
|
460
|
+
}
|
|
461
|
+
const threshold = minHoursFromNow ? (0, import_dayjs2.default)().add(minHoursFromNow, "hour") : (0, import_dayjs2.default)().startOf("day");
|
|
462
|
+
const dateTime = (0, import_dayjs2.default)(
|
|
383
463
|
`${date.startDate} ${date.startTime}`,
|
|
384
464
|
`${dateFormat} ${timeFormat}`
|
|
385
465
|
);
|
|
@@ -398,9 +478,18 @@ function sortDatesChronologically(dates) {
|
|
|
398
478
|
}
|
|
399
479
|
return [...dates].sort((a, b) => {
|
|
400
480
|
const dateTimeFormat = `${dateFormat} ${timeFormat}`;
|
|
401
|
-
const dateA = (0,
|
|
402
|
-
const dateB = (0,
|
|
403
|
-
|
|
481
|
+
const dateA = a.startDate && a.startTime ? (0, import_dayjs2.default)(`${a.startDate} ${a.startTime}`, dateTimeFormat) : null;
|
|
482
|
+
const dateB = b.startDate && b.startTime ? (0, import_dayjs2.default)(`${b.startDate} ${b.startTime}`, dateTimeFormat) : null;
|
|
483
|
+
if (dateA && dateB) {
|
|
484
|
+
return dateA.valueOf() - dateB.valueOf();
|
|
485
|
+
}
|
|
486
|
+
if (dateA) {
|
|
487
|
+
return -1;
|
|
488
|
+
}
|
|
489
|
+
if (dateB) {
|
|
490
|
+
return 1;
|
|
491
|
+
}
|
|
492
|
+
return 0;
|
|
404
493
|
});
|
|
405
494
|
}
|
|
406
495
|
var futureTimePeriods = FUTURE_EVENT_DATE_STATUSES.filter(
|
|
@@ -759,16 +848,18 @@ var SCHOOL_MIN_STUDENT_COUNT = 300;
|
|
|
759
848
|
var SCHOOL_MAX_STUDENT_COUNT = 0;
|
|
760
849
|
|
|
761
850
|
// src/calendar/eventCalendar.ts
|
|
762
|
-
var
|
|
851
|
+
var import_dayjs3 = __toESM(require("dayjs"));
|
|
763
852
|
function toCalendarIsoDate(startDate) {
|
|
764
|
-
const formatted = (0,
|
|
765
|
-
return (0,
|
|
853
|
+
const formatted = (0, import_dayjs3.default)(startDate, dateFormat).format("YYYY-MM-DD");
|
|
854
|
+
return (0, import_dayjs3.default)(formatted, "YYYY-MM-DD", true).isValid() ? formatted : null;
|
|
766
855
|
}
|
|
767
856
|
function fromCalendarIsoDate(isoDate) {
|
|
768
|
-
return (0,
|
|
857
|
+
return (0, import_dayjs3.default)(isoDate, "YYYY-MM-DD").format(dateFormat);
|
|
769
858
|
}
|
|
770
859
|
function getEventCalendarIsoDates(dateTimes) {
|
|
771
|
-
return dateTimes?.map(
|
|
860
|
+
return dateTimes?.map(
|
|
861
|
+
(dateTime) => dateTime.startDate ? toCalendarIsoDate(dateTime.startDate) : null
|
|
862
|
+
).filter((date) => Boolean(date)) ?? [];
|
|
772
863
|
}
|
|
773
864
|
function findEventDateTimeByIsoDate(dateTimes, isoDate) {
|
|
774
865
|
const selected = fromCalendarIsoDate(isoDate);
|
|
@@ -1857,7 +1948,9 @@ var availableCategories = assignColorToCategories([
|
|
|
1857
1948
|
|
|
1858
1949
|
// src/eventStallholders/eventStallholderFilters.ts
|
|
1859
1950
|
function eventStartDatesSet(dateTime) {
|
|
1860
|
-
return new Set(
|
|
1951
|
+
return new Set(
|
|
1952
|
+
(dateTime ?? []).map((date) => date.startDate).filter((date) => Boolean(date))
|
|
1953
|
+
);
|
|
1861
1954
|
}
|
|
1862
1955
|
function hasMatchingEventDate(vendorStartDates, eventStartDates) {
|
|
1863
1956
|
return vendorStartDates.some((startDate) => eventStartDates.has(startDate));
|
|
@@ -1877,9 +1970,7 @@ function matchesCategory(categoryNames, selectedCategory) {
|
|
|
1877
1970
|
function getRegisteredVendorStartDates(vendor) {
|
|
1878
1971
|
const relations = vendor.relations ?? [];
|
|
1879
1972
|
return relations.flatMap(
|
|
1880
|
-
(relation) => (relation.relationDates ?? []).map(
|
|
1881
|
-
(relationDate) => relationDate.dateTime.startDate
|
|
1882
|
-
)
|
|
1973
|
+
(relation) => (relation.relationDates ?? []).map((relationDate) => relationDate.dateTime.startDate).filter((date) => Boolean(date))
|
|
1883
1974
|
);
|
|
1884
1975
|
}
|
|
1885
1976
|
function getRegisteredVendorCategoryNames(vendor) {
|
|
@@ -1887,7 +1978,7 @@ function getRegisteredVendorCategoryNames(vendor) {
|
|
|
1887
1978
|
}
|
|
1888
1979
|
function getUnregisteredVendorStartDates(vendor) {
|
|
1889
1980
|
return (vendor.invitations ?? []).flatMap(
|
|
1890
|
-
(invitation) => invitation.dateTime.map((date) => date.startDate)
|
|
1981
|
+
(invitation) => invitation.dateTime.map((date) => date.startDate).filter((date) => Boolean(date))
|
|
1891
1982
|
);
|
|
1892
1983
|
}
|
|
1893
1984
|
function getUnregisteredVendorCategoryNames(vendor) {
|
|
@@ -1947,7 +2038,9 @@ function getEventDatesWithStallholders(eventDateTime, stallholderStartDates) {
|
|
|
1947
2038
|
}
|
|
1948
2039
|
const startDates = new Set(stallholderStartDates);
|
|
1949
2040
|
return sortDatesChronologically(
|
|
1950
|
-
eventDateTime.filter(
|
|
2041
|
+
eventDateTime.filter(
|
|
2042
|
+
(date) => Boolean(date.startDate) && startDates.has(date.startDate)
|
|
2043
|
+
)
|
|
1951
2044
|
);
|
|
1952
2045
|
}
|
|
1953
2046
|
function getStallholderCategoryNames(registeredVendors, unregisteredVendors = []) {
|
|
@@ -2008,7 +2101,7 @@ function getVendorEventRelationStartDates(events) {
|
|
|
2008
2101
|
);
|
|
2009
2102
|
const uniqueStartDates = [];
|
|
2010
2103
|
for (const dateTime of sortedDates) {
|
|
2011
|
-
if (!uniqueStartDates.includes(dateTime.startDate)) {
|
|
2104
|
+
if (dateTime.startDate && !uniqueStartDates.includes(dateTime.startDate)) {
|
|
2012
2105
|
uniqueStartDates.push(dateTime.startDate);
|
|
2013
2106
|
}
|
|
2014
2107
|
}
|
|
@@ -2337,6 +2430,7 @@ function getErrorMessage(error, fallback = DEFAULT_USER_FACING_ERROR) {
|
|
|
2337
2430
|
getEventScheduleStatusPresentation,
|
|
2338
2431
|
getEventScheduleStatusTone,
|
|
2339
2432
|
getEventStallholderEmptyMessage,
|
|
2433
|
+
getFutureEventStatus,
|
|
2340
2434
|
getRegisteredVendorCategoryNames,
|
|
2341
2435
|
getRegisteredVendorStartDates,
|
|
2342
2436
|
getStallholderCategoryNames,
|
|
@@ -2376,6 +2470,7 @@ function getErrorMessage(error, fallback = DEFAULT_USER_FACING_ERROR) {
|
|
|
2376
2470
|
toNZTime,
|
|
2377
2471
|
toUserFacingErrorMessage,
|
|
2378
2472
|
truncateText,
|
|
2473
|
+
updateSingleDateTimeStatus,
|
|
2379
2474
|
vendorLicences
|
|
2380
2475
|
});
|
|
2381
2476
|
//# sourceMappingURL=index.cjs.map
|