@taiger-common/model 1.0.51 → 1.0.52

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.
@@ -1,12 +1,12 @@
1
1
  import type { ApiResponse, SuccessResponse } from './common';
2
- import type { IApplicationWithId, IStudentResponse, IUserWithId, IProgramWithId } from './serialized';
2
+ import type { IApplicationWithId, IApplicationPopulated, IStudentResponse, IUserWithId, IProgramWithId } from './serialized';
3
3
  /** Per-program count used in admissions response */
4
4
  export interface ProgramCountItem {
5
5
  program_id?: string;
6
6
  count?: number;
7
7
  }
8
8
  /** GET /api/applications */
9
- export type GetApplicationsResponse = ApiResponse<IApplicationWithId[]>;
9
+ export type GetApplicationsResponse = ApiResponse<IApplicationPopulated[]>;
10
10
  /**
11
11
  * GET /api/applications/taiger-user/:userId
12
12
  * Non-standard: data is an object, not an array
@@ -14,12 +14,12 @@ export type GetApplicationsResponse = ApiResponse<IApplicationWithId[]>;
14
14
  export interface GetMyStudentsApplicationsResponse {
15
15
  success: boolean;
16
16
  data?: {
17
- applications: IApplicationWithId[];
17
+ applications: IApplicationPopulated[];
18
18
  user: IUserWithId;
19
19
  };
20
20
  }
21
21
  /** GET /api/applications/all/active/applications */
22
- export type GetActiveStudentsApplicationsResponse = ApiResponse<IApplicationWithId[]>;
22
+ export type GetActiveStudentsApplicationsResponse = ApiResponse<IApplicationPopulated[]>;
23
23
  /** GET /api/applications/student/:studentId */
24
24
  export type GetStudentApplicationsResponse = ApiResponse<IStudentResponse>;
25
25
  /** POST /api/applications/student/:studentId */
