@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,573 @@
1
+ import { get, patch, post } from "./fetcher";
2
+ // all opportunities (may not be required or may delete in future)
3
+ // export async function getAllOpportunities(): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
4
+ // try {
5
+ // const res = await fetch('/sample/opportunity.json');
6
+ // const opportunities = await res.json() as Opportunity[];
7
+ // return {
8
+ // success: true,
9
+ // message: "fetch success",
10
+ // opportunities: opportunities,
11
+ // }
12
+ // } catch (error: any) {
13
+ // console.error('Failed to fetch all oppotunities: ', error);
14
+ // return {
15
+ // success: false,
16
+ // error: error.message,
17
+ // opportunities: []
18
+ // };
19
+ // }
20
+ // };
21
+ // for admin dashboard
22
+ // export async function getOpportunitiesByStatus(status: string[], limit?: number): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
23
+ // try {
24
+ // const endpoint = `/newHostPost/getAllOppTiles?status=${status}${limit ? ("&limit=" + limit) : ""}`;
25
+ // const data: {
26
+ // data: Opportunity[], message: string
27
+ // } = await get(endpoint);
28
+ // return {
29
+ // success: true,
30
+ // message: data.message,
31
+ // opportunities: data.data,
32
+ // }
33
+ // } catch (error: any) {
34
+ // console.error('Failed to fetch opportunities by status: ', error);
35
+ // return {
36
+ // success: false,
37
+ // error: error.message,
38
+ // opportunities: []
39
+ // };
40
+ // }
41
+ // };
42
+ // export async function approveOpportunity(formData: FormData, slug: string): Promise<{ success: boolean, slug?: string, message?: string, error?: string }> {
43
+ // try {
44
+ // const endpoint = `/admin/approve-post/${slug}`
45
+ // const data: { message: string, data: string } = await patch(endpoint, formData);
46
+ // return {
47
+ // success: true,
48
+ // slug: data.data,
49
+ // message: data.message,
50
+ // }
51
+ // }
52
+ // catch (error: any) {
53
+ // console.error('Failed to save opportuntiy: ', error);
54
+ // return {
55
+ // success: false,
56
+ // error: error.message,
57
+ // };
58
+ // }
59
+ // }
60
+ // blogs
61
+ // may not be needed
62
+ // export async function getAllBlogs(): Promise<{ success: boolean, blogs: Blog[], message?: string, error?: string }> {
63
+ // try {
64
+ // const res = await fetch('/sample/blogs.json');
65
+ // const blogs = await res.json() as Blog[];
66
+ // return {
67
+ // success: true,
68
+ // message: "fetch success",
69
+ // blogs: blogs,
70
+ // };
71
+ // } catch (error: any) {
72
+ // console.error('Failed to fetch blogs: ', error);
73
+ // return {
74
+ // success: false,
75
+ // error: error.message,
76
+ // blogs: [],
77
+ // };
78
+ // }
79
+ // }
80
+ // for admin dashboard
81
+ // Application form
82
+ export async function getVolunteerApplicationForm(slug) {
83
+ try {
84
+ const endpoint = `/applications/getApplicationByUserAndSlug/${slug}`;
85
+ const data = await get(endpoint);
86
+ return { success: true, message: data.message, application: data.data };
87
+ }
88
+ catch (error) {
89
+ return {
90
+ success: false,
91
+ error: error.message,
92
+ application: null,
93
+ };
94
+ }
95
+ }
96
+ // all opportunities (may not be required or may delete in future)
97
+ // export async function getAllOpportunities(): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
98
+ // try {
99
+ // const res = await fetch('/sample/opportunity.json');
100
+ // const opportunities = await res.json() as Opportunity[];
101
+ // return {
102
+ // success: true,
103
+ // message: "fetch success",
104
+ // opportunities: opportunities,
105
+ // }
106
+ // } catch (error: any) {
107
+ // console.error('Failed to fetch all oppotunities: ', error);
108
+ // return {
109
+ // success: false,
110
+ // error: error.message,
111
+ // opportunities: []
112
+ // };
113
+ // }
114
+ // };
115
+ // for admin dashboard
116
+ // export async function getOpportunitiesByStatus(status: string[], limit?: number): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
117
+ // try {
118
+ // const endpoint = `/newHostPost/getAllOppTiles?status=${status}${limit ? ("&limit=" + limit) : ""}`;
119
+ // const data: {
120
+ // data: Opportunity[], message: string
121
+ // } = await get(endpoint);
122
+ // return {
123
+ // success: true,
124
+ // message: data.message,
125
+ // opportunities: data.data,
126
+ // }
127
+ // } catch (error: any) {
128
+ // console.error('Failed to fetch opportunities by status: ', error);
129
+ // return {
130
+ // success: false,
131
+ // error: error.message,
132
+ // opportunities: []
133
+ // };
134
+ // }
135
+ // };
136
+ // export async function approveOpportunity(formData: FormData, slug: string): Promise<{ success: boolean, slug?: string, message?: string, error?: string }> {
137
+ // try {
138
+ // const endpoint = `/admin/approve-post/${slug}`
139
+ // const data: { message: string, data: string } = await patch(endpoint, formData);
140
+ // return {
141
+ // success: true,
142
+ // slug: data.data,
143
+ // message: data.message,
144
+ // }
145
+ // }
146
+ // catch (error: any) {
147
+ // console.error('Failed to save opportuntiy: ', error);
148
+ // return {
149
+ // success: false,
150
+ // error: error.message,
151
+ // };
152
+ // }
153
+ // }
154
+ // blogs
155
+ // may not be needed
156
+ // export async function getAllBlogs(): Promise<{ success: boolean, blogs: Blog[], message?: string, error?: string }> {
157
+ // try {
158
+ // const res = await fetch('/sample/blogs.json');
159
+ // const blogs = await res.json() as Blog[];
160
+ // return {
161
+ // success: true,
162
+ // message: "fetch success",
163
+ // blogs: blogs,
164
+ // };
165
+ // } catch (error: any) {
166
+ // console.error('Failed to fetch blogs: ', error);
167
+ // return {
168
+ // success: false,
169
+ // error: error.message,
170
+ // blogs: [],
171
+ // };
172
+ // }
173
+ // }
174
+ // for admin dashboard
175
+ // Application form
176
+ export async function applicationDetails(applicationId) {
177
+ try {
178
+ const endpoint = `/applications/getSingleApplication/${applicationId}`;
179
+ const data = await get(endpoint);
180
+ return { success: true, message: data.message, application: data.data };
181
+ }
182
+ catch (error) {
183
+ return {
184
+ success: false,
185
+ error: error.message,
186
+ application: null,
187
+ };
188
+ }
189
+ }
190
+ // all opportunities (may not be required or may delete in future)
191
+ // export async function getAllOpportunities(): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
192
+ // try {
193
+ // const res = await fetch('/sample/opportunity.json');
194
+ // const opportunities = await res.json() as Opportunity[];
195
+ // return {
196
+ // success: true,
197
+ // message: "fetch success",
198
+ // opportunities: opportunities,
199
+ // }
200
+ // } catch (error: any) {
201
+ // console.error('Failed to fetch all oppotunities: ', error);
202
+ // return {
203
+ // success: false,
204
+ // error: error.message,
205
+ // opportunities: []
206
+ // };
207
+ // }
208
+ // };
209
+ // for admin dashboard
210
+ // export async function getOpportunitiesByStatus(status: string[], limit?: number): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
211
+ // try {
212
+ // const endpoint = `/newHostPost/getAllOppTiles?status=${status}${limit ? ("&limit=" + limit) : ""}`;
213
+ // const data: {
214
+ // data: Opportunity[], message: string
215
+ // } = await get(endpoint);
216
+ // return {
217
+ // success: true,
218
+ // message: data.message,
219
+ // opportunities: data.data,
220
+ // }
221
+ // } catch (error: any) {
222
+ // console.error('Failed to fetch opportunities by status: ', error);
223
+ // return {
224
+ // success: false,
225
+ // error: error.message,
226
+ // opportunities: []
227
+ // };
228
+ // }
229
+ // };
230
+ // export async function approveOpportunity(formData: FormData, slug: string): Promise<{ success: boolean, slug?: string, message?: string, error?: string }> {
231
+ // try {
232
+ // const endpoint = `/admin/approve-post/${slug}`
233
+ // const data: { message: string, data: string } = await patch(endpoint, formData);
234
+ // return {
235
+ // success: true,
236
+ // slug: data.data,
237
+ // message: data.message,
238
+ // }
239
+ // }
240
+ // catch (error: any) {
241
+ // console.error('Failed to save opportuntiy: ', error);
242
+ // return {
243
+ // success: false,
244
+ // error: error.message,
245
+ // };
246
+ // }
247
+ // }
248
+ // blogs
249
+ // may not be needed
250
+ // export async function getAllBlogs(): Promise<{ success: boolean, blogs: Blog[], message?: string, error?: string }> {
251
+ // try {
252
+ // const res = await fetch('/sample/blogs.json');
253
+ // const blogs = await res.json() as Blog[];
254
+ // return {
255
+ // success: true,
256
+ // message: "fetch success",
257
+ // blogs: blogs,
258
+ // };
259
+ // } catch (error: any) {
260
+ // console.error('Failed to fetch blogs: ', error);
261
+ // return {
262
+ // success: false,
263
+ // error: error.message,
264
+ // blogs: [],
265
+ // };
266
+ // }
267
+ // }
268
+ // for admin dashboard
269
+ // Application form
270
+ export async function getApplicationsForOpportunity(slug) {
271
+ try {
272
+ const endpoint = `/applications/getUserApplication/${slug}`;
273
+ const data = await get(endpoint);
274
+ return { success: true, message: data.message, applications: data.data };
275
+ }
276
+ catch (error) {
277
+ return {
278
+ success: false,
279
+ error: error.message,
280
+ applications: [],
281
+ };
282
+ }
283
+ }
284
+ // all opportunities (may not be required or may delete in future)
285
+ // export async function getAllOpportunities(): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
286
+ // try {
287
+ // const res = await fetch('/sample/opportunity.json');
288
+ // const opportunities = await res.json() as Opportunity[];
289
+ // return {
290
+ // success: true,
291
+ // message: "fetch success",
292
+ // opportunities: opportunities,
293
+ // }
294
+ // } catch (error: any) {
295
+ // console.error('Failed to fetch all oppotunities: ', error);
296
+ // return {
297
+ // success: false,
298
+ // error: error.message,
299
+ // opportunities: []
300
+ // };
301
+ // }
302
+ // };
303
+ // for admin dashboard
304
+ // export async function getOpportunitiesByStatus(status: string[], limit?: number): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
305
+ // try {
306
+ // const endpoint = `/newHostPost/getAllOppTiles?status=${status}${limit ? ("&limit=" + limit) : ""}`;
307
+ // const data: {
308
+ // data: Opportunity[], message: string
309
+ // } = await get(endpoint);
310
+ // return {
311
+ // success: true,
312
+ // message: data.message,
313
+ // opportunities: data.data,
314
+ // }
315
+ // } catch (error: any) {
316
+ // console.error('Failed to fetch opportunities by status: ', error);
317
+ // return {
318
+ // success: false,
319
+ // error: error.message,
320
+ // opportunities: []
321
+ // };
322
+ // }
323
+ // };
324
+ // export async function approveOpportunity(formData: FormData, slug: string): Promise<{ success: boolean, slug?: string, message?: string, error?: string }> {
325
+ // try {
326
+ // const endpoint = `/admin/approve-post/${slug}`
327
+ // const data: { message: string, data: string } = await patch(endpoint, formData);
328
+ // return {
329
+ // success: true,
330
+ // slug: data.data,
331
+ // message: data.message,
332
+ // }
333
+ // }
334
+ // catch (error: any) {
335
+ // console.error('Failed to save opportuntiy: ', error);
336
+ // return {
337
+ // success: false,
338
+ // error: error.message,
339
+ // };
340
+ // }
341
+ // }
342
+ // blogs
343
+ // may not be needed
344
+ // export async function getAllBlogs(): Promise<{ success: boolean, blogs: Blog[], message?: string, error?: string }> {
345
+ // try {
346
+ // const res = await fetch('/sample/blogs.json');
347
+ // const blogs = await res.json() as Blog[];
348
+ // return {
349
+ // success: true,
350
+ // message: "fetch success",
351
+ // blogs: blogs,
352
+ // };
353
+ // } catch (error: any) {
354
+ // console.error('Failed to fetch blogs: ', error);
355
+ // return {
356
+ // success: false,
357
+ // error: error.message,
358
+ // blogs: [],
359
+ // };
360
+ // }
361
+ // }
362
+ // for admin dashboard
363
+ // Application form
364
+ export async function saveApplicationForm(formData) {
365
+ try {
366
+ const endpoint = `/applications/applyForOpportunity`;
367
+ const data = await post(endpoint, formData);
368
+ return {
369
+ success: true,
370
+ message: data.message,
371
+ };
372
+ }
373
+ catch (error) {
374
+ return {
375
+ success: false,
376
+ error: error.message,
377
+ };
378
+ }
379
+ }
380
+ // all opportunities (may not be required or may delete in future)
381
+ // export async function getAllOpportunities(): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
382
+ // try {
383
+ // const res = await fetch('/sample/opportunity.json');
384
+ // const opportunities = await res.json() as Opportunity[];
385
+ // return {
386
+ // success: true,
387
+ // message: "fetch success",
388
+ // opportunities: opportunities,
389
+ // }
390
+ // } catch (error: any) {
391
+ // console.error('Failed to fetch all oppotunities: ', error);
392
+ // return {
393
+ // success: false,
394
+ // error: error.message,
395
+ // opportunities: []
396
+ // };
397
+ // }
398
+ // };
399
+ // for admin dashboard
400
+ // export async function getOpportunitiesByStatus(status: string[], limit?: number): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
401
+ // try {
402
+ // const endpoint = `/newHostPost/getAllOppTiles?status=${status}${limit ? ("&limit=" + limit) : ""}`;
403
+ // const data: {
404
+ // data: Opportunity[], message: string
405
+ // } = await get(endpoint);
406
+ // return {
407
+ // success: true,
408
+ // message: data.message,
409
+ // opportunities: data.data,
410
+ // }
411
+ // } catch (error: any) {
412
+ // console.error('Failed to fetch opportunities by status: ', error);
413
+ // return {
414
+ // success: false,
415
+ // error: error.message,
416
+ // opportunities: []
417
+ // };
418
+ // }
419
+ // };
420
+ // export async function approveOpportunity(formData: FormData, slug: string): Promise<{ success: boolean, slug?: string, message?: string, error?: string }> {
421
+ // try {
422
+ // const endpoint = `/admin/approve-post/${slug}`
423
+ // const data: { message: string, data: string } = await patch(endpoint, formData);
424
+ // return {
425
+ // success: true,
426
+ // slug: data.data,
427
+ // message: data.message,
428
+ // }
429
+ // }
430
+ // catch (error: any) {
431
+ // console.error('Failed to save opportuntiy: ', error);
432
+ // return {
433
+ // success: false,
434
+ // error: error.message,
435
+ // };
436
+ // }
437
+ // }
438
+ // blogs
439
+ // may not be needed
440
+ // export async function getAllBlogs(): Promise<{ success: boolean, blogs: Blog[], message?: string, error?: string }> {
441
+ // try {
442
+ // const res = await fetch('/sample/blogs.json');
443
+ // const blogs = await res.json() as Blog[];
444
+ // return {
445
+ // success: true,
446
+ // message: "fetch success",
447
+ // blogs: blogs,
448
+ // };
449
+ // } catch (error: any) {
450
+ // console.error('Failed to fetch blogs: ', error);
451
+ // return {
452
+ // success: false,
453
+ // error: error.message,
454
+ // blogs: [],
455
+ // };
456
+ // }
457
+ // }
458
+ // for admin dashboard
459
+ // Application form
460
+ export async function updateApplicationStatus(status, id) {
461
+ try {
462
+ const endpoint = `/applications/updateApplicationStatus/${id}`;
463
+ const data = await patch(endpoint, {
464
+ status: status,
465
+ });
466
+ return {
467
+ success: true,
468
+ message: data.message,
469
+ };
470
+ }
471
+ catch (error) {
472
+ return {
473
+ success: false,
474
+ error: error.message,
475
+ };
476
+ }
477
+ }
478
+ // all opportunities (may not be required or may delete in future)
479
+ // export async function getAllOpportunities(): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
480
+ // try {
481
+ // const res = await fetch('/sample/opportunity.json');
482
+ // const opportunities = await res.json() as Opportunity[];
483
+ // return {
484
+ // success: true,
485
+ // message: "fetch success",
486
+ // opportunities: opportunities,
487
+ // }
488
+ // } catch (error: any) {
489
+ // console.error('Failed to fetch all oppotunities: ', error);
490
+ // return {
491
+ // success: false,
492
+ // error: error.message,
493
+ // opportunities: []
494
+ // };
495
+ // }
496
+ // };
497
+ // for admin dashboard
498
+ // export async function getOpportunitiesByStatus(status: string[], limit?: number): Promise<{ success: boolean, opportunities: Opportunity[], message?: string, error?: string }> {
499
+ // try {
500
+ // const endpoint = `/newHostPost/getAllOppTiles?status=${status}${limit ? ("&limit=" + limit) : ""}`;
501
+ // const data: {
502
+ // data: Opportunity[], message: string
503
+ // } = await get(endpoint);
504
+ // return {
505
+ // success: true,
506
+ // message: data.message,
507
+ // opportunities: data.data,
508
+ // }
509
+ // } catch (error: any) {
510
+ // console.error('Failed to fetch opportunities by status: ', error);
511
+ // return {
512
+ // success: false,
513
+ // error: error.message,
514
+ // opportunities: []
515
+ // };
516
+ // }
517
+ // };
518
+ // export async function approveOpportunity(formData: FormData, slug: string): Promise<{ success: boolean, slug?: string, message?: string, error?: string }> {
519
+ // try {
520
+ // const endpoint = `/admin/approve-post/${slug}`
521
+ // const data: { message: string, data: string } = await patch(endpoint, formData);
522
+ // return {
523
+ // success: true,
524
+ // slug: data.data,
525
+ // message: data.message,
526
+ // }
527
+ // }
528
+ // catch (error: any) {
529
+ // console.error('Failed to save opportuntiy: ', error);
530
+ // return {
531
+ // success: false,
532
+ // error: error.message,
533
+ // };
534
+ // }
535
+ // }
536
+ // blogs
537
+ // may not be needed
538
+ // export async function getAllBlogs(): Promise<{ success: boolean, blogs: Blog[], message?: string, error?: string }> {
539
+ // try {
540
+ // const res = await fetch('/sample/blogs.json');
541
+ // const blogs = await res.json() as Blog[];
542
+ // return {
543
+ // success: true,
544
+ // message: "fetch success",
545
+ // blogs: blogs,
546
+ // };
547
+ // } catch (error: any) {
548
+ // console.error('Failed to fetch blogs: ', error);
549
+ // return {
550
+ // success: false,
551
+ // error: error.message,
552
+ // blogs: [],
553
+ // };
554
+ // }
555
+ // }
556
+ // for admin dashboard
557
+ // Application form
558
+ export async function editApplication(formData, id) {
559
+ try {
560
+ const endpoint = `/applications/updateApplication/${id}`;
561
+ const data = await patch(endpoint, formData);
562
+ return {
563
+ success: true,
564
+ message: data.message,
565
+ };
566
+ }
567
+ catch (error) {
568
+ return {
569
+ success: false,
570
+ error: error.message,
571
+ };
572
+ }
573
+ }