@myrjfa/state 2.3.1 → 2.3.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.
Files changed (171) hide show
  1. package/dist/lib/actions/actions.d.ts +6 -6
  2. package/dist/lib/actions/auth.d.ts +23 -19
  3. package/dist/lib/actions/auth.d.ts.map +1 -1
  4. package/dist/lib/actions/auth.js +24 -5
  5. package/dist/lib/actions/fetcher.d.ts.map +1 -1
  6. package/dist/lib/actions/fetcher.js +15 -8
  7. package/dist/lib/actions.d.ts +12 -12
  8. package/dist/lib/actions.d.ts.map +1 -1
  9. package/dist/lib/actions.js +3 -1
  10. package/dist/lib/authSessionManager.d.ts.map +1 -1
  11. package/dist/lib/authSessionManager.js +77 -13
  12. package/dist/lib/authSessionPolicy.d.ts +34 -0
  13. package/dist/lib/authSessionPolicy.d.ts.map +1 -1
  14. package/dist/lib/authSessionPolicy.js +52 -0
  15. package/dist/lib/models/authorization.d.ts +4 -3
  16. package/dist/lib/models/authorization.d.ts.map +1 -1
  17. package/dist/lib/models/authorization.js +4 -1
  18. package/dist/lib/models/blog.d.ts +4 -4
  19. package/dist/lib/models/discount.d.ts +52 -52
  20. package/dist/lib/models/notifications.d.ts +2 -2
  21. package/dist/lib/models/opportunities/freelance.d.ts +34 -34
  22. package/dist/lib/models/opportunities/internship.d.ts +34 -34
  23. package/dist/lib/models/opportunities/job.d.ts +34 -34
  24. package/dist/lib/models/opportunities/opportunity.d.ts +34 -34
  25. package/dist/lib/models/opportunities/volunteerJob.d.ts +34 -34
  26. package/dist/lib/models/package.d.ts +16 -16
  27. package/dist/lib/models/portfolio.d.ts +2 -2
  28. package/dist/lib/models/pricing.d.ts +12 -12
  29. package/dist/lib/models/review.d.ts +2 -2
  30. package/dist/lib/models/stay.d.ts +18 -18
  31. package/dist/lib/models/travelPackage.d.ts +36 -36
  32. package/dist/lib/models/user.d.ts +12 -12
  33. package/dist/lib/userAtom.d.ts +126 -25
  34. package/dist/lib/userAtom.d.ts.map +1 -1
  35. package/dist/lib/userAtom.js +79 -45
  36. package/package.json +1 -1
  37. package/dist/lib/actions/adminDashboard.d.ts +0 -4
  38. package/dist/lib/actions/adminDashboard.d.ts.map +0 -1
  39. package/dist/lib/actions/adminDashboard.js +0 -29
  40. package/dist/lib/actions/adventure.d.ts +0 -104
  41. package/dist/lib/actions/adventure.d.ts.map +0 -1
  42. package/dist/lib/actions/adventure.js +0 -203
  43. package/dist/lib/actions/application.d.ts +0 -35
  44. package/dist/lib/actions/application.d.ts.map +0 -1
  45. package/dist/lib/actions/application.js +0 -573
  46. package/dist/lib/actions/blog.d.ts +0 -61
  47. package/dist/lib/actions/blog.d.ts.map +0 -1
  48. package/dist/lib/actions/blog.js +0 -762
  49. package/dist/lib/actions/brand.d.ts +0 -83
  50. package/dist/lib/actions/brand.d.ts.map +0 -1
  51. package/dist/lib/actions/brand.js +0 -28
  52. package/dist/lib/actions/companion.d.ts +0 -174
  53. package/dist/lib/actions/companion.d.ts.map +0 -1
  54. package/dist/lib/actions/companion.js +0 -276
  55. package/dist/lib/actions/event.d.ts +0 -178
  56. package/dist/lib/actions/event.d.ts.map +0 -1
  57. package/dist/lib/actions/event.js +0 -214
  58. package/dist/lib/actions/guide.d.ts +0 -55
  59. package/dist/lib/actions/guide.d.ts.map +0 -1
  60. package/dist/lib/actions/guide.js +0 -128
  61. package/dist/lib/actions/hostDashboard.d.ts +0 -122
  62. package/dist/lib/actions/hostDashboard.d.ts.map +0 -1
  63. package/dist/lib/actions/hostDashboard.js +0 -329
  64. package/dist/lib/actions/location.d.ts +0 -141
  65. package/dist/lib/actions/location.d.ts.map +0 -1
  66. package/dist/lib/actions/location.js +0 -113
  67. package/dist/lib/actions/notifications.d.ts +0 -91
  68. package/dist/lib/actions/notifications.d.ts.map +0 -1
  69. package/dist/lib/actions/notifications.js +0 -83
  70. package/dist/lib/actions/opportunity.d.ts +0 -44
  71. package/dist/lib/actions/opportunity.d.ts.map +0 -1
  72. package/dist/lib/actions/opportunity.js +0 -318
  73. package/dist/lib/actions/package.d.ts +0 -85
  74. package/dist/lib/actions/package.d.ts.map +0 -1
  75. package/dist/lib/actions/package.js +0 -167
  76. package/dist/lib/actions/place.d.ts +0 -191
  77. package/dist/lib/actions/place.d.ts.map +0 -1
  78. package/dist/lib/actions/place.js +0 -57
  79. package/dist/lib/actions/portfolio.d.ts +0 -65
  80. package/dist/lib/actions/portfolio.d.ts.map +0 -1
  81. package/dist/lib/actions/portfolio.js +0 -62
  82. package/dist/lib/actions/property.d.ts +0 -17
  83. package/dist/lib/actions/property.d.ts.map +0 -1
  84. package/dist/lib/actions/property.js +0 -16
  85. package/dist/lib/actions/rental.d.ts +0 -87
  86. package/dist/lib/actions/rental.d.ts.map +0 -1
  87. package/dist/lib/actions/rental.js +0 -205
  88. package/dist/lib/actions/review.d.ts +0 -8
  89. package/dist/lib/actions/review.d.ts.map +0 -1
  90. package/dist/lib/actions/review.js +0 -102
  91. package/dist/lib/actions/room.d.ts +0 -39
  92. package/dist/lib/actions/room.d.ts.map +0 -1
  93. package/dist/lib/actions/room.js +0 -74
  94. package/dist/lib/actions/stay.d.ts +0 -97
  95. package/dist/lib/actions/stay.d.ts.map +0 -1
  96. package/dist/lib/actions/stay.js +0 -138
  97. package/dist/lib/actions/travelPackage.d.ts +0 -104
  98. package/dist/lib/actions/travelPackage.d.ts.map +0 -1
  99. package/dist/lib/actions/travelPackage.js +0 -487
  100. package/dist/lib/data/adventureDummyData.d.ts +0 -3
  101. package/dist/lib/data/adventureDummyData.d.ts.map +0 -1
  102. package/dist/lib/data/adventureDummyData.js +0 -138
  103. package/dist/lib/data/adventureFormPage.d.ts +0 -28
  104. package/dist/lib/data/adventureFormPage.d.ts.map +0 -1
  105. package/dist/lib/data/adventureFormPage.js +0 -58
  106. package/dist/lib/data/companionDummyData.d.ts +0 -99
  107. package/dist/lib/data/companionDummyData.d.ts.map +0 -1
  108. package/dist/lib/data/companionDummyData.js +0 -203
  109. package/dist/lib/data/destinations.d.ts +0 -14
  110. package/dist/lib/data/destinations.d.ts.map +0 -1
  111. package/dist/lib/data/destinations.js +0 -203
  112. package/dist/lib/data/eventFormPage.d.ts +0 -38
  113. package/dist/lib/data/eventFormPage.d.ts.map +0 -1
  114. package/dist/lib/data/eventFormPage.js +0 -56
  115. package/dist/lib/data/eventsDummyData.d.ts +0 -54
  116. package/dist/lib/data/eventsDummyData.d.ts.map +0 -1
  117. package/dist/lib/data/eventsDummyData.js +0 -586
  118. package/dist/lib/data/guideDummyData.d.ts +0 -3
  119. package/dist/lib/data/guideDummyData.d.ts.map +0 -1
  120. package/dist/lib/data/guideDummyData.js +0 -66
  121. package/dist/lib/data/opportunityFormData.d.ts +0 -13
  122. package/dist/lib/data/opportunityFormData.d.ts.map +0 -1
  123. package/dist/lib/data/opportunityFormData.js +0 -62
  124. package/dist/lib/data/opportunityFormPage.d.ts +0 -12
  125. package/dist/lib/data/opportunityFormPage.d.ts.map +0 -1
  126. package/dist/lib/data/opportunityFormPage.js +0 -33
  127. package/dist/lib/data/packageDummyData.d.ts +0 -3
  128. package/dist/lib/data/packageDummyData.d.ts.map +0 -1
  129. package/dist/lib/data/packageDummyData.js +0 -56
  130. package/dist/lib/data/rentalDummyData.d.ts +0 -3
  131. package/dist/lib/data/rentalDummyData.d.ts.map +0 -1
  132. package/dist/lib/data/rentalDummyData.js +0 -382
  133. package/dist/lib/data/rentalFormPage.d.ts +0 -11
  134. package/dist/lib/data/rentalFormPage.d.ts.map +0 -1
  135. package/dist/lib/data/rentalFormPage.js +0 -86
  136. package/dist/lib/data/staysDummyData.d.ts +0 -72
  137. package/dist/lib/data/staysDummyData.d.ts.map +0 -1
  138. package/dist/lib/data/staysDummyData.js +0 -694
  139. package/dist/lib/data/storeDummyData.d.ts +0 -33
  140. package/dist/lib/data/storeDummyData.d.ts.map +0 -1
  141. package/dist/lib/data/storeDummyData.js +0 -336
  142. package/dist/lib/data/travelPackageFormData.d.ts +0 -19
  143. package/dist/lib/data/travelPackageFormData.d.ts.map +0 -1
  144. package/dist/lib/data/travelPackageFormData.js +0 -51
  145. package/dist/lib/data/travelPackageFormPage.d.ts +0 -22
  146. package/dist/lib/data/travelPackageFormPage.d.ts.map +0 -1
  147. package/dist/lib/data/travelPackageFormPage.js +0 -40
  148. package/dist/lib/data/vehicleData.d.ts +0 -2
  149. package/dist/lib/data/vehicleData.d.ts.map +0 -1
  150. package/dist/lib/data/vehicleData.js +0 -187
  151. package/dist/lib/data/vehicleModels.d.ts +0 -2
  152. package/dist/lib/data/vehicleModels.d.ts.map +0 -1
  153. package/dist/lib/data/vehicleModels.js +0 -128
  154. package/dist/lib/hooks/usePersistentDraftState.d.ts +0 -20
  155. package/dist/lib/hooks/usePersistentDraftState.d.ts.map +0 -1
  156. package/dist/lib/hooks/usePersistentDraftState.js +0 -47
  157. package/dist/lib/models/forms.d.ts +0 -384
  158. package/dist/lib/models/forms.d.ts.map +0 -1
  159. package/dist/lib/models/forms.js +0 -121
  160. package/dist/lib/pricingActions.d.ts +0 -13
  161. package/dist/lib/pricingActions.d.ts.map +0 -1
  162. package/dist/lib/pricingActions.js +0 -16
  163. package/dist/lib/utils/entitySubmission.d.ts +0 -21
  164. package/dist/lib/utils/entitySubmission.d.ts.map +0 -1
  165. package/dist/lib/utils/entitySubmission.js +0 -10
  166. package/dist/lib/utils/imageUpload.d.ts +0 -4
  167. package/dist/lib/utils/imageUpload.d.ts.map +0 -1
  168. package/dist/lib/utils/imageUpload.js +0 -36
  169. package/dist/lib/utils/tileConverters.d.ts +0 -8
  170. package/dist/lib/utils/tileConverters.d.ts.map +0 -1
  171. package/dist/lib/utils/tileConverters.js +0 -59
