@osise/api-client 0.0.1 → 0.0.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 (160) hide show
  1. package/README.md +82 -0
  2. package/dist/cjs/api/admin-b2b.js +260 -0
  3. package/dist/cjs/api/admin-b2b.js.map +1 -0
  4. package/dist/cjs/api/admin-finance.js +78 -0
  5. package/dist/cjs/api/admin-finance.js.map +1 -0
  6. package/dist/cjs/api/admin-payouts.js +54 -0
  7. package/dist/cjs/api/admin-payouts.js.map +1 -0
  8. package/dist/cjs/api/admin-qc.js +237 -0
  9. package/dist/cjs/api/admin-qc.js.map +1 -0
  10. package/dist/cjs/api/admin.js +280 -24
  11. package/dist/cjs/api/admin.js.map +1 -1
  12. package/dist/cjs/api/b2b.js +124 -0
  13. package/dist/cjs/api/b2b.js.map +1 -0
  14. package/dist/cjs/api/communication.js +283 -0
  15. package/dist/cjs/api/communication.js.map +1 -0
  16. package/dist/cjs/api/index.js +33 -1
  17. package/dist/cjs/api/index.js.map +1 -1
  18. package/dist/cjs/api/jobs.js +304 -43
  19. package/dist/cjs/api/jobs.js.map +1 -1
  20. package/dist/cjs/api/location.js +91 -0
  21. package/dist/cjs/api/location.js.map +1 -0
  22. package/dist/cjs/api/payments.js +129 -0
  23. package/dist/cjs/api/payments.js.map +1 -0
  24. package/dist/cjs/api/support.js +148 -0
  25. package/dist/cjs/api/support.js.map +1 -0
  26. package/dist/cjs/hooks/index.js +1738 -4
  27. package/dist/cjs/hooks/index.js.map +1 -1
  28. package/dist/cjs/index.js +35 -1
  29. package/dist/cjs/index.js.map +1 -1
  30. package/dist/cjs/types/admin-finance.js +7 -0
  31. package/dist/cjs/types/admin-finance.js.map +1 -0
  32. package/dist/cjs/types/admin-invoice.js +7 -0
  33. package/dist/cjs/types/admin-invoice.js.map +1 -0
  34. package/dist/cjs/types/admin-payout.js +7 -0
  35. package/dist/cjs/types/admin-payout.js.map +1 -0
  36. package/dist/cjs/types/b2b.js +7 -0
  37. package/dist/cjs/types/b2b.js.map +1 -0
  38. package/dist/cjs/types/communication.js +90 -0
  39. package/dist/cjs/types/communication.js.map +1 -0
  40. package/dist/cjs/types/enums.js +343 -1
  41. package/dist/cjs/types/enums.js.map +1 -1
  42. package/dist/cjs/types/index.js +18 -2
  43. package/dist/cjs/types/index.js.map +1 -1
  44. package/dist/cjs/types/job.js +1 -0
  45. package/dist/cjs/types/job.js.map +1 -1
  46. package/dist/cjs/types/location.js +7 -0
  47. package/dist/cjs/types/location.js.map +1 -0
  48. package/dist/cjs/types/payment.js +7 -0
  49. package/dist/cjs/types/payment.js.map +1 -0
  50. package/dist/cjs/types/qc.js +8 -0
  51. package/dist/cjs/types/qc.js.map +1 -0
  52. package/dist/cjs/types/support.js +7 -0
  53. package/dist/cjs/types/support.js.map +1 -0
  54. package/dist/esm/api/admin-b2b.js +255 -0
  55. package/dist/esm/api/admin-b2b.js.map +1 -0
  56. package/dist/esm/api/admin-finance.js +74 -0
  57. package/dist/esm/api/admin-finance.js.map +1 -0
  58. package/dist/esm/api/admin-payouts.js +50 -0
  59. package/dist/esm/api/admin-payouts.js.map +1 -0
  60. package/dist/esm/api/admin-qc.js +233 -0
  61. package/dist/esm/api/admin-qc.js.map +1 -0
  62. package/dist/esm/api/admin.js +275 -22
  63. package/dist/esm/api/admin.js.map +1 -1
  64. package/dist/esm/api/b2b.js +120 -0
  65. package/dist/esm/api/b2b.js.map +1 -0
  66. package/dist/esm/api/communication.js +275 -0
  67. package/dist/esm/api/communication.js.map +1 -0
  68. package/dist/esm/api/index.js +10 -1
  69. package/dist/esm/api/index.js.map +1 -1
  70. package/dist/esm/api/jobs.js +304 -43
  71. package/dist/esm/api/jobs.js.map +1 -1
  72. package/dist/esm/api/location.js +87 -0
  73. package/dist/esm/api/location.js.map +1 -0
  74. package/dist/esm/api/payments.js +124 -0
  75. package/dist/esm/api/payments.js.map +1 -0
  76. package/dist/esm/api/support.js +143 -0
  77. package/dist/esm/api/support.js.map +1 -0
  78. package/dist/esm/hooks/index.js +1552 -3
  79. package/dist/esm/hooks/index.js.map +1 -1
  80. package/dist/esm/index.js +36 -2
  81. package/dist/esm/index.js.map +1 -1
  82. package/dist/esm/types/admin-finance.js +6 -0
  83. package/dist/esm/types/admin-finance.js.map +1 -0
  84. package/dist/esm/types/admin-invoice.js +6 -0
  85. package/dist/esm/types/admin-invoice.js.map +1 -0
  86. package/dist/esm/types/admin-payout.js +6 -0
  87. package/dist/esm/types/admin-payout.js.map +1 -0
  88. package/dist/esm/types/b2b.js +6 -0
  89. package/dist/esm/types/b2b.js.map +1 -0
  90. package/dist/esm/types/communication.js +87 -0
  91. package/dist/esm/types/communication.js.map +1 -0
  92. package/dist/esm/types/enums.js +341 -0
  93. package/dist/esm/types/enums.js.map +1 -1
  94. package/dist/esm/types/index.js +18 -2
  95. package/dist/esm/types/index.js.map +1 -1
  96. package/dist/esm/types/job.js +1 -0
  97. package/dist/esm/types/job.js.map +1 -1
  98. package/dist/esm/types/location.js +6 -0
  99. package/dist/esm/types/location.js.map +1 -0
  100. package/dist/esm/types/payment.js +6 -0
  101. package/dist/esm/types/payment.js.map +1 -0
  102. package/dist/esm/types/qc.js +7 -0
  103. package/dist/esm/types/qc.js.map +1 -0
  104. package/dist/esm/types/support.js +6 -0
  105. package/dist/esm/types/support.js.map +1 -0
  106. package/dist/types/api/admin-b2b.d.ts +225 -0
  107. package/dist/types/api/admin-b2b.d.ts.map +1 -0
  108. package/dist/types/api/admin-finance.d.ts +52 -0
  109. package/dist/types/api/admin-finance.d.ts.map +1 -0
  110. package/dist/types/api/admin-payouts.d.ts +37 -0
  111. package/dist/types/api/admin-payouts.d.ts.map +1 -0
  112. package/dist/types/api/admin-qc.d.ts +157 -0
  113. package/dist/types/api/admin-qc.d.ts.map +1 -0
  114. package/dist/types/api/admin.d.ts +184 -17
  115. package/dist/types/api/admin.d.ts.map +1 -1
  116. package/dist/types/api/b2b.d.ts +77 -0
  117. package/dist/types/api/b2b.d.ts.map +1 -0
  118. package/dist/types/api/communication.d.ts +201 -0
  119. package/dist/types/api/communication.d.ts.map +1 -0
  120. package/dist/types/api/index.d.ts +10 -1
  121. package/dist/types/api/index.d.ts.map +1 -1
  122. package/dist/types/api/jobs.d.ts +197 -38
  123. package/dist/types/api/jobs.d.ts.map +1 -1
  124. package/dist/types/api/location.d.ts +76 -0
  125. package/dist/types/api/location.d.ts.map +1 -0
  126. package/dist/types/api/payments.d.ts +81 -0
  127. package/dist/types/api/payments.d.ts.map +1 -0
  128. package/dist/types/api/support.d.ts +101 -0
  129. package/dist/types/api/support.d.ts.map +1 -0
  130. package/dist/types/hooks/index.d.ts +965 -6
  131. package/dist/types/hooks/index.d.ts.map +1 -1
  132. package/dist/types/index.d.ts +32 -2
  133. package/dist/types/index.d.ts.map +1 -1
  134. package/dist/types/types/admin-finance.d.ts +265 -0
  135. package/dist/types/types/admin-finance.d.ts.map +1 -0
  136. package/dist/types/types/admin-invoice.d.ts +262 -0
  137. package/dist/types/types/admin-invoice.d.ts.map +1 -0
  138. package/dist/types/types/admin-payout.d.ts +180 -0
  139. package/dist/types/types/admin-payout.d.ts.map +1 -0
  140. package/dist/types/types/admin.d.ts +1341 -0
  141. package/dist/types/types/admin.d.ts.map +1 -1
  142. package/dist/types/types/b2b.d.ts +687 -0
  143. package/dist/types/types/b2b.d.ts.map +1 -0
  144. package/dist/types/types/communication.d.ts +670 -0
  145. package/dist/types/types/communication.d.ts.map +1 -0
  146. package/dist/types/types/enums.d.ts +311 -0
  147. package/dist/types/types/enums.d.ts.map +1 -1
  148. package/dist/types/types/index.d.ts +10 -1
  149. package/dist/types/types/index.d.ts.map +1 -1
  150. package/dist/types/types/job.d.ts +576 -55
  151. package/dist/types/types/job.d.ts.map +1 -1
  152. package/dist/types/types/location.d.ts +74 -0
  153. package/dist/types/types/location.d.ts.map +1 -0
  154. package/dist/types/types/payment.d.ts +281 -0
  155. package/dist/types/types/payment.d.ts.map +1 -0
  156. package/dist/types/types/qc.d.ts +589 -0
  157. package/dist/types/types/qc.d.ts.map +1 -0
  158. package/dist/types/types/support.d.ts +194 -0
  159. package/dist/types/types/support.d.ts.map +1 -0
  160. package/package.json +1 -1
