@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.
- package/README.md +82 -0
- package/dist/cjs/api/admin-b2b.js +260 -0
- package/dist/cjs/api/admin-b2b.js.map +1 -0
- package/dist/cjs/api/admin-finance.js +78 -0
- package/dist/cjs/api/admin-finance.js.map +1 -0
- package/dist/cjs/api/admin-payouts.js +54 -0
- package/dist/cjs/api/admin-payouts.js.map +1 -0
- package/dist/cjs/api/admin-qc.js +237 -0
- package/dist/cjs/api/admin-qc.js.map +1 -0
- package/dist/cjs/api/admin.js +280 -24
- package/dist/cjs/api/admin.js.map +1 -1
- package/dist/cjs/api/b2b.js +124 -0
- package/dist/cjs/api/b2b.js.map +1 -0
- package/dist/cjs/api/communication.js +283 -0
- package/dist/cjs/api/communication.js.map +1 -0
- package/dist/cjs/api/index.js +33 -1
- package/dist/cjs/api/index.js.map +1 -1
- package/dist/cjs/api/jobs.js +304 -43
- package/dist/cjs/api/jobs.js.map +1 -1
- package/dist/cjs/api/location.js +91 -0
- package/dist/cjs/api/location.js.map +1 -0
- package/dist/cjs/api/payments.js +129 -0
- package/dist/cjs/api/payments.js.map +1 -0
- package/dist/cjs/api/support.js +148 -0
- package/dist/cjs/api/support.js.map +1 -0
- package/dist/cjs/hooks/index.js +1738 -4
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/index.js +35 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/admin-finance.js +7 -0
- package/dist/cjs/types/admin-finance.js.map +1 -0
- package/dist/cjs/types/admin-invoice.js +7 -0
- package/dist/cjs/types/admin-invoice.js.map +1 -0
- package/dist/cjs/types/admin-payout.js +7 -0
- package/dist/cjs/types/admin-payout.js.map +1 -0
- package/dist/cjs/types/b2b.js +7 -0
- package/dist/cjs/types/b2b.js.map +1 -0
- package/dist/cjs/types/communication.js +90 -0
- package/dist/cjs/types/communication.js.map +1 -0
- package/dist/cjs/types/enums.js +343 -1
- package/dist/cjs/types/enums.js.map +1 -1
- package/dist/cjs/types/index.js +18 -2
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/job.js +1 -0
- package/dist/cjs/types/job.js.map +1 -1
- package/dist/cjs/types/location.js +7 -0
- package/dist/cjs/types/location.js.map +1 -0
- package/dist/cjs/types/payment.js +7 -0
- package/dist/cjs/types/payment.js.map +1 -0
- package/dist/cjs/types/qc.js +8 -0
- package/dist/cjs/types/qc.js.map +1 -0
- package/dist/cjs/types/support.js +7 -0
- package/dist/cjs/types/support.js.map +1 -0
- package/dist/esm/api/admin-b2b.js +255 -0
- package/dist/esm/api/admin-b2b.js.map +1 -0
- package/dist/esm/api/admin-finance.js +74 -0
- package/dist/esm/api/admin-finance.js.map +1 -0
- package/dist/esm/api/admin-payouts.js +50 -0
- package/dist/esm/api/admin-payouts.js.map +1 -0
- package/dist/esm/api/admin-qc.js +233 -0
- package/dist/esm/api/admin-qc.js.map +1 -0
- package/dist/esm/api/admin.js +275 -22
- package/dist/esm/api/admin.js.map +1 -1
- package/dist/esm/api/b2b.js +120 -0
- package/dist/esm/api/b2b.js.map +1 -0
- package/dist/esm/api/communication.js +275 -0
- package/dist/esm/api/communication.js.map +1 -0
- package/dist/esm/api/index.js +10 -1
- package/dist/esm/api/index.js.map +1 -1
- package/dist/esm/api/jobs.js +304 -43
- package/dist/esm/api/jobs.js.map +1 -1
- package/dist/esm/api/location.js +87 -0
- package/dist/esm/api/location.js.map +1 -0
- package/dist/esm/api/payments.js +124 -0
- package/dist/esm/api/payments.js.map +1 -0
- package/dist/esm/api/support.js +143 -0
- package/dist/esm/api/support.js.map +1 -0
- package/dist/esm/hooks/index.js +1552 -3
- package/dist/esm/hooks/index.js.map +1 -1
- package/dist/esm/index.js +36 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/admin-finance.js +6 -0
- package/dist/esm/types/admin-finance.js.map +1 -0
- package/dist/esm/types/admin-invoice.js +6 -0
- package/dist/esm/types/admin-invoice.js.map +1 -0
- package/dist/esm/types/admin-payout.js +6 -0
- package/dist/esm/types/admin-payout.js.map +1 -0
- package/dist/esm/types/b2b.js +6 -0
- package/dist/esm/types/b2b.js.map +1 -0
- package/dist/esm/types/communication.js +87 -0
- package/dist/esm/types/communication.js.map +1 -0
- package/dist/esm/types/enums.js +341 -0
- package/dist/esm/types/enums.js.map +1 -1
- package/dist/esm/types/index.js +18 -2
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/job.js +1 -0
- package/dist/esm/types/job.js.map +1 -1
- package/dist/esm/types/location.js +6 -0
- package/dist/esm/types/location.js.map +1 -0
- package/dist/esm/types/payment.js +6 -0
- package/dist/esm/types/payment.js.map +1 -0
- package/dist/esm/types/qc.js +7 -0
- package/dist/esm/types/qc.js.map +1 -0
- package/dist/esm/types/support.js +6 -0
- package/dist/esm/types/support.js.map +1 -0
- package/dist/types/api/admin-b2b.d.ts +225 -0
- package/dist/types/api/admin-b2b.d.ts.map +1 -0
- package/dist/types/api/admin-finance.d.ts +52 -0
- package/dist/types/api/admin-finance.d.ts.map +1 -0
- package/dist/types/api/admin-payouts.d.ts +37 -0
- package/dist/types/api/admin-payouts.d.ts.map +1 -0
- package/dist/types/api/admin-qc.d.ts +157 -0
- package/dist/types/api/admin-qc.d.ts.map +1 -0
- package/dist/types/api/admin.d.ts +184 -17
- package/dist/types/api/admin.d.ts.map +1 -1
- package/dist/types/api/b2b.d.ts +77 -0
- package/dist/types/api/b2b.d.ts.map +1 -0
- package/dist/types/api/communication.d.ts +201 -0
- package/dist/types/api/communication.d.ts.map +1 -0
- package/dist/types/api/index.d.ts +10 -1
- package/dist/types/api/index.d.ts.map +1 -1
- package/dist/types/api/jobs.d.ts +197 -38
- package/dist/types/api/jobs.d.ts.map +1 -1
- package/dist/types/api/location.d.ts +76 -0
- package/dist/types/api/location.d.ts.map +1 -0
- package/dist/types/api/payments.d.ts +81 -0
- package/dist/types/api/payments.d.ts.map +1 -0
- package/dist/types/api/support.d.ts +101 -0
- package/dist/types/api/support.d.ts.map +1 -0
- package/dist/types/hooks/index.d.ts +965 -6
- package/dist/types/hooks/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +32 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/admin-finance.d.ts +265 -0
- package/dist/types/types/admin-finance.d.ts.map +1 -0
- package/dist/types/types/admin-invoice.d.ts +262 -0
- package/dist/types/types/admin-invoice.d.ts.map +1 -0
- package/dist/types/types/admin-payout.d.ts +180 -0
- package/dist/types/types/admin-payout.d.ts.map +1 -0
- package/dist/types/types/admin.d.ts +1341 -0
- package/dist/types/types/admin.d.ts.map +1 -1
- package/dist/types/types/b2b.d.ts +687 -0
- package/dist/types/types/b2b.d.ts.map +1 -0
- package/dist/types/types/communication.d.ts +670 -0
- package/dist/types/types/communication.d.ts.map +1 -0
- package/dist/types/types/enums.d.ts +311 -0
- package/dist/types/types/enums.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +10 -1
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/types/job.d.ts +576 -55
- package/dist/types/types/job.d.ts.map +1 -1
- package/dist/types/types/location.d.ts +74 -0
- package/dist/types/types/location.d.ts.map +1 -0
- package/dist/types/types/payment.d.ts +281 -0
- package/dist/types/types/payment.d.ts.map +1 -0
- package/dist/types/types/qc.d.ts +589 -0
- package/dist/types/types/qc.d.ts.map +1 -0
- package/dist/types/types/support.d.ts +194 -0
- package/dist/types/types/support.d.ts.map +1 -0
- 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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"}
|