@myrjfa/state 3.0.8 → 3.0.10

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.
Files changed (180) hide show
  1. package/dist/lib/actions/application.d.ts +5 -3
  2. package/dist/lib/actions/application.d.ts.map +1 -1
  3. package/dist/lib/actions/application.js +45 -2
  4. package/dist/lib/actions/auth.d.ts +20 -3
  5. package/dist/lib/actions/auth.d.ts.map +1 -1
  6. package/dist/lib/actions/auth.js +31 -0
  7. package/dist/lib/actions/blog.d.ts.map +1 -1
  8. package/dist/lib/actions/blog.js +3 -2
  9. package/dist/lib/actions/booking.d.ts +29 -1
  10. package/dist/lib/actions/booking.d.ts.map +1 -1
  11. package/dist/lib/actions/booking.js +186 -0
  12. package/dist/lib/actions/brand.d.ts +7 -0
  13. package/dist/lib/actions/brand.d.ts.map +1 -1
  14. package/dist/lib/actions/brand.js +4 -0
  15. package/dist/lib/actions/chat.d.ts +3 -0
  16. package/dist/lib/actions/chat.d.ts.map +1 -1
  17. package/dist/lib/actions/chat.js +40 -1
  18. package/dist/lib/actions/community.d.ts +2 -1
  19. package/dist/lib/actions/community.d.ts.map +1 -1
  20. package/dist/lib/actions/community.js +10 -4
  21. package/dist/lib/actions/companion.d.ts +13 -7
  22. package/dist/lib/actions/companion.d.ts.map +1 -1
  23. package/dist/lib/actions/companion.js +6 -4
  24. package/dist/lib/actions/companionUpload.d.ts +2 -1
  25. package/dist/lib/actions/companionUpload.d.ts.map +1 -1
  26. package/dist/lib/actions/companionUpload.js +2 -1
  27. package/dist/lib/actions/event.d.ts +1 -1
  28. package/dist/lib/actions/event.d.ts.map +1 -1
  29. package/dist/lib/actions/event.js +5 -2
  30. package/dist/lib/actions/fetcher.d.ts +7 -1
  31. package/dist/lib/actions/fetcher.d.ts.map +1 -1
  32. package/dist/lib/actions/fetcher.js +82 -62
  33. package/dist/lib/actions/guide.js +1 -0
  34. package/dist/lib/actions/homeBanner.d.ts +8 -0
  35. package/dist/lib/actions/homeBanner.d.ts.map +1 -0
  36. package/dist/lib/actions/homeBanner.js +33 -0
  37. package/dist/lib/actions/hostDashboard.d.ts +1 -11
  38. package/dist/lib/actions/hostDashboard.d.ts.map +1 -1
  39. package/dist/lib/actions/hostDashboard.js +1 -146
  40. package/dist/lib/actions/itinerary.d.ts +1 -1
  41. package/dist/lib/actions/itinerary.d.ts.map +1 -1
  42. package/dist/lib/actions/itinerary.js +2 -2
  43. package/dist/lib/actions/listingInterest.d.ts +2 -5
  44. package/dist/lib/actions/listingInterest.d.ts.map +1 -1
  45. package/dist/lib/actions/listingInterest.js +18 -3
  46. package/dist/lib/actions/location.d.ts +4 -0
  47. package/dist/lib/actions/location.d.ts.map +1 -1
  48. package/dist/lib/actions/location.js +10 -6
  49. package/dist/lib/actions/marketplaceContract.d.ts.map +1 -1
  50. package/dist/lib/actions/marketplaceContract.js +3 -2
  51. package/dist/lib/actions/nativeTransport.d.ts +25 -0
  52. package/dist/lib/actions/nativeTransport.d.ts.map +1 -0
  53. package/dist/lib/actions/nativeTransport.js +50 -0
  54. package/dist/lib/actions/notification.d.ts +3 -3
  55. package/dist/lib/actions/package.d.ts +5 -3
  56. package/dist/lib/actions/package.d.ts.map +1 -1
  57. package/dist/lib/actions/package.js +11 -6
  58. package/dist/lib/actions/profile.d.ts +5 -0
  59. package/dist/lib/actions/profile.d.ts.map +1 -1
  60. package/dist/lib/actions/profile.js +12 -0
  61. package/dist/lib/actions/review.d.ts +7 -0
  62. package/dist/lib/actions/review.d.ts.map +1 -1
  63. package/dist/lib/actions/review.js +64 -31
  64. package/dist/lib/actions/serverActions.d.ts.map +1 -1
  65. package/dist/lib/actions/serverActions.js +3 -2
  66. package/dist/lib/actions/serverActions.native.d.ts +4 -0
  67. package/dist/lib/actions/serverActions.native.d.ts.map +1 -0
  68. package/dist/lib/actions/serverActions.native.js +5 -0
  69. package/dist/lib/actions/socket.d.ts.map +1 -1
  70. package/dist/lib/actions/socket.js +6 -5
  71. package/dist/lib/actions/stay.d.ts +14 -1
  72. package/dist/lib/actions/stay.d.ts.map +1 -1
  73. package/dist/lib/actions/stay.js +29 -2
  74. package/dist/lib/actions/store.d.ts +1 -0
  75. package/dist/lib/actions/store.d.ts.map +1 -1
  76. package/dist/lib/actions/store.js +9 -0
  77. package/dist/lib/actions/user.d.ts +2 -0
  78. package/dist/lib/actions/user.d.ts.map +1 -1
  79. package/dist/lib/actions/user.js +5 -0
  80. package/dist/lib/authSessionManager.d.ts.map +1 -1
  81. package/dist/lib/authSessionManager.js +42 -39
  82. package/dist/lib/authSessionPolicy.d.ts +2 -0
  83. package/dist/lib/authSessionPolicy.d.ts.map +1 -1
  84. package/dist/lib/authSessionPolicy.js +3 -1
  85. package/dist/lib/data/catalogueLocations.d.ts +3 -0
  86. package/dist/lib/data/catalogueLocations.d.ts.map +1 -0
  87. package/dist/lib/data/catalogueLocations.js +21 -0
  88. package/dist/lib/data/skills.d.ts +5 -0
  89. package/dist/lib/data/skills.d.ts.map +1 -0
  90. package/dist/lib/data/skills.js +97 -0
  91. package/dist/lib/forms/application.d.ts +4 -0
  92. package/dist/lib/forms/application.d.ts.map +1 -0
  93. package/dist/lib/forms/application.js +17 -0
  94. package/dist/lib/forms/packageEnquiry.d.ts +4 -0
  95. package/dist/lib/forms/packageEnquiry.d.ts.map +1 -0
  96. package/dist/lib/forms/packageEnquiry.js +12 -0
  97. package/dist/lib/forms/review.d.ts +6 -0
  98. package/dist/lib/forms/review.d.ts.map +1 -0
  99. package/dist/lib/forms/review.js +20 -0
  100. package/dist/lib/models/application.d.ts +21 -0
  101. package/dist/lib/models/application.d.ts.map +1 -1
  102. package/dist/lib/models/authorization.d.ts +1 -1
  103. package/dist/lib/models/authorization.d.ts.map +1 -1
  104. package/dist/lib/models/authorization.js +2 -0
  105. package/dist/lib/models/booking.d.ts +3 -0
  106. package/dist/lib/models/booking.d.ts.map +1 -1
  107. package/dist/lib/models/chat.d.ts +8 -0
  108. package/dist/lib/models/chat.d.ts.map +1 -1
  109. package/dist/lib/models/chat.js +10 -0
  110. package/dist/lib/models/community.d.ts +2 -0
  111. package/dist/lib/models/community.d.ts.map +1 -1
  112. package/dist/lib/models/community.js +2 -1
  113. package/dist/lib/models/companion.d.ts +42 -0
  114. package/dist/lib/models/companion.d.ts.map +1 -1
  115. package/dist/lib/models/discount.d.ts +8 -8
  116. package/dist/lib/models/enquiry.d.ts +13 -0
  117. package/dist/lib/models/enquiry.d.ts.map +1 -1
  118. package/dist/lib/models/homeBanner.d.ts +17 -0
  119. package/dist/lib/models/homeBanner.d.ts.map +1 -0
  120. package/dist/lib/models/homeBanner.js +1 -0
  121. package/dist/lib/models/interest.d.ts +42 -0
  122. package/dist/lib/models/interest.d.ts.map +1 -0
  123. package/dist/lib/models/interest.js +1 -0
  124. package/dist/lib/models/location.d.ts +1 -0
  125. package/dist/lib/models/location.d.ts.map +1 -1
  126. package/dist/lib/models/notifications.d.ts +2 -2
  127. package/dist/lib/models/opportunities/freelance.d.ts +37 -4
  128. package/dist/lib/models/opportunities/freelance.d.ts.map +1 -1
  129. package/dist/lib/models/opportunities/internship.d.ts +37 -4
  130. package/dist/lib/models/opportunities/internship.d.ts.map +1 -1
  131. package/dist/lib/models/opportunities/job.d.ts +37 -4
  132. package/dist/lib/models/opportunities/job.d.ts.map +1 -1
  133. package/dist/lib/models/opportunities/opportunity.d.ts +38 -5
  134. package/dist/lib/models/opportunities/opportunity.d.ts.map +1 -1
  135. package/dist/lib/models/opportunities/opportunity.js +1 -1
  136. package/dist/lib/models/opportunities/volunteerJob.d.ts +37 -4
  137. package/dist/lib/models/opportunities/volunteerJob.d.ts.map +1 -1
  138. package/dist/lib/models/pricing.d.ts +2 -0
  139. package/dist/lib/models/pricing.d.ts.map +1 -1
  140. package/dist/lib/models/pricing.js +4 -0
  141. package/dist/lib/models/props.d.ts +4 -43
  142. package/dist/lib/models/props.d.ts.map +1 -1
  143. package/dist/lib/models/props.js +3 -121
  144. package/dist/lib/models/question.d.ts +14 -0
  145. package/dist/lib/models/question.d.ts.map +1 -0
  146. package/dist/lib/models/question.js +6 -0
  147. package/dist/lib/models/review.d.ts +13 -1
  148. package/dist/lib/models/review.d.ts.map +1 -1
  149. package/dist/lib/models/review.js +4 -0
  150. package/dist/lib/models/tile.d.ts +7 -1
  151. package/dist/lib/models/tile.d.ts.map +1 -1
  152. package/dist/lib/models/travelPackage.d.ts +37 -4
  153. package/dist/lib/models/travelPackage.d.ts.map +1 -1
  154. package/dist/lib/models/travelPackage.js +1 -1
  155. package/dist/lib/models/user.d.ts +25 -2
  156. package/dist/lib/models/user.d.ts.map +1 -1
  157. package/dist/lib/models/user.js +1 -0
  158. package/dist/lib/userAtom.d.ts +30 -5
  159. package/dist/lib/userAtom.d.ts.map +1 -1
  160. package/dist/lib/userAtom.js +16 -25
  161. package/dist/lib/utils/authCookies.d.ts +3 -0
  162. package/dist/lib/utils/authCookies.d.ts.map +1 -0
  163. package/dist/lib/utils/authCookies.js +4 -0
  164. package/dist/lib/utils/entityTiles.d.ts.map +1 -1
  165. package/dist/lib/utils/entityTiles.js +3 -2
  166. package/dist/lib/utils/htmlDescription.d.ts +3 -0
  167. package/dist/lib/utils/htmlDescription.d.ts.map +1 -0
  168. package/dist/lib/utils/htmlDescription.js +7 -0
  169. package/dist/lib/utils/htmlDescription.native.d.ts +3 -0
  170. package/dist/lib/utils/htmlDescription.native.d.ts.map +1 -0
  171. package/dist/lib/utils/htmlDescription.native.js +7 -0
  172. package/dist/lib/utils/text.d.ts +3 -1
  173. package/dist/lib/utils/text.d.ts.map +1 -1
  174. package/dist/lib/utils/text.js +5 -6
  175. package/dist/lib/utils/uploadFile.d.ts +9 -0
  176. package/dist/lib/utils/uploadFile.d.ts.map +1 -0
  177. package/dist/lib/utils/uploadFile.js +9 -0
  178. package/dist/lib/utils/uploadTasks.d.ts.map +1 -1
  179. package/dist/lib/utils/uploadTasks.js +9 -1
  180. package/package.json +1 -2
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/user.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAK3C,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAe3D;AACD,wBAAsB,cAAc,CAChC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,QAAQ,GAAG,MAAM,GACxB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmBrG;AAED,eAAO,MAAM,OAAO;wBAEU,MAAM,QAAQ,MAAM;eAED,MAAM;cAAQ,GAAG;;;;;0BAQlC,MAAM,QAAQ,MAAM;eAEH,MAAM;cAAQ,GAAG;;;;;;;6BA4B/B,MAAM,QAAQ,MAAM;mBAEoB,OAAO;oBAAc,OAAO;;CAOtG,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,WAAW,uBAAiB,CAAC;AAE1C,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CAAE,CAAC,CAiB5O"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/user.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAK3C,oFAAoF;AACpF,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAG7D;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAe3D;AACD,wBAAsB,cAAc,CAChC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,QAAQ,GAAG,MAAM,GACxB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmBrG;AAED,eAAO,MAAM,OAAO;wBAEU,MAAM,QAAQ,MAAM;eAED,MAAM;cAAQ,GAAG;;;;;0BAQlC,MAAM,QAAQ,MAAM;eAEH,MAAM;cAAQ,GAAG;;;;;;;6BA4B/B,MAAM,QAAQ,MAAM;mBAEoB,OAAO;oBAAc,OAAO;;CAOtG,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,WAAW,uBAAiB,CAAC;AAE1C,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CAAE,CAAC,CAiB5O"}
@@ -1,6 +1,11 @@
1
1
  import { get, post } from "./fetcher";
