@myrjfa/state 2.2.0 → 2.3.1

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 (249) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +20 -3
  3. package/dist/index.d.ts +8 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +8 -0
  6. package/dist/lib/actions/actions.d.ts +13 -13
  7. package/dist/lib/actions/actions.d.ts.map +1 -1
  8. package/dist/lib/actions/actions.js +5 -4
  9. package/dist/lib/actions/adminDashboard.d.ts +4 -0
  10. package/dist/lib/actions/adminDashboard.d.ts.map +1 -0
  11. package/dist/lib/actions/adminDashboard.js +29 -0
  12. package/dist/lib/actions/adventure.d.ts +104 -0
  13. package/dist/lib/actions/adventure.d.ts.map +1 -0
  14. package/dist/lib/actions/adventure.js +203 -0
  15. package/dist/lib/actions/application.d.ts +35 -0
  16. package/dist/lib/actions/application.d.ts.map +1 -0
  17. package/dist/lib/actions/application.js +573 -0
  18. package/dist/lib/actions/auth.d.ts +108 -3
  19. package/dist/lib/actions/auth.d.ts.map +1 -1
  20. package/dist/lib/actions/auth.js +38 -8
  21. package/dist/lib/actions/blog.d.ts +61 -0
  22. package/dist/lib/actions/blog.d.ts.map +1 -0
  23. package/dist/lib/actions/blog.js +762 -0
  24. package/dist/lib/actions/brand.d.ts +83 -0
  25. package/dist/lib/actions/brand.d.ts.map +1 -0
  26. package/dist/lib/actions/brand.js +28 -0
  27. package/dist/lib/actions/chat.d.ts +261 -24
  28. package/dist/lib/actions/chat.d.ts.map +1 -1
  29. package/dist/lib/actions/chat.js +525 -41
  30. package/dist/lib/actions/companion.d.ts +174 -0
  31. package/dist/lib/actions/companion.d.ts.map +1 -0
  32. package/dist/lib/actions/companion.js +276 -0
  33. package/dist/lib/actions/event.d.ts +178 -0
  34. package/dist/lib/actions/event.d.ts.map +1 -0
  35. package/dist/lib/actions/event.js +214 -0
  36. package/dist/lib/actions/fetcher.d.ts.map +1 -1
  37. package/dist/lib/actions/fetcher.js +18 -8
  38. package/dist/lib/actions/guide.d.ts +55 -0
  39. package/dist/lib/actions/guide.d.ts.map +1 -0
  40. package/dist/lib/actions/guide.js +128 -0
  41. package/dist/lib/actions/hostDashboard.d.ts +122 -0
  42. package/dist/lib/actions/hostDashboard.d.ts.map +1 -0
  43. package/dist/lib/actions/hostDashboard.js +329 -0
  44. package/dist/lib/actions/location.d.ts +141 -0
  45. package/dist/lib/actions/location.d.ts.map +1 -0
  46. package/dist/lib/actions/location.js +113 -0
  47. package/dist/lib/actions/notifications.d.ts +91 -0
  48. package/dist/lib/actions/notifications.d.ts.map +1 -0
  49. package/dist/lib/actions/notifications.js +83 -0
  50. package/dist/lib/actions/opportunity.d.ts +44 -0
  51. package/dist/lib/actions/opportunity.d.ts.map +1 -0
  52. package/dist/lib/actions/opportunity.js +318 -0
  53. package/dist/lib/actions/package.d.ts +85 -0
  54. package/dist/lib/actions/package.d.ts.map +1 -0
  55. package/dist/lib/actions/package.js +167 -0
  56. package/dist/lib/actions/place.d.ts +191 -0
  57. package/dist/lib/actions/place.d.ts.map +1 -0
  58. package/dist/lib/actions/place.js +57 -0
  59. package/dist/lib/actions/portfolio.d.ts +65 -0
  60. package/dist/lib/actions/portfolio.d.ts.map +1 -0
  61. package/dist/lib/actions/portfolio.js +62 -0
  62. package/dist/lib/actions/property.d.ts +17 -0
  63. package/dist/lib/actions/property.d.ts.map +1 -0
  64. package/dist/lib/actions/property.js +16 -0
  65. package/dist/lib/actions/rental.d.ts +87 -0
  66. package/dist/lib/actions/rental.d.ts.map +1 -0
  67. package/dist/lib/actions/rental.js +205 -0
  68. package/dist/lib/actions/review.d.ts +8 -0
  69. package/dist/lib/actions/review.d.ts.map +1 -0
  70. package/dist/lib/actions/review.js +102 -0
  71. package/dist/lib/actions/room.d.ts +39 -0
  72. package/dist/lib/actions/room.d.ts.map +1 -0
  73. package/dist/lib/actions/room.js +74 -0
  74. package/dist/lib/actions/serverActions.d.ts +1 -0
  75. package/dist/lib/actions/serverActions.d.ts.map +1 -1
  76. package/dist/lib/actions/serverActions.js +15 -0
  77. package/dist/lib/actions/socket.d.ts.map +1 -1
  78. package/dist/lib/actions/socket.js +5 -1
  79. package/dist/lib/actions/stay.d.ts +97 -0
  80. package/dist/lib/actions/stay.d.ts.map +1 -0
  81. package/dist/lib/actions/stay.js +138 -0
  82. package/dist/lib/actions/travelPackage.d.ts +104 -0
  83. package/dist/lib/actions/travelPackage.d.ts.map +1 -0
  84. package/dist/lib/actions/travelPackage.js +487 -0
  85. package/dist/lib/actions.d.ts +24 -24
  86. package/dist/lib/actions.d.ts.map +1 -1
  87. package/dist/lib/actions.js +14 -11
  88. package/dist/lib/adminDashboardActions.d.ts +15 -3
  89. package/dist/lib/adminDashboardActions.d.ts.map +1 -1
  90. package/dist/lib/adminDashboardActions.js +16 -7
  91. package/dist/lib/authSessionManager.d.ts.map +1 -1
  92. package/dist/lib/authSessionManager.js +4 -3
  93. package/dist/lib/authSessionPolicy.d.ts +10 -0
  94. package/dist/lib/authSessionPolicy.d.ts.map +1 -0
  95. package/dist/lib/authSessionPolicy.js +9 -0
  96. package/dist/lib/authorizationActions.d.ts +77 -0
  97. package/dist/lib/authorizationActions.d.ts.map +1 -0
  98. package/dist/lib/authorizationActions.js +61 -0
  99. package/dist/lib/context/ChatContext.d.ts +25 -6
  100. package/dist/lib/context/ChatContext.d.ts.map +1 -1
  101. package/dist/lib/context/ChatContext.js +356 -245
  102. package/dist/lib/data/adventureDummyData.d.ts +3 -0
  103. package/dist/lib/data/adventureDummyData.d.ts.map +1 -0
  104. package/dist/lib/data/adventureDummyData.js +138 -0
  105. package/dist/lib/data/adventureFormPage.d.ts +28 -0
  106. package/dist/lib/data/adventureFormPage.d.ts.map +1 -0
  107. package/dist/lib/data/adventureFormPage.js +58 -0
  108. package/dist/lib/data/companionDummyData.d.ts +99 -0
  109. package/dist/lib/data/companionDummyData.d.ts.map +1 -0
  110. package/dist/lib/data/companionDummyData.js +203 -0
  111. package/dist/lib/data/destinations.d.ts +14 -0
  112. package/dist/lib/data/destinations.d.ts.map +1 -0
  113. package/dist/lib/data/destinations.js +203 -0
  114. package/dist/lib/data/eventFormPage.d.ts +38 -0
  115. package/dist/lib/data/eventFormPage.d.ts.map +1 -0
  116. package/dist/lib/data/eventFormPage.js +56 -0
  117. package/dist/lib/data/eventsDummyData.d.ts +54 -0
  118. package/dist/lib/data/eventsDummyData.d.ts.map +1 -0
  119. package/dist/lib/data/eventsDummyData.js +586 -0
  120. package/dist/lib/data/guideDummyData.d.ts +3 -0
  121. package/dist/lib/data/guideDummyData.d.ts.map +1 -0
  122. package/dist/lib/data/guideDummyData.js +66 -0
  123. package/dist/lib/data/opportunityFormData.d.ts +13 -0
  124. package/dist/lib/data/opportunityFormData.d.ts.map +1 -0
  125. package/dist/lib/data/opportunityFormData.js +62 -0
  126. package/dist/lib/data/opportunityFormPage.d.ts +12 -0
  127. package/dist/lib/data/opportunityFormPage.d.ts.map +1 -0
  128. package/dist/lib/data/opportunityFormPage.js +33 -0
  129. package/dist/lib/data/packageDummyData.d.ts +3 -0
  130. package/dist/lib/data/packageDummyData.d.ts.map +1 -0
  131. package/dist/lib/data/packageDummyData.js +56 -0
  132. package/dist/lib/data/rentalDummyData.d.ts +3 -0
  133. package/dist/lib/data/rentalDummyData.d.ts.map +1 -0
  134. package/dist/lib/data/rentalDummyData.js +382 -0
  135. package/dist/lib/data/rentalFormPage.d.ts +11 -0
  136. package/dist/lib/data/rentalFormPage.d.ts.map +1 -0
  137. package/dist/lib/data/rentalFormPage.js +86 -0
  138. package/dist/lib/data/staysDummyData.d.ts +72 -0
  139. package/dist/lib/data/staysDummyData.d.ts.map +1 -0
  140. package/dist/lib/data/staysDummyData.js +694 -0
  141. package/dist/lib/data/storeDummyData.d.ts +33 -0
  142. package/dist/lib/data/storeDummyData.d.ts.map +1 -0
  143. package/dist/lib/data/storeDummyData.js +336 -0
  144. package/dist/lib/data/travelPackageFormData.d.ts +19 -0
  145. package/dist/lib/data/travelPackageFormData.d.ts.map +1 -0
  146. package/dist/lib/data/travelPackageFormData.js +51 -0
  147. package/dist/lib/data/travelPackageFormPage.d.ts +22 -0
  148. package/dist/lib/data/travelPackageFormPage.d.ts.map +1 -0
  149. package/dist/lib/data/travelPackageFormPage.js +40 -0
  150. package/dist/lib/data/vehicleData.d.ts +2 -0
  151. package/dist/lib/data/vehicleData.d.ts.map +1 -0
  152. package/dist/lib/data/vehicleData.js +187 -0
  153. package/dist/lib/data/vehicleModels.d.ts +2 -0
  154. package/dist/lib/data/vehicleModels.d.ts.map +1 -0
  155. package/dist/lib/data/vehicleModels.js +128 -0
  156. package/dist/lib/discountActions.d.ts +43 -0
  157. package/dist/lib/discountActions.d.ts.map +1 -0
  158. package/dist/lib/discountActions.js +69 -0
  159. package/dist/lib/hooks/usePersistentDraftState.d.ts +20 -0
  160. package/dist/lib/hooks/usePersistentDraftState.d.ts.map +1 -0
  161. package/dist/lib/hooks/usePersistentDraftState.js +47 -0
  162. package/dist/lib/loyaltyActions.d.ts +32 -0
  163. package/dist/lib/loyaltyActions.d.ts.map +1 -0
  164. package/dist/lib/loyaltyActions.js +92 -0
  165. package/dist/lib/models/adventure.d.ts +0 -2
  166. package/dist/lib/models/adventure.d.ts.map +1 -1
  167. package/dist/lib/models/authorization.d.ts +107 -0
  168. package/dist/lib/models/authorization.d.ts.map +1 -0
  169. package/dist/lib/models/authorization.js +263 -0
  170. package/dist/lib/models/blog.d.ts +2 -2
  171. package/dist/lib/models/booking.d.ts +7 -2
  172. package/dist/lib/models/booking.d.ts.map +1 -1
  173. package/dist/lib/models/chat.d.ts +418 -32
  174. package/dist/lib/models/chat.d.ts.map +1 -1
  175. package/dist/lib/models/chat.js +5 -1
  176. package/dist/lib/models/discount.d.ts +587 -136
  177. package/dist/lib/models/discount.d.ts.map +1 -1
  178. package/dist/lib/models/discount.js +118 -96
  179. package/dist/lib/models/forms.d.ts +384 -0
  180. package/dist/lib/models/forms.d.ts.map +1 -0
  181. package/dist/lib/models/forms.js +121 -0
  182. package/dist/lib/models/guide.d.ts +0 -2
  183. package/dist/lib/models/guide.d.ts.map +1 -1
  184. package/dist/lib/models/loyalty.d.ts +88 -0
  185. package/dist/lib/models/loyalty.d.ts.map +1 -0
  186. package/dist/lib/models/loyalty.js +1 -0
  187. package/dist/lib/models/notifications.d.ts +4 -4
  188. package/dist/lib/models/opportunities/freelance.d.ts +66 -20
  189. package/dist/lib/models/opportunities/freelance.d.ts.map +1 -1
  190. package/dist/lib/models/opportunities/internship.d.ts +66 -20
  191. package/dist/lib/models/opportunities/internship.d.ts.map +1 -1
  192. package/dist/lib/models/opportunities/job.d.ts +66 -20
  193. package/dist/lib/models/opportunities/job.d.ts.map +1 -1
  194. package/dist/lib/models/opportunities/opportunity.d.ts +66 -20
  195. package/dist/lib/models/opportunities/opportunity.d.ts.map +1 -1
  196. package/dist/lib/models/opportunities/opportunity.js +2 -0
  197. package/dist/lib/models/opportunities/volunteerJob.d.ts +66 -20
  198. package/dist/lib/models/opportunities/volunteerJob.d.ts.map +1 -1
  199. package/dist/lib/models/package.d.ts +81 -220
  200. package/dist/lib/models/package.d.ts.map +1 -1
  201. package/dist/lib/models/package.js +0 -2
  202. package/dist/lib/models/props.d.ts +1 -1
  203. package/dist/lib/models/props.d.ts.map +1 -1
  204. package/dist/lib/models/rental.d.ts +0 -2
  205. package/dist/lib/models/rental.d.ts.map +1 -1
  206. package/dist/lib/models/stay.d.ts +4 -4
  207. package/dist/lib/models/store.d.ts +71 -0
  208. package/dist/lib/models/store.d.ts.map +1 -0
  209. package/dist/lib/models/store.js +1 -0
  210. package/dist/lib/models/tile.d.ts +0 -2
  211. package/dist/lib/models/tile.d.ts.map +1 -1
  212. package/dist/lib/models/travelPackage.d.ts +206 -305
  213. package/dist/lib/models/travelPackage.d.ts.map +1 -1
  214. package/dist/lib/models/travelPackage.js +0 -2
  215. package/dist/lib/models/user.d.ts +28 -4
  216. package/dist/lib/models/user.d.ts.map +1 -1
  217. package/dist/lib/models/user.js +10 -1
  218. package/dist/lib/opportunityFormPage.d.ts +1 -0
  219. package/dist/lib/opportunityFormPage.d.ts.map +1 -1
  220. package/dist/lib/opportunityFormPage.js +1 -0
  221. package/dist/lib/pricingActions.d.ts +13 -0
  222. package/dist/lib/pricingActions.d.ts.map +1 -0
  223. package/dist/lib/pricingActions.js +16 -0
  224. package/dist/lib/rentalActions.js +0 -1
  225. package/dist/lib/rentalDummyData.d.ts.map +1 -1
  226. package/dist/lib/rentalDummyData.js +0 -35
  227. package/dist/lib/rentalFormPage.d.ts +0 -2
  228. package/dist/lib/rentalFormPage.d.ts.map +1 -1
  229. package/dist/lib/rentalFormPage.js +0 -3
  230. package/dist/lib/storeActions.d.ts +25 -0
  231. package/dist/lib/storeActions.d.ts.map +1 -0
  232. package/dist/lib/storeActions.js +46 -0
  233. package/dist/lib/storeDummyData.d.ts +2 -26
  234. package/dist/lib/storeDummyData.d.ts.map +1 -1
  235. package/dist/lib/userAtom.d.ts +71 -36
  236. package/dist/lib/userAtom.d.ts.map +1 -1
  237. package/dist/lib/userAtom.js +11 -17
  238. package/dist/lib/utils/entitySubmission.d.ts +21 -0
  239. package/dist/lib/utils/entitySubmission.d.ts.map +1 -0
  240. package/dist/lib/utils/entitySubmission.js +10 -0
  241. package/dist/lib/utils/imageUpload.d.ts +4 -0
  242. package/dist/lib/utils/imageUpload.d.ts.map +1 -0
  243. package/dist/lib/utils/imageUpload.js +36 -0
  244. package/dist/lib/utils/tileConverters.d.ts +8 -0
  245. package/dist/lib/utils/tileConverters.d.ts.map +1 -0
  246. package/dist/lib/utils/tileConverters.js +59 -0
  247. package/dist/lib/utils.d.ts.map +1 -1
  248. package/dist/lib/utils.js +1 -1
  249. package/package.json +4 -2
