nazar-salary 2.0.1 → 2.1.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.
- package/index.d.ts +83 -0
- package/index.js +37 -2
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -165,6 +165,86 @@ declare module 'nazar-salary' {
|
|
|
165
165
|
period_to?: string;
|
|
166
166
|
}
|
|
167
167
|
|
|
168
|
+
export interface ManualPaymentData {
|
|
169
|
+
operation_number: string;
|
|
170
|
+
bank_id: string;
|
|
171
|
+
payment_method: string;
|
|
172
|
+
amount: number;
|
|
173
|
+
transaction_date?: string;
|
|
174
|
+
transaction_time?: string;
|
|
175
|
+
comment?: string;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
export interface ManualPaymentStudent {
|
|
179
|
+
id: number;
|
|
180
|
+
first_name: string;
|
|
181
|
+
last_name: string;
|
|
182
|
+
phone?: string;
|
|
183
|
+
manager_name?: string;
|
|
184
|
+
purchase_amount?: number;
|
|
185
|
+
is_verified: boolean;
|
|
186
|
+
verified_at?: string;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
export interface ManualPaymentDetails {
|
|
190
|
+
operation_number: string;
|
|
191
|
+
amount: number;
|
|
192
|
+
bank_commission?: number;
|
|
193
|
+
net_amount?: number;
|
|
194
|
+
manager_commission?: number;
|
|
195
|
+
discrepancy_amount?: number;
|
|
196
|
+
payment_method?: string;
|
|
197
|
+
manual_verification?: boolean;
|
|
198
|
+
verified_by?: number;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
export interface ManualPaymentResponse {
|
|
202
|
+
status: 'success' | 'error';
|
|
203
|
+
result: 'verified' | 'discrepancy' | 'orphan';
|
|
204
|
+
message: string;
|
|
205
|
+
student?: ManualPaymentStudent;
|
|
206
|
+
payment: ManualPaymentDetails;
|
|
207
|
+
code?: string;
|
|
208
|
+
details?: any;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
export interface OrphanPaymentItem {
|
|
212
|
+
id: number;
|
|
213
|
+
operation_number: string;
|
|
214
|
+
amount: number;
|
|
215
|
+
bank_name: string;
|
|
216
|
+
payment_method: string;
|
|
217
|
+
commission_rate: number;
|
|
218
|
+
bank_commission: number;
|
|
219
|
+
net_amount: number;
|
|
220
|
+
transaction_date?: string;
|
|
221
|
+
transaction_time?: string;
|
|
222
|
+
comment?: string;
|
|
223
|
+
created_by: string;
|
|
224
|
+
created_at: string;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
export interface OrphanPaymentsResponse {
|
|
228
|
+
orphan_payments: OrphanPaymentItem[];
|
|
229
|
+
pagination: Pagination;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
export interface PaymentMethod {
|
|
233
|
+
payment_method_id: string;
|
|
234
|
+
payment_method_name: string;
|
|
235
|
+
commission_rate: number;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
export interface BankConfig {
|
|
239
|
+
bank_id: string;
|
|
240
|
+
bank_name: string;
|
|
241
|
+
payment_methods: PaymentMethod[];
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
export interface BanksConfigResponse {
|
|
245
|
+
banks: BankConfig[];
|
|
246
|
+
}
|
|
247
|
+
|
|
168
248
|
export interface UpdateUserData {
|
|
169
249
|
first_name?: string;
|
|
170
250
|
last_name?: string;
|
|
@@ -626,6 +706,9 @@ declare module 'nazar-salary' {
|
|
|
626
706
|
uploadKaspiReceipt(file: File | Buffer, options?: UploadBankReceiptOptions): Promise<BankReceiptUploadResponse>;
|
|
627
707
|
getReceiptsList(params?: BankReceiptsListParams): Promise<BankReceiptsListResponse>;
|
|
628
708
|
getReceiptStatus(logId: number): Promise<BankReceiptStatusResponse>;
|
|
709
|
+
addManualPayment(data: ManualPaymentData): Promise<ManualPaymentResponse>;
|
|
710
|
+
getOrphanPayments(params?: { page?: number; limit?: number }): Promise<OrphanPaymentsResponse>;
|
|
711
|
+
getBanksConfig(): Promise<BanksConfigResponse>;
|
|
629
712
|
|
|
630
713
|
// Teacher endpoints
|
|
631
714
|
getTeacherLanguages(): Promise<TeacherLanguagesResponse>;
|
package/index.js
CHANGED
|
@@ -179,7 +179,7 @@ class SalaryAPI {
|
|
|
179
179
|
|
|
180
180
|
/**
|
|
181
181
|
* Upload bank receipt Excel file for verification (Admin only)
|
|
182
|
-
* Supports Kaspi
|
|
182
|
+
* Supports Kaspi only
|
|
183
183
|
* Processing happens asynchronously, use getReceiptStatus to check progress
|
|
184
184
|
* @param {File|Buffer} file - Excel file (.xlsx) with bank statement
|
|
185
185
|
* @param {object} [options] - Upload options
|
|
@@ -218,7 +218,42 @@ class SalaryAPI {
|
|
|
218
218
|
* @returns {Promise<{status: string, log_id: number, file_name: string, summary?: object, details?: object, error_message?: string}>}
|
|
219
219
|
*/
|
|
220
220
|
async getReceiptStatus(logId) {
|
|
221
|
-
return await this.client.get(`/api/v1/admin/receipts/${logId}`);
|
|
221
|
+
return await this.client.get(`/api/v1/admin/receipts/logs/${logId}`);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Manually add payment from non-Kaspi banks (Admin only)
|
|
226
|
+
* @param {object} data - Payment data
|
|
227
|
+
* @param {string} data.operation_number - 11-digit operation number
|
|
228
|
+
* @param {string} data.bank_id - Bank ID (halyk, forte, jusan, freedom, centercredit)
|
|
229
|
+
* @param {string} data.payment_method - Payment method ID
|
|
230
|
+
* @param {number} data.amount - Payment amount (2000-10000000 KZT)
|
|
231
|
+
* @param {string} [data.transaction_date] - Transaction date
|
|
232
|
+
* @param {string} [data.transaction_time] - Transaction time
|
|
233
|
+
* @param {string} [data.comment] - Comment (max 500 chars)
|
|
234
|
+
* @returns {Promise<{status: string, result: string, message: string, student?: object, payment: object}>}
|
|
235
|
+
*/
|
|
236
|
+
async addManualPayment(data) {
|
|
237
|
+
return await this.client.post("/api/v1/admin/receipts/manual-add", data);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* Get list of orphan (unused) payments (Admin only)
|
|
242
|
+
* @param {object} [params] - Query parameters
|
|
243
|
+
* @param {number} [params.page=1] - Page number
|
|
244
|
+
* @param {number} [params.limit=30] - Items per page
|
|
245
|
+
* @returns {Promise<{orphan_payments: array, pagination: object}>}
|
|
246
|
+
*/
|
|
247
|
+
async getOrphanPayments(params = {}) {
|
|
248
|
+
return await this.client.get("/api/v1/admin/receipts/orphan", { params });
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Get available banks and payment methods configuration (Admin only)
|
|
253
|
+
* @returns {Promise<{banks: array}>}
|
|
254
|
+
*/
|
|
255
|
+
async getBanksConfig() {
|
|
256
|
+
return await this.client.get("/api/v1/admin/receipts/banks");
|
|
222
257
|
}
|
|
223
258
|
|
|
224
259
|
// ===== TEACHER ENDPOINTS =====
|