nazar-salary 3.3.5 → 3.4.0
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 +41 -0
- package/index.js +19 -1
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -695,6 +695,7 @@ declare module 'nazar-salary' {
|
|
|
695
695
|
}
|
|
696
696
|
|
|
697
697
|
export interface UpdateStudentProgressData {
|
|
698
|
+
/** Change in completed lessons (delta): positive to add, negative to correct */
|
|
698
699
|
new_completed_lessons: number;
|
|
699
700
|
comment?: string;
|
|
700
701
|
}
|
|
@@ -720,6 +721,38 @@ declare module 'nazar-salary' {
|
|
|
720
721
|
};
|
|
721
722
|
}
|
|
722
723
|
|
|
724
|
+
export interface ProgressHistoryParams {
|
|
725
|
+
limit?: number;
|
|
726
|
+
offset?: number;
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
export interface ProgressHistoryEntry {
|
|
730
|
+
id: number;
|
|
731
|
+
student_history_id: number;
|
|
732
|
+
previous_completed: number;
|
|
733
|
+
new_completed: number;
|
|
734
|
+
delta: number;
|
|
735
|
+
update_source: 'manual' | 'stop' | 'resume' | string;
|
|
736
|
+
comment: string | null;
|
|
737
|
+
updated_at: number;
|
|
738
|
+
updated_by: number;
|
|
739
|
+
updated_by_name: string | null;
|
|
740
|
+
main_course: string;
|
|
741
|
+
total_lessons: number;
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
export interface ProgressHistoryResponse {
|
|
745
|
+
status: string;
|
|
746
|
+
student: {
|
|
747
|
+
id: number;
|
|
748
|
+
name: string;
|
|
749
|
+
};
|
|
750
|
+
total: number;
|
|
751
|
+
limit: number;
|
|
752
|
+
offset: number;
|
|
753
|
+
history: ProgressHistoryEntry[];
|
|
754
|
+
}
|
|
755
|
+
|
|
723
756
|
export type StopReason = 'student_quit' | 'moved_away' | 'health_issues' | 'financial' | 'other' | 'refund';
|
|
724
757
|
|
|
725
758
|
export interface StopStudentData {
|
|
@@ -1062,6 +1095,9 @@ declare module 'nazar-salary' {
|
|
|
1062
1095
|
rate_per_lesson: number;
|
|
1063
1096
|
lesson_group_id: number | null;
|
|
1064
1097
|
created_at: number;
|
|
1098
|
+
is_active: boolean;
|
|
1099
|
+
finished_at: number | null;
|
|
1100
|
+
stop_reason: string | null;
|
|
1065
1101
|
}
|
|
1066
1102
|
|
|
1067
1103
|
export interface CourseHistoryItem {
|
|
@@ -1628,6 +1664,7 @@ declare module 'nazar-salary' {
|
|
|
1628
1664
|
transferStudent(studentId: number, data: TransferStudentData): Promise<TransferResponse>;
|
|
1629
1665
|
changeStudentManager(studentId: number, data: ChangeStudentManagerData): Promise<ChangeStudentManagerResponse>;
|
|
1630
1666
|
updateStudentProgress(studentId: number, data: UpdateStudentProgressData): Promise<UpdateStudentProgressResponse>;
|
|
1667
|
+
getStudentProgressHistory(studentId: number, params?: ProgressHistoryParams): Promise<ProgressHistoryResponse>;
|
|
1631
1668
|
stopStudent(studentId: number, data: StopStudentData): Promise<StopStudentResponse>;
|
|
1632
1669
|
resumeStudent(studentId: number, data?: ResumeStudentData): Promise<ResumeStudentResponse>;
|
|
1633
1670
|
resumeMyStudent(studentId: number, data?: ResumeStudentData): Promise<ResumeStudentResponse>;
|
|
@@ -1701,6 +1738,8 @@ declare module 'nazar-salary' {
|
|
|
1701
1738
|
teacher_id: number;
|
|
1702
1739
|
purchase_amount: number;
|
|
1703
1740
|
operation_number: string;
|
|
1741
|
+
/** Unix timestamp (ms) — дата покупки; её месяц определяет месяц зарплаты менеджера */
|
|
1742
|
+
created_at: number;
|
|
1704
1743
|
}
|
|
1705
1744
|
|
|
1706
1745
|
export interface ExtendCourseResponse {
|
|
@@ -1730,6 +1769,8 @@ declare module 'nazar-salary' {
|
|
|
1730
1769
|
prepayment: boolean;
|
|
1731
1770
|
/** Admin only */
|
|
1732
1771
|
manager_id?: number;
|
|
1772
|
+
/** Unix timestamp (ms) — дата покупки; её месяц определяет месяц зарплаты менеджера */
|
|
1773
|
+
created_at: number;
|
|
1733
1774
|
}
|
|
1734
1775
|
|
|
1735
1776
|
export interface ResaleCourseResponse {
|
package/index.js
CHANGED
|
@@ -621,7 +621,7 @@ class SalaryAPI {
|
|
|
621
621
|
* Update student progress (Admin only)
|
|
622
622
|
* @param {number} studentId - Student ID
|
|
623
623
|
* @param {object} data - Progress data
|
|
624
|
-
* @param {number} data.new_completed_lessons -
|
|
624
|
+
* @param {number} data.new_completed_lessons - Change in completed lessons (delta): positive to add, negative to correct
|
|
625
625
|
* @param {string} [data.comment] - Optional comment for logging
|
|
626
626
|
* @returns {Promise<{status: string, student: object, students_in_group?: array, teacher_payment_created?: object}>}
|
|
627
627
|
*/
|
|
@@ -632,6 +632,22 @@ class SalaryAPI {
|
|
|
632
632
|
);
|
|
633
633
|
}
|
|
634
634
|
|
|
635
|
+
/**
|
|
636
|
+
* Get student progress change history (Admin only)
|
|
637
|
+
* Append-only log of every completed-lessons change (add/correction/stop/resume).
|
|
638
|
+
* @param {number} studentId - Student ID
|
|
639
|
+
* @param {object} [params] - Pagination
|
|
640
|
+
* @param {number} [params.limit] - Max rows (default 100, max 500)
|
|
641
|
+
* @param {number} [params.offset] - Offset (default 0)
|
|
642
|
+
* @returns {Promise<{status: string, student: object, total: number, limit: number, offset: number, history: Array<object>}>}
|
|
643
|
+
*/
|
|
644
|
+
async getStudentProgressHistory(studentId, params = {}) {
|
|
645
|
+
return await this.client.get(
|
|
646
|
+
`/api/v1/admin/progress/${studentId}/history`,
|
|
647
|
+
{ params },
|
|
648
|
+
);
|
|
649
|
+
}
|
|
650
|
+
|
|
635
651
|
/**
|
|
636
652
|
* Get admin dashboard summary (Admin only)
|
|
637
653
|
* @param {string} [month] - Month in MM.YYYY format (e.g. "04.2026"). Defaults to current month.
|
|
@@ -1034,6 +1050,7 @@ class SalaryAPI {
|
|
|
1034
1050
|
* @param {number} data.teacher_id - Teacher ID
|
|
1035
1051
|
* @param {number} data.purchase_amount - Payment amount
|
|
1036
1052
|
* @param {string} data.operation_number - Unique operation number
|
|
1053
|
+
* @param {number} data.created_at - Unix timestamp (ms) — дата покупки; её месяц определяет, в какой месяц попадёт зарплата менеджера
|
|
1037
1054
|
* @returns {Promise<ExtendCourseResponse>}
|
|
1038
1055
|
*/
|
|
1039
1056
|
async extendStudentCourse(studentId, data) {
|
|
@@ -1055,6 +1072,7 @@ class SalaryAPI {
|
|
|
1055
1072
|
* @param {string} data.operation_number - Unique operation number
|
|
1056
1073
|
* @param {boolean} data.prepayment - Is prepayment
|
|
1057
1074
|
* @param {number} [data.manager_id] - Manager ID (Admin only)
|
|
1075
|
+
* @param {number} data.created_at - Unix timestamp (ms) — дата покупки; её месяц определяет, в какой месяц попадёт зарплата менеджера
|
|
1058
1076
|
* @returns {Promise<ResaleCourseResponse>}
|
|
1059
1077
|
*/
|
|
1060
1078
|
async resaleStudentCourse(studentId, data) {
|