@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
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ /**
3
+ * Payments API
4
+ * Handles payment methods, job payments, receipts, and payment history
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.AdminTransactionsApi = exports.PaymentsApi = void 0;
8
+ // ==================== Consumer Payments API ====================
9
+ class PaymentsApi {
10
+ constructor(http) {
11
+ this.http = http;
12
+ this.basePath = '/api/v1';
13
+ }
14
+ // ==================== Payment Methods ====================
15
+ /**
16
+ * Get saved payment methods for the current consumer
17
+ */
18
+ async getPaymentMethods() {
19
+ return this.http.get(`${this.basePath}/payments/methods`);
20
+ }
21
+ /**
22
+ * Add a new saved payment method from a successful payment authorization
23
+ */
24
+ async addPaymentMethod(data) {
25
+ return this.http.post(`${this.basePath}/payments/methods`, data);
26
+ }
27
+ /**
28
+ * Update a saved payment method
29
+ */
30
+ async updatePaymentMethod(methodId, data) {
31
+ return this.http.patch(`${this.basePath}/payments/methods/${methodId}`, data);
32
+ }
33
+ /**
34
+ * Delete a saved payment method
35
+ */
36
+ async deletePaymentMethod(methodId) {
37
+ return this.http.delete(`${this.basePath}/payments/methods/${methodId}`);
38
+ }
39
+ /**
40
+ * Set a payment method as default
41
+ */
42
+ async setDefaultPaymentMethod(methodId) {
43
+ return this.http.post(`${this.basePath}/payments/methods/${methodId}/default`);
44
+ }
45
+ // ==================== Payment Initiation ====================
46
+ /**
47
+ * Initiate a payment for a job
48
+ */
49
+ async initiatePayment(jobId, data) {
50
+ return this.http.post(`${this.basePath}/jobs/${jobId}/payment/initiate`, data);
51
+ }
52
+ // ==================== Payment Processing ====================
53
+ /**
54
+ * Complete a card payment after Paystack redirect
55
+ */
56
+ async payWithCard(jobId, paymentReference, saveCard) {
57
+ return this.http.post(`${this.basePath}/jobs/${jobId}/payment/card`, {
58
+ paymentReference,
59
+ saveCard: saveCard ?? false,
60
+ });
61
+ }
62
+ /**
63
+ * Record a bank transfer payment
64
+ */
65
+ async payWithTransfer(jobId, data) {
66
+ return this.http.post(`${this.basePath}/jobs/${jobId}/payment/transfer`, data);
67
+ }
68
+ /**
69
+ * Confirm cash payment received (artisan only)
70
+ */
71
+ async confirmCashPayment(jobId, data) {
72
+ return this.http.post(`${this.basePath}/jobs/${jobId}/payment/cash`, data || {});
73
+ }
74
+ // ==================== Payment Status ====================
75
+ /**
76
+ * Get payment status for a job
77
+ */
78
+ async getPaymentStatus(jobId) {
79
+ return this.http.get(`${this.basePath}/jobs/${jobId}/payment/status`);
80
+ }
81
+ /**
82
+ * Get payment details for a job
83
+ */
84
+ async getPayment(jobId) {
85
+ return this.http.get(`${this.basePath}/jobs/${jobId}/payment`);
86
+ }
87
+ // ==================== Receipt & Invoice ====================
88
+ /**
89
+ * Get receipt for a completed job payment
90
+ */
91
+ async getReceipt(jobId) {
92
+ return this.http.get(`${this.basePath}/jobs/${jobId}/receipt`);
93
+ }
94
+ /**
95
+ * Get invoice for a B2B job
96
+ */
97
+ async getInvoice(jobId) {
98
+ return this.http.get(`${this.basePath}/jobs/${jobId}/invoice`);
99
+ }
100
+ // ==================== Payment History ====================
101
+ /**
102
+ * Get payment history for the current consumer
103
+ */
104
+ async getPaymentHistory(params) {
105
+ return this.http.get(`${this.basePath}/payments/history`, params);
106
+ }
107
+ }
108
+ exports.PaymentsApi = PaymentsApi;
109
+ // ==================== Admin Transactions API ====================
110
+ class AdminTransactionsApi {
111
+ constructor(http) {
112
+ this.http = http;
113
+ this.basePath = '/api/v1/admin/transactions';
114
+ }
115
+ /**
116
+ * Get all transactions (with filters)
117
+ */
118
+ async list(params) {
119
+ return this.http.get(this.basePath, params);
120
+ }
121
+ /**
122
+ * Get a specific transaction
123
+ */
124
+ async get(transactionId) {
125
+ return this.http.get(`${this.basePath}/${transactionId}`);
126
+ }
127
+ }
128
+ exports.AdminTransactionsApi = AdminTransactionsApi;
129
+ //# sourceMappingURL=payments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payments.js","sourceRoot":"","sources":["../../../src/api/payments.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ /**
3
+ * Support API
4
+ * Handles support ticket operations and FAQ functionality for consumers and artisans
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ArtisanSupportApi = exports.SupportApi = void 0;
8
+ /**
9
+ * Support API for consumers
10
+ * Manages support tickets and FAQ access
11
+ */
12
+ class SupportApi {
13
+ constructor(http) {
14
+ this.http = http;
15
+ this.basePath = '/api/v1/support';
16
+ }
17
+ // ==================== Tickets ====================
18
+ /**
19
+ * Get user's support tickets with pagination and filters
20
+ */
21
+ async getTickets(params) {
22
+ return this.http.get(`${this.basePath}/tickets`, params);
23
+ }
24
+ /**
25
+ * Get a specific ticket by ID
26
+ */
27
+ async getTicket(ticketId) {
28
+ return this.http.get(`${this.basePath}/tickets/${ticketId}`);
29
+ }
30
+ /**
31
+ * Create a new support ticket
32
+ */
33
+ async createTicket(data) {
34
+ return this.http.post(`${this.basePath}/tickets`, data);
35
+ }
36
+ /**
37
+ * Send a message in a ticket
38
+ */
39
+ async sendMessage(ticketId, data) {
40
+ return this.http.post(`${this.basePath}/tickets/${ticketId}/messages`, data);
41
+ }
42
+ /**
43
+ * Close a support ticket
44
+ */
45
+ async closeTicket(ticketId, data) {
46
+ return this.http.post(`${this.basePath}/tickets/${ticketId}/close`, data || {});
47
+ }
48
+ /**
49
+ * Rate a resolved ticket
50
+ */
51
+ async rateTicket(ticketId, data) {
52
+ return this.http.post(`${this.basePath}/tickets/${ticketId}/rate`, data);
53
+ }
54
+ /**
55
+ * Mark messages in a ticket as read
56
+ */
57
+ async markMessagesAsRead(ticketId) {
58
+ return this.http.post(`${this.basePath}/tickets/${ticketId}/read`, {});
59
+ }
60
+ // ==================== FAQ ====================
61
+ /**
62
+ * Get FAQ articles grouped by category
63
+ */
64
+ async getFaq(params) {
65
+ return this.http.get(`${this.basePath}/faq`, params);
66
+ }
67
+ /**
68
+ * Search FAQ articles
69
+ */
70
+ async searchFaq(params) {
71
+ return this.http.get(`${this.basePath}/faq/search`, params);
72
+ }
73
+ /**
74
+ * Get a specific FAQ article
75
+ */
76
+ async getFaqArticle(articleId) {
77
+ return this.http.get(`${this.basePath}/faq/${articleId}`);
78
+ }
79
+ /**
80
+ * Record feedback on a FAQ article
81
+ */
82
+ async recordFaqFeedback(articleId, data) {
83
+ return this.http.post(`${this.basePath}/faq/${articleId}/feedback`, data);
84
+ }
85
+ }
86
+ exports.SupportApi = SupportApi;
87
+ /**
88
+ * Artisan Support API
89
+ * Provides artisan-specific support functionality including emergency tickets
90
+ */
91
+ class ArtisanSupportApi {
92
+ constructor(http) {
93
+ this.http = http;
94
+ this.basePath = '/api/v1/artisans/support';
95
+ }
96
+ // ==================== Emergency Support ====================
97
+ /**
98
+ * Report an emergency (creates high-priority ticket)
99
+ */
100
+ async reportEmergency(data) {
101
+ return this.http.post(`${this.basePath}/emergency`, data);
102
+ }
103
+ // ==================== Artisan Tickets ====================
104
+ /**
105
+ * Get artisan's support tickets with pagination and filters
106
+ */
107
+ async getTickets(params) {
108
+ return this.http.get(`${this.basePath}/tickets`, params);
109
+ }
110
+ /**
111
+ * Get a specific ticket by ID
112
+ */
113
+ async getTicket(ticketId) {
114
+ return this.http.get(`${this.basePath}/tickets/${ticketId}`);
115
+ }
116
+ /**
117
+ * Create a new support ticket
118
+ */
119
+ async createTicket(data) {
120
+ return this.http.post(`${this.basePath}/tickets`, data);
121
+ }
122
+ /**
123
+ * Send a message in a ticket
124
+ */
125
+ async sendMessage(ticketId, data) {
126
+ return this.http.post(`${this.basePath}/tickets/${ticketId}/messages`, data);
127
+ }
128
+ /**
129
+ * Close a support ticket
130
+ */
131
+ async closeTicket(ticketId, data) {
132
+ return this.http.post(`${this.basePath}/tickets/${ticketId}/close`, data || {});
133
+ }
134
+ /**
135
+ * Rate a resolved ticket
136
+ */
137
+ async rateTicket(ticketId, data) {
138
+ return this.http.post(`${this.basePath}/tickets/${ticketId}/rate`, data);
139
+ }
140
+ /**
141
+ * Mark messages in a ticket as read
142
+ */
143
+ async markMessagesAsRead(ticketId) {
144
+ return this.http.post(`${this.basePath}/tickets/${ticketId}/read`, {});
145
+ }
146
+ }
147
+ exports.ArtisanSupportApi = ArtisanSupportApi;
148
+ //# sourceMappingURL=support.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support.js","sourceRoot":"","sources":["../../../src/api/support.ts"],"names":[],"mappings":"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"}