@@ -45,7 +45,7 @@ export interface AdmissionsOverviewData {
45
45
  */
46
46
  export interface GetAdmissionsResponse {
47
47
  success: boolean;
48
- data?: IApplicationWithId[];
48
+ data?: IApplicationPopulated[];
49
49
  result?: ProgramCountItem[];
50
50
  }
51
51
  /** GET /api/admissions/overview */
@@ -1,5 +1,5 @@
1
1
  import type { ApiResponse, SuccessResponse } from './common';
2
- import type { IDocumentthreadWithId, ISurveyInputWithId, IUserWithId, IAuditWithId } from './serialized';
2
+ import type { IDocumentthreadWithId, IDocumentthreadPopulated, ISurveyInputWithId, IUserWithId, IAgentWithId, IEditorWithId, IAuditWithId } from './serialized';
3
3
  /** Favorite toggle result */
4
4
  export interface ThreadFavoriteData {
5
5
  isFlagged: boolean;
@@ -10,24 +10,24 @@ export interface ThreadFavoriteData {
10
10
  */
11
11
  export interface GetMessagesThreadResponse {
12
12
  success: boolean;
13
- data?: IDocumentthreadWithId;
14
- similarThreads?: IDocumentthreadWithId[];
15
- agents?: IUserWithId[];
16
- editors?: IUserWithId[];
13
+ data?: IDocumentthreadPopulated;
14
+ similarThreads?: IDocumentthreadPopulated[];
15
+ agents?: IAgentWithId[];
16
+ editors?: IEditorWithId[];
17
17
  threadAuditLog?: IAuditWithId[];
18
18
  deadline?: unknown;
19
19
  conflict_list?: unknown[];
20
20
  }
21
21
  /** GET /api/document-threads/overview/all */
22
- export type GetActiveThreadsResponse = ApiResponse<IDocumentthreadWithId[]>;
22
+ export type GetActiveThreadsResponse = ApiResponse<IDocumentthreadPopulated[]>;
23
23
  /** GET /api/document-threads/student-threads/:studentId */
24
- export type GetThreadsByStudentResponse = ApiResponse<IDocumentthreadWithId[]>;
24
+ export type GetThreadsByStudentResponse = ApiResponse<IDocumentthreadPopulated[]>;
25
25
  /**
26
26
  * GET /api/document-threads/overview/taiger-user/:userId
27
27
  * Non-standard: data is an object with threads + user
28
28
  */
29
29
  export type GetMyStudentThreadsResponse = ApiResponse<{
30
- threads: IDocumentthreadWithId[];
30
+ threads: IDocumentthreadPopulated[];
31
31
  user: IUserWithId;
32
32
  }>;
33
33
  /** GET /api/document-threads/overview/my-student-metrics */
@@ -2,7 +2,7 @@
2
2
  * Serialized "API layer" versions of core model interfaces.
3
3
  * All ObjectId refs become strings to match JSON API serialization.
4
4
  */
5
- import type { IStudent, IUserGeneraldocsThread, IUserAcademicBackgroundUniversity, IUserAcademicBackgroundLanguage, IUserApplicationPreference, IUserAttribute, IUserNotification, IUserTaigerai, IUserProfileItem } from '../model/User';
5
+ import type { IStudent, IAgent, IEditor, IUserGeneraldocsThread, IUserAcademicBackgroundUniversity, IUserAcademicBackgroundLanguage, IUserApplicationPreference, IUserAttribute, IUserNotification, IUserTaigerai, IUserProfileItem } from '../model/User';
6
6
  import type { IProgram } from '../model/Program';
7
7
  import type { IApplication } from '../model/Application';
8
8
  import type { ICourse } from '../model/Course';
@@ -36,22 +36,48 @@ export interface IProgramWithId extends Omit<IProgram, 'vcId'> {
36
36
  _id: string;
37
37
  vcId?: string;
38
38
  }
39
- /** Frontend-friendly Application with string _id */
39
+ /** Agent with string _id and agent-specific fields (timezone, officehours, etc.) */
40
+ export interface IAgentWithId extends Omit<IAgent, 'agents' | 'editors' | 'profile'> {
41
+ _id: string;
42
+ }
43
+ /** Editor with string _id and editor-specific fields (timezone, attribute, etc.) */
44
+ export interface IEditorWithId extends Omit<IEditor, 'agents' | 'editors' | 'profile'> {
45
+ _id: string;
46
+ }
47
+ /** Frontend-friendly Application with string _id (unpopulated refs) */
40
48
  export interface IApplicationWithId extends IApplication {
41
49
  _id: string;
42
50
  }
51
+ /** Application as returned by API — populated programId and studentId */
52
+ export interface IApplicationPopulated extends Omit<IApplication, 'programId' | 'studentId'> {
53
+ _id: string;
54
+ programId?: IProgramWithId;
55
+ studentId?: IStudentResponse;
56
+ }
43
57
  /** Student as returned by the API with populated agents, editors, applications */
44
58
  export interface IStudentResponse extends IStudent {
59
+ _id: string;
45
60
  applying_program_count?: number;
46
- applications?: IApplicationWithId[];
47
- agents?: IUserWithId[];
48
- editors?: IUserWithId[];
61
+ applications?: IApplicationPopulated[];
62
+ agents?: IAgentWithId[];
63
+ editors?: IEditorWithId[];
49
64
  generaldocs_threads?: IUserGeneraldocsThread[];
50
65
  }
51
- /** Document thread with string _id */
66
+ /** Document thread with string _id (unpopulated refs) */
52
67
  export interface IDocumentthreadWithId extends IDocumentthread {
53
68
  _id: string;
54
69
  }
70
+ /** Document thread as returned by API — populated refs */
71
+ export interface IDocumentthreadPopulated extends Omit<IDocumentthread, 'student_id' | 'program_id' | 'application_id' | 'outsourced_user_id' | 'pin_by_user_id' | 'flag_by_user_id' | 'essayConsultantIds'> {
72
+ _id: string;
73
+ student_id: IStudentResponse | string;
74
+ program_id?: IProgramWithId | string;
75
+ application_id?: IApplicationPopulated | string;
76
+ outsourced_user_id?: IUserWithId[];
77
+ pin_by_user_id?: IUserWithId[];
78
+ flag_by_user_id?: IUserWithId[];
79
+ essayConsultantIds?: IUserWithId[];
80
+ }
55
81
  /** Communication message with string _id */
56
82
  export interface ICommunicationWithId extends ICommunication {
57
83
  _id: string;
@@ -71,6 +71,8 @@ export interface IApplication {
71
71
  admission?: string;
72
72
  application_year?: string;
73
73
  isLocked?: boolean;
74
+ credential_a_filled?: boolean;
75
+ credential_b_filled?: boolean;
74
76
  }
75
77
  export declare const applicationSchema: Schema<IApplication, import("mongoose").Model<IApplication, any, any, any, import("mongoose").Document<unknown, any, IApplication> & IApplication & {
76
78
  _id: import("mongoose").Types.ObjectId;
@@ -138,6 +138,7 @@ export interface IUser {
138
138
  birthday?: string;
139
139
  linkedIn?: string;
140
140
  lineId?: string;
141
+ timezone?: string;
141
142
  isAccountActivated?: boolean;
142
143
  notification?: IUserNotification;
143
144
  taigerai?: IUserTaigerai;
@@ -1387,13 +1388,6 @@ export declare const managerSchema: Schema<any, import("mongoose").Model<any, an
1387
1388
  agents: import("mongoose").Types.ObjectId[];
1388
1389
  editors: import("mongoose").Types.ObjectId[];
1389
1390
  manager_type: string;
1390
- attribute?: {
1391
- can_write_ml: boolean;
1392
- can_write_rl: boolean;
1393
- can_write_cv: boolean;
1394
- can_write_essay: boolean;
1395
- can_do_interview: boolean;
1396
- } | null | undefined;
1397
1391
  manager_notification?: {
1398
1392
  isRead_new_programs_assigned: boolean;
1399
1393
  isRead_new_base_docs_uploaded: import("mongoose").Types.DocumentArray<{
@@ -1404,13 +1398,6 @@ export declare const managerSchema: Schema<any, import("mongoose").Model<any, an
1404
1398
  student_id: string;
1405
1399
  }>;
1406
1400
  } | null | undefined;
1407
- } | ({
1408
- createdAt: NativeDate;
1409
- updatedAt: NativeDate;
1410
- } & {
1411
- agents: import("mongoose").Types.ObjectId[];
1412
- editors: import("mongoose").Types.ObjectId[];
1413
- manager_type: string;
1414
1401
  attribute?: {
1415
1402
  can_write_ml: boolean;
1416
1403
  can_write_rl: boolean;
@@ -1418,6 +1405,13 @@ export declare const managerSchema: Schema<any, import("mongoose").Model<any, an
1418
1405
  can_write_essay: boolean;
1419
1406
  can_do_interview: boolean;
1420
1407
  } | null | undefined;
1408
+ } | ({
1409
+ createdAt: NativeDate;
1410
+ updatedAt: NativeDate;
1411
+ } & {
1412
+ agents: import("mongoose").Types.ObjectId[];
1413
+ editors: import("mongoose").Types.ObjectId[];
1414
+ manager_type: string;
1421
1415
  manager_notification?: {
1422
1416
  isRead_new_programs_assigned: boolean;
1423
1417
  isRead_new_base_docs_uploaded: import("mongoose").Types.DocumentArray<{
@@ -1428,10 +1422,6 @@ export declare const managerSchema: Schema<any, import("mongoose").Model<any, an
1428
1422
  student_id: string;
1429
1423
  }>;
1430
1424
  } | null | undefined;
1431
- }), import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<{
1432
- agents: import("mongoose").Types.ObjectId[];
1433
- editors: import("mongoose").Types.ObjectId[];
1434
- manager_type: string;
1435
1425
  attribute?: {
1436
1426
  can_write_ml: boolean;
1437
1427
  can_write_rl: boolean;
@@ -1439,6 +1429,10 @@ export declare const managerSchema: Schema<any, import("mongoose").Model<any, an
1439
1429
  can_write_essay: boolean;
1440
1430
  can_do_interview: boolean;
1441
1431
  } | null | undefined;
1432
+ }), import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<{
1433
+ agents: import("mongoose").Types.ObjectId[];
1434
+ editors: import("mongoose").Types.ObjectId[];
1435
+ manager_type: string;
1442
1436
  manager_notification?: {
1443
1437
  isRead_new_programs_assigned: boolean;
1444
1438
  isRead_new_base_docs_uploaded: import("mongoose").Types.DocumentArray<{
@@ -1449,13 +1443,6 @@ export declare const managerSchema: Schema<any, import("mongoose").Model<any, an
1449
1443
  student_id: string;
1450
1444
  }>;
1451
1445
  } | null | undefined;
1452
- } | ({
1453
- createdAt: NativeDate;
1454
- updatedAt: NativeDate;
1455
- } & {
1456
- agents: import("mongoose").Types.ObjectId[];
1457
- editors: import("mongoose").Types.ObjectId[];
1458
- manager_type: string;
1459
1446
  attribute?: {
1460
1447
  can_write_ml: boolean;
1461
1448
  can_write_rl: boolean;
@@ -1463,6 +1450,13 @@ export declare const managerSchema: Schema<any, import("mongoose").Model<any, an
1463
1450
  can_write_essay: boolean;
1464
1451
  can_do_interview: boolean;
1465
1452
  } | null | undefined;
1453
+ } | ({
1454
+ createdAt: NativeDate;
1455
+ updatedAt: NativeDate;
1456
+ } & {
1457
+ agents: import("mongoose").Types.ObjectId[];
1458
+ editors: import("mongoose").Types.ObjectId[];
1459
+ manager_type: string;
1466
1460
  manager_notification?: {
1467
1461
  isRead_new_programs_assigned: boolean;
1468
1462
  isRead_new_base_docs_uploaded: import("mongoose").Types.DocumentArray<{
@@ -1473,10 +1467,6 @@ export declare const managerSchema: Schema<any, import("mongoose").Model<any, an
1473
1467
  student_id: string;
1474
1468
  }>;
1475
1469
  } | null | undefined;
1476
- })>> & ((import("mongoose").FlatRecord<{
1477
- agents: import("mongoose").Types.ObjectId[];
1478
- editors: import("mongoose").Types.ObjectId[];
1479
- manager_type: string;
1480
1470
  attribute?: {
1481
1471
  can_write_ml: boolean;
1482
1472
  can_write_rl: boolean;
@@ -1484,6 +1474,10 @@ export declare const managerSchema: Schema<any, import("mongoose").Model<any, an
1484
1474
  can_write_essay: boolean;
1485
1475
  can_do_interview: boolean;
1486
1476
  } | null | undefined;
1477
+ })>> & ((import("mongoose").FlatRecord<{
1478
+ agents: import("mongoose").Types.ObjectId[];
1479
+ editors: import("mongoose").Types.ObjectId[];
1480
+ manager_type: string;
1487
1481
  manager_notification?: {
1488
1482
  isRead_new_programs_assigned: boolean;
1489
1483
  isRead_new_base_docs_uploaded: import("mongoose").Types.DocumentArray<{
@@ -1494,6 +1488,13 @@ export declare const managerSchema: Schema<any, import("mongoose").Model<any, an
1494
1488
  student_id: string;
1495
1489
  }>;
1496
1490
  } | null | undefined;
1491
+ attribute?: {
1492
+ can_write_ml: boolean;
1493
+ can_write_rl: boolean;
1494
+ can_write_cv: boolean;
1495
+ can_write_essay: boolean;
1496
+ can_do_interview: boolean;
1497
+ } | null | undefined;
1497
1498
  }> & {
1498
1499
  _id: import("mongoose").Types.ObjectId;
1499
1500
  } & {
@@ -1505,13 +1506,6 @@ export declare const managerSchema: Schema<any, import("mongoose").Model<any, an
1505
1506
  agents: import("mongoose").Types.ObjectId[];
1506
1507
  editors: import("mongoose").Types.ObjectId[];
1507
1508
  manager_type: string;
1508
- attribute?: {
1509
- can_write_ml: boolean;
1510
- can_write_rl: boolean;
1511
- can_write_cv: boolean;
1512
- can_write_essay: boolean;
1513
- can_do_interview: boolean;
1514
- } | null | undefined;
1515
1509
  manager_notification?: {
1516
1510
  isRead_new_programs_assigned: boolean;
1517
1511
  isRead_new_base_docs_uploaded: import("mongoose").Types.DocumentArray<{
@@ -1522,6 +1516,13 @@ export declare const managerSchema: Schema<any, import("mongoose").Model<any, an
1522
1516
  student_id: string;
1523
1517
  }>;
1524
1518
  } | null | undefined;
1519
+ attribute?: {
1520
+ can_write_ml: boolean;
1521
+ can_write_rl: boolean;
1522
+ can_write_cv: boolean;
1523
+ can_write_essay: boolean;
1524
+ can_do_interview: boolean;
1525
+ } | null | undefined;
1525
1526
  }> & {
1526
1527
  _id: import("mongoose").Types.ObjectId;
1527
1528
  } & {
@@ -1859,6 +1860,13 @@ export declare const editorSchema: Schema<any, import("mongoose").Model<any, any
1859
1860
  timestamps: boolean;
1860
1861
  }, {
1861
1862
  timezone: string;
1863
+ attribute?: {
1864
+ can_write_ml: boolean;
1865
+ can_write_rl: boolean;
1866
+ can_write_cv: boolean;
1867
+ can_write_essay: boolean;
1868
+ can_do_interview: boolean;
1869
+ } | null | undefined;
1862
1870
  officehours?: {
1863
1871
  Monday?: {
1864
1872
  active: boolean;
@@ -1895,6 +1903,11 @@ export declare const editorSchema: Schema<any, import("mongoose").Model<any, any
1895
1903
  isRead_base_documents_rejected: boolean;
1896
1904
  isRead_new_programs_assigned: boolean;
1897
1905
  } | null | undefined;
1906
+ } | ({
1907
+ createdAt: NativeDate;
1908
+ updatedAt: NativeDate;
1909
+ } & {
1910
+ timezone: string;
1898
1911
  attribute?: {
1899
1912
  can_write_ml: boolean;
1900
1913
  can_write_rl: boolean;
@@ -1902,11 +1915,6 @@ export declare const editorSchema: Schema<any, import("mongoose").Model<any, any
1902
1915
  can_write_essay: boolean;
1903
1916
  can_do_interview: boolean;
1904
1917
  } | null | undefined;
1905
- } | ({
1906
- createdAt: NativeDate;
1907
- updatedAt: NativeDate;
1908
- } & {
1909
- timezone: string;
1910
1918
  officehours?: {
1911
1919
  Monday?: {
1912
1920
  active: boolean;
@@ -1943,6 +1951,8 @@ export declare const editorSchema: Schema<any, import("mongoose").Model<any, any
1943
1951
  isRead_base_documents_rejected: boolean;
1944
1952
  isRead_new_programs_assigned: boolean;
1945
1953
  } | null | undefined;
1954
+ }), import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<{
1955
+ timezone: string;
1946
1956
  attribute?: {
1947
1957
  can_write_ml: boolean;
1948
1958
  can_write_rl: boolean;
@@ -1950,8 +1960,6 @@ export declare const editorSchema: Schema<any, import("mongoose").Model<any, any
1950
1960
  can_write_essay: boolean;
1951
1961
  can_do_interview: boolean;
1952
1962
  } | null | undefined;
1953
- }), import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<{
1954
- timezone: string;
1955
1963
  officehours?: {
1956
1964
  Monday?: {
1957
1965
  active: boolean;
@@ -1988,6 +1996,11 @@ export declare const editorSchema: Schema<any, import("mongoose").Model<any, any
1988
1996
  isRead_base_documents_rejected: boolean;
1989
1997
  isRead_new_programs_assigned: boolean;
1990
1998
  } | null | undefined;
1999
+ } | ({
2000
+ createdAt: NativeDate;
2001
+ updatedAt: NativeDate;
2002
+ } & {
2003
+ timezone: string;
1991
2004
  attribute?: {
1992
2005
  can_write_ml: boolean;
1993
2006
  can_write_rl: boolean;
@@ -1995,11 +2008,6 @@ export declare const editorSchema: Schema<any, import("mongoose").Model<any, any
1995
2008
  can_write_essay: boolean;
1996
2009
  can_do_interview: boolean;
1997
2010
  } | null | undefined;
1998
- } | ({
1999
- createdAt: NativeDate;
2000
- updatedAt: NativeDate;
2001
- } & {
2002
- timezone: string;
2003
2011
  officehours?: {
2004
2012
  Monday?: {
2005
2013
  active: boolean;
@@ -2036,6 +2044,8 @@ export declare const editorSchema: Schema<any, import("mongoose").Model<any, any
2036
2044
  isRead_base_documents_rejected: boolean;
2037
2045
  isRead_new_programs_assigned: boolean;
2038
2046
  } | null | undefined;
2047
+ })>> & ((import("mongoose").FlatRecord<{
2048
+ timezone: string;
2039
2049
  attribute?: {
2040
2050
  can_write_ml: boolean;
2041
2051
  can_write_rl: boolean;
@@ -2043,8 +2053,6 @@ export declare const editorSchema: Schema<any, import("mongoose").Model<any, any
2043
2053
  can_write_essay: boolean;
2044
2054
  can_do_interview: boolean;
2045
2055
  } | null | undefined;
2046
- })>> & ((import("mongoose").FlatRecord<{
2047
- timezone: string;
2048
2056
  officehours?: {
2049
2057
  Monday?: {
2050
2058
  active: boolean;
@@ -2081,13 +2089,6 @@ export declare const editorSchema: Schema<any, import("mongoose").Model<any, any
2081
2089
  isRead_base_documents_rejected: boolean;
2082
2090
  isRead_new_programs_assigned: boolean;
2083
2091
  } | null | undefined;
2084
- attribute?: {
2085
- can_write_ml: boolean;
2086
- can_write_rl: boolean;
2087
- can_write_cv: boolean;
2088
- can_write_essay: boolean;
2089
- can_do_interview: boolean;
2090
- } | null | undefined;
2091
2092
  }> & {
2092
2093
  _id: import("mongoose").Types.ObjectId;
2093
2094
  } & {
@@ -2097,6 +2098,13 @@ export declare const editorSchema: Schema<any, import("mongoose").Model<any, any
2097
2098
  updatedAt: NativeDate;
2098
2099
  } & {
2099
2100
  timezone: string;
2101
+ attribute?: {
2102
+ can_write_ml: boolean;
2103
+ can_write_rl: boolean;
2104
+ can_write_cv: boolean;
2105
+ can_write_essay: boolean;
2106
+ can_do_interview: boolean;
2107
+ } | null | undefined;
2100
2108
  officehours?: {
2101
2109
  Monday?: {
2102
2110
  active: boolean;
@@ -2133,13 +2141,6 @@ export declare const editorSchema: Schema<any, import("mongoose").Model<any, any
2133
2141
  isRead_base_documents_rejected: boolean;
2134
2142
  isRead_new_programs_assigned: boolean;
2135
2143
  } | null | undefined;
2136
- attribute?: {
2137
- can_write_ml: boolean;
2138
- can_write_rl: boolean;
2139
- can_write_cv: boolean;
2140
- can_write_essay: boolean;
2141
- can_do_interview: boolean;
2142
- } | null | undefined;
2143
2144
  }> & {
2144
2145
  _id: import("mongoose").Types.ObjectId;
2145
2146
  } & {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiger-common/model",
3
- "version": "1.0.51",
3
+ "version": "1.0.52",
4
4
  "description": "TaiGer core package",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",