@@ -0,0 +1,83 @@
1
+ import { get, patch } from "./fetcher";
2
+ // notifications
3
+ export async function getAllNotifications() {
4
+ try {
5
+ const endpoint = `/notification?all=true`;
6
+ const data = await get(endpoint);
7
+ return {
8
+ success: true,
9
+ message: data.message,
10
+ notifs: data.data.notifications,
11
+ unreadCount: data.data.unreadCount,
12
+ };
13
+ }
14
+ catch (error) {
15
+ console.error("Failed to fetch notifications: ", error);
16
+ return {
17
+ success: false,
18
+ error: error.message,
19
+ notifs: [],
20
+ unreadCount: 0,
21
+ };
22
+ }
23
+ }
24
+ // notifications
25
+ export async function getNotifications(limit) {
26
+ try {
27
+ const endpoint = `/notification?limit=${limit}`;
28
+ const data = await get(endpoint);
29
+ return {
30
+ success: true,
31
+ message: data.message,
32
+ notifs: data.data.notifications,
33
+ unreadCount: data.data.unreadCount,
34
+ };
35
+ }
36
+ catch (error) {
37
+ console.error("Failed to fetch notifications: ", error);
38
+ return {
39
+ success: false,
40
+ error: error.message,
41
+ notifs: [],
42
+ unreadCount: 0,
43
+ };
44
+ }
45
+ }
46
+ // notifications
47
+ export async function toggleNotification(id, read) {
48
+ try {
49
+ const endpoint = `/notfication/${id}`;
50
+ const data = await patch(endpoint, {
51
+ isRead: read,
52
+ });
53
+ return {
54
+ success: true,
55
+ message: data.message,
56
+ };
57
+ }
58
+ catch (error) {
59
+ console.error("Failed to toggle notfication: ", error);
60
+ return {
61
+ success: false,
62
+ error: error.message,
63
+ };
64
+ }
65
+ }
66
+ // notifications
67
+ export async function toggleAllNotification(read) {
68
+ try {
69
+ const endpoint = `/notfication/update/all`;
70
+ const data = await patch(endpoint, { isRead: read });
71
+ return {
72
+ success: true,
73
+ message: data.message,
74
+ };
75
+ }
76
+ catch (error) {
77
+ console.error("Failed to toggle all notfications: ", error);
78
+ return {
79
+ success: false,
80
+ error: error.message,
81
+ };
82
+ }
83
+ }
@@ -0,0 +1,44 @@
1
+ import type { OppMetaData, Opportunity } from "../models/opportunities/opportunity";
2
+ import type { TileProps } from "../models/tile";
3
+ export declare function getOpportunityTilesByStatus(status: string[], limit?: number): Promise<{
4
+ success: boolean;
5
+ tiles: TileProps[];
6
+ message?: string;
7
+ error?: string;
8
+ }>;
9
+ export declare function relatedOpportunityTiles(slug: string, limit: number): Promise<{
10
+ success: boolean;
11
+ tiles: TileProps[];
12
+ message?: string;
13
+ error?: string;
14
+ }>;
15
+ export declare function opportunityDetails(slug: string): Promise<{
16
+ success: boolean;
17
+ opportunity: Opportunity | null;
18
+ message?: string;
19
+ error?: string;
20
+ }>;
21
+ export declare function opportunityMetaData(slug: string): Promise<{
22
+ success: boolean;
23
+ metadata: OppMetaData | null;
24
+ message?: string;
25
+ error?: string;
26
+ }>;
27
+ export declare function createOpportunity(formData: FormData): Promise<{
28
+ success: boolean;
29
+ slug?: string;
30
+ message?: string;
31
+ error?: string;
32
+ }>;
33
+ export declare function editOpportunity(formData: FormData, slug: string): Promise<{
34
+ success: boolean;
35
+ slug?: string;
36
+ message?: string;
37
+ error?: string;
38
+ }>;
39
+ export declare function deleteOpportunity(slug: string): Promise<{
40
+ success: boolean;
41
+ message?: string;
42
+ error?: string;
43
+ }>;
44
+ //# sourceMappingURL=opportunity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opportunity.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/opportunity.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAEpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAQhD,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CA8BD;AAID,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CA8BD;AA8CD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9D,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAoBD;AA8CD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/D,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CA2BD;AA8CD,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IACnE,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAmBD;AA8CD,wBAAsB,eAAe,CACnC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAmBD;AAID,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAejE"}
@@ -0,0 +1,318 @@
1
+ import { del, get, patch, post } from "./fetcher";
2
+ // opportunity
3
+ export async function getOpportunityTilesByStatus(status, limit) {
4
+ try {
5
+ const endpoint = `/newHostPost/getAllOppTiles?status=${status}${limit ? "&limit=" + limit : ""}`;
6
+ const data = await get(endpoint);
7
+ return {
8
+ success: true,
9
+ message: data.message,
10
+ tiles: data.data.map((opportunity) => ({
11
+ slug: opportunity.slug || "",
12
+ image: opportunity.images?.[0] || "/images/placeholder.svg",
13
+ title: opportunity.title || "",
14
+ description: opportunity.description || "",
15
+ location: opportunity.city + ", " + opportunity.state || "",
16
+ date: opportunity.createdAt,
17
+ rating: opportunity.rating,
18
+ skills: opportunity.skills || [],
19
+ className: opportunity.classname,
20
+ })),
21
+ };
22
+ }
23
+ catch (error) {
24
+ console.error("Failed to add oppotunities by status: ", error);
25
+ return {
26
+ success: false,
27
+ error: error.message,
28
+ tiles: [],
29
+ };
30
+ }
31
+ }
32
+ export async function relatedOpportunityTiles(slug, limit) {
33
+ try {
34
+ const endpoint = `/newHostPost/getAllOppTiles?status=open${limit ? "&limit=" + limit : ""}`;
35
+ const data = await get(endpoint);
36
+ return {
37
+ success: true,
38
+ message: data.message,
39
+ tiles: data.data.map((opportunity) => ({
40
+ slug: opportunity.slug || "",
41
+ image: opportunity.images?.[0] || "/images/placeholder.svg",
42
+ title: opportunity.title || "",
43
+ description: opportunity.description || "",
44
+ location: opportunity.city + ", " + opportunity.state || "",
45
+ date: opportunity.createdAt,
46
+ rating: opportunity.rating,
47
+ skills: opportunity.skills || [],
48
+ className: opportunity.classname,
49
+ })),
50
+ };
51
+ }
52
+ catch (error) {
53
+ console.error("Failed to fetch related oppotunities: ", error);
54
+ return {
55
+ success: false,
56
+ error: error.message,
57
+ tiles: [],
58
+ };
59
+ }
60
+ }
61
+ // all opportunities (may not be required or may delete in future)
62
+ // export async function getAllOpportunities(): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
63
+ // try {
64
+ // const res = await fetch('/sample/opportunity.json');
65
+ // const opportunities = await res.json() as Opportunity[];
66
+ // return {
67
+ // success: true,
68
+ // message: "fetch success",
69
+ // opportunities: opportunities,
70
+ // }
71
+ // } catch (error: any) {
72
+ // console.error('Failed to fetch all oppotunities: ', error);
73
+ // return {
74
+ // success: false,
75
+ // error: error.message,
76
+ // opportunities: []
77
+ // };
78
+ // }
79
+ // };
80
+ // for admin dashboard
81
+ // export async function getOpportunitiesByStatus(status: string[], limit?: number): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
82
+ // try {
83
+ // const endpoint = `/newHostPost/getAllOppTiles?status=${status}${limit ? ("&limit=" + limit) : ""}`;
84
+ // const data: {
85
+ // data: Opportunity[], message: string
86
+ // } = await get(endpoint);
87
+ // return {
88
+ // success: true,
89
+ // message: data.message,
90
+ // opportunities: data.data,
91
+ // }
92
+ // } catch (error: any) {
93
+ // console.error('Failed to fetch opportunities by status: ', error);
94
+ // return {
95
+ // success: false,
96
+ // error: error.message,
97
+ // opportunities: []
98
+ // };
99
+ // }
100
+ // };
101
+ export async function opportunityDetails(slug) {
102
+ try {
103
+ const endpoint = `/newHostPost/getPost/${slug}`;
104
+ const data = await get(endpoint);
105
+ return {
106
+ success: true,
107
+ message: data.message,
108
+ opportunity: data.data,
109
+ };
110
+ }
111
+ catch (error) {
112
+ console.error("Failed to fetch oppotunity details: ", error);
113
+ return {
114
+ success: false,
115
+ error: error.message,
116
+ opportunity: null,
117
+ };
118
+ }
119
+ }
120
+ // all opportunities (may not be required or may delete in future)
121
+ // export async function getAllOpportunities(): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
122
+ // try {
123
+ // const res = await fetch('/sample/opportunity.json');
124
+ // const opportunities = await res.json() as Opportunity[];
125
+ // return {
126
+ // success: true,
127
+ // message: "fetch success",
128
+ // opportunities: opportunities,
129
+ // }
130
+ // } catch (error: any) {
131
+ // console.error('Failed to fetch all oppotunities: ', error);
132
+ // return {
133
+ // success: false,
134
+ // error: error.message,
135
+ // opportunities: []
136
+ // };
137
+ // }
138
+ // };
139
+ // for admin dashboard
140
+ // export async function getOpportunitiesByStatus(status: string[], limit?: number): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
141
+ // try {
142
+ // const endpoint = `/newHostPost/getAllOppTiles?status=${status}${limit ? ("&limit=" + limit) : ""}`;
143
+ // const data: {
144
+ // data: Opportunity[], message: string
145
+ // } = await get(endpoint);
146
+ // return {
147
+ // success: true,
148
+ // message: data.message,
149
+ // opportunities: data.data,
150
+ // }
151
+ // } catch (error: any) {
152
+ // console.error('Failed to fetch opportunities by status: ', error);
153
+ // return {
154
+ // success: false,
155
+ // error: error.message,
156
+ // opportunities: []
157
+ // };
158
+ // }
159
+ // };
160
+ export async function opportunityMetaData(slug) {
161
+ try {
162
+ const endpoint = `/newHostPost/getOppMetaData/${slug}`;
163
+ const data = await get(endpoint);
164
+ const opportunity = data.data;
165
+ return {
166
+ success: true,
167
+ message: data.message,
168
+ metadata: {
169
+ image: opportunity.images?.[0] || "/images/placeholder.svg",
170
+ title: opportunity.title || "Trippeaze",
171
+ location: opportunity.city + ", " + opportunity.state || "india",
172
+ skills: opportunity.skills || [],
173
+ hostingType: opportunity.hostingType || "hostel",
174
+ },
175
+ };
176
+ }
177
+ catch (error) {
178
+ console.error("Failed to add oppotunities by status: ", error);
179
+ return {
180
+ success: false,
181
+ error: error.message,
182
+ metadata: null,
183
+ };
184
+ }
185
+ }
186
+ // all opportunities (may not be required or may delete in future)
187
+ // export async function getAllOpportunities(): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
188
+ // try {
189
+ // const res = await fetch('/sample/opportunity.json');
190
+ // const opportunities = await res.json() as Opportunity[];
191
+ // return {
192
+ // success: true,
193
+ // message: "fetch success",
194
+ // opportunities: opportunities,
195
+ // }
196
+ // } catch (error: any) {
197
+ // console.error('Failed to fetch all oppotunities: ', error);
198
+ // return {
199
+ // success: false,
200
+ // error: error.message,
201
+ // opportunities: []
202
+ // };
203
+ // }
204
+ // };
205
+ // for admin dashboard
206
+ // export async function getOpportunitiesByStatus(status: string[], limit?: number): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
207
+ // try {
208
+ // const endpoint = `/newHostPost/getAllOppTiles?status=${status}${limit ? ("&limit=" + limit) : ""}`;
209
+ // const data: {
210
+ // data: Opportunity[], message: string
211
+ // } = await get(endpoint);
212
+ // return {
213
+ // success: true,
214
+ // message: data.message,
215
+ // opportunities: data.data,
216
+ // }
217
+ // } catch (error: any) {
218
+ // console.error('Failed to fetch opportunities by status: ', error);
219
+ // return {
220
+ // success: false,
221
+ // error: error.message,
222
+ // opportunities: []
223
+ // };
224
+ // }
225
+ // };
226
+ export async function createOpportunity(formData) {
227
+ try {
228
+ const endpoint = `/newHostPost/create`;
229
+ const data = await post(endpoint, formData);
230
+ return {
231
+ success: true,
232
+ slug: data.data,
233
+ message: data.message,
234
+ };
235
+ }
236
+ catch (error) {
237
+ console.error("Failed to save opportuntiy: ", error);
238
+ return {
239
+ success: false,
240
+ error: error.message,
241
+ };
242
+ }
243
+ }
244
+ // all opportunities (may not be required or may delete in future)
245
+ // export async function getAllOpportunities(): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
246
+ // try {
247
+ // const res = await fetch('/sample/opportunity.json');
248
+ // const opportunities = await res.json() as Opportunity[];
249
+ // return {
250
+ // success: true,
251
+ // message: "fetch success",
252
+ // opportunities: opportunities,
253
+ // }
254
+ // } catch (error: any) {
255
+ // console.error('Failed to fetch all oppotunities: ', error);
256
+ // return {
257
+ // success: false,
258
+ // error: error.message,
259
+ // opportunities: []
260
+ // };
261
+ // }
262
+ // };
263
+ // for admin dashboard
264
+ // export async function getOpportunitiesByStatus(status: string[], limit?: number): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
265
+ // try {
266
+ // const endpoint = `/newHostPost/getAllOppTiles?status=${status}${limit ? ("&limit=" + limit) : ""}`;
267
+ // const data: {
268
+ // data: Opportunity[], message: string
269
+ // } = await get(endpoint);
270
+ // return {
271
+ // success: true,
272
+ // message: data.message,
273
+ // opportunities: data.data,
274
+ // }
275
+ // } catch (error: any) {
276
+ // console.error('Failed to fetch opportunities by status: ', error);
277
+ // return {
278
+ // success: false,
279
+ // error: error.message,
280
+ // opportunities: []
281
+ // };
282
+ // }
283
+ // };
284
+ export async function editOpportunity(formData, slug) {
285
+ try {
286
+ const endpoint = `/newHostPost/update/${slug}`;
287
+ const data = await patch(endpoint, formData);
288
+ return {
289
+ success: true,
290
+ slug: data.data,
291
+ message: data.message,
292
+ };
293
+ }
294
+ catch (error) {
295
+ console.error("Failed to save opportuntiy: ", error);
296
+ return {
297
+ success: false,
298
+ error: error.message,
299
+ };
300
+ }
301
+ }
302
+ export async function deleteOpportunity(slug) {
303
+ try {
304
+ const endpoint = `/newHostPost/delete/${slug}`;
305
+ const data = await del(endpoint);
306
+ return {
307
+ success: true,
308
+ message: data.message,
309
+ };
310
+ }
311
+ catch (error) {
312
+ console.error("Failed to delete opportunity: ", error);
313
+ return {
314
+ success: false,
315
+ error: error.message,
316
+ };
317
+ }
318
+ }
@@ -0,0 +1,85 @@
1
+ import { TravelPackage } from "../models/package";
2
+ import { TileProps } from "../models/tile";
3
+ export declare function getPackageTiles(limit?: number, filters?: {
4
+ categoryId?: string;
5
+ difficultyLevel?: string;
6
+ }): Promise<{
7
+ success: boolean;
8
+ tiles: TileProps[];
9
+ message?: string;
10
+ error?: string;
11
+ }>;
12
+ export declare function trendingPackageTiles(limit: number): Promise<{
13
+ success: boolean;
14
+ tiles: TileProps[];
15
+ message?: string;
16
+ error?: string;
17
+ }>;
18
+ export declare function packageDetails(slug: string): Promise<{
19
+ success: boolean;
20
+ package: TravelPackage | null;
21
+ message?: string;
22
+ error?: string;
23
+ }>;
24
+ export interface PackageMetaData {
25
+ image: string;
26
+ title: string;
27
+ city: string;
28
+ state: string;
29
+ categoryId?: string;
30
+ difficultyLevel?: string;
31
+ price: number;
32
+ currency: string;
33
+ }
34
+ export declare function packageMetaData(slug: string): Promise<{
35
+ success: boolean;
36
+ metadata: PackageMetaData | null;
37
+ message?: string;
38
+ error?: string;
39
+ }>;
40
+ export declare function packagesByUsername(username: string, limit?: number): Promise<{
41
+ success: boolean;
42
+ tiles: TileProps[];
43
+ message?: string;
44
+ error?: string;
45
+ }>;
46
+ export declare function adminPackagesByHost(username: string): Promise<{
47
+ success: boolean;
48
+ packages: TravelPackage[];
49
+ error?: string;
50
+ }>;
51
+ export declare function packagesByHost(): Promise<{
52
+ success: boolean;
53
+ packages: TravelPackage[];
54
+ message?: string;
55
+ error?: string;
56
+ }>;
57
+ export declare function createPackage(formData: FormData): Promise<{
58
+ success: boolean;
59
+ slug?: string;
60
+ _id?: string;
61
+ message?: string;
62
+ error?: string;
63
+ }>;
64
+ export declare function deletePackage(slug: string): Promise<{
65
+ success: boolean;
66
+ message?: string;
67
+ error?: string;
68
+ }>;
69
+ export declare function getPendingPackages(): Promise<{
70
+ success: boolean;
71
+ packages: TravelPackage[];
72
+ message?: string;
73
+ error?: string;
74
+ }>;
75
+ export declare function approvePackage(slug: string): Promise<{
76
+ success: boolean;
77
+ message?: string;
78
+ error?: string;
79
+ }>;
80
+ export declare function rejectPackage(slug: string, rejectionReason: string): Promise<{
81
+ success: boolean;
82
+ message?: string;
83
+ error?: string;
84
+ }>;
85
+ //# sourceMappingURL=package.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/package.ts"],"names":[],"mappings":"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"}