@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,170 @@
1
+ "use strict";
2
+ /**
3
+ * Consumers API
4
+ * Handles consumer profile, addresses, favorites, and notifications
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ConsumerAddressesApi = exports.ConsumersApi = void 0;
8
+ class ConsumersApi {
9
+ constructor(http) {
10
+ this.http = http;
11
+ this.basePath = '/api/v1/consumers';
12
+ }
13
+ // ==================== Profile ====================
14
+ /**
15
+ * Register consumer profile after authentication
16
+ */
17
+ async register(data) {
18
+ return this.http.post(`${this.basePath}/register`, data);
19
+ }
20
+ /**
21
+ * Get current consumer's profile
22
+ */
23
+ async getProfile() {
24
+ return this.http.get(`${this.basePath}/profile`);
25
+ }
26
+ /**
27
+ * Update consumer profile
28
+ */
29
+ async updateProfile(data) {
30
+ return this.http.patch(`${this.basePath}/profile`, data);
31
+ }
32
+ /**
33
+ * Upload profile photo (Uploadcare URL)
34
+ */
35
+ async uploadProfilePhoto(photoUrl) {
36
+ return this.http.post(`${this.basePath}/profile/photo`, { photoUrl });
37
+ }
38
+ /**
39
+ * Update account type (Individual/Business)
40
+ */
41
+ async updateAccountType(accountType) {
42
+ return this.http.patch(`${this.basePath}/profile/account-type`, { accountType });
43
+ }
44
+ /**
45
+ * Request account deletion (NDPR compliance)
46
+ */
47
+ async requestAccountDeletion(data) {
48
+ return this.http.post(`${this.basePath}/profile/delete-request`, data);
49
+ }
50
+ /**
51
+ * Export consumer data (NDPR compliance)
52
+ */
53
+ async exportData() {
54
+ return this.http.get(`${this.basePath}/profile/export`);
55
+ }
56
+ // ==================== Addresses ====================
57
+ /**
58
+ * Get all addresses for the consumer
59
+ */
60
+ async getAddresses() {
61
+ return this.http.get(`${this.basePath}/addresses`);
62
+ }
63
+ /**
64
+ * Get a specific address
65
+ */
66
+ async getAddress(addressId) {
67
+ return this.http.get(`${this.basePath}/addresses/${addressId}`);
68
+ }
69
+ /**
70
+ * Add a new address
71
+ */
72
+ async addAddress(data) {
73
+ return this.http.post(`${this.basePath}/addresses`, data);
74
+ }
75
+ /**
76
+ * Update an existing address
77
+ */
78
+ async updateAddress(addressId, data) {
79
+ return this.http.patch(`${this.basePath}/addresses/${addressId}`, data);
80
+ }
81
+ /**
82
+ * Delete an address
83
+ */
84
+ async deleteAddress(addressId) {
85
+ return this.http.delete(`${this.basePath}/addresses/${addressId}`);
86
+ }
87
+ /**
88
+ * Set an address as the default
89
+ */
90
+ async setDefaultAddress(addressId) {
91
+ return this.http.post(`${this.basePath}/addresses/${addressId}/set-default`);
92
+ }
93
+ // ==================== Favorites ====================
94
+ /**
95
+ * Get favorite artisans
96
+ */
97
+ async getFavorites(params) {
98
+ return this.http.get(`${this.basePath}/favorites`, params);
99
+ }
100
+ /**
101
+ * Add artisan to favorites
102
+ */
103
+ async addFavorite(artisanId, notes) {
104
+ return this.http.post(`${this.basePath}/favorites/${artisanId}`, { notes });
105
+ }
106
+ /**
107
+ * Remove artisan from favorites
108
+ */
109
+ async removeFavorite(artisanId) {
110
+ return this.http.delete(`${this.basePath}/favorites/${artisanId}`);
111
+ }
112
+ // ==================== Notifications ====================
113
+ /**
114
+ * Get notification settings
115
+ */
116
+ async getNotificationSettings() {
117
+ return this.http.get(`${this.basePath}/notifications/settings`);
118
+ }
119
+ /**
120
+ * Update notification settings
121
+ */
122
+ async updateNotificationSettings(data) {
123
+ return this.http.put(`${this.basePath}/notifications/settings`, data);
124
+ }
125
+ }
126
+ exports.ConsumersApi = ConsumersApi;
127
+ class ConsumerAddressesApi {
128
+ constructor(http) {
129
+ this.http = http;
130
+ this.basePath = '/api/v1/consumers/addresses';
131
+ }
132
+ /**
133
+ * Get all addresses for the consumer
134
+ */
135
+ async getAll() {
136
+ return this.http.get(this.basePath);
137
+ }
138
+ /**
139
+ * Get a specific address
140
+ */
141
+ async get(addressId) {
142
+ return this.http.get(`${this.basePath}/${addressId}`);
143
+ }
144
+ /**
145
+ * Add a new address
146
+ */
147
+ async create(data) {
148
+ return this.http.post(this.basePath, data);
149
+ }
150
+ /**
151
+ * Update an existing address
152
+ */
153
+ async update(addressId, data) {
154
+ return this.http.patch(`${this.basePath}/${addressId}`, data);
155
+ }
156
+ /**
157
+ * Delete an address
158
+ */
159
+ async delete(addressId) {
160
+ return this.http.delete(`${this.basePath}/${addressId}`);
161
+ }
162
+ /**
163
+ * Set an address as the default
164
+ */
165
+ async setDefault(addressId) {
166
+ return this.http.post(`${this.basePath}/${addressId}/set-default`);
167
+ }
168
+ }
169
+ exports.ConsumerAddressesApi = ConsumerAddressesApi;
170
+ //# sourceMappingURL=consumers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumers.js","sourceRoot":"","sources":["../../../src/api/consumers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./auth"), exports);
18
+ __exportStar(require("./consumers"), exports);
19
+ __exportStar(require("./artisans"), exports);
20
+ __exportStar(require("./jobs"), exports);
21
+ __exportStar(require("./admin"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,8CAA4B;AAC5B,6CAA2B;AAC3B,yCAAuB;AACvB,0CAAwB"}
@@ -0,0 +1,202 @@
1
+ "use strict";
2
+ /**
3
+ * Jobs API
4
+ * Handles job requests, quotes, payments, ratings, and disputes
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ArtisanJobsApi = exports.JobsApi = void 0;
8
+ const types_1 = require("../types");
9
+ class JobsApi {
10
+ constructor(http) {
11
+ this.http = http;
12
+ this.basePath = '/api/v1/jobs';
13
+ }
14
+ // ==================== Consumer Job Operations ====================
15
+ /**
16
+ * Create a new job request
17
+ */
18
+ async create(data) {
19
+ return this.http.post(this.basePath, data);
20
+ }
21
+ /**
22
+ * Get a specific job by ID
23
+ */
24
+ async get(jobId) {
25
+ return this.http.get(`${this.basePath}/${jobId}`);
26
+ }
27
+ /**
28
+ * Update a pending job request
29
+ */
30
+ async update(jobId, data) {
31
+ return this.http.patch(`${this.basePath}/${jobId}`, data);
32
+ }
33
+ /**
34
+ * Get consumer's jobs (paginated with filters)
35
+ */
36
+ async list(params) {
37
+ return this.http.get(this.basePath, params);
38
+ }
39
+ /**
40
+ * Cancel a job
41
+ */
42
+ async cancel(jobId, data) {
43
+ return this.http.post(`${this.basePath}/${jobId}/cancel`, data);
44
+ }
45
+ /**
46
+ * Get job timeline/history
47
+ */
48
+ async getTimeline(jobId) {
49
+ return this.http.get(`${this.basePath}/${jobId}/timeline`);
50
+ }
51
+ // ==================== Quote Operations (Consumer) ====================
52
+ /**
53
+ * Get the current quote for a job
54
+ */
55
+ async getQuote(jobId) {
56
+ return this.http.get(`${this.basePath}/${jobId}/quote`);
57
+ }
58
+ /**
59
+ * Approve or reject a quote
60
+ */
61
+ async respondToQuote(jobId, data) {
62
+ return this.http.post(`${this.basePath}/${jobId}/quote/respond`, data);
63
+ }
64
+ // ==================== Payment Operations ====================
65
+ /**
66
+ * Get payment details for a job
67
+ */
68
+ async getPayment(jobId) {
69
+ return this.http.get(`${this.basePath}/${jobId}/payment`);
70
+ }
71
+ /**
72
+ * Initiate payment for a job
73
+ */
74
+ async initiatePayment(jobId, data) {
75
+ return this.http.post(`${this.basePath}/${jobId}/payment/initiate`, data);
76
+ }
77
+ /**
78
+ * Verify payment (callback from payment gateway)
79
+ */
80
+ async verifyPayment(jobId, reference) {
81
+ return this.http.post(`${this.basePath}/${jobId}/payment/verify`, { reference });
82
+ }
83
+ /**
84
+ * Mark payment as cash (for cash payments)
85
+ */
86
+ async markCashPayment(jobId) {
87
+ return this.http.post(`${this.basePath}/${jobId}/payment/cash`);
88
+ }
89
+ // ==================== Rating Operations ====================
90
+ /**
91
+ * Get rating for a completed job
92
+ */
93
+ async getRating(jobId) {
94
+ return this.http.get(`${this.basePath}/${jobId}/rating`);
95
+ }
96
+ /**
97
+ * Submit rating for a completed job
98
+ */
99
+ async submitRating(jobId, data) {
100
+ return this.http.post(`${this.basePath}/${jobId}/rating`, data);
101
+ }
102
+ // ==================== Dispute Operations ====================
103
+ /**
104
+ * Get dispute for a job
105
+ */
106
+ async getDispute(jobId) {
107
+ return this.http.get(`${this.basePath}/${jobId}/dispute`);
108
+ }
109
+ /**
110
+ * Create a dispute for a job
111
+ */
112
+ async createDispute(jobId, data) {
113
+ return this.http.post(`${this.basePath}/${jobId}/dispute`, data);
114
+ }
115
+ }
116
+ exports.JobsApi = JobsApi;
117
+ class ArtisanJobsApi {
118
+ constructor(http) {
119
+ this.http = http;
120
+ this.basePath = '/api/v1/artisans/jobs';
121
+ }
122
+ /**
123
+ * Get assigned jobs for artisan (paginated with filters)
124
+ */
125
+ async list(params) {
126
+ return this.http.get(this.basePath, params);
127
+ }
128
+ /**
129
+ * Get a specific assigned job
130
+ */
131
+ async get(jobId) {
132
+ return this.http.get(`${this.basePath}/${jobId}`);
133
+ }
134
+ /**
135
+ * Accept an assigned job
136
+ */
137
+ async accept(jobId) {
138
+ return this.http.post(`${this.basePath}/${jobId}/accept`);
139
+ }
140
+ /**
141
+ * Decline an assigned job
142
+ */
143
+ async decline(jobId, reason) {
144
+ return this.http.post(`${this.basePath}/${jobId}/decline`, { reason });
145
+ }
146
+ /**
147
+ * Update job status (en_route, arrived, in_progress, completed)
148
+ */
149
+ async updateStatus(jobId, data) {
150
+ return this.http.patch(`${this.basePath}/${jobId}/status`, data);
151
+ }
152
+ /**
153
+ * Start traveling to job location
154
+ */
155
+ async startEnRoute(jobId) {
156
+ return this.updateStatus(jobId, { status: types_1.JobStatus.ArtisanEnRoute });
157
+ }
158
+ /**
159
+ * Mark arrival at job location (GPS verified)
160
+ */
161
+ async markArrived(jobId, location) {
162
+ return this.updateStatus(jobId, { status: types_1.JobStatus.Arrived, location });
163
+ }
164
+ /**
165
+ * Start work on the job
166
+ */
167
+ async startWork(jobId) {
168
+ return this.updateStatus(jobId, { status: types_1.JobStatus.InProgress });
169
+ }
170
+ /**
171
+ * Mark job as completed
172
+ */
173
+ async complete(jobId, notes) {
174
+ return this.updateStatus(jobId, { status: types_1.JobStatus.Completed, notes });
175
+ }
176
+ /**
177
+ * Submit a quote for the job
178
+ */
179
+ async submitQuote(jobId, data) {
180
+ return this.http.post(`${this.basePath}/${jobId}/quote`, data);
181
+ }
182
+ /**
183
+ * Revise a rejected quote
184
+ */
185
+ async reviseQuote(jobId, data) {
186
+ return this.http.put(`${this.basePath}/${jobId}/quote`, data);
187
+ }
188
+ /**
189
+ * Update location while en route
190
+ */
191
+ async updateLocation(jobId, data) {
192
+ return this.http.post(`${this.basePath}/${jobId}/location`, data);
193
+ }
194
+ /**
195
+ * Respond to a consumer review
196
+ */
197
+ async respondToReview(jobId, response) {
198
+ return this.http.post(`${this.basePath}/${jobId}/review/respond`, { response });
199
+ }
200
+ }
201
+ exports.ArtisanJobsApi = ArtisanJobsApi;
202
+ //# sourceMappingURL=jobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../src/api/jobs.ts"],"names":[],"mappings":"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"}