@@ -1,16 +1,44 @@
1
1
  "use strict";
2
2
  /**
3
3
  * Jobs API
4
- * Handles job requests, quotes, payments, ratings, and disputes
4
+ * Handles job requests, quotes, payments, ratings, disputes, and admin operations
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.ArtisanJobsApi = exports.JobsApi = void 0;
7
+ exports.AdminJobsApi = exports.ArtisanJobsApi = exports.JobsApi = exports.ServiceCategoriesApi = void 0;
8
8
  const types_1 = require("../types");
9
+ // ==================== Service Categories API ====================
10
+ class ServiceCategoriesApi {
11
+ constructor(http) {
12
+ this.http = http;
13
+ this.basePath = '/api/v1/services/categories';
14
+ }
15
+ /**
16
+ * Get all active service categories
17
+ */
18
+ async list() {
19
+ return this.http.get(this.basePath);
20
+ }
21
+ /**
22
+ * Get a specific service category by ID
23
+ */
24
+ async get(categoryId) {
25
+ return this.http.get(`${this.basePath}/${categoryId}`);
26
+ }
27
+ }
28
+ exports.ServiceCategoriesApi = ServiceCategoriesApi;
29
+ // ==================== Consumer Jobs API ====================
9
30
  class JobsApi {
10
31
  constructor(http) {
11
32
  this.http = http;
12
33
  this.basePath = '/api/v1/jobs';
13
34
  }
35
+ // ==================== Service Categories & Estimates ====================
36
+ /**
37
+ * Get a price estimate for a service
38
+ */
39
+ async getEstimate(data) {
40
+ return this.http.post(`${this.basePath}/estimate`, data);
41
+ }
14
42
  // ==================== Consumer Job Operations ====================
15
43
  /**
16
44
  * Create a new job request
@@ -37,17 +65,42 @@ class JobsApi {
37
65
  return this.http.get(this.basePath, params);
38
66
  }
39
67
  /**
40
- * Cancel a job
68
+ * Get job status with history
41
69
  */
42
- async cancel(jobId, data) {
43
- return this.http.post(`${this.basePath}/${jobId}/cancel`, data);
70
+ async getStatus(jobId) {
71
+ return this.http.get(`${this.basePath}/${jobId}/status`);
44
72
  }
45
73
  /**
46
- * Get job timeline/history
74
+ * Get job updates/events
75
+ */
76
+ async getUpdates(jobId) {
77
+ return this.http.get(`${this.basePath}/${jobId}/updates`);
78
+ }
79
+ /**
80
+ * Get job timeline/history (legacy)
47
81
  */
48
82
  async getTimeline(jobId) {
49
83
  return this.http.get(`${this.basePath}/${jobId}/timeline`);
50
84
  }
85
+ // ==================== Artisan Info ====================
86
+ /**
87
+ * Get assigned artisan for a job
88
+ */
89
+ async getArtisan(jobId) {
90
+ return this.http.get(`${this.basePath}/${jobId}/artisan`);
91
+ }
92
+ /**
93
+ * Get ETA for artisan arrival
94
+ */
95
+ async getEta(jobId) {
96
+ return this.http.get(`${this.basePath}/${jobId}/eta`);
97
+ }
98
+ /**
99
+ * Get artisan's live location
100
+ */
101
+ async getLocation(jobId) {
102
+ return this.http.get(`${this.basePath}/${jobId}/location`);
103
+ }
51
104
  // ==================== Quote Operations (Consumer) ====================
52
105
  /**
53
106
  * Get the current quote for a job
@@ -56,35 +109,53 @@ class JobsApi {
56
109
  return this.http.get(`${this.basePath}/${jobId}/quote`);
57
110
  }
58
111
  /**
59
- * Approve or reject a quote
112
+ * Approve a quote
113
+ */
114
+ async approveQuote(jobId, data) {
115
+ return this.http.post(`${this.basePath}/${jobId}/quote/approve`, data || {});
116
+ }
117
+ /**
118
+ * Reject a quote
119
+ */
120
+ async rejectQuote(jobId, data) {
121
+ return this.http.post(`${this.basePath}/${jobId}/quote/reject`, data);
122
+ }
123
+ /**
124
+ * Negotiate a quote
125
+ */
126
+ async negotiateQuote(jobId, data) {
127
+ return this.http.post(`${this.basePath}/${jobId}/quote/negotiate`, data);
128
+ }
129
+ /**
130
+ * Approve or reject a quote (legacy)
60
131
  */
61
132
  async respondToQuote(jobId, data) {
62
133
  return this.http.post(`${this.basePath}/${jobId}/quote/respond`, data);
63
134
  }
64
- // ==================== Payment Operations ====================
135
+ // ==================== Job Actions ====================
65
136
  /**
66
- * Get payment details for a job
137
+ * Cancel a job
67
138
  */
68
- async getPayment(jobId) {
69
- return this.http.get(`${this.basePath}/${jobId}/payment`);
139
+ async cancel(jobId, data) {
140
+ return this.http.post(`${this.basePath}/${jobId}/cancel`, data);
70
141
  }
71
142
  /**
72
- * Initiate payment for a job
143
+ * Reschedule a job
73
144
  */
74
- async initiatePayment(jobId, data) {
75
- return this.http.post(`${this.basePath}/${jobId}/payment/initiate`, data);
145
+ async reschedule(jobId, data) {
146
+ return this.http.post(`${this.basePath}/${jobId}/reschedule`, data);
76
147
  }
77
148
  /**
78
- * Verify payment (callback from payment gateway)
149
+ * Escalate a job
79
150
  */
80
- async verifyPayment(jobId, reference) {
81
- return this.http.post(`${this.basePath}/${jobId}/payment/verify`, { reference });
151
+ async escalate(jobId, data) {
152
+ return this.http.post(`${this.basePath}/${jobId}/escalate`, data);
82
153
  }
83
154
  /**
84
- * Mark payment as cash (for cash payments)
155
+ * Confirm job completion
85
156
  */
86
- async markCashPayment(jobId) {
87
- return this.http.post(`${this.basePath}/${jobId}/payment/cash`);
157
+ async confirmCompletion(jobId, data) {
158
+ return this.http.post(`${this.basePath}/${jobId}/confirm-completion`, data || {});
88
159
  }
89
160
  // ==================== Rating Operations ====================
90
161
  /**
@@ -99,6 +170,50 @@ class JobsApi {
99
170
  async submitRating(jobId, data) {
100
171
  return this.http.post(`${this.basePath}/${jobId}/rating`, data);
101
172
  }
173
+ /**
174
+ * Add a tip for the artisan
175
+ */
176
+ async addTip(jobId, data) {
177
+ return this.http.post(`${this.basePath}/${jobId}/tip`, data);
178
+ }
179
+ // ==================== Issue & Redo ====================
180
+ /**
181
+ * Report an issue with the job
182
+ */
183
+ async reportIssue(jobId, data) {
184
+ return this.http.post(`${this.basePath}/${jobId}/issue`, data);
185
+ }
186
+ /**
187
+ * Request a redo for the job
188
+ */
189
+ async requestRedo(jobId, data) {
190
+ return this.http.post(`${this.basePath}/${jobId}/redo`, data);
191
+ }
192
+ // ==================== Payment Operations ====================
193
+ /**
194
+ * Get payment details for a job
195
+ */
196
+ async getPayment(jobId) {
197
+ return this.http.get(`${this.basePath}/${jobId}/payment`);
198
+ }
199
+ /**
200
+ * Initiate payment for a job
201
+ */
202
+ async initiatePayment(jobId, data) {
203
+ return this.http.post(`${this.basePath}/${jobId}/payment/initiate`, data);
204
+ }
205
+ /**
206
+ * Verify payment (callback from payment gateway)
207
+ */
208
+ async verifyPayment(jobId, reference) {
209
+ return this.http.post(`${this.basePath}/${jobId}/payment/verify`, { reference });
210
+ }
211
+ /**
212
+ * Mark payment as cash (for cash payments)
213
+ */
214
+ async markCashPayment(jobId) {
215
+ return this.http.post(`${this.basePath}/${jobId}/payment/cash`);
216
+ }
102
217
  // ==================== Dispute Operations ====================
103
218
  /**
104
219
  * Get dispute for a job
@@ -114,13 +229,21 @@ class JobsApi {
114
229
  }
115
230
  }
116
231
  exports.JobsApi = JobsApi;
232
+ // ==================== Artisan Jobs API ====================
117
233
  class ArtisanJobsApi {
118
234
  constructor(http) {
119
235
  this.http = http;
120
236
  this.basePath = '/api/v1/artisans/jobs';
121
237
  }
238
+ // ==================== Job Discovery & Listing ====================
239
+ /**
240
+ * Get available jobs for the artisan
241
+ */
242
+ async getAvailable(params) {
243
+ return this.http.get(`${this.basePath}/available`, params);
244
+ }
122
245
  /**
123
- * Get assigned jobs for artisan (paginated with filters)
246
+ * Get artisan's assigned jobs (paginated with filters)
124
247
  */
125
248
  async list(params) {
126
249
  return this.http.get(this.basePath, params);
@@ -132,47 +255,62 @@ class ArtisanJobsApi {
132
255
  return this.http.get(`${this.basePath}/${jobId}`);
133
256
  }
134
257
  /**
135
- * Accept an assigned job
258
+ * Get artisan's job history
136
259
  */
137
- async accept(jobId) {
138
- return this.http.post(`${this.basePath}/${jobId}/accept`);
260
+ async getHistory(params) {
261
+ return this.http.get(`${this.basePath}/history`, params);
139
262
  }
263
+ // ==================== Job Acceptance ====================
140
264
  /**
141
- * Decline an assigned job
265
+ * Accept an available job
142
266
  */
143
- async decline(jobId, reason) {
144
- return this.http.post(`${this.basePath}/${jobId}/decline`, { reason });
267
+ async accept(jobId, data) {
268
+ return this.http.post(`${this.basePath}/${jobId}/accept`, data || {});
145
269
  }
146
270
  /**
147
- * Update job status (en_route, arrived, in_progress, completed)
271
+ * Decline an available job
148
272
  */
149
- async updateStatus(jobId, data) {
150
- return this.http.patch(`${this.basePath}/${jobId}/status`, data);
273
+ async decline(jobId, data) {
274
+ return this.http.post(`${this.basePath}/${jobId}/decline`, data);
151
275
  }
152
276
  /**
153
- * Start traveling to job location
277
+ * Acknowledge an auto-assigned job
154
278
  */
155
- async startEnRoute(jobId) {
156
- return this.updateStatus(jobId, { status: types_1.JobStatus.ArtisanEnRoute });
279
+ async acknowledge(jobId, data) {
280
+ return this.http.post(`${this.basePath}/${jobId}/acknowledge`, data || {});
281
+ }
282
+ // ==================== Job Progress ====================
283
+ /**
284
+ * Mark as en route to job location
285
+ */
286
+ async markEnRoute(jobId, data) {
287
+ return this.http.post(`${this.basePath}/${jobId}/en-route`, data);
157
288
  }
158
289
  /**
159
290
  * Mark arrival at job location (GPS verified)
160
291
  */
161
- async markArrived(jobId, location) {
162
- return this.updateStatus(jobId, { status: types_1.JobStatus.Arrived, location });
292
+ async markArrived(jobId, data) {
293
+ return this.http.post(`${this.basePath}/${jobId}/arrive`, data);
163
294
  }
164
295
  /**
165
- * Start work on the job
296
+ * Update location while en route
166
297
  */
167
- async startWork(jobId) {
168
- return this.updateStatus(jobId, { status: types_1.JobStatus.InProgress });
298
+ async updateLocation(jobId, data) {
299
+ return this.http.patch(`${this.basePath}/${jobId}/location`, data);
300
+ }
301
+ /**
302
+ * Send a progress update
303
+ */
304
+ async sendUpdate(jobId, data) {
305
+ return this.http.post(`${this.basePath}/${jobId}/update`, data);
169
306
  }
170
307
  /**
171
308
  * Mark job as completed
172
309
  */
173
- async complete(jobId, notes) {
174
- return this.updateStatus(jobId, { status: types_1.JobStatus.Completed, notes });
310
+ async markComplete(jobId, data) {
311
+ return this.http.post(`${this.basePath}/${jobId}/complete`, data || {});
175
312
  }
313
+ // ==================== Quote Operations ====================
176
314
  /**
177
315
  * Submit a quote for the job
178
316
  */
@@ -186,10 +324,42 @@ class ArtisanJobsApi {
186
324
  return this.http.put(`${this.basePath}/${jobId}/quote`, data);
187
325
  }
188
326
  /**
189
- * Update location while en route
327
+ * Request additional materials
190
328
  */
191
- async updateLocation(jobId, data) {
192
- return this.http.post(`${this.basePath}/${jobId}/location`, data);
329
+ async requestMaterials(jobId, data) {
330
+ return this.http.post(`${this.basePath}/${jobId}/materials`, data);
331
+ }
332
+ // ==================== Payment ====================
333
+ /**
334
+ * Confirm cash payment received
335
+ */
336
+ async confirmCashReceived(jobId, data) {
337
+ return this.http.post(`${this.basePath}/${jobId}/cash-received`, data);
338
+ }
339
+ // ==================== Legacy Methods (for backwards compatibility) ====================
340
+ /**
341
+ * Update job status (legacy)
342
+ */
343
+ async updateStatus(jobId, data) {
344
+ return this.http.patch(`${this.basePath}/${jobId}/status`, data);
345
+ }
346
+ /**
347
+ * Start traveling to job location (legacy helper)
348
+ */
349
+ async startEnRoute(jobId) {
350
+ return this.updateStatus(jobId, { status: types_1.JobStatus.ArtisanEnRoute });
351
+ }
352
+ /**
353
+ * Start work on the job (legacy helper)
354
+ */
355
+ async startWork(jobId) {
356
+ return this.updateStatus(jobId, { status: types_1.JobStatus.InProgress });
357
+ }
358
+ /**
359
+ * Mark job as completed (legacy helper)
360
+ */
361
+ async complete(jobId, notes) {
362
+ return this.updateStatus(jobId, { status: types_1.JobStatus.Completed, notes });
193
363
  }
194
364
  /**
195
365
  * Respond to a consumer review
@@ -199,4 +369,95 @@ class ArtisanJobsApi {
199
369
  }
200
370
  }
201
371
  exports.ArtisanJobsApi = ArtisanJobsApi;
372
+ // ==================== Admin Jobs API ====================
373
+ class AdminJobsApi {
374
+ constructor(http) {
375
+ this.http = http;
376
+ this.basePath = '/api/v1/admin/jobs';
377
+ }
378
+ // ==================== Job Queue ====================
379
+ /**
380
+ * Get the job queue for dispatch
381
+ */
382
+ async getQueue(params) {
383
+ return this.http.get(`${this.basePath}/queue`, params);
384
+ }
385
+ /**
386
+ * Get a specific job with admin details
387
+ */
388
+ async get(jobId) {
389
+ return this.http.get(`${this.basePath}/${jobId}`);
390
+ }
391
+ /**
392
+ * Get all active jobs
393
+ */
394
+ async getActive(params) {
395
+ return this.http.get(`${this.basePath}/active`, params);
396
+ }
397
+ // ==================== Artisan Selection ====================
398
+ /**
399
+ * Get available artisans for a job
400
+ */
401
+ async getAvailableArtisans(jobId) {
402
+ return this.http.get(`${this.basePath}/${jobId}/artisans/available`);
403
+ }
404
+ /**
405
+ * Get system-suggested artisans for a job
406
+ */
407
+ async getSuggestedArtisans(jobId) {
408
+ return this.http.get(`${this.basePath}/${jobId}/artisans/suggested`);
409
+ }
410
+ // ==================== Job Assignment ====================
411
+ /**
412
+ * Assign an artisan to a job (manual dispatch)
413
+ */
414
+ async assignArtisan(jobId, data) {
415
+ return this.http.post(`${this.basePath}/${jobId}/assign`, data);
416
+ }
417
+ /**
418
+ * Broadcast a job to multiple artisans
419
+ */
420
+ async broadcast(jobId, data) {
421
+ return this.http.post(`${this.basePath}/${jobId}/broadcast`, data);
422
+ }
423
+ /**
424
+ * Reassign a job to a different artisan
425
+ */
426
+ async reassign(jobId, data) {
427
+ return this.http.post(`${this.basePath}/${jobId}/reassign`, data);
428
+ }
429
+ // ==================== Job Management ====================
430
+ /**
431
+ * Update job priority
432
+ */
433
+ async updatePriority(jobId, data) {
434
+ return this.http.patch(`${this.basePath}/${jobId}/priority`, data);
435
+ }
436
+ /**
437
+ * Add an internal note to a job
438
+ */
439
+ async addNote(jobId, data) {
440
+ return this.http.post(`${this.basePath}/${jobId}/notes`, data);
441
+ }
442
+ /**
443
+ * Update job ETA
444
+ */
445
+ async updateEta(jobId, data) {
446
+ return this.http.patch(`${this.basePath}/${jobId}/eta`, data);
447
+ }
448
+ // ==================== Contact Logging ====================
449
+ /**
450
+ * Log a contact attempt with the customer
451
+ */
452
+ async logCustomerContact(jobId, data) {
453
+ return this.http.post(`${this.basePath}/${jobId}/contact-customer`, data);
454
+ }
455
+ /**
456
+ * Log a contact attempt with the artisan
457
+ */
458
+ async logArtisanContact(jobId, data) {
459
+ return this.http.post(`${this.basePath}/${jobId}/contact-artisan`, data);
460
+ }
461
+ }
462
+ exports.AdminJobsApi = AdminJobsApi;
202
463
  //# sourceMappingURL=jobs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../src/api/jobs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../src/api/jobs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ /**
3
+ * Location API
4
+ * Handles geocoding, reverse geocoding, distance calculation, and service area queries
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.LocationApi = void 0;
8
+ class LocationApi {
9
+ constructor(http) {
10
+ this.http = http;
11
+ this.basePath = '/api/v1/location';
12
+ }
13
+ // ==================== Geocoding ====================
14
+ /**
15
+ * Geocode an address to coordinates
16
+ *
17
+ * Converts a street address to latitude/longitude coordinates.
18
+ * Note: Full geocoding requires external service integration.
19
+ *
20
+ * @param data - The address to geocode
21
+ * @returns Geocoding result with coordinates
22
+ */
23
+ async geocode(data) {
24
+ return this.http.post(`${this.basePath}/geocode`, data);
25
+ }
26
+ /**
27
+ * Reverse geocode coordinates to an address
28
+ *
29
+ * Converts latitude/longitude coordinates to an address.
30
+ * Returns the nearest known service area information.
31
+ *
32
+ * @param data - The coordinates to reverse geocode
33
+ * @returns Reverse geocoding result with address components
34
+ */
35
+ async reverseGeocode(data) {
36
+ return this.http.post(`${this.basePath}/reverse-geocode`, data);
37
+ }
38
+ // ==================== Distance Calculation ====================
39
+ /**
40
+ * Calculate distance between two points
41
+ *
42
+ * Calculates the straight-line (Haversine) distance between two coordinates.
43
+ * Also provides an estimated travel time based on average city driving speed.
44
+ *
45
+ * @param data - The origin and destination coordinates
46
+ * @returns Distance calculation result
47
+ */
48
+ async calculateDistance(data) {
49
+ return this.http.post(`${this.basePath}/distance`, data);
50
+ }
51
+ // ==================== Service Areas ====================
52
+ /**
53
+ * Get all service areas
54
+ *
55
+ * Returns a list of all active service areas where Osise operates.
56
+ * Can be filtered by state or city.
57
+ *
58
+ * @param params - Optional filters (state, city)
59
+ * @returns List of service areas
60
+ */
61
+ async getServiceAreas(params) {
62
+ return this.http.get(`${this.basePath}/service-areas`, params);
63
+ }
64
+ /**
65
+ * Find nearby service areas
66
+ *
67
+ * Returns service areas within a specified radius of the given coordinates.
68
+ * Useful for determining if a location is serviceable.
69
+ *
70
+ * @param data - The location and search radius
71
+ * @returns List of nearby service areas with distances
72
+ */
73
+ async getNearbyAreas(data) {
74
+ return this.http.post(`${this.basePath}/service-areas/nearby`, data);
75
+ }
76
+ /**
77
+ * Check if a location is within a service area
78
+ *
79
+ * Checks if the given coordinates are within a supported service area.
80
+ * Returns the matching area if found, or nearby areas if not.
81
+ *
82
+ * @param latitude - Latitude coordinate
83
+ * @param longitude - Longitude coordinate
84
+ * @returns Service area check result
85
+ */
86
+ async checkServiceArea(latitude, longitude) {
87
+ return this.http.get(`${this.basePath}/service-areas/check`, { latitude, longitude });
88
+ }
89
+ }
90
+ exports.LocationApi = LocationApi;
91
+ //# sourceMappingURL=location.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location.js","sourceRoot":"","sources":["../../../src/api/location.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAiBH,MAAa,WAAW;IAGpB,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF5B,aAAQ,GAAG,kBAAkB,CAAC;IAEE,CAAC;IAElD,sDAAsD;IAEtD;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO,CAAC,IAAuB;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,GAAG,IAAI,CAAC,QAAQ,UAAU,EAAE,IAAI,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,cAAc,CAAC,IAA8B;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA4B,GAAG,IAAI,CAAC,QAAQ,kBAAkB,EAAE,IAAI,CAAC,CAAC;IAC/F,CAAC;IAED,iEAAiE;IAEjE;;;;;;;;OAQG;IACH,KAAK,CAAC,iBAAiB,CAAC,IAAiC;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA+B,GAAG,IAAI,CAAC,QAAQ,WAAW,EAAE,IAAI,CAAC,CAAC;IAC3F,CAAC;IAED,0DAA0D;IAE1D;;;;;;;;OAQG;IACH,KAAK,CAAC,eAAe,CAAC,MAA0C;QAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAChB,GAAG,IAAI,CAAC,QAAQ,gBAAgB,EAChC,MAA+D,CAClE,CAAC;IACN,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,cAAc,CAAC,IAA8B;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAyB,GAAG,IAAI,CAAC,QAAQ,uBAAuB,EAAE,IAAI,CAAC,CAAC;IACjG,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,SAAiB;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAChB,GAAG,IAAI,CAAC,QAAQ,sBAAsB,EACtC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAC1B,CAAC;IACN,CAAC;CACJ;AA/FD,kCA+FC"}