@profcomff/api-uilib 2025.10.15 → 2025.12.21-test

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@profcomff/api-uilib",
3
- "version": "2025.10.15",
3
+ "version": "2025.12.21-test",
4
4
  "description": "API wrappers, autogenerated from openapi.json files",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./src/index.d.ts",
@@ -11,9 +11,9 @@ const apis = {
11
11
  services: "https://api.profcomff.com/services/openapi.json",
12
12
  print: "https://api.profcomff.com/print/openapi.json",
13
13
  social: "https://api.profcomff.com/social/openapi.json",
14
- userdata: "https://api.profcomff.com/userdata/openapi.json",
14
+ userdata: "https://api.test.profcomff.com/userdata/openapi.json",
15
15
  achievement: "https://api.profcomff.com/achievement/openapi.json",
16
- rating: "https://api.profcomff.com/rating/openapi.json",
16
+ rating: "https://api.test.profcomff.com/rating/openapi.json",
17
17
  rental: "https://api.profcomff.com/rental/openapi.json",
18
18
  };
19
19
 
@@ -21,9 +21,10 @@ export interface paths {
21
21
  * Если без смещения возвращается комментарий с условным номером N,
22
22
  * то при значении offset = X будет возвращаться комментарий с номером N + X
23
23
  *
24
- * `order_by` - возможные значения `"create_ts", "mark_kindness", "mark_freebie", "mark_clarity", "mark_general"`.
25
- * Если передано `'create_ts'` - возвращается список комментариев отсортированных по времени
26
- * Если передано `'mark_...'` - возвращается список комментариев отсортированных по конкретной оценке
24
+ * `order_by` - возможные значения `"create_ts", "mark_kindness", "mark_freebie", "mark_clarity", "mark_general", "like_diff"`.
25
+ * Если передано `'create_ts'` - возвращается список комментариев, отсортированных по времени
26
+ * Если передано `'mark_...'` - возвращается список комментариев, отсортированных по конкретной оценке
27
+ * Если передано `'like_diff'` - возвращается список комментариев, отсортированных по разнице лайков и дизлайков
27
28
  *
28
29
  * `lecturer_id` - вернет все комментарии для преподавателя с конкретным id, по дефолту возвращает вообще все аппрувнутые комментарии.
29
30
  *
@@ -77,6 +78,41 @@ export interface paths {
77
78
  patch: operations["update_comment_comment__uuid__patch"];
78
79
  trace?: never;
79
80
  };
81
+ "/rating/comment/{uuid}/{reaction}": {
82
+ parameters: {
83
+ query?: never;
84
+ header?: never;
85
+ path?: never;
86
+ cookie?: never;
87
+ };
88
+ get?: never;
89
+ /**
90
+ * Like Comment
91
+ * @description Handles like/dislike reactions for a comment.
92
+ *
93
+ * This endpoint allows authenticated users to react to a comment (like/dislike) or change their existing reaction.
94
+ * If the user has no existing reaction, a new one is created. If the user changes their reaction, it gets updated.
95
+ * If the user clicks the same reaction again, the reaction is removed.
96
+ *
97
+ * Args:
98
+ * uuid (UUID): The UUID of the comment to react to.
99
+ * reaction (Reaction): The reaction type (like/dislike).
100
+ * user (dict): Authenticated user data from UnionAuth dependency.
101
+ *
102
+ * Returns:
103
+ * CommentGet: The updated comment with reactions in CommentGet format.
104
+ *
105
+ * Raises:
106
+ * ObjectNotFound: If the comment with given UUID doesn't exist.
107
+ */
108
+ put: operations["like_comment_comment__uuid___reaction__put"];
109
+ post?: never;
110
+ delete?: never;
111
+ options?: never;
112
+ head?: never;
113
+ patch?: never;
114
+ trace?: never;
115
+ };
80
116
  "/rating/comment/{uuid}/review": {
81
117
  parameters: {
82
118
  query?: never;
@@ -139,10 +175,16 @@ export interface paths {
139
175
  * `order_by` - возможные значения `"mark_weighted", "mark_kindness", "mark_freebie", "mark_clarity", "mark_general", "last_name"`.
140
176
  * Если передано `'last_name'` - возвращается список преподавателей отсортированных по алфавиту по фамилиям
141
177
  * Если передано `'mark_...'` - возвращается список преподавателей отсортированных по конкретной оценке
178
+ * Если передано просто так (или с '+' в начале параметра), то сортирует по возрастанию
179
+ * С '-' в начале -- по убыванию.
180
+ *
181
+ * *Пример запросов с этим параметром*:
182
+ * - `...?order_by=-mark_kindness`
183
+ * - `...?order_by=mark_freebie`
184
+ * - `...?order_by=+mark_freebie` (эквивалентно 2ому пункту)
142
185
  *
143
- * `info` - возможные значения `'comments'`, `'mark'`.
186
+ * `info` - возможные значения `'comments'`.
144
187
  * Если передано `'comments'`, то возвращаются одобренные комментарии к преподавателю.
145
- * Если передано `'mark'`, то возвращаются общие средние оценки, а также суммарная средняя оценка по всем одобренным комментариям.
146
188
  *
147
189
  * `subject`
148
190
  * Если передано `subject` - возвращает всех преподавателей, для которых переданное значение совпадает с одним из их предметов преподавания.
@@ -151,9 +193,9 @@ export interface paths {
151
193
  * `name`
152
194
  * Поле для ФИО. Если передано `name` - возвращает всех преподователей, для которых нашлись совпадения с переданной строкой
153
195
  *
154
- * `asc_order`
155
- * Если передано true, сортировать в порядке возрастания
156
- * Иначе - в порядке убывания
196
+ * `mark`
197
+ * Поле для оценки. Если передано, то возвращает только тех преподавателей, для которых средняя общая оценка ('general_mark')
198
+ * больше, чем переданный 'mark'.
157
199
  */
158
200
  get: operations["get_lecturers_lecturer_get"];
159
201
  put?: never;
@@ -183,10 +225,8 @@ export interface paths {
183
225
  *
184
226
  * Возвращает преподавателя по его ID в базе данных RatingAPI
185
227
  *
186
- * *QUERY* `info: string` - возможные значения `'comments'`, `'mark'`.
228
+ * *QUERY* `info: string` - возможные значения `'comments'`.
187
229
  * Если передано `'comments'`, то возвращаются одобренные комментарии к преподавателю.
188
- * Если передано `'mark'`, то возвращаются общие средние оценки, а также суммарная средняя оценка по всем одобренным комментариям.
189
- *
190
230
  * Subject лектора возвращшается либо из базы данных, либо из любого аппрувнутого комментария
191
231
  */
192
232
  get: operations["get_lecturer_lecturer__id__get"];
@@ -206,6 +246,28 @@ export interface paths {
206
246
  patch: operations["update_lecturer_lecturer__id__patch"];
207
247
  trace?: never;
208
248
  };
249
+ "/rating/lecturer/import_rating": {
250
+ parameters: {
251
+ query?: never;
252
+ header?: never;
253
+ path?: never;
254
+ cookie?: never;
255
+ };
256
+ get?: never;
257
+ put?: never;
258
+ post?: never;
259
+ delete?: never;
260
+ options?: never;
261
+ head?: never;
262
+ /**
263
+ * Update Lecturer Rating
264
+ * @description Scopes: `["rating.lecturer.update_rating"]`
265
+ *
266
+ * Обновляет рейтинг преподавателя в базе данных RatingAPI
267
+ */
268
+ patch: operations["update_lecturer_rating_lecturer_import_rating_patch"];
269
+ trace?: never;
270
+ };
209
271
  }
210
272
  export type webhooks = Record<string, never>;
211
273
  export interface components {
@@ -217,8 +279,12 @@ export interface components {
217
279
  * Format: date-time
218
280
  */
219
281
  create_ts: string;
282
+ /** Dislike Count */
283
+ dislike_count: number;
220
284
  /** Lecturer Id */
221
285
  lecturer_id: number;
286
+ /** Like Count */
287
+ like_count: number;
222
288
  /** Mark Clarity */
223
289
  mark_clarity: number;
224
290
  /** Mark Freebie */
@@ -236,6 +302,8 @@ export interface components {
236
302
  * Format: date-time
237
303
  */
238
304
  update_ts: string;
305
+ /** User Fullname */
306
+ user_fullname?: string | null;
239
307
  /** User Id */
240
308
  user_id?: number | null;
241
309
  /**
@@ -295,8 +363,12 @@ export interface components {
295
363
  * Format: date-time
296
364
  */
297
365
  create_ts: string;
366
+ /** Dislike Count */
367
+ dislike_count: number;
298
368
  /** Lecturer Id */
299
369
  lecturer_id: number;
370
+ /** Like Count */
371
+ like_count: number;
300
372
  /** Mark Clarity */
301
373
  mark_clarity: number;
302
374
  /** Mark Freebie */
@@ -315,6 +387,8 @@ export interface components {
315
387
  * Format: date-time
316
388
  */
317
389
  update_ts: string;
390
+ /** User Fullname */
391
+ user_fullname?: string | null;
318
392
  /** User Id */
319
393
  user_id?: number | null;
320
394
  /**
@@ -330,8 +404,12 @@ export interface components {
330
404
  * Format: date-time
331
405
  */
332
406
  create_ts: string;
407
+ /** Dislike Count */
408
+ dislike_count: number;
333
409
  /** Lecturer Id */
334
410
  lecturer_id: number;
411
+ /** Like Count */
412
+ like_count: number;
335
413
  /** Mark Clarity */
336
414
  mark_clarity: number;
337
415
  /** Mark Freebie */
@@ -350,6 +428,8 @@ export interface components {
350
428
  * Format: date-time
351
429
  */
352
430
  update_ts: string;
431
+ /** User Fullname */
432
+ user_fullname?: string | null;
353
433
  /** User Id */
354
434
  user_id?: number | null;
355
435
  /**
@@ -365,15 +445,15 @@ export interface components {
365
445
  /** Lecturer Id */
366
446
  lecturer_id: number;
367
447
  /** Mark Clarity */
368
- mark_clarity: number;
448
+ mark_clarity?: number;
369
449
  /** Mark Freebie */
370
- mark_freebie: number;
450
+ mark_freebie?: number;
371
451
  /** Mark Kindness */
372
- mark_kindness: number;
452
+ mark_kindness?: number;
373
453
  /** Subject */
374
- subject?: string | null;
454
+ subject?: string;
375
455
  /** Text */
376
- text: string;
456
+ text?: string;
377
457
  /** Update Ts */
378
458
  update_ts?: string | null;
379
459
  };
@@ -392,15 +472,15 @@ export interface components {
392
472
  */
393
473
  is_anonymous: boolean;
394
474
  /** Mark Clarity */
395
- mark_clarity: number;
475
+ mark_clarity?: number;
396
476
  /** Mark Freebie */
397
- mark_freebie: number;
477
+ mark_freebie?: number;
398
478
  /** Mark Kindness */
399
- mark_kindness: number;
479
+ mark_kindness?: number;
400
480
  /** Subject */
401
- subject: string;
481
+ subject?: string;
402
482
  /** Text */
403
- text: string;
483
+ text?: string;
404
484
  /** Update Ts */
405
485
  update_ts?: string | null;
406
486
  };
@@ -434,22 +514,24 @@ export interface components {
434
514
  id: number;
435
515
  /** Last Name */
436
516
  last_name: string;
437
- /** Mark Clarity */
438
- mark_clarity?: number | null;
439
- /** Mark Freebie */
440
- mark_freebie?: number | null;
441
- /** Mark General */
442
- mark_general?: number | null;
443
- /** Mark Kindness */
444
- mark_kindness?: number | null;
517
+ /** Mark Clarity Weighted */
518
+ mark_clarity_weighted?: number | null;
519
+ /** Mark Freebie Weighted */
520
+ mark_freebie_weighted?: number | null;
521
+ /** Mark Kindness Weighted */
522
+ mark_kindness_weighted?: number | null;
445
523
  /** Mark Weighted */
446
524
  mark_weighted?: number | null;
447
525
  /** Middle Name */
448
526
  middle_name: string;
527
+ /** Rank */
528
+ rank?: number | null;
449
529
  /** Subjects */
450
530
  subjects?: string[] | null;
451
531
  /** Timetable Id */
452
532
  timetable_id: number;
533
+ /** Update Ts */
534
+ update_ts?: string | null;
453
535
  };
454
536
  /** LecturerGetAll */
455
537
  LecturerGetAll: {
@@ -491,6 +573,49 @@ export interface components {
491
573
  /** Timetable Id */
492
574
  timetable_id?: number | null;
493
575
  };
576
+ /** LecturerUpdateRatingPatch */
577
+ LecturerUpdateRatingPatch: {
578
+ /** Failed */
579
+ failed: number;
580
+ /** Failed Id */
581
+ failed_id: number[];
582
+ /** Updated */
583
+ updated: number;
584
+ /** Updated Id */
585
+ updated_id: number[];
586
+ };
587
+ /** LecturerWithRank */
588
+ LecturerWithRank: {
589
+ /** Avatar Link */
590
+ avatar_link?: string | null;
591
+ /** First Name */
592
+ first_name: string;
593
+ /** Id */
594
+ id: number;
595
+ /** Last Name */
596
+ last_name: string;
597
+ /** Mark Clarity Weighted */
598
+ mark_clarity_weighted: number;
599
+ /** Mark Freebie Weighted */
600
+ mark_freebie_weighted: number;
601
+ /** Mark Kindness Weighted */
602
+ mark_kindness_weighted: number;
603
+ /** Mark Weighted */
604
+ mark_weighted: number;
605
+ /** Middle Name */
606
+ middle_name: string;
607
+ /** Rank */
608
+ rank: number;
609
+ /** Timetable Id */
610
+ timetable_id: number;
611
+ /** Update Ts */
612
+ update_ts?: string | null;
613
+ };
614
+ /**
615
+ * Reaction
616
+ * @enum {string}
617
+ */
618
+ Reaction: "like" | "dislike";
494
619
  /**
495
620
  * ReviewStatus
496
621
  * @enum {string}
@@ -530,7 +655,7 @@ export interface operations {
530
655
  lecturer_id?: number | null;
531
656
  limit?: number;
532
657
  offset?: number;
533
- order_by?: "create_ts" | "mark_kindness" | "mark_freebie" | "mark_clarity" | "mark_general";
658
+ order_by?: "create_ts" | "mark_kindness" | "mark_freebie" | "mark_clarity" | "mark_general" | "like_diff";
534
659
  subject?: string | null;
535
660
  unreviewed?: boolean;
536
661
  user_id?: number | null;
@@ -693,6 +818,38 @@ export interface operations {
693
818
  };
694
819
  };
695
820
  };
821
+ like_comment_comment__uuid___reaction__put: {
822
+ parameters: {
823
+ query?: never;
824
+ header?: never;
825
+ path: {
826
+ reaction: components["schemas"]["Reaction"];
827
+ uuid: string;
828
+ };
829
+ cookie?: never;
830
+ };
831
+ requestBody?: never;
832
+ responses: {
833
+ /** @description Successful Response */
834
+ 200: {
835
+ headers: {
836
+ [name: string]: unknown;
837
+ };
838
+ content: {
839
+ "application/json": components["schemas"]["CommentGet"];
840
+ };
841
+ };
842
+ /** @description Validation Error */
843
+ 422: {
844
+ headers: {
845
+ [name: string]: unknown;
846
+ };
847
+ content: {
848
+ "application/json": components["schemas"]["HTTPValidationError"];
849
+ };
850
+ };
851
+ };
852
+ };
696
853
  review_comment_comment__uuid__review_patch: {
697
854
  parameters: {
698
855
  query?: {
@@ -762,12 +919,12 @@ export interface operations {
762
919
  get_lecturers_lecturer_get: {
763
920
  parameters: {
764
921
  query?: {
765
- asc_order?: boolean;
766
- info?: ("comments" | "mark")[];
922
+ info?: "comments"[];
767
923
  limit?: number;
924
+ mark?: number;
768
925
  name?: string;
769
926
  offset?: number;
770
- order_by?: "mark_weighted" | "mark_kindness" | "mark_freebie" | "mark_clarity" | "mark_general" | "last_name";
927
+ order_by?: string | null;
771
928
  subject?: string;
772
929
  };
773
930
  header?: never;
@@ -832,7 +989,7 @@ export interface operations {
832
989
  get_lecturer_lecturer__id__get: {
833
990
  parameters: {
834
991
  query?: {
835
- info?: ("comments" | "mark")[];
992
+ info?: "comments"[];
836
993
  };
837
994
  header?: never;
838
995
  path: {
@@ -928,4 +1085,37 @@ export interface operations {
928
1085
  };
929
1086
  };
930
1087
  };
1088
+ update_lecturer_rating_lecturer_import_rating_patch: {
1089
+ parameters: {
1090
+ query?: never;
1091
+ header?: never;
1092
+ path?: never;
1093
+ cookie?: never;
1094
+ };
1095
+ requestBody: {
1096
+ content: {
1097
+ "application/json": components["schemas"]["LecturerWithRank"][];
1098
+ };
1099
+ };
1100
+ responses: {
1101
+ /** @description Successful Response */
1102
+ 200: {
1103
+ headers: {
1104
+ [name: string]: unknown;
1105
+ };
1106
+ content: {
1107
+ "application/json": components["schemas"]["LecturerUpdateRatingPatch"];
1108
+ };
1109
+ };
1110
+ /** @description Validation Error */
1111
+ 422: {
1112
+ headers: {
1113
+ [name: string]: unknown;
1114
+ };
1115
+ content: {
1116
+ "application/json": components["schemas"]["HTTPValidationError"];
1117
+ };
1118
+ };
1119
+ };
1120
+ };
931
1121
  }
@@ -4,6 +4,36 @@
4
4
  */
5
5
 
6
6
  export interface paths {
7
+ "/userdata/admin/user/{user_id}": {
8
+ parameters: {
9
+ query?: never;
10
+ header?: never;
11
+ path?: never;
12
+ cookie?: never;
13
+ };
14
+ /**
15
+ * Get User Card
16
+ * @description Получает профсоюзную информацию пользователя.
17
+ *
18
+ * Скоупы: `["userdata.info.admin"]`
19
+ */
20
+ get: operations["get_user_card_admin_user__user_id__get"];
21
+ put?: never;
22
+ post?: never;
23
+ delete?: never;
24
+ options?: never;
25
+ head?: never;
26
+ /**
27
+ * Update User Card
28
+ * @description Обновить данные в профсоюзной информации пользователя.
29
+ *
30
+ * Скоупы: `["userdata.info.admin"]`
31
+ *
32
+ * - **user_id**: id пользователя.
33
+ */
34
+ patch: operations["update_user_card_admin_user__user_id__patch"];
35
+ trace?: never;
36
+ };
7
37
  "/userdata/category": {
8
38
  parameters: {
9
39
  query?: never;
@@ -393,6 +423,26 @@ export interface components {
393
423
  /** Status */
394
424
  status: string;
395
425
  };
426
+ /** UserCardGet */
427
+ UserCardGet: {
428
+ /** Full Name */
429
+ full_name?: string | null;
430
+ /** Is Union Member */
431
+ is_union_member: string;
432
+ /** Student Card Number */
433
+ student_card_number?: string | null;
434
+ /** Union Card Number */
435
+ union_card_number?: string | null;
436
+ /** User Id */
437
+ user_id: number;
438
+ };
439
+ /** UserCardUpdate */
440
+ UserCardUpdate: {
441
+ /** Full Name */
442
+ full_name?: string | null;
443
+ /** Student Card Number */
444
+ student_card_number?: string | null;
445
+ };
396
446
  /** UserInfo */
397
447
  UserInfo: {
398
448
  /** Category */
@@ -446,6 +496,72 @@ export interface components {
446
496
  }
447
497
  export type $defs = Record<string, never>;
448
498
  export interface operations {
499
+ get_user_card_admin_user__user_id__get: {
500
+ parameters: {
501
+ query?: never;
502
+ header?: never;
503
+ path: {
504
+ user_id: number;
505
+ };
506
+ cookie?: never;
507
+ };
508
+ requestBody?: never;
509
+ responses: {
510
+ /** @description Successful Response */
511
+ 200: {
512
+ headers: {
513
+ [name: string]: unknown;
514
+ };
515
+ content: {
516
+ "application/json": components["schemas"]["UserCardGet"];
517
+ };
518
+ };
519
+ /** @description Validation Error */
520
+ 422: {
521
+ headers: {
522
+ [name: string]: unknown;
523
+ };
524
+ content: {
525
+ "application/json": components["schemas"]["HTTPValidationError"];
526
+ };
527
+ };
528
+ };
529
+ };
530
+ update_user_card_admin_user__user_id__patch: {
531
+ parameters: {
532
+ query?: never;
533
+ header?: never;
534
+ path: {
535
+ user_id: number;
536
+ };
537
+ cookie?: never;
538
+ };
539
+ requestBody: {
540
+ content: {
541
+ "application/json": components["schemas"]["UserCardUpdate"];
542
+ };
543
+ };
544
+ responses: {
545
+ /** @description Successful Response */
546
+ 200: {
547
+ headers: {
548
+ [name: string]: unknown;
549
+ };
550
+ content: {
551
+ "application/json": components["schemas"]["StatusResponseModel"];
552
+ };
553
+ };
554
+ /** @description Validation Error */
555
+ 422: {
556
+ headers: {
557
+ [name: string]: unknown;
558
+ };
559
+ content: {
560
+ "application/json": components["schemas"]["HTTPValidationError"];
561
+ };
562
+ };
563
+ };
564
+ };
449
565
  get_categories_category_get: {
450
566
  parameters: {
451
567
  query?: {