2
2
  import { getAccountType } from "./serverActions";
3
3
  const BASE_PATH = "/users";
4
+ /** Strict session read for native restoration: outages must not look signed out. */
5
+ export async function getTravellerSessionUser() {
6
+ const response = await get("/users/me");
7
+ return response.data;
8
+ }
4
9
  export async function getCurrentUser() {
5
10
  try {
6
11
  const accountType = await getAccountType();
@@ -1 +1 @@
1
- {"version":3,"file":"authSessionManager.d.ts","sourceRoot":"","sources":["../../src/lib/authSessionManager.tsx"],"names":[],"mappings":"AAuBA,MAAM,CAAC,OAAO,UAAU,kBAAkB,SA2GzC"}
1
+ {"version":3,"file":"authSessionManager.d.ts","sourceRoot":"","sources":["../../src/lib/authSessionManager.tsx"],"names":[],"mappings":"AAuBA,MAAM,CAAC,OAAO,UAAU,kBAAkB,SAiGzC"}
@@ -1,14 +1,16 @@
1
1
  'use client';
2
2
  import { useAtomValue, useSetAtom } from "jotai";
3
3
  import { useEffect } from 'react';
4
- import { useQuery } from '@tanstack/react-query';
5
- import { authRevisionAtom, authSessionStatusAtom, beginAuthCleanupAtom, finishAuthCleanupAtom, initializeAuthSessionAtom, isLoggedInAtom, storageInitializedAtom, userAtom, } from "./userAtom";
6
- import { clearSessionCookies, validateSession } from './actions/auth';
4
+ import { useQuery, useQueryClient } from '@tanstack/react-query';
5
+ import { authRevisionAtom, commitLoginAtom, resetAuthStateAtom, authSessionStatusAtom, initializeAuthSessionAtom, isLoggedInAtom, storageInitializedAtom, userAtom, } from "./userAtom";
6
+ import { validateSession } from './actions/auth';
7
7
  import { bindSessionFailureToRevision, sessionIdentityMatchesPersistedUser, shouldResetAuthStateForQuery, } from './authSessionPolicy';
8
8
  export default function AuthSessionManager() {
9
+ const queryClient = useQueryClient();
10
+ const commitLogin = useSetAtom(commitLoginAtom);
11
+ const updateUser = useSetAtom(userAtom);
12
+ const resetLocal = useSetAtom(resetAuthStateAtom);
9
13
  const initializeAuthSession = useSetAtom(initializeAuthSessionAtom);
10
- const beginAuthCleanup = useSetAtom(beginAuthCleanupAtom);
11
- const finishAuthCleanup = useSetAtom(finishAuthCleanupAtom);
12
14
  const setAuthSessionStatus = useSetAtom(authSessionStatusAtom);
13
15
  const authRevision = useAtomValue(authRevisionAtom);
14
16
  const user = useAtomValue(userAtom);
@@ -24,6 +26,16 @@ export default function AuthSessionManager() {
24
26
  });
25
27
  return () => window.cancelAnimationFrame(frame);
26
28
  }, [initializeAuthSession]);
