@osise/api-client 0.0.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 (116) hide show
  1. package/README.md +474 -0
  2. package/dist/cjs/api/admin.js +277 -0
  3. package/dist/cjs/api/admin.js.map +1 -0
  4. package/dist/cjs/api/artisans.js +277 -0
  5. package/dist/cjs/api/artisans.js.map +1 -0
  6. package/dist/cjs/api/auth.js +83 -0
  7. package/dist/cjs/api/auth.js.map +1 -0
  8. package/dist/cjs/api/consumers.js +170 -0
  9. package/dist/cjs/api/consumers.js.map +1 -0
  10. package/dist/cjs/api/index.js +22 -0
  11. package/dist/cjs/api/index.js.map +1 -0
  12. package/dist/cjs/api/jobs.js +202 -0
  13. package/dist/cjs/api/jobs.js.map +1 -0
  14. package/dist/cjs/hooks/index.js +435 -0
  15. package/dist/cjs/hooks/index.js.map +1 -0
  16. package/dist/cjs/index.js +189 -0
  17. package/dist/cjs/index.js.map +1 -0
  18. package/dist/cjs/types/admin.js +6 -0
  19. package/dist/cjs/types/admin.js.map +1 -0
  20. package/dist/cjs/types/artisan.js +6 -0
  21. package/dist/cjs/types/artisan.js.map +1 -0
  22. package/dist/cjs/types/auth.js +6 -0
  23. package/dist/cjs/types/auth.js.map +1 -0
  24. package/dist/cjs/types/common.js +6 -0
  25. package/dist/cjs/types/common.js.map +1 -0
  26. package/dist/cjs/types/consumer.js +6 -0
  27. package/dist/cjs/types/consumer.js.map +1 -0
  28. package/dist/cjs/types/enums.js +226 -0
  29. package/dist/cjs/types/enums.js.map +1 -0
  30. package/dist/cjs/types/index.js +35 -0
  31. package/dist/cjs/types/index.js.map +1 -0
  32. package/dist/cjs/types/job.js +6 -0
  33. package/dist/cjs/types/job.js.map +1 -0
  34. package/dist/cjs/utils/http-client.js +214 -0
  35. package/dist/cjs/utils/http-client.js.map +1 -0
  36. package/dist/cjs/utils/index.js +19 -0
  37. package/dist/cjs/utils/index.js.map +1 -0
  38. package/dist/cjs/utils/storage.js +105 -0
  39. package/dist/cjs/utils/storage.js.map +1 -0
  40. package/dist/esm/api/admin.js +269 -0
  41. package/dist/esm/api/admin.js.map +1 -0
  42. package/dist/esm/api/artisans.js +270 -0
  43. package/dist/esm/api/artisans.js.map +1 -0
  44. package/dist/esm/api/auth.js +79 -0
  45. package/dist/esm/api/auth.js.map +1 -0
  46. package/dist/esm/api/consumers.js +165 -0
  47. package/dist/esm/api/consumers.js.map +1 -0
  48. package/dist/esm/api/index.js +6 -0
  49. package/dist/esm/api/index.js.map +1 -0
  50. package/dist/esm/api/jobs.js +197 -0
  51. package/dist/esm/api/jobs.js.map +1 -0
  52. package/dist/esm/hooks/index.js +408 -0
  53. package/dist/esm/hooks/index.js.map +1 -0
  54. package/dist/esm/index.js +165 -0
  55. package/dist/esm/index.js.map +1 -0
  56. package/dist/esm/types/admin.js +5 -0
  57. package/dist/esm/types/admin.js.map +1 -0
  58. package/dist/esm/types/artisan.js +5 -0
  59. package/dist/esm/types/artisan.js.map +1 -0
  60. package/dist/esm/types/auth.js +5 -0
  61. package/dist/esm/types/auth.js.map +1 -0
  62. package/dist/esm/types/common.js +5 -0
  63. package/dist/esm/types/common.js.map +1 -0
  64. package/dist/esm/types/consumer.js +5 -0
  65. package/dist/esm/types/consumer.js.map +1 -0
  66. package/dist/esm/types/enums.js +223 -0
  67. package/dist/esm/types/enums.js.map +1 -0
  68. package/dist/esm/types/index.js +19 -0
  69. package/dist/esm/types/index.js.map +1 -0
  70. package/dist/esm/types/job.js +5 -0
  71. package/dist/esm/types/job.js.map +1 -0
  72. package/dist/esm/utils/http-client.js +208 -0
  73. package/dist/esm/utils/http-client.js.map +1 -0
  74. package/dist/esm/utils/index.js +3 -0
  75. package/dist/esm/utils/index.js.map +1 -0
  76. package/dist/esm/utils/storage.js +99 -0
  77. package/dist/esm/utils/storage.js.map +1 -0
  78. package/dist/types/api/admin.d.ts +188 -0
  79. package/dist/types/api/admin.d.ts.map +1 -0
  80. package/dist/types/api/artisans.d.ts +183 -0
  81. package/dist/types/api/artisans.d.ts.map +1 -0
  82. package/dist/types/api/auth.d.ts +58 -0
  83. package/dist/types/api/auth.d.ts.map +1 -0
  84. package/dist/types/api/consumers.d.ts +113 -0
  85. package/dist/types/api/consumers.d.ts.map +1 -0
  86. package/dist/types/api/index.d.ts +6 -0
  87. package/dist/types/api/index.d.ts.map +1 -0
  88. package/dist/types/api/jobs.d.ts +136 -0
  89. package/dist/types/api/jobs.d.ts.map +1 -0
  90. package/dist/types/hooks/index.d.ts +225 -0
  91. package/dist/types/hooks/index.d.ts.map +1 -0
  92. package/dist/types/index.d.ts +127 -0
  93. package/dist/types/index.d.ts.map +1 -0
  94. package/dist/types/types/admin.d.ts +226 -0
  95. package/dist/types/types/admin.d.ts.map +1 -0
  96. package/dist/types/types/artisan.d.ts +438 -0
  97. package/dist/types/types/artisan.d.ts.map +1 -0
  98. package/dist/types/types/auth.d.ts +92 -0
  99. package/dist/types/types/auth.d.ts.map +1 -0
  100. package/dist/types/types/common.d.ts +105 -0
  101. package/dist/types/types/common.d.ts.map +1 -0
  102. package/dist/types/types/consumer.d.ts +144 -0
  103. package/dist/types/types/consumer.d.ts.map +1 -0
  104. package/dist/types/types/enums.d.ts +199 -0
  105. package/dist/types/types/enums.d.ts.map +1 -0
  106. package/dist/types/types/index.d.ts +12 -0
  107. package/dist/types/types/index.d.ts.map +1 -0
  108. package/dist/types/types/job.d.ts +226 -0
  109. package/dist/types/types/job.d.ts.map +1 -0
  110. package/dist/types/utils/http-client.d.ts +65 -0
  111. package/dist/types/utils/http-client.d.ts.map +1 -0
  112. package/dist/types/utils/index.d.ts +3 -0
  113. package/dist/types/utils/index.d.ts.map +1 -0
  114. package/dist/types/utils/storage.d.ts +48 -0
  115. package/dist/types/utils/storage.d.ts.map +1 -0
  116. package/package.json +78 -0
