nazar-salary 3.4.0 → 3.4.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.
Files changed (3) hide show
  1. package/index.d.ts +19 -0
  2. package/index.js +16 -0
  3. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -694,6 +694,24 @@ declare module 'nazar-salary' {
694
694
  reassigned_at: number;
695
695
  }
696
696
 
697
+ export interface ChangeStudentTeacherData {
698
+ new_teacher_id: number;
699
+ }
700
+
701
+ export interface ChangeStudentTeacherResponse {
702
+ student_id: number;
703
+ old_teacher: {
704
+ id: number | null;
705
+ name: string | null;
706
+ };
707
+ new_teacher: {
708
+ id: number;
709
+ name: string;
710
+ };
711
+ lesson_group_id: number | null;
712
+ changed_at: number;
713
+ }
714
+
697
715
  export interface UpdateStudentProgressData {
698
716
  /** Change in completed lessons (delta): positive to add, negative to correct */
699
717
  new_completed_lessons: number;
@@ -1663,6 +1681,7 @@ declare module 'nazar-salary' {
1663
1681
  updateStudent(studentId: number, data: UpdateStudentData): Promise<UpdateStudentResponse>;
1664
1682
  transferStudent(studentId: number, data: TransferStudentData): Promise<TransferResponse>;
1665
1683
  changeStudentManager(studentId: number, data: ChangeStudentManagerData): Promise<ChangeStudentManagerResponse>;
1684
+ changeStudentTeacher(studentId: number, data: ChangeStudentTeacherData): Promise<ChangeStudentTeacherResponse>;
1666
1685
  updateStudentProgress(studentId: number, data: UpdateStudentProgressData): Promise<UpdateStudentProgressResponse>;
1667
1686
  getStudentProgressHistory(studentId: number, params?: ProgressHistoryParams): Promise<ProgressHistoryResponse>;
1668
1687
  stopStudent(studentId: number, data: StopStudentData): Promise<StopStudentResponse>;
package/index.js CHANGED
@@ -603,6 +603,22 @@ class SalaryAPI {
603
603
  );
604
604
  }
605
605
 
606
+ /**
607
+ * Change student's teacher only (requireAuth: admin or owner).
608
+ * Keeps the current course as-is — does NOT recalculate lessons or create a new course.
609
+ * For group lessons, changes the teacher for the whole group.
610
+ * @param {number} studentId - Student ID
611
+ * @param {object} data - Change teacher data
612
+ * @param {number} data.new_teacher_id - New teacher ID
613
+ * @returns {Promise<{student_id: number, old_teacher: {id: number|null, name: string|null}, new_teacher: {id: number, name: string}, lesson_group_id: number|null, changed_at: number}>}
614
+ */
615
+ async changeStudentTeacher(studentId, data) {
616
+ return await this.client.patch(
617
+ `/api/v1/student/${studentId}/teacher`,
618
+ data,
619
+ );
620
+ }
621
+
606
622
  /**
607
623
  * Change student manager (Admin only)
608
624
  * @param {number} studentId - Student ID
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nazar-salary",
3
- "version": "3.4.0",
3
+ "version": "3.4.1",
4
4
  "description": "Frontend library for Nazar Salary API",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",