29
+ useEffect(() => {
30
+ const reconcile = (event) => {
31
+ if (event.key === process.env.NEXT_PUBLIC_USER_KEY || event.key === process.env.NEXT_PUBLIC_LOGIN_KEY) {
32
+ setAuthSessionStatus("validating");
33
+ void queryClient.invalidateQueries({ queryKey: ["session"] });
34
+ }
35
+ };
36
+ window.addEventListener("storage", reconcile);
37
+ return () => window.removeEventListener("storage", reconcile);
38
+ }, [queryClient, setAuthSessionStatus]);
27
39
  // --- Continuous Background Re-validation ---
28
40
  const { data: sessionResult, error, } = useQuery({
29
41
  queryKey: ["session", authRevision],
@@ -38,62 +50,53 @@ export default function AuthSessionManager() {
38
50
  throw bindSessionFailureToRevision(queryError, authRevision);
39
51
  }
40
52
  },
41
- refetchOnWindowFocus: true,
42
- refetchOnReconnect: true,
53
+ refetchOnWindowFocus: "always",
54
+ refetchOnReconnect: "always",
43
55
  retry: (failureCount, err) => {
44
56
  if (err?.statusCode === 401)
45
57
  return false;
46
58
  return failureCount < 2;
47
59
  },
48
60
  staleTime: 15 * 60 * 1000,
49
- enabled: storageInitialized && Boolean(isLoggedIn && user),
61
+ enabled: storageInitialized,
50
62
  });