@@ -0,0 +1,269 @@
1
+ /**
2
+ * Admin API
3
+ * Handles admin operations for artisans, consumers, jobs, and dashboard
4
+ */
5
+ export class AdminArtisansApi {
6
+ constructor(http) {
7
+ this.http = http;
8
+ this.basePath = '/api/v1/admin/artisans';
9
+ }
10
+ /**
11
+ * Get all artisans (paginated with filters)
12
+ */
13
+ async list(params) {
14
+ return this.http.get(this.basePath, params);
15
+ }
16
+ /**
17
+ * Get artisan details
18
+ */
19
+ async get(artisanId) {
20
+ return this.http.get(`${this.basePath}/${artisanId}`);
21
+ }
22
+ /**
23
+ * Suspend an artisan
24
+ */
25
+ async suspend(artisanId, reason) {
26
+ return this.http.post(`${this.basePath}/${artisanId}/suspend`, { reason });
27
+ }
28
+ /**
29
+ * Reactivate a suspended artisan
30
+ */
31
+ async reactivate(artisanId) {
32
+ return this.http.post(`${this.basePath}/${artisanId}/reactivate`);
33
+ }
34
+ /**
35
+ * Issue a strike to an artisan
36
+ */
37
+ async issueStrike(artisanId, data) {
38
+ return this.http.post(`${this.basePath}/${artisanId}/strikes`, data);
39
+ }
40
+ /**
41
+ * Get artisan strikes
42
+ */
43
+ async getStrikes(artisanId) {
44
+ return this.http.get(`${this.basePath}/${artisanId}/strikes`);
45
+ }
46
+ /**
47
+ * Remove a strike
48
+ */
49
+ async removeStrike(artisanId, strikeId) {
50
+ return this.http.delete(`${this.basePath}/${artisanId}/strikes/${strikeId}`);
51
+ }
52
+ /**
53
+ * Add admin note
54
+ */
55
+ async addNote(artisanId, data) {
56
+ return this.http.post(`${this.basePath}/${artisanId}/notes`, data);
57
+ }
58
+ /**
59
+ * Get admin notes
60
+ */
61
+ async getNotes(artisanId) {
62
+ return this.http.get(`${this.basePath}/${artisanId}/notes`);
63
+ }
64
+ /**
65
+ * Update artisan tags
66
+ */
67
+ async updateTags(artisanId, data) {
68
+ return this.http.put(`${this.basePath}/${artisanId}/tags`, data);
69
+ }
70
+ /**
71
+ * Get artisan analytics
72
+ */
73
+ async getAnalytics() {
74
+ return this.http.get(`${this.basePath}/analytics`);
75
+ }
76
+ }
77
+ export class AdminApplicationsApi {
78
+ constructor(http) {
79
+ this.http = http;
80
+ this.basePath = '/api/v1/admin/applications';
81
+ }
82
+ /**
83
+ * Get all applications (paginated with filters)
84
+ */
85
+ async list(params) {
86
+ return this.http.get(this.basePath, params);
87
+ }
88
+ /**
89
+ * Get application details
90
+ */
91
+ async get(artisanId) {
92
+ return this.http.get(`${this.basePath}/${artisanId}`);
93
+ }
94
+ /**
95
+ * Review a document
96
+ */
97
+ async reviewDocument(artisanId, documentId, data) {
98
+ return this.http.post(`${this.basePath}/${artisanId}/documents/${documentId}/review`, data);
99
+ }
100
+ /**
101
+ * Verify a guarantor
102
+ */
103
+ async verifyGuarantor(artisanId, guarantorId, verified, notes) {
104
+ return this.http.post(`${this.basePath}/${artisanId}/guarantors/${guarantorId}/verify`, { verified, notes });
105
+ }
106
+ /**
107
+ * Schedule a field visit
108
+ */
109
+ async scheduleFieldVisit(data) {
110
+ return this.http.post(`${this.basePath}/field-visits/schedule`, data);
111
+ }
112
+ /**
113
+ * Complete a field visit
114
+ */
115
+ async completeFieldVisit(data) {
116
+ return this.http.post(`${this.basePath}/field-visits/complete`, data);
117
+ }
118
+ /**
119
+ * Record skill test result
120
+ */
121
+ async recordSkillTestResult(artisanId, passed, score, feedback) {
122
+ return this.http.post(`${this.basePath}/${artisanId}/skill-test/result`, { passed, score, feedback });
123
+ }
124
+ /**
125
+ * Mark training session attended
126
+ */
127
+ async markTrainingAttended(artisanId, sessionId) {
128
+ return this.http.post(`${this.basePath}/${artisanId}/training/${sessionId}/attended`);
129
+ }
130
+ /**
131
+ * Process application (approve/reject)
132
+ */
133
+ async process(artisanId, data) {
134
+ return this.http.post(`${this.basePath}/${artisanId}/process`, data);
135
+ }
136
+ /**
137
+ * Perform verification workflow action
138
+ */
139
+ async workflowAction(artisanId, data) {
140
+ return this.http.post(`${this.basePath}/${artisanId}/workflow`, data);
141
+ }
142
+ }
143
+ export class AdminConsumersApi {
144
+ constructor(http) {
145
+ this.http = http;
146
+ this.basePath = '/api/v1/admin/consumers';
147
+ }
148
+ /**
149
+ * Get all consumers (paginated with filters)
150
+ */
151
+ async list(params) {
152
+ return this.http.get(this.basePath, params);
153
+ }
154
+ /**
155
+ * Get consumer details
156
+ */
157
+ async get(consumerId) {
158
+ return this.http.get(`${this.basePath}/${consumerId}`);
159
+ }
160
+ /**
161
+ * Block a consumer
162
+ */
163
+ async block(consumerId, data) {
164
+ return this.http.post(`${this.basePath}/${consumerId}/block`, data);
165
+ }
166
+ /**
167
+ * Unblock a consumer
168
+ */
169
+ async unblock(consumerId) {
170
+ return this.http.post(`${this.basePath}/${consumerId}/unblock`);
171
+ }
172
+ /**
173
+ * Add admin note
174
+ */
175
+ async addNote(consumerId, data) {
176
+ return this.http.post(`${this.basePath}/${consumerId}/notes`, data);
177
+ }
178
+ /**
179
+ * Get admin notes
180
+ */
181
+ async getNotes(consumerId) {
182
+ return this.http.get(`${this.basePath}/${consumerId}/notes`);
183
+ }
184
+ /**
185
+ * Update consumer tags
186
+ */
187
+ async updateTags(consumerId, data) {
188
+ return this.http.put(`${this.basePath}/${consumerId}/tags`, data);
189
+ }
190
+ /**
191
+ * Get consumer analytics
192
+ */
193
+ async getAnalytics() {
194
+ return this.http.get(`${this.basePath}/analytics`);
195
+ }
196
+ }
197
+ export class AdminDashboardApi {
198
+ constructor(http) {
199
+ this.http = http;
200
+ this.basePath = '/api/v1/admin/dashboard';
201
+ }
202
+ /**
203
+ * Get dashboard statistics
204
+ */
205
+ async getStats() {
206
+ return this.http.get(`${this.basePath}/stats`);
207
+ }
208
+ /**
209
+ * Get recent activity feed
210
+ */
211
+ async getRecentActivity(limit) {
212
+ return this.http.get(`${this.basePath}/activity`, { limit });
213
+ }
214
+ /**
215
+ * Get pending tasks for current admin
216
+ */
217
+ async getPendingTasks() {
218
+ return this.http.get(`${this.basePath}/tasks`);
219
+ }
220
+ }
221
+ export class AdminJobsApi {
222
+ constructor(http) {
223
+ this.http = http;
224
+ this.basePath = '/api/v1/admin/jobs';
225
+ }
226
+ /**
227
+ * Get all jobs (dispatcher view)
228
+ */
229
+ async list(params) {
230
+ return this.http.get(this.basePath, params);
231
+ }
232
+ /**
233
+ * Get job details
234
+ */
235
+ async get(jobId) {
236
+ return this.http.get(`${this.basePath}/${jobId}`);
237
+ }
238
+ /**
239
+ * Assign artisan to job (dispatcher)
240
+ */
241
+ async assignArtisan(jobId, artisanId) {
242
+ return this.http.post(`${this.basePath}/${jobId}/assign`, { artisanId });
243
+ }
244
+ /**
245
+ * Reassign job to different artisan
246
+ */
247
+ async reassign(jobId, artisanId, reason) {
248
+ return this.http.post(`${this.basePath}/${jobId}/reassign`, { artisanId, reason });
249
+ }
250
+ /**
251
+ * Cancel job (admin)
252
+ */
253
+ async cancel(jobId, reason) {
254
+ return this.http.post(`${this.basePath}/${jobId}/cancel`, { reason });
255
+ }
256
+ /**
257
+ * Resolve dispute
258
+ */
259
+ async resolveDispute(jobId, resolution, refundAmount) {
260
+ return this.http.post(`${this.basePath}/${jobId}/dispute/resolve`, { resolution, refundAmount });
261
+ }
262
+ /**
263
+ * Get available artisans for assignment
264
+ */
265
+ async getAvailableArtisans(jobId) {
266
+ return this.http.get(`${this.basePath}/${jobId}/available-artisans`);
267
+ }
268
+ }
269
+ //# sourceMappingURL=admin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../src/api/admin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,270 @@
1
+ /**
2
+ * Artisans API
3
+ * Handles artisan profile, documents, verification, availability, earnings, and performance
4
+ */
5
+ export class ArtisansApi {
6
+ constructor(http) {
7
+ this.http = http;
8
+ this.basePath = '/api/v1/artisans';
9
+ }
10
+ // ==================== Profile ====================
11
+ /**
12
+ * Register artisan profile after authentication
13
+ */
14
+ async register(data) {
15
+ return this.http.post(`${this.basePath}/register`, data);
16
+ }
17
+ /**
18
+ * Get current artisan's profile
19
+ */
20
+ async getProfile() {
21
+ return this.http.get(`${this.basePath}/profile`);
22
+ }
23
+ /**
24
+ * Update artisan profile
25
+ */
26
+ async updateProfile(data) {
27
+ return this.http.patch(`${this.basePath}/profile`, data);
28
+ }
29
+ /**
30
+ * Update profile photo (Uploadcare URL)
31
+ */
32
+ async updateProfilePhoto(data) {
33
+ return this.http.patch(`${this.basePath}/profile/photo`, data);
34
+ }
35
+ // ==================== Documents ====================
36
+ /**
37
+ * Get all submitted documents with overview
38
+ */
39
+ async getDocuments() {
40
+ return this.http.get(`${this.basePath}/documents`);
41
+ }
42
+ /**
43
+ * Submit a new document
44
+ */
45
+ async submitDocument(data) {
46
+ return this.http.post(`${this.basePath}/documents`, data);
47
+ }
48
+ /**
49
+ * Delete a document
50
+ */
51
+ async deleteDocument(documentId) {
52
+ return this.http.delete(`${this.basePath}/documents/${documentId}`);
53
+ }
54
+ /**
55
+ * Resubmit a rejected document
56
+ */
57
+ async resubmitDocument(documentId, data) {
58
+ return this.http.patch(`${this.basePath}/documents/${documentId}/resubmit`, data);
59
+ }
60
+ // ==================== Guarantors ====================
61
+ /**
62
+ * Get all guarantors
63
+ */
64
+ async getGuarantors() {
65
+ return this.http.get(`${this.basePath}/guarantors`);
66
+ }
67
+ /**
68
+ * Add a guarantor
69
+ */
70
+ async addGuarantor(data) {
71
+ return this.http.post(`${this.basePath}/guarantors`, data);
72
+ }
73
+ /**
74
+ * Update a guarantor
75
+ */
76
+ async updateGuarantor(guarantorId, data) {
77
+ return this.http.patch(`${this.basePath}/guarantors/${guarantorId}`, data);
78
+ }
79
+ /**
80
+ * Delete a guarantor
81
+ */
82
+ async deleteGuarantor(guarantorId) {
83
+ return this.http.delete(`${this.basePath}/guarantors/${guarantorId}`);
84
+ }
85
+ // ==================== Bank Account ====================
86
+ /**
87
+ * Get bank account
88
+ */
89
+ async getBankAccount() {
90
+ return this.http.get(`${this.basePath}/bank-account`);
91
+ }
92
+ /**
93
+ * Set or update bank account
94
+ */
95
+ async setBankAccount(data) {
96
+ return this.http.post(`${this.basePath}/bank-account`, data);
97
+ }
98
+ // ==================== Service Areas ====================
99
+ /**
100
+ * Get service areas
101
+ */
102
+ async getServiceAreas() {
103
+ return this.http.get(`${this.basePath}/service-areas`);
104
+ }
105
+ /**
106
+ * Update service areas
107
+ */
108
+ async updateServiceAreas(data) {
109
+ return this.http.patch(`${this.basePath}/service-areas`, data);
110
+ }
111
+ // ==================== Tools Checklist ====================
112
+ /**
113
+ * Get tools checklist
114
+ */
115
+ async getToolsChecklist() {
116
+ return this.http.get(`${this.basePath}/tools-checklist`);
117
+ }
118
+ /**
119
+ * Update tools checklist
120
+ */
121
+ async updateToolsChecklist(data) {
122
+ return this.http.patch(`${this.basePath}/tools-checklist`, data);
123
+ }
124
+ // ==================== Application Status ====================
125
+ /**
126
+ * Get verification workflow status
127
+ */
128
+ async getApplicationStatus() {
129
+ return this.http.get(`${this.basePath}/application/status`);
130
+ }
131
+ /**
132
+ * Get available skill test slots
133
+ */
134
+ async getSkillTestSlots() {
135
+ return this.http.get(`${this.basePath}/application/skill-test/slots`);
136
+ }
137
+ /**
138
+ * Book a skill test slot
139
+ */
140
+ async bookSkillTest(data) {
141
+ return this.http.post(`${this.basePath}/application/skill-test/book`, data);
142
+ }
143
+ /**
144
+ * Get training schedule
145
+ */
146
+ async getTrainingSchedule() {
147
+ return this.http.get(`${this.basePath}/application/training/schedule`);
148
+ }
149
+ }
150
+ export class ArtisanAvailabilityApi {
151
+ constructor(http) {
152
+ this.http = http;
153
+ this.basePath = '/api/v1/artisans/availability';
154
+ }
155
+ /**
156
+ * Get current availability status
157
+ */
158
+ async getStatus() {
159
+ return this.http.get(`${this.basePath}/status`);
160
+ }
161
+ /**
162
+ * Update availability status (Online, Offline, Busy, OnBreak)
163
+ */
164
+ async updateStatus(data) {
165
+ return this.http.patch(`${this.basePath}/status`, data);
166
+ }
167
+ /**
168
+ * Get working hours
169
+ */
170
+ async getWorkingHours() {
171
+ return this.http.get(`${this.basePath}/hours`);
172
+ }
173
+ /**
174
+ * Update working hours for all days
175
+ */
176
+ async updateWorkingHours(data) {
177
+ return this.http.patch(`${this.basePath}/hours`, data);
178
+ }
179
+ /**
180
+ * Get scheduled days off
181
+ */
182
+ async getDaysOff() {
183
+ return this.http.get(`${this.basePath}/days-off`);
184
+ }
185
+ /**
186
+ * Add a day off
187
+ */
188
+ async addDayOff(data) {
189
+ return this.http.post(`${this.basePath}/days-off`, data);
190
+ }
191
+ /**
192
+ * Cancel a day off
193
+ */
194
+ async cancelDayOff(dayOffId) {
195
+ return this.http.delete(`${this.basePath}/days-off/${dayOffId}`);
196
+ }
197
+ /**
198
+ * Update current GPS location
199
+ */
200
+ async updateLocation(data) {
201
+ return this.http.patch(`${this.basePath}/location`, data);
202
+ }
203
+ }
204
+ export class ArtisanEarningsApi {
205
+ constructor(http) {
206
+ this.http = http;
207
+ this.basePath = '/api/v1/artisans';
208
+ }
209
+ /**
210
+ * Get earnings summary
211
+ */
212
+ async getSummary() {
213
+ return this.http.get(`${this.basePath}/earnings/summary`);
214
+ }
215
+ /**
216
+ * Get job earnings history (paginated)
217
+ */
218
+ async getJobEarnings(params) {
219
+ return this.http.get(`${this.basePath}/earnings/jobs`, params);
220
+ }
221
+ /**
222
+ * Get pending earnings breakdown
223
+ */
224
+ async getPendingEarnings() {
225
+ return this.http.get(`${this.basePath}/earnings/pending`);
226
+ }
227
+ /**
228
+ * Get payout history (paginated)
229
+ */
230
+ async getPayouts(params) {
231
+ return this.http.get(`${this.basePath}/earnings/payouts`, params);
232
+ }
233
+ }
234
+ export class ArtisanPerformanceApi {
235
+ constructor(http) {
236
+ this.http = http;
237
+ this.basePath = '/api/v1/artisans/performance';
238
+ }
239
+ /**
240
+ * Get performance rating breakdown
241
+ */
242
+ async getRating() {
243
+ return this.http.get(`${this.basePath}/rating`);
244
+ }
245
+ /**
246
+ * Get consumer reviews (paginated)
247
+ */
248
+ async getReviews(params) {
249
+ return this.http.get(`${this.basePath}/reviews`, params);
250
+ }
251
+ /**
252
+ * Get performance metrics for a period
253
+ */
254
+ async getMetrics(params) {
255
+ return this.http.get(`${this.basePath}/metrics`, { period: params.period });
256
+ }
257
+ /**
258
+ * Get active performance alerts
259
+ */
260
+ async getAlerts() {
261
+ return this.http.get(`${this.basePath}/alerts`);
262
+ }
263
+ /**
264
+ * Acknowledge a performance alert
265
+ */
266
+ async acknowledgeAlert(alertId) {
267
+ return this.http.post(`${this.basePath}/alerts/${alertId}/acknowledge`);
268
+ }
269
+ }
270
+ //# sourceMappingURL=artisans.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artisans.js","sourceRoot":"","sources":["../../../src/api/artisans.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Authentication API
3
+ * Handles OTP, login, registration, sessions, and token management
4
+ */
5
+ export class AuthApi {
6
+ constructor(http) {
7
+ this.http = http;
8
+ this.basePath = '/api/v1/auth';
9
+ }
10
+ /**
11
+ * Request OTP for login or registration
12
+ * Rate limited to prevent abuse
13
+ */
14
+ async requestOtp(data) {
15
+ return this.http.post(`${this.basePath}/otp/request`, data);
16
+ }
17
+ /**
18
+ * Verify OTP and authenticate user
19
+ * Returns tokens and user profile if successful
20
+ */
21
+ async verifyOtp(data) {
22
+ return this.http.post(`${this.basePath}/otp/verify`, data);
23
+ }
24
+ /**
25
+ * Register a new user with verified OTP
26
+ */
27
+ async register(data) {
28
+ return this.http.post(`${this.basePath}/register`, data);
29
+ }
30
+ /**
31
+ * Refresh access token using refresh token
32
+ */
33
+ async refreshToken(data) {
34
+ return this.http.post(`${this.basePath}/token/refresh`, data);
35
+ }
36
+ /**
37
+ * Logout current session
38
+ */
39
+ async logout() {
40
+ return this.http.post(`${this.basePath}/logout`);
41
+ }
42
+ /**
43
+ * Logout all sessions for the current user
44
+ */
45
+ async logoutAll() {
46
+ return this.http.post(`${this.basePath}/logout/all`);
47
+ }
48
+ /**
49
+ * Get all active sessions for the current user
50
+ */
51
+ async getSessions() {
52
+ return this.http.get(`${this.basePath}/sessions`);
53
+ }
54
+ /**
55
+ * Revoke a specific session
56
+ */
57
+ async revokeSession(sessionId) {
58
+ return this.http.delete(`${this.basePath}/sessions/${sessionId}`);
59
+ }
60
+ /**
61
+ * Get current user profile
62
+ */
63
+ async getCurrentUser() {
64
+ return this.http.get(`${this.basePath}/me`);
65
+ }
66
+ /**
67
+ * Get all roles (admin only)
68
+ */
69
+ async getRoles() {
70
+ return this.http.get(`${this.basePath}/roles`);
71
+ }
72
+ /**
73
+ * Get all permissions (admin only)
74
+ */
75
+ async getPermissions() {
76
+ return this.http.get(`${this.basePath}/permissions`);
77
+ }
78
+ }
79
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/api/auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH,MAAM,OAAO,OAAO;IAGlB,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF5B,aAAQ,GAAG,cAAc,CAAC;IAEK,CAAC;IAEjD;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,IAAmB;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAiB,GAAG,IAAI,CAAC,QAAQ,cAAc,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,IAAkB;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkB,GAAG,IAAI,CAAC,QAAQ,aAAa,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,IAAqB;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkB,GAAG,IAAI,CAAC,QAAQ,WAAW,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,IAAqB;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkB,GAAG,IAAI,CAAC,QAAQ,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACjF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,GAAG,IAAI,CAAC,QAAQ,SAAS,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,GAAG,IAAI,CAAC,QAAQ,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAe,GAAG,IAAI,CAAC,QAAQ,WAAW,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAO,GAAG,IAAI,CAAC,QAAQ,aAAa,SAAS,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiB,GAAG,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAY,GAAG,IAAI,CAAC,QAAQ,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAkB,GAAG,IAAI,CAAC,QAAQ,cAAc,CAAC,CAAC;IACxE,CAAC;CACF"}