@@ -1,762 +0,0 @@
1
- import { del, get, patch, post } from "./fetcher";
2
- import { truncateText } from "../utils";
3
- // all opportunities (may not be required or may delete in future)
4
- // export async function getAllOpportunities(): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
5
- // try {
6
- // const res = await fetch('/sample/opportunity.json');
7
- // const opportunities = await res.json() as Opportunity[];
8
- // return {
9
- // success: true,
10
- // message: "fetch success",
11
- // opportunities: opportunities,
12
- // }
13
- // } catch (error: any) {
14
- // console.error('Failed to fetch all oppotunities: ', error);
15
- // return {
16
- // success: false,
17
- // error: error.message,
18
- // opportunities: []
19
- // };
20
- // }
21
- // };
22
- // for admin dashboard
23
- // export async function getOpportunitiesByStatus(status: string[], limit?: number): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
24
- // try {
25
- // const endpoint = `/newHostPost/getAllOppTiles?status=${status}${limit ? ("&limit=" + limit) : ""}`;
26
- // const data: {
27
- // data: Opportunity[], message: string
28
- // } = await get(endpoint);
29
- // return {
30
- // success: true,
31
- // message: data.message,
32
- // opportunities: data.data,
33
- // }
34
- // } catch (error: any) {
35
- // console.error('Failed to fetch opportunities by status: ', error);
36
- // return {
37
- // success: false,
38
- // error: error.message,
39
- // opportunities: []
40
- // };
41
- // }
42
- // };
43
- // export async function approveOpportunity(formData: FormData, slug: string): Promise<{ success: boolean, slug?: string, message?: string, error?: string }> {
44
- // try {
45
- // const endpoint = `/admin/approve-post/${slug}`
46
- // const data: { message: string, data: string } = await patch(endpoint, formData);
47
- // return {
48
- // success: true,
49
- // slug: data.data,
50
- // message: data.message,
51
- // }
52
- // }
53
- // catch (error: any) {
54
- // console.error('Failed to save opportuntiy: ', error);
55
- // return {
56
- // success: false,
57
- // error: error.message,
58
- // };
59
- // }
60
- // }
61
- // blogs
62
- export async function getBlogTilesByStatus(status, limit) {
63
- try {
64
- const endpoint = `/blog/getAllBlogTiles?status=${status}${limit ? "&limit=" + limit : ""}`;
65
- const data = await get(endpoint);
66
- console.log(data);
67
- return {
68
- success: true,
69
- message: data.message,
70
- tiles: data.data.map((blog) => ({
71
- slug: blog.slug || "",
72
- image: blog.blogImages?.[0] || "/images/placeholder.svg",
73
- title: blog.title || "",
74
- description: truncateText(blog.overview, 150),
75
- location: "",
76
- date: blog.createdAt,
77
- rating: blog.likes || 0,
78
- skills: [],
79
- className: "",
80
- host: blog.author
81
- ? {
82
- name: blog.author,
83
- image: blog.authorImage,
84
- }
85
- : null,
86
- isJob: false,
87
- })),
88
- };
89
- }
90
- catch (error) {
91
- console.error("Failed to fetch blogs: ", error);
92
- return {
93
- success: false,
94
- error: error.message,
95
- tiles: [],
96
- };
97
- }
98
- }
99
- // all opportunities (may not be required or may delete in future)
100
- // export async function getAllOpportunities(): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
101
- // try {
102
- // const res = await fetch('/sample/opportunity.json');
103
- // const opportunities = await res.json() as Opportunity[];
104
- // return {
105
- // success: true,
106
- // message: "fetch success",
107
- // opportunities: opportunities,
108
- // }
109
- // } catch (error: any) {
110
- // console.error('Failed to fetch all oppotunities: ', error);
111
- // return {
112
- // success: false,
113
- // error: error.message,
114
- // opportunities: []
115
- // };
116
- // }
117
- // };
118
- // for admin dashboard
119
- // export async function getOpportunitiesByStatus(status: string[], limit?: number): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
120
- // try {
121
- // const endpoint = `/newHostPost/getAllOppTiles?status=${status}${limit ? ("&limit=" + limit) : ""}`;
122
- // const data: {
123
- // data: Opportunity[], message: string
124
- // } = await get(endpoint);
125
- // return {
126
- // success: true,
127
- // message: data.message,
128
- // opportunities: data.data,
129
- // }
130
- // } catch (error: any) {
131
- // console.error('Failed to fetch opportunities by status: ', error);
132
- // return {
133
- // success: false,
134
- // error: error.message,
135
- // opportunities: []
136
- // };
137
- // }
138
- // };
139
- // export async function approveOpportunity(formData: FormData, slug: string): Promise<{ success: boolean, slug?: string, message?: string, error?: string }> {
140
- // try {
141
- // const endpoint = `/admin/approve-post/${slug}`
142
- // const data: { message: string, data: string } = await patch(endpoint, formData);
143
- // return {
144
- // success: true,
145
- // slug: data.data,
146
- // message: data.message,
147
- // }
148
- // }
149
- // catch (error: any) {
150
- // console.error('Failed to save opportuntiy: ', error);
151
- // return {
152
- // success: false,
153
- // error: error.message,
154
- // };
155
- // }
156
- // }
157
- // blogs
158
- export async function relatedBlogTiles(slug, limit) {
159
- try {
160
- const endpoint = `/blog/getAllBlogTiles?status=posted${limit ? "&limit=" + (limit + 1) : ""}`;
161
- const data = await get(endpoint);
162
- console.log(data);
163
- return {
164
- success: true,
165
- message: data.message,
166
- tiles: data.data
167
- .filter((blog) => blog.slug != slug)
168
- .slice(0, limit)
169
- .map((blog) => ({
170
- slug: blog.slug || "",
171
- image: blog.blogImages?.[0] || "/images/placeholder.svg",
172
- title: blog.title || "",
173
- description: truncateText(blog.overview, 150),
174
- location: "",
175
- date: blog.createdAt,
176
- rating: blog.likes || 0,
177
- skills: [],
178
- className: "",
179
- host: blog.author
180
- ? {
181
- name: blog.author,
182
- image: blog.authorImage,
183
- }
184
- : null,
185
- isJob: false,
186
- })),
187
- };
188
- }
189
- catch (error) {
190
- console.error("Failed to fetch related blogs: ", error);
191
- return {
192
- success: false,
193
- error: error.message,
194
- tiles: [],
195
- };
196
- }
197
- }
198
- export async function blogsByUsername(username, role) {
199
- try {
200
- // pending and admin blogs
201
- const endpoint = `/blog/getBlogsByUsername/${role}/${username}`;
202
- const data = await get(endpoint);
203
- return {
204
- success: true,
205
- message: "fetch success",
206
- tiles: data.data.map((blog) => ({
207
- slug: blog.slug || "",
208
- image: blog.blogImages?.[0] || "/images/placeholder.svg",
209
- title: blog.title || "",
210
- description: truncateText(blog.overview, 150),
211
- location: "",
212
- date: blog.createdAt,
213
- rating: blog.likes || 0,
214
- skills: [],
215
- className: "",
216
- host: blog.author
217
- ? {
218
- name: blog.author,
219
- image: blog.authorImage,
220
- }
221
- : null,
222
- isJob: false,
223
- })),
224
- };
225
- }
226
- catch (error) {
227
- console.error("Failed to fetch blogs: ", error);
228
- return {
229
- success: false,
230
- error: error.message,
231
- tiles: [],
232
- };
233
- }
234
- }
235
- export async function getMyBlogs() {
236
- try {
237
- const endpoint = `/blog/getUserBlogs`;
238
- const data = await get(endpoint);
239
- return {
240
- success: true,
241
- message: "fetch success",
242
- blogs: data.data,
243
- };
244
- }
245
- catch (error) {
246
- console.error("Failed to fetch blogs: ", error);
247
- return {
248
- success: false,
249
- error: error.message,
250
- blogs: [],
251
- };
252
- }
253
- }
254
- export async function deleteBlog(slug) {
255
- try {
256
- const endpoint = `/blog/delete/${slug}`;
257
- const data = await del(endpoint);
258
- return {
259
- success: true,
260
- message: data.message,
261
- };
262
- }
263
- catch (error) {
264
- console.error("Failed to delete blog: ", error);
265
- return {
266
- success: false,
267
- error: error.message,
268
- };
269
- }
270
- }
271
- // all opportunities (may not be required or may delete in future)
272
- // export async function getAllOpportunities(): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
273
- // try {
274
- // const res = await fetch('/sample/opportunity.json');
275
- // const opportunities = await res.json() as Opportunity[];
276
- // return {
277
- // success: true,
278
- // message: "fetch success",
279
- // opportunities: opportunities,
280
- // }
281
- // } catch (error: any) {
282
- // console.error('Failed to fetch all oppotunities: ', error);
283
- // return {
284
- // success: false,
285
- // error: error.message,
286
- // opportunities: []
287
- // };
288
- // }
289
- // };
290
- // for admin dashboard
291
- // export async function getOpportunitiesByStatus(status: string[], limit?: number): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
292
- // try {
293
- // const endpoint = `/newHostPost/getAllOppTiles?status=${status}${limit ? ("&limit=" + limit) : ""}`;
294
- // const data: {
295
- // data: Opportunity[], message: string
296
- // } = await get(endpoint);
297
- // return {
298
- // success: true,
299
- // message: data.message,
300
- // opportunities: data.data,
301
- // }
302
- // } catch (error: any) {
303
- // console.error('Failed to fetch opportunities by status: ', error);
304
- // return {
305
- // success: false,
306
- // error: error.message,
307
- // opportunities: []
308
- // };
309
- // }
310
- // };
311
- // export async function approveOpportunity(formData: FormData, slug: string): Promise<{ success: boolean, slug?: string, message?: string, error?: string }> {
312
- // try {
313
- // const endpoint = `/admin/approve-post/${slug}`
314
- // const data: { message: string, data: string } = await patch(endpoint, formData);
315
- // return {
316
- // success: true,
317
- // slug: data.data,
318
- // message: data.message,
319
- // }
320
- // }
321
- // catch (error: any) {
322
- // console.error('Failed to save opportuntiy: ', error);
323
- // return {
324
- // success: false,
325
- // error: error.message,
326
- // };
327
- // }
328
- // }
329
- // blogs
330
- // may not be needed
331
- // export async function getAllBlogs(): Promise<{ success: boolean, blogs: Blog[], message?: string, error?: string }> {
332
- // try {
333
- // const res = await fetch('/sample/blogs.json');
334
- // const blogs = await res.json() as Blog[];
335
- // return {
336
- // success: true,
337
- // message: "fetch success",
338
- // blogs: blogs,
339
- // };
340
- // } catch (error: any) {
341
- // console.error('Failed to fetch blogs: ', error);
342
- // return {
343
- // success: false,
344
- // error: error.message,
345
- // blogs: [],
346
- // };
347
- // }
348
- // }
349
- // for admin dashboard
350
- export async function blogDetails(id) {
351
- try {
352
- const endpoint = `/blog/getBlogBySlug/${id}`;
353
- const data = await get(endpoint);
354
- return {
355
- success: true,
356
- message: "fetch success",
357
- blog: data.blog,
358
- };
359
- }
360
- catch (error) {
361
- console.error("Failed to fetch blogs: ", error);
362
- return {
363
- success: false,
364
- error: error.message,
365
- blog: null,
366
- };
367
- }
368
- }
369
- // all opportunities (may not be required or may delete in future)
370
- // export async function getAllOpportunities(): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
371
- // try {
372
- // const res = await fetch('/sample/opportunity.json');
373
- // const opportunities = await res.json() as Opportunity[];
374
- // return {
375
- // success: true,
376
- // message: "fetch success",
377
- // opportunities: opportunities,
378
- // }
379
- // } catch (error: any) {
380
- // console.error('Failed to fetch all oppotunities: ', error);
381
- // return {
382
- // success: false,
383
- // error: error.message,
384
- // opportunities: []
385
- // };
386
- // }
387
- // };
388
- // for admin dashboard
389
- // export async function getOpportunitiesByStatus(status: string[], limit?: number): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
390
- // try {
391
- // const endpoint = `/newHostPost/getAllOppTiles?status=${status}${limit ? ("&limit=" + limit) : ""}`;
392
- // const data: {
393
- // data: Opportunity[], message: string
394
- // } = await get(endpoint);
395
- // return {
396
- // success: true,
397
- // message: data.message,
398
- // opportunities: data.data,
399
- // }
400
- // } catch (error: any) {
401
- // console.error('Failed to fetch opportunities by status: ', error);
402
- // return {
403
- // success: false,
404
- // error: error.message,
405
- // opportunities: []
406
- // };
407
- // }
408
- // };
409
- // export async function approveOpportunity(formData: FormData, slug: string): Promise<{ success: boolean, slug?: string, message?: string, error?: string }> {
410
- // try {
411
- // const endpoint = `/admin/approve-post/${slug}`
412
- // const data: { message: string, data: string } = await patch(endpoint, formData);
413
- // return {
414
- // success: true,
415
- // slug: data.data,
416
- // message: data.message,
417
- // }
418
- // }
419
- // catch (error: any) {
420
- // console.error('Failed to save opportuntiy: ', error);
421
- // return {
422
- // success: false,
423
- // error: error.message,
424
- // };
425
- // }
426
- // }
427
- // blogs
428
- // may not be needed
429
- // export async function getAllBlogs(): Promise<{ success: boolean, blogs: Blog[], message?: string, error?: string }> {
430
- // try {
431
- // const res = await fetch('/sample/blogs.json');
432
- // const blogs = await res.json() as Blog[];
433
- // return {
434
- // success: true,
435
- // message: "fetch success",
436
- // blogs: blogs,
437
- // };
438
- // } catch (error: any) {
439
- // console.error('Failed to fetch blogs: ', error);
440
- // return {
441
- // success: false,
442
- // error: error.message,
443
- // blogs: [],
444
- // };
445
- // }
446
- // }
447
- // for admin dashboard
448
- export async function blogMetaData(slug) {
449
- try {
450
- const endpoint = `/blog/getBlogMetaData/${slug}`;
451
- const data = await get(endpoint);
452
- const blog = data.data;
453
- return {
454
- success: true,
455
- message: data.message,
456
- metadata: {
457
- image: blog.blogImages?.[0] || "/images/placeholder.svg",
458
- title: blog.title || "Trippeaze Blog",
459
- overview: blog.overview ||
460
- "Volunteer travel exchange platform - connect with global hosts and opportunities.",
461
- },
462
- };
463
- }
464
- catch (error) {
465
- console.error("Failed to add oppotunities by status: ", error);
466
- return {
467
- success: false,
468
- error: error.message,
469
- metadata: null,
470
- };
471
- }
472
- }
473
- // all opportunities (may not be required or may delete in future)
474
- // export async function getAllOpportunities(): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
475
- // try {
476
- // const res = await fetch('/sample/opportunity.json');
477
- // const opportunities = await res.json() as Opportunity[];
478
- // return {
479
- // success: true,
480
- // message: "fetch success",
481
- // opportunities: opportunities,
482
- // }
483
- // } catch (error: any) {
484
- // console.error('Failed to fetch all oppotunities: ', error);
485
- // return {
486
- // success: false,
487
- // error: error.message,
488
- // opportunities: []
489
- // };
490
- // }
491
- // };
492
- // for admin dashboard
493
- // export async function getOpportunitiesByStatus(status: string[], limit?: number): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
494
- // try {
495
- // const endpoint = `/newHostPost/getAllOppTiles?status=${status}${limit ? ("&limit=" + limit) : ""}`;
496
- // const data: {
497
- // data: Opportunity[], message: string
498
- // } = await get(endpoint);
499
- // return {
500
- // success: true,
501
- // message: data.message,
502
- // opportunities: data.data,
503
- // }
504
- // } catch (error: any) {
505
- // console.error('Failed to fetch opportunities by status: ', error);
506
- // return {
507
- // success: false,
508
- // error: error.message,
509
- // opportunities: []
510
- // };
511
- // }
512
- // };
513
- // export async function approveOpportunity(formData: FormData, slug: string): Promise<{ success: boolean, slug?: string, message?: string, error?: string }> {
514
- // try {
515
- // const endpoint = `/admin/approve-post/${slug}`
516
- // const data: { message: string, data: string } = await patch(endpoint, formData);
517
- // return {
518
- // success: true,
519
- // slug: data.data,
520
- // message: data.message,
521
- // }
522
- // }
523
- // catch (error: any) {
524
- // console.error('Failed to save opportuntiy: ', error);
525
- // return {
526
- // success: false,
527
- // error: error.message,
528
- // };
529
- // }
530
- // }
531
- // blogs
532
- // may not be needed
533
- // export async function getAllBlogs(): Promise<{ success: boolean, blogs: Blog[], message?: string, error?: string }> {
534
- // try {
535
- // const res = await fetch('/sample/blogs.json');
536
- // const blogs = await res.json() as Blog[];
537
- // return {
538
- // success: true,
539
- // message: "fetch success",
540
- // blogs: blogs,
541
- // };
542
- // } catch (error: any) {
543
- // console.error('Failed to fetch blogs: ', error);
544
- // return {
545
- // success: false,
546
- // error: error.message,
547
- // blogs: [],
548
- // };
549
- // }
550
- // }
551
- // for admin dashboard
552
- export async function createBlog(formData) {
553
- try {
554
- const endpoint = `/blog/create`;
555
- const data = await post(endpoint, formData);
556
- return {
557
- success: true,
558
- slug: data.data,
559
- message: data.message,
560
- };
561
- }
562
- catch (error) {
563
- console.error("Failed to save blog: ", error);
564
- return {
565
- success: false,
566
- error: error.message,
567
- };
568
- }
569
- }
570
- // all opportunities (may not be required or may delete in future)
571
- // export async function getAllOpportunities(): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
572
- // try {
573
- // const res = await fetch('/sample/opportunity.json');
574
- // const opportunities = await res.json() as Opportunity[];
575
- // return {
576
- // success: true,
577
- // message: "fetch success",
578
- // opportunities: opportunities,
579
- // }
580
- // } catch (error: any) {
581
- // console.error('Failed to fetch all oppotunities: ', error);
582
- // return {
583
- // success: false,
584
- // error: error.message,
585
- // opportunities: []
586
- // };
587
- // }
588
- // };
589
- // for admin dashboard
590
- // export async function getOpportunitiesByStatus(status: string[], limit?: number): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
591
- // try {
592
- // const endpoint = `/newHostPost/getAllOppTiles?status=${status}${limit ? ("&limit=" + limit) : ""}`;
593
- // const data: {
594
- // data: Opportunity[], message: string
595
- // } = await get(endpoint);
596
- // return {
597
- // success: true,
598
- // message: data.message,
599
- // opportunities: data.data,
600
- // }
601
- // } catch (error: any) {
602
- // console.error('Failed to fetch opportunities by status: ', error);
603
- // return {
604
- // success: false,
605
- // error: error.message,
606
- // opportunities: []
607
- // };
608
- // }
609
- // };
610
- // export async function approveOpportunity(formData: FormData, slug: string): Promise<{ success: boolean, slug?: string, message?: string, error?: string }> {
611
- // try {
612
- // const endpoint = `/admin/approve-post/${slug}`
613
- // const data: { message: string, data: string } = await patch(endpoint, formData);
614
- // return {
615
- // success: true,
616
- // slug: data.data,
617
- // message: data.message,
618
- // }
619
- // }
620
- // catch (error: any) {
621
- // console.error('Failed to save opportuntiy: ', error);
622
- // return {
623
- // success: false,
624
- // error: error.message,
625
- // };
626
- // }
627
- // }
628
- // blogs
629
- // may not be needed
630
- // export async function getAllBlogs(): Promise<{ success: boolean, blogs: Blog[], message?: string, error?: string }> {
631
- // try {
632
- // const res = await fetch('/sample/blogs.json');
633
- // const blogs = await res.json() as Blog[];
634
- // return {
635
- // success: true,
636
- // message: "fetch success",
637
- // blogs: blogs,
638
- // };
639
- // } catch (error: any) {
640
- // console.error('Failed to fetch blogs: ', error);
641
- // return {
642
- // success: false,
643
- // error: error.message,
644
- // blogs: [],
645
- // };
646
- // }
647
- // }
648
- // for admin dashboard
649
- export async function editBlog(formData, slug) {
650
- try {
651
- const endpoint = `/blog/update/${slug}`;
652
- const data = await patch(endpoint, formData);
653
- return {
654
- success: true,
655
- slug: data.data,
656
- message: data.message,
657
- };
658
- }
659
- catch (error) {
660
- console.error("Failed to save blog: ", error);
661
- return {
662
- success: false,
663
- error: error.message,
664
- };
665
- }
666
- }
667
- // all opportunities (may not be required or may delete in future)
668
- // export async function getAllOpportunities(): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
669
- // try {
670
- // const res = await fetch('/sample/opportunity.json');
671
- // const opportunities = await res.json() as Opportunity[];
672
- // return {
673
- // success: true,
674
- // message: "fetch success",
675
- // opportunities: opportunities,
676
- // }
677
- // } catch (error: any) {
678
- // console.error('Failed to fetch all oppotunities: ', error);
679
- // return {
680
- // success: false,
681
- // error: error.message,
682
- // opportunities: []
683
- // };
684
- // }
685
- // };
686
- // for admin dashboard
687
- // export async function getOpportunitiesByStatus(status: string[], limit?: number): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
688
- // try {
689
- // const endpoint = `/newHostPost/getAllOppTiles?status=${status}${limit ? ("&limit=" + limit) : ""}`;
690
- // const data: {
691
- // data: Opportunity[], message: string
692
- // } = await get(endpoint);
693
- // return {
694
- // success: true,
695
- // message: data.message,
696
- // opportunities: data.data,
697
- // }
698
- // } catch (error: any) {
699
- // console.error('Failed to fetch opportunities by status: ', error);
700
- // return {
701
- // success: false,
702
- // error: error.message,
703
- // opportunities: []
704
- // };
705
- // }
706
- // };
707
- // export async function approveOpportunity(formData: FormData, slug: string): Promise<{ success: boolean, slug?: string, message?: string, error?: string }> {
708
- // try {
709
- // const endpoint = `/admin/approve-post/${slug}`
710
- // const data: { message: string, data: string } = await patch(endpoint, formData);
711
- // return {
712
- // success: true,
713
- // slug: data.data,
714
- // message: data.message,
715
- // }
716
- // }
717
- // catch (error: any) {
718
- // console.error('Failed to save opportuntiy: ', error);
719
- // return {
720
- // success: false,
721
- // error: error.message,
722
- // };
723
- // }
724
- // }
725
- // blogs
726
- // may not be needed
727
- // export async function getAllBlogs(): Promise<{ success: boolean, blogs: Blog[], message?: string, error?: string }> {
728
- // try {
729
- // const res = await fetch('/sample/blogs.json');
730
- // const blogs = await res.json() as Blog[];
731
- // return {
732
- // success: true,
733
- // message: "fetch success",
734
- // blogs: blogs,
735
- // };
736
- // } catch (error: any) {
737
- // console.error('Failed to fetch blogs: ', error);
738
- // return {
739
- // success: false,
740
- // error: error.message,
741
- // blogs: [],
742
- // };
743
- // }
744
- // }
745
- // for admin dashboard
746
- export async function toogleBlogLike(slug) {
747
- try {
748
- const endpoint = `/blog/${slug}/toogleLike`;
749
- const data = await get(endpoint);
750
- return {
751
- success: true,
752
- message: data.message,
753
- };
754
- }
755
- catch (error) {
756
- console.error(error);
757
- return {
758
- success: false,
759
- error: error,
760
- };
761
- }
762
- }