nazar-salary 1.3.2 → 1.3.5
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 +45 -0
- package/index.js +23 -0
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -194,6 +194,48 @@ declare module 'nazar-salary' {
|
|
|
194
194
|
history: PriceHistoryItem[];
|
|
195
195
|
}
|
|
196
196
|
|
|
197
|
+
export type GroupType = 'individual' | 'duet' | 'trio' | 'group';
|
|
198
|
+
|
|
199
|
+
export interface Student {
|
|
200
|
+
id: number;
|
|
201
|
+
first_name: string;
|
|
202
|
+
last_name: string;
|
|
203
|
+
phone: string;
|
|
204
|
+
age: number;
|
|
205
|
+
created_at: number;
|
|
206
|
+
purchase_amount: number;
|
|
207
|
+
operation_number: string;
|
|
208
|
+
is_verified: boolean;
|
|
209
|
+
verified_at: number | null;
|
|
210
|
+
price_id: number;
|
|
211
|
+
teacher_id: number;
|
|
212
|
+
owned_by: number;
|
|
213
|
+
enrollment_months: number;
|
|
214
|
+
total_lessons: number;
|
|
215
|
+
group_name: string;
|
|
216
|
+
main_course: string;
|
|
217
|
+
bonus_languages: string[] | null;
|
|
218
|
+
group_type: GroupType;
|
|
219
|
+
lessons_per_month: number;
|
|
220
|
+
duration_minutes: number;
|
|
221
|
+
rate_per_lesson: number;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
export interface CreateStudentData {
|
|
225
|
+
first_name: string;
|
|
226
|
+
last_name: string;
|
|
227
|
+
phone: string;
|
|
228
|
+
age: number;
|
|
229
|
+
purchase_amount: number;
|
|
230
|
+
operation_number: string;
|
|
231
|
+
price_id: number;
|
|
232
|
+
teacher_id: number;
|
|
233
|
+
enrollment_months: number;
|
|
234
|
+
group_name: string;
|
|
235
|
+
main_course: string;
|
|
236
|
+
bonus_languages?: string[];
|
|
237
|
+
}
|
|
238
|
+
|
|
197
239
|
export default class SalaryAPI {
|
|
198
240
|
constructor(options?: SalaryAPIOptions);
|
|
199
241
|
|
|
@@ -231,6 +273,9 @@ declare module 'nazar-salary' {
|
|
|
231
273
|
getPriceHistory(priceId: number): Promise<PriceHistoryResponse>;
|
|
232
274
|
deletePrice(priceId: number): Promise<void>;
|
|
233
275
|
|
|
276
|
+
// Student endpoints
|
|
277
|
+
createStudent(data: CreateStudentData): Promise<Student>;
|
|
278
|
+
|
|
234
279
|
// Custom request
|
|
235
280
|
request(method: string, path: string, data?: any): Promise<any>;
|
|
236
281
|
}
|
package/index.js
CHANGED
|
@@ -312,6 +312,29 @@ class SalaryAPI {
|
|
|
312
312
|
return await this.client.delete(`/api/v1/admin/prices/${priceId}`);
|
|
313
313
|
}
|
|
314
314
|
|
|
315
|
+
// ===== STUDENT ENDPOINTS =====
|
|
316
|
+
|
|
317
|
+
/**
|
|
318
|
+
* Create new student (requireAuth)
|
|
319
|
+
* @param {object} data - Student data
|
|
320
|
+
* @param {string} data.first_name - First name
|
|
321
|
+
* @param {string} data.last_name - Last name
|
|
322
|
+
* @param {string} data.phone - Phone number (11 digits)
|
|
323
|
+
* @param {number} data.age - Age
|
|
324
|
+
* @param {number} data.purchase_amount - Purchase amount in tenge
|
|
325
|
+
* @param {string} data.operation_number - Unique operation number from Kaspi
|
|
326
|
+
* @param {number} data.price_id - Price ID
|
|
327
|
+
* @param {number} data.teacher_id - Teacher ID
|
|
328
|
+
* @param {number} data.enrollment_months - Enrollment months (1-12)
|
|
329
|
+
* @param {string} data.group_name - Group name
|
|
330
|
+
* @param {string} data.main_course - Main course
|
|
331
|
+
* @param {string[]} [data.bonus_languages] - Bonus languages array
|
|
332
|
+
* @returns {Promise<object>}
|
|
333
|
+
*/
|
|
334
|
+
async createStudent(data) {
|
|
335
|
+
return await this.client.post("/api/v1/student/new", data);
|
|
336
|
+
}
|
|
337
|
+
|
|
315
338
|
// ===== CUSTOM REQUEST =====
|
|
316
339
|
|
|
317
340
|
/**
|