51
63
  // Clear auth state only when the backend explicitly says the session is invalid (401).
52
64
  // Network errors or 5xx (backend down) are ignored to avoid false logouts.
53
65
  useEffect(() => {
54
- // A signed-out browser does not need to be reset repeatedly.
55
- if (!isLoggedIn && !user)
66
+ if (!storageInitialized)
56
67
  return;
57
- const shouldClearRejectedOrInvalidSession = shouldResetAuthStateForQuery({
58
- session: sessionResult?.session,
59
- sessionRevision: sessionResult?.revision,
60
- error: error,
61
- currentRevision: authRevision,
62
- });
63
- const currentSuccessfulResult = sessionResult?.revision === authRevision
64
- ? sessionResult
65
- : null;
66
- if (shouldClearRejectedOrInvalidSession || (currentSuccessfulResult
67
- && !sessionIdentityMatchesPersistedUser(currentSuccessfulResult.session.identity, user))) {
68
- // Keep auth controls non-interactive until the Set-Cookie cleanup
69
- // response settles; otherwise a delayed response can erase a new
70
- // login performed while cleanup is still in flight.
71
- beginAuthCleanup();
72
- const cleanupRevision = authRevision + 1;
73
- void (async () => {
74
- try {
75
- await clearSessionCookies();
76
- }
77
- finally {
78
- finishAuthCleanup(cleanupRevision);
79
- }
80
- })();
68
+ const current = sessionResult?.revision === authRevision ? sessionResult.session : null;
69
+ const rejected = shouldResetAuthStateForQuery({ session: current, sessionRevision: sessionResult?.revision, error: error, currentRevision: authRevision });
70
+ if (rejected) {
71
+ if (isLoggedIn || user)
72
+ resetLocal();
73
+ else
74
+ setAuthSessionStatus("signed-out");
81
75
  return;
82
76
  }
83
- // A retryable network/server failure has no authoritative session
84
- // result. Keep the provisional identity validating until a later retry.
85
- if (!currentSuccessfulResult)
77
+ if (!current?.success) {
78
+ if (error && !user)
79
+ setAuthSessionStatus("signed-out");
86
80
  return;
81
+ }
82
+ if (!sessionIdentityMatchesPersistedUser(current.identity, user)) {
83
+ if (current.user)
84
+ commitLogin(current.user);
85
+ else
86
+ resetLocal();
87
+ return;
88
+ }
89
+ if (current.user && JSON.stringify(current.user) !== JSON.stringify(user))
90
+ updateUser(current.user);
87
91
  setAuthSessionStatus("authenticated");
88
92
  }, [
93
+ commitLogin, resetLocal, updateUser,
89
94
  sessionResult,
90
95
  error,
91
96
  authRevision,
92
97
  isLoggedIn,
93
98
  storageInitialized,
94
99
  user,
95
- beginAuthCleanup,
96
- finishAuthCleanup,
97
100
  setAuthSessionStatus,
98
101
  ]);
99
102
  return null;
@@ -24,6 +24,8 @@ export interface PersistedIdentityLike {
24
24
  export type AuthSessionStatus = "initializing" | "clearing" | "signed-out" | "validating" | "authenticated";
25
25
  export declare function isAuthSessionPending(status: AuthSessionStatus): boolean;
26
26
  export declare function canFinishAuthCleanup(expectedRevision: number, currentRevision: number): boolean;
27
+ /** Legacy explicit-cleanup compatibility export. Never call this merely because
28
+ * an origin-local profile cache is absent; reconcile the cookie session instead. */
27
29
  export declare function clearCacheMissSessionBoundary({ cleanupRevision, getCurrentRevision, clearSession, }: {
28
30
  cleanupRevision: number;
29
31
  getCurrentRevision: () => number;
@@ -1 +1 @@
1
- {"version":3,"file":"authSessionPolicy.d.ts","sourceRoot":"","sources":["../../src/lib/authSessionPolicy.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAChE,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,MAAM,iBAAiB,GACvB,cAAc,GACd,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,eAAe,CAAC;AAEtB,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAIvE;AAED,wBAAgB,oBAAoB,CAChC,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,GACxB,OAAO,CAET;AAED,wBAAsB,6BAA6B,CAAC,EAChD,eAAe,EACf,kBAAkB,EAClB,YAAY,GACf,EAAE;IACC,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,MAAM,CAAC;IACjC,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC,GAAG,OAAO,CAAC,OAAO,CAAC,CAInB;AAED,wBAAgB,4BAA4B,CACxC,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,MAAM,GACrB,wBAAwB,CAO1B;AAED,wBAAgB,4BAA4B,CAAC,EACzC,OAAO,EACP,eAAe,EACf,KAAK,EACL,eAAe,GAClB,EAAE;IACC,OAAO,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IACxC,eAAe,EAAE,MAAM,CAAC;CAC3B,GAAG,OAAO,CAIV;AAED,wBAAgB,uBAAuB,CACnC,IAAI,EAAE,qBAAqB,GAC5B,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAMlC;AAED,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE9F;AAED,wBAAgB,oBAAoB,CAChC,OAAO,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,EACjD,KAAK,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,GAC7C,OAAO,CAET;AAED,wBAAgB,mCAAmC,CAC/C,QAAQ,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EAC5C,IAAI,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GAC/C,OAAO,CAcT"}
1
+ {"version":3,"file":"authSessionPolicy.d.ts","sourceRoot":"","sources":["../../src/lib/authSessionPolicy.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAChE,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,MAAM,iBAAiB,GACvB,cAAc,GACd,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,eAAe,CAAC;AAEtB,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAIvE;AAED,wBAAgB,oBAAoB,CAChC,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,GACxB,OAAO,CAET;AAED;oFACoF;AACpF,wBAAsB,6BAA6B,CAAC,EAChD,eAAe,EACf,kBAAkB,EAClB,YAAY,GACf,EAAE;IACC,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,MAAM,CAAC;IACjC,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC,GAAG,OAAO,CAAC,OAAO,CAAC,CAInB;AAED,wBAAgB,4BAA4B,CACxC,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,MAAM,GACrB,wBAAwB,CAO1B;AAED,wBAAgB,4BAA4B,CAAC,EACzC,OAAO,EACP,eAAe,EACf,KAAK,EACL,eAAe,GAClB,EAAE;IACC,OAAO,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IACxC,eAAe,EAAE,MAAM,CAAC;CAC3B,GAAG,OAAO,CAIV;AAED,wBAAgB,uBAAuB,CACnC,IAAI,EAAE,qBAAqB,GAC5B,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAMlC;AAED,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE9F;AAED,wBAAgB,oBAAoB,CAChC,OAAO,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,EACjD,KAAK,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,GAC7C,OAAO,CAET;AAED,wBAAgB,mCAAmC,CAC/C,QAAQ,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EAC5C,IAAI,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GAC/C,OAAO,CAcT"}
@@ -6,6 +6,8 @@ export function isAuthSessionPending(status) {
6
6
  export function canFinishAuthCleanup(expectedRevision, currentRevision) {
7
7
  return expectedRevision === currentRevision;
8
8
  }
9
+ /** Legacy explicit-cleanup compatibility export. Never call this merely because
10
+ * an origin-local profile cache is absent; reconcile the cookie session instead. */
9
11
  export async function clearCacheMissSessionBoundary({ cleanupRevision, getCurrentRevision, clearSession, }) {
10
12
  if (getCurrentRevision() !== cleanupRevision)
11
13
  return false;
@@ -38,7 +40,7 @@ export function getPersistedAccountType(user) {
38
40
  return null;
39
41
  }
40
42
  export function normalizeRefreshFailureStatus(statusCode) {
41
- return statusCode >= 400 && statusCode < 500 ? 401 : statusCode;
43
+ return [400, 401, 403, 422].includes(statusCode) ? 401 : statusCode;
42
44
  }
43
45
  export function isExpectedSignedOutError(error) {
44
46
  return error?.statusCode === 401;
@@ -0,0 +1,3 @@
1
+ /** Exact legacy website catalogue city suggestions; distinct from the richer destination directory. */
2
+ export declare const WEBSITE_DISCOVERY_CITIES: string[];
3
+ //# sourceMappingURL=catalogueLocations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalogueLocations.d.ts","sourceRoot":"","sources":["../../../src/lib/data/catalogueLocations.ts"],"names":[],"mappings":"AAAA,uGAAuG;AACvG,eAAO,MAAM,wBAAwB,EAAE,MAAM,EAmB5C,CAAC"}
@@ -0,0 +1,21 @@
1
+ /** Exact legacy website catalogue city suggestions; distinct from the richer destination directory. */
2
+ export const WEBSITE_DISCOVERY_CITIES = [
3
+ "Manali", "Shimla", "Spiti Valley", "Kasol", "Mcleod Ganj", "Dharamshala", "Dalhousie", "Kullu", "Kinnaur",
4
+ "Rishikesh", "Haridwar", "Nainital", "Mussoorie", "Dehradun", "Auli", "Lansdowne", "Ranikhet", "Jim Corbett", "Chopta",
5
+ "Darjeeling", "Kalimpong", "Gangtok", "Pelling", "Lachung",
6
+ "Shillong", "Cherrapunji", "Mawlynnong", "Tawang", "Ziro",
7
+ "Srinagar", "Gulmarg", "Pahalgam", "Sonamarg", "Vaishno Devi",
8
+ "Ladakh", "Leh", "Nubra Valley", "Pangong Lake", "Tso Moriri", "Zanskar Valley",
9
+ "Jaipur", "Udaipur", "Jodhpur", "Jaisalmer", "Pushkar", "Ajmer", "Bikaner", "Mount Abu", "Ranthambore", "Bundi", "Chittorgarh",
10
+ "Goa", "Panaji", "Calangute", "Arambol", "Palolem",
11
+ "Munnar", "Alleppey", "Varkala", "Kochi", "Wayanad", "Thekkady", "Kozhikode", "Kovalam", "Kannur", "Vagamon",
12
+ "Ooty", "Kodaikanal", "Chennai", "Madurai", "Coimbatore", "Pondicherry", "Rameswaram", "Kanyakumari", "Mahabalipuram", "Yercaud",
13
+ "Coorg", "Mysore", "Bangalore", "Hampi", "Badami", "Chikmagalur", "Dandeli", "Mangalore", "Udupi", "Gokarna", "Sakleshpur", "Nagarhole",
14
+ "Mumbai", "Pune", "Mahabaleshwar", "Lonavala", "Alibaug", "Aurangabad", "Nagpur", "Nashik", "Shirdi", "Kolhapur", "Matheran", "Tadoba",
15
+ "Ahmedabad", "Surat", "Rann of Kutch", "Dwarka", "Somnath", "Gir", "Vadodara", "Rajkot", "Mandvi", "Saputara",
16
+ "Varanasi", "Agra", "Lucknow", "Prayagraj", "Mathura", "Vrindavan", "Ayodhya", "Kanpur",
17
+ "Delhi", "Kolkata", "Hyderabad", "Chandigarh", "Amritsar", "Bhubaneswar", "Patna",
18
+ "Andaman Islands", "Havelock Island", "Lakshadweep", "Puri", "Vizag", "Tirupati",
19
+ "Khajuraho", "Bhopal", "Indore", "Ujjain", "Orchha", "Pachmarhi", "Bandhavgarh", "Kanha",
20
+ "Kaziranga", "Guwahati", "Majuli", "Imphal", "Kohima", "Shillong",
21
+ ];
@@ -0,0 +1,5 @@
1
+ /** Existing website suggestions; custom application skills remain supported. */
2
+ export declare const skillsOptions: {
3
+ title: string;
4
+ }[];
5
+ //# sourceMappingURL=skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../src/lib/data/skills.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,eAAO,MAAM,aAAa;;GA+FzB,CAAC"}
@@ -0,0 +1,97 @@
1
+ /** Existing website suggestions; custom application skills remain supported. */
2
+ export const skillsOptions = [
3
+ { title: "Graphic Design" },
4
+ { title: "Branding" },
5
+ { title: "UI/UX" },
6
+ { title: "Motion Graphics" },
7
+ { title: "Video Editing" },
8
+ { title: "Photography" },
9
+ { title: "Illustration" },
10
+ { title: "Copywriting" },
11
+ { title: "Content Writing" },
12
+ { title: "Social Media" },
13
+ { title: "SEO" },
14
+ { title: "UX Research" },
15
+ { title: "AR Design" },
16
+ { title: "3D Modeling" },
17
+ { title: "Typography" },
18
+ { title: "Email Marketing" },
19
+ { title: "Influencer Marketing" },
20
+ { title: "Growth Hacking" },
21
+ { title: "No-Code Development" },
22
+ { title: "Art Direction" },
23
+ { title: "Web Development" },
24
+ { title: "E-commerce" },
25
+ { title: "Podcasting" },
26
+ { title: "Data Visualization" },
27
+ { title: "Advertising" },
28
+ { title: "Web Animation" },
29
+ { title: "Music Production" },
30
+ { title: "NFT Strategy" },
31
+ { title: "AI Content Creation" },
32
+ { title: "Innovator" },
33
+ { title: "Writer" },
34
+ { title: "Content Creator" },
35
+ { title: "Photographer" },
36
+ { title: "Videographer" },
37
+ { title: "Musician" },
38
+ { title: "Comedian" },
39
+ { title: "Architect" },
40
+ { title: "Interior Design" },
41
+ { title: "Event Management" },
42
+ { title: "Community Engagement" },
43
+ { title: "Chef" },
44
+ { title: "Teacher" },
45
+ { title: "Wildlife Conservation" },
46
+ { title: "Hospitality Management" },
47
+ { title: "Web Designer" },
48
+ { title: "Digital Marketing" },
49
+ { title: "Sales" },
50
+ { title: "Business Development" },
51
+ { title: "Public Relations" },
52
+ { title: "HR" },
53
+ { title: "Supply Chain" },
54
+ { title: "Operations" },
55
+ { title: "Farming" },
56
+ { title: "Tour Guide" },
57
+ { title: "Gardening" },
58
+ { title: "Bartending" },
59
+ { title: "Kitchen Help" },
60
+ { title: "Pottery" },
61
+ { title: "Jewelry Design" },
62
+ { title: "Scientist" },
63
+ { title: "Language Teaching" },
64
+ { title: "Artist" },
65
+ { title: "Grant Writing" },
66
+ { title: "Waste Management" },
67
+ { title: "Experience Design" },
68
+ { title: "Wall Art" },
69
+ { title: "Upcycling" },
70
+ { title: "Party Promotion" },
71
+ { title: "Crafting" },
72
+ { title: "Social Media Management" },
73
+ { title: "Community Management" },
74
+ { title: "Creative Writing" },
75
+ { title: "Blogging" },
76
+ { title: "Scriptwriting" },
77
+ { title: "Voiceover" },
78
+ { title: "Animation" },
79
+ { title: "Photo Editing" },
80
+ { title: "Sound Design" },
81
+ { title: "Live Streaming" },
82
+ { title: "Wireframing" },
83
+ { title: "Prototyping" },
84
+ { title: "Visual Design" },
85
+ { title: "Campaign Strategy" },
86
+ { title: "Marketing Strategy" },
87
+ { title: "Content Strategy" },
88
+ { title: "Creative Strategy" },
89
+ { title: "Digital Illustration" },
90
+ { title: "Color Grading" },
91
+ { title: "Editing" },
92
+ { title: "Subtitling" },
93
+ { title: "Voice Editing" },
94
+ { title: "Photography Styling" },
95
+ { title: "Property Management" },
96
+ { title: "Decoration" },
97
+ ];
@@ -0,0 +1,4 @@
1
+ import type { ApplicationInput } from "../models/application";
2
+ /** The existing multipart endpoints strip sentinel values around skills. */
3
+ export declare function applicationFormData(input: ApplicationInput, editing?: boolean): FormData;
4
+ //# sourceMappingURL=application.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../src/lib/forms/application.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,4EAA4E;AAC5E,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,gBAAgB,EACvB,OAAO,UAAQ,GACd,QAAQ,CAYV"}
@@ -0,0 +1,17 @@
1
+ import { appendUploadFile } from "../utils/uploadFile";
2
+ /** The existing multipart endpoints strip sentinel values around skills. */
3
+ export function applicationFormData(input, editing = false) {
4
+ const body = new FormData();
5
+ body.append("opportunityId", input.opportunityId);
6
+ body.append("skills", "start");
7
+ input.skills.forEach((skill) => body.append("skills", skill));
8
+ body.append("skills", "end");
9
+ body.append("fromDate", input.fromDate);
10
+ body.append("toDate", input.toDate);
11
+ body.append("helpAnswer", input.helpAnswer);
12
+ if (input.resume)
13
+ appendUploadFile(body, "resume", input.resume);
14
+ if (editing)
15
+ body.append("status", "pending");
16
+ return body;
17
+ }
@@ -0,0 +1,4 @@
1
+ import type { PackageEnquiryInput } from "../models/enquiry";
2
+ /** The create route uses multer.none and JSON-encoded activity names. */
3
+ export declare function packageEnquiryFormData(input: PackageEnquiryInput): FormData;
4
+ //# sourceMappingURL=packageEnquiry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageEnquiry.d.ts","sourceRoot":"","sources":["../../../src/lib/forms/packageEnquiry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,yEAAyE;AACzE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,GAAG,QAAQ,CAS3E"}
@@ -0,0 +1,12 @@
1
+ /** The create route uses multer.none and JSON-encoded activity names. */
2
+ export function packageEnquiryFormData(input) {
3
+ const body = new FormData();
4
+ body.append("packageId", input.packageId);
5
+ body.append("males", String(input.males));
6
+ body.append("females", String(input.females));
7
+ body.append("message", input.message);
8
+ if (input.desiredStartDate)
9
+ body.append("desiredStartDate", input.desiredStartDate);
10
+ body.append("selectedActivities", JSON.stringify(input.selectedActivities));
11
+ return body;
12
+ }
@@ -0,0 +1,6 @@
1
+ import type { ReviewFormData, reviewTargetType } from "../models/review";
2
+ export declare function reviewRequestBody(input: ReviewFormData, target?: {
3
+ id: string;
4
+ type: reviewTargetType;
5
+ }): FormData | Record<string, unknown>;
6
+ //# sourceMappingURL=review.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/lib/forms/review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,MAAM,CAAC,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC9C,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmBpC"}
@@ -0,0 +1,20 @@
1
+ import { appendUploadFile } from "../utils/uploadFile";
2
+ export function reviewRequestBody(input, target) {
3
+ const images = input.images?.filter((image) => typeof image !== "string") || [];
4
+ if (images.length) {
5
+ const body = new FormData();
6
+ if (target) {
7
+ body.append("reviewee", target.id);
8
+ body.append("revieweeType", target.type);
9
+ }
10
+ body.append("rating", String(input.rating));
11
+ body.append("comment", input.comment || "");
12
+ images.forEach((image) => appendUploadFile(body, "images", image));
13
+ return body;
14
+ }
15
+ return {
16
+ ...(target ? { reviewee: target.id, revieweeType: target.type } : {}),
17
+ rating: input.rating,
18
+ comment: input.comment,
19
+ };
20
+ }
@@ -21,6 +21,27 @@ export interface Application {
21
21
  tripEndDate: string;
22
22
  createdAt: string;
23
23
  updatedAt: string;
24
+ isDeleted?: boolean;
25
+ membershipAccessSnapshot?: {
26
+ requiredTier?: string;
27
+ currentTier?: string;
28
+ requirementStatus?: string;
29
+ passUsed?: boolean;
30
+ benefitKey?: string;
31
+ lifetimeLimit?: number;
32
+ };
24
33
  }
34
+ /** Common traveller form supported by every opportunity category. */
35
+ export interface ApplicationInput {
36
+ opportunityId: string;
37
+ skills: string[];
38
+ fromDate: string;
39
+ toDate: string;
40
+ helpAnswer: string;
41
+ resume?: import('../utils/uploadFile').UploadFile;
42
+ }
43
+ export type ApplicationSummary = Pick<Application, '_id' | 'status' | 'tripStartDate' | 'tripEndDate' | 'opportunityId' | 'opportunityType' | 'hostId' | 'opportunityTitle'> & {
44
+ isDeleted?: boolean;
45
+ };
25
46
  export declare const mockApplications: Application[];
26
47
  //# sourceMappingURL=application.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../src/lib/models/application.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,eAAe,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;AAElG,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IAEZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,YAAY,GAAG,WAAW,GAAG,gBAAgB,CAAC;IACtF,QAAQ,EAAE,MAAM,CAAC;IAEjB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,gBAAgB,EAAE,WAAW,EAiIzC,CAAC"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../src/lib/models/application.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,eAAe,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;AAElG,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IAEZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,YAAY,GAAG,WAAW,GAAG,gBAAgB,CAAC;IACtF,QAAQ,EAAE,MAAM,CAAC;IAEjB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wBAAwB,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3K;AAED,qEAAqE;AACrE,MAAM,WAAW,gBAAgB;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,qBAAqB,EAAE,UAAU,CAAC;CACrD;AACD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,QAAQ,GAAG,eAAe,GAAG,aAAa,GAAG,eAAe,GAAG,iBAAiB,GAAG,QAAQ,GAAG,kBAAkB,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEvM,eAAO,MAAM,gBAAgB,EAAE,WAAW,EAiIzC,CAAC"}
@@ -110,7 +110,7 @@ export declare function canAccessListingEditor(actor: PermissionAwareActor | nul
110
110
  export declare function canAccessOpportunityApplicationReview(actor: PermissionAwareActor | null | undefined): boolean;
111
111
  export declare function canManageOpportunityApplicationReview(actor: PermissionAwareActor | null | undefined): boolean;
112
112
  export declare function getOpportunityApplicationApprovalStatus(actor: PermissionAwareActor | null | undefined): "adminApproved" | "approved";
113
- export declare function getAdminDashboardRoutePermissions(pathname: string): readonly ["listings.moderate"] | readonly ["content.moderate"] | readonly ["payouts.read", "payouts.record"] | readonly ["roles.read", "roles.manage", "permissions.read", "permissions.manage"] | readonly ["verification.read", "verification.manage", "users.manage", "hosts.manage", "staff.manage"] | readonly ["opportunities.applications.read"] | readonly ["bookings.read.all", "bookings.manage.all"] | readonly ["itinerary_orders.read.all", "itinerary_orders.fulfill", "itinerary_orders.refunds.manage"] | readonly [];
113
+ export declare function getAdminDashboardRoutePermissions(pathname: string): readonly ["listings.moderate"] | readonly ["content.moderate"] | readonly ["payouts.read", "payouts.record"] | readonly ["roles.read", "roles.manage", "permissions.read", "permissions.manage"] | readonly ["verification.read", "verification.manage", "users.manage", "hosts.manage", "staff.manage"] | readonly ["opportunities.applications.read"] | readonly ["bookings.read.all", "bookings.manage.all"] | readonly ["platform.settings.manage"] | readonly ["itinerary_orders.read.all", "itinerary_orders.fulfill", "itinerary_orders.refunds.manage"] | readonly [];
114
114
  export declare function hasAdminDashboardRouteAccess(actor: PermissionAwareActor | null | undefined, pathname: string): boolean;
115
115
  export declare function getHostDashboardRoutePermissions(pathname: string): readonly ["listings.moderate"] | readonly ["opportunities.applications.read"] | readonly ["bookings.read.all", "bookings.manage.all"] | readonly [] | readonly ["listings.create"];
116
116
  export declare function hasHostDashboardRouteAccess(actor: PermissionAwareActor | null | undefined, pathname: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"authorization.d.ts","sourceRoot":"","sources":["../../../src/lib/models/authorization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authorization.d.ts","sourceRoot":"","sources":["../../../src/lib/models/authorization.ts"],"names":[],"mappings":"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"}
@@ -259,6 +259,8 @@ export function getOpportunityApplicationApprovalStatus(actor) {
259
259
  }
260
260
  export function getAdminDashboardRoutePermissions(pathname) {
261
261
  const path = String(pathname || "").toLowerCase();
262
+ if (path.startsWith("/dashboard/staff/home-banners"))
263
+ return ["platform.settings.manage"];
262
264
  if (path.includes("/registrations"))
263
265
  return ADMIN_ROUTE_PERMISSION_GROUPS.registrations;
264
266
  if (path.startsWith("/dashboard/staff/applications")) {
@@ -1,6 +1,8 @@
1
1
  export type BookingStatus = "pending" | "confirmed" | "cancelled" | "completed" | "refunded";
2
2
  export type PaymentStatus = "pending" | "paid" | "failed" | "refunded";
3
3
  export interface Booking {
4
+ recordSource?: "generic" | "stay" | "event" | "enquiry";
5
+ enquirySnapshot?: import("./enquiry").TravellerEnquirySnapshot;
4
6
  _id: string;
5
7
  userId: string | {
6
8
  _id?: string;
@@ -28,6 +30,7 @@ export interface Booking {
28
30
  homeDeliveryCharge?: number;
29
31
  numberOfPeople: number;
30
32
  totalPrice: number;
33
+ upfrontPaymentAmount?: number;
31
34
  currency: string;
32
35
  status: BookingStatus;
33
36
  paymentStatus: PaymentStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"booking.d.ts","sourceRoot":"","sources":["../../../src/lib/models/booking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"booking.d.ts","sourceRoot":"","sources":["../../../src/lib/models/booking.ts"],"names":[],"mappings":"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"}
@@ -105,6 +105,14 @@ export interface Conversation {
105
105
  updatedAt: string;
106
106
  preference: ConversationPreference;
107
107
  }
108
+ /** Presentation capabilities mirror returned membership/send constraints; APIs remain authoritative. */
109
+ export declare function getChatViewerCapabilities(conversation: Conversation | null | undefined, actor: ChatActorRef | null | undefined, now?: number): {
110
+ active: boolean;
111
+ admin: boolean;
112
+ canSend: boolean;
113
+ reason: string;
114
+ participant: Participant | undefined;
115
+ };
108
116
  export interface MediaItem {
109
117
  url: string;
110
118
  mimeType: string;