@taiger-common/model 1.0.49 → 1.0.51

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 (99) hide show
  1. package/dist/cjs/api/account.js +2 -0
  2. package/dist/cjs/api/applications.js +2 -0
  3. package/dist/cjs/api/audit.js +2 -0
  4. package/dist/cjs/api/auth.js +2 -0
  5. package/dist/cjs/api/common.js +5 -0
  6. package/dist/cjs/api/communications.js +2 -0
  7. package/dist/cjs/api/courses.js +2 -0
  8. package/dist/cjs/api/crm.js +2 -0
  9. package/dist/cjs/api/documentThreads.js +2 -0
  10. package/dist/cjs/api/documentations.js +2 -0
  11. package/dist/cjs/api/events.js +2 -0
  12. package/dist/cjs/api/index.js +41 -0
  13. package/dist/cjs/api/interviews.js +2 -0
  14. package/dist/cjs/api/meetings.js +2 -0
  15. package/dist/cjs/api/notes.js +2 -0
  16. package/dist/cjs/api/permissions.js +2 -0
  17. package/dist/cjs/api/portals.js +2 -0
  18. package/dist/cjs/api/programRequirements.js +2 -0
  19. package/dist/cjs/api/programs.js +2 -0
  20. package/dist/cjs/api/search.js +2 -0
  21. package/dist/cjs/api/serialized.js +6 -0
  22. package/dist/cjs/api/students.js +2 -0
  23. package/dist/cjs/api/teams.js +2 -0
  24. package/dist/cjs/api/tickets.js +2 -0
  25. package/dist/cjs/api/users.js +2 -0
  26. package/dist/cjs/api/widgets.js +2 -0
  27. package/dist/cjs/index.js +1 -0
  28. package/dist/esm/api/account.js +1 -0
  29. package/dist/esm/api/applications.js +1 -0
  30. package/dist/esm/api/audit.js +1 -0
  31. package/dist/esm/api/auth.js +1 -0
  32. package/dist/esm/api/common.js +4 -0
  33. package/dist/esm/api/communications.js +1 -0
  34. package/dist/esm/api/courses.js +1 -0
  35. package/dist/esm/api/crm.js +1 -0
  36. package/dist/esm/api/documentThreads.js +1 -0
  37. package/dist/esm/api/documentations.js +1 -0
  38. package/dist/esm/api/events.js +1 -0
  39. package/dist/esm/api/index.js +25 -0
  40. package/dist/esm/api/interviews.js +1 -0
  41. package/dist/esm/api/meetings.js +1 -0
  42. package/dist/esm/api/notes.js +1 -0
  43. package/dist/esm/api/permissions.js +1 -0
  44. package/dist/esm/api/portals.js +1 -0
  45. package/dist/esm/api/programRequirements.js +1 -0
  46. package/dist/esm/api/programs.js +1 -0
  47. package/dist/esm/api/search.js +1 -0
  48. package/dist/esm/api/serialized.js +5 -0
  49. package/dist/esm/api/students.js +1 -0
  50. package/dist/esm/api/teams.js +1 -0
  51. package/dist/esm/api/tickets.js +1 -0
  52. package/dist/esm/api/users.js +1 -0
  53. package/dist/esm/api/widgets.js +1 -0
  54. package/dist/esm/index.js +1 -0
  55. package/dist/types/api/account.d.ts +48 -0
  56. package/dist/types/api/applications.d.ts +64 -0
  57. package/dist/types/api/audit.d.ts +4 -0
  58. package/dist/types/api/auth.d.ts +23 -0
  59. package/dist/types/api/common.d.ts +30 -0
  60. package/dist/types/api/communications.d.ts +18 -0
  61. package/dist/types/api/courses.d.ts +27 -0
  62. package/dist/types/api/crm.d.ts +107 -0
  63. package/dist/types/api/documentThreads.d.ts +68 -0
  64. package/dist/types/api/documentations.d.ts +44 -0
  65. package/dist/types/api/events.d.ts +35 -0
  66. package/dist/types/api/index.d.ts +25 -0
  67. package/dist/types/api/interviews.d.ts +47 -0
  68. package/dist/types/api/meetings.d.ts +31 -0
  69. package/dist/types/api/notes.d.ts +6 -0
  70. package/dist/types/api/permissions.d.ts +6 -0
  71. package/dist/types/api/portals.d.ts +23 -0
  72. package/dist/types/api/programRequirements.d.ts +29 -0
  73. package/dist/types/api/programs.d.ts +123 -0
  74. package/dist/types/api/search.d.ts +26 -0
  75. package/dist/types/api/serialized.d.ts +130 -0
  76. package/dist/types/api/students.d.ts +42 -0
  77. package/dist/types/api/teams.d.ts +66 -0
  78. package/dist/types/api/tickets.d.ts +26 -0
  79. package/dist/types/api/users.d.ts +51 -0
  80. package/dist/types/api/widgets.d.ts +29 -0
  81. package/dist/types/index.d.ts +1 -0
  82. package/dist/types/model/Allcourse.d.ts +2 -1
  83. package/dist/types/model/Application.d.ts +4 -2
  84. package/dist/types/model/Audit.d.ts +7 -4
  85. package/dist/types/model/Communication.d.ts +6 -4
  86. package/dist/types/model/Complaint.d.ts +3 -2
  87. package/dist/types/model/Documentthread.d.ts +12 -8
  88. package/dist/types/model/Event.d.ts +3 -2
  89. package/dist/types/model/Interview.d.ts +10 -5
  90. package/dist/types/model/InterviewSurveyResponse.d.ts +6 -3
  91. package/dist/types/model/Note.d.ts +2 -1
  92. package/dist/types/model/Permission.d.ts +2 -1
  93. package/dist/types/model/ResponseTime.d.ts +4 -2
  94. package/dist/types/model/SurveyInput.d.ts +4 -2
  95. package/dist/types/model/Ticket.d.ts +5 -3
  96. package/dist/types/model/Token.d.ts +2 -1
  97. package/dist/types/model/User.d.ts +125 -124
  98. package/dist/umd/index.js +1 -1
  99. package/package.json +1 -1
@@ -0,0 +1,66 @@
1
+ import type { ApiResponse } from './common';
2
+ import type { IUserWithId, IStudentResponse } from './serialized';
3
+ /** Agent–student distribution item used in statistics */
4
+ export interface AgentStudentDistributionItem {
5
+ agent_id?: string;
6
+ firstname?: string;
7
+ lastname?: string;
8
+ studentCount?: number;
9
+ }
10
+ /** Statistics overview payload */
11
+ export interface StatisticsOverviewData {
12
+ documents?: unknown;
13
+ agents_data?: unknown[];
14
+ editors_data?: unknown[];
15
+ students_years_pair?: unknown[];
16
+ students_creation_dates?: unknown;
17
+ }
18
+ /** Statistics KPI payload */
19
+ export interface StatisticsKPIData {
20
+ finished_docs?: unknown[];
21
+ }
22
+ /** Statistics response-time payload */
23
+ export interface StatisticsResponseTimeData {
24
+ agents_data?: unknown[];
25
+ editors_data?: unknown[];
26
+ studentAvgResponseTime?: unknown[];
27
+ }
28
+ /** Tasks overview payload */
29
+ export interface TasksOverviewData {
30
+ noAgentsStudents?: number;
31
+ noEditorsStudents?: number;
32
+ noTrainerInInterviewsStudents?: number;
33
+ noEssayWritersEssays?: number;
34
+ }
35
+ /** GET /api/teams */
36
+ export type GetTeamMembersResponse = ApiResponse<IUserWithId[]>;
37
+ /** GET /api/teams/archiv/:TaiGerStaffId */
38
+ export type GetArchivStudentsResponse = ApiResponse<IStudentResponse[]>;
39
+ /** GET /api/teams/statistics/overview */
40
+ export type GetStatisticsOverviewResponse = ApiResponse<StatisticsOverviewData>;
41
+ /**
42
+ * GET /api/teams/statistics/agents
43
+ * Non-standard: returns agentStudentDistribution at top level
44
+ */
45
+ export interface GetStatisticsAgentsResponse {
46
+ success: boolean;
47
+ agentStudentDistribution?: AgentStudentDistributionItem[];
48
+ }
49
+ /** GET /api/teams/statistics */
50
+ export type GetStatisticsV2Response = ApiResponse<unknown>;
51
+ /** GET /api/teams/statistics/kpi */
52
+ export type GetStatisticsKPIResponse = ApiResponse<StatisticsKPIData>;
53
+ /** GET /api/teams/statistics/response-time */
54
+ export type GetStatisticsResponseTimeResponse = ApiResponse<StatisticsResponseTimeData>;
55
+ /** GET /api/teams/tasks-overview */
56
+ export type GetTasksOverviewResponse = ApiResponse<TasksOverviewData>;
57
+ /** GET /api/teams/is-manager */
58
+ export type GetIsManagerResponse = ApiResponse<{
59
+ isManager: boolean;
60
+ }>;
61
+ /** GET /api/agents/profile/:agent_id */
62
+ export type GetAgentProfileResponse = ApiResponse<IUserWithId>;
63
+ /** GET /api/teams/response-interval/:studentId */
64
+ export type GetResponseIntervalByStudentResponse = ApiResponse<IStudentResponse>;
65
+ /** GET /api/essay-writers */
66
+ export type GetEssayWritersTeamsResponse = ApiResponse<IUserWithId[]>;
@@ -0,0 +1,26 @@
1
+ import type { ApiResponse, SuccessResponse } from './common';
2
+ import type { ITicketWithId, IComplaintWithId } from './serialized';
3
+ /** GET /api/tickets */
4
+ export type GetProgramTicketsResponse = ApiResponse<ITicketWithId[]>;
5
+ /** GET /api/tickets?type=&program_id= (single ticket) */
6
+ export type GetProgramTicketResponse = ApiResponse<ITicketWithId[]>;
7
+ /** POST /api/tickets/ */
8
+ export type CreateTicketResponse = ApiResponse<ITicketWithId>;
9
+ /** PUT /api/tickets/:ticket_id */
10
+ export type UpdateTicketResponse = ApiResponse<ITicketWithId>;
11
+ /** DELETE /api/tickets/:ticket_id */
12
+ export type DeleteTicketResponse = SuccessResponse;
13
+ /** GET /api/complaints */
14
+ export type GetComplaintsResponse = ApiResponse<IComplaintWithId[]>;
15
+ /** GET /api/complaints/:ticketId */
16
+ export type GetComplaintResponse = ApiResponse<IComplaintWithId>;
17
+ /** POST /api/complaints/ */
18
+ export type CreateComplaintResponse = ApiResponse<IComplaintWithId>;
19
+ /** PUT /api/complaints/:ticketId */
20
+ export type UpdateComplaintResponse = ApiResponse<IComplaintWithId>;
21
+ /** POST /api/complaints/new-message/:ticketId/:studentId */
22
+ export type PostMessageInComplaintResponse = ApiResponse<IComplaintWithId>;
23
+ /** DELETE /api/complaints/:ticketId/:message_id */
24
+ export type DeleteMessageInComplaintResponse = SuccessResponse;
25
+ /** DELETE /api/complaints/:ticketId */
26
+ export type DeleteComplaintResponse = SuccessResponse;
@@ -0,0 +1,51 @@
1
+ import type { ApiResponse, SuccessResponse } from './common';
2
+ import type { IUserWithId } from './serialized';
3
+ /** Shape of the users count summary returned by GET /api/users/count */
4
+ export interface UsersCountData {
5
+ totalUsers?: number;
6
+ studentCount?: number;
7
+ agentCount?: number;
8
+ editorCount?: number;
9
+ externalCount?: number;
10
+ adminCount?: number;
11
+ guestCount?: number;
12
+ }
13
+ /** GET /api/users/count */
14
+ export interface GetUsersCountResponse extends UsersCountData {
15
+ success?: boolean;
16
+ [key: string]: unknown;
17
+ }
18
+ /** A single metric breakdown item (e.g. by degree, by language) */
19
+ export interface UsersOverviewMetricItem {
20
+ count: number;
21
+ [key: string]: unknown;
22
+ }
23
+ /** Shape of data returned by GET /api/users/overview */
24
+ export interface UsersOverviewData {
25
+ byTargetDegree?: UsersOverviewMetricItem[];
26
+ byApplicationSemester?: UsersOverviewMetricItem[];
27
+ byTargetField?: UsersOverviewMetricItem[];
28
+ byProgramLanguage?: UsersOverviewMetricItem[];
29
+ byUniversity?: UsersOverviewMetricItem[];
30
+ generatedAt?: Date;
31
+ }
32
+ /** GET /api/users/overview */
33
+ export type GetUsersOverviewResponse = ApiResponse<UsersOverviewData>;
34
+ /** GET /api/users */
35
+ export type GetUsersResponse = ApiResponse<IUserWithId[]>;
36
+ /** GET /api/users/:user_id */
37
+ export type GetUserResponse = ApiResponse<IUserWithId>;
38
+ /** POST /api/users (add user) — returns full user list + new user id */
39
+ export interface AddUserResponse {
40
+ success: boolean;
41
+ data: IUserWithId[];
42
+ newUser: string;
43
+ }
44
+ /** POST /api/users/:id (update user) */
45
+ export type UpdateUserResponse = ApiResponse<IUserWithId>;
46
+ /** DELETE /api/users/:id */
47
+ export type DeleteUserResponse = SuccessResponse;
48
+ /** POST /api/users/archiv/:user_id */
49
+ export type UpdateArchivUserResponse = ApiResponse<IUserWithId[]>;
50
+ /** GET /api/essay-writers */
51
+ export type GetEssayWritersResponse = ApiResponse<IUserWithId[]>;
@@ -0,0 +1,29 @@
1
+ import type { ApiResponse, SuccessResponse } from './common';
2
+ import type { ICourseAnalysis } from '../model/Course';
3
+ /** POST /api/widgets/transcript/engine/v2/:language — returns analysis metadata */
4
+ export type WidgetTranscriptResponse = ApiResponse<ICourseAnalysis>;
5
+ /**
6
+ * GET /api/widgets/transcript/v2/:adminId
7
+ * Non-standard: returns json payload + fileKey alongside success
8
+ */
9
+ export interface WidgetDownloadJsonResponse {
10
+ success: boolean;
11
+ json?: unknown;
12
+ fileKey?: string;
13
+ }
14
+ /** GET /api/widgets/messages/export/:student_id — returns PDF blob (non-JSON) */
15
+ export type WidgetExportPDFResponse = SuccessResponse;
16
+ /** POST /api/taigerai/general — streaming or standard AI response */
17
+ export type TaigerAiResponse = ApiResponse<string>;
18
+ /** GET /api/taigerai/program/:programId */
19
+ export type ProcessProgramListResponse = SuccessResponse;
20
+ /** POST /api/taigerai/cvmlrl */
21
+ export type CvmlrlAiResponse = ApiResponse<string>;
22
+ /** POST /api/taigerai/chat/:studentId */
23
+ export type TaigerChatAssistantResponse = ApiResponse<string>;
24
+ /** POST /api/courses/transcript/v2/:studentId/:language */
25
+ export type TranscriptAnalyserResponse = ApiResponse<ICourseAnalysis>;
26
+ /** GET /api/courses/transcript/v2/:user_id */
27
+ export type AnalyzedFileDownloadResponse = WidgetDownloadJsonResponse;
28
+ /** GET /api/expenses/users/:taiger_user_id */
29
+ export type GetExpenseResponse = ApiResponse<unknown>;
@@ -1 +1,2 @@
1
1
  export * from './model';
2
+ export * from './api';
@@ -24,8 +24,9 @@
24
24
  /// <reference types="mongoose/types/inferschematype" />
25
25
  /// <reference types="mongoose/types/inferrawdoctype" />
26
26
  import { Schema } from 'mongoose';
27
+ import { IUser } from './User';
27
28
  export interface IAllCourse {
28
- updatedBy: Schema.Types.ObjectId;
29
+ updatedBy: IUser | Schema.Types.ObjectId | string;
29
30
  all_course_chinese: string;
30
31
  all_course_english: string;
31
32
  description: string;
@@ -24,6 +24,8 @@
24
24
  /// <reference types="mongoose/types/inferschematype" />
25
25
  /// <reference types="mongoose/types/inferrawdoctype" />
26
26
  import { Schema } from 'mongoose';
27
+ import { IProgram } from './Program';
28
+ import { IStudent } from './User';
27
29
  export interface IApplicationUniAssist {
28
30
  status?: string;
29
31
  vpd_file_path?: string;
@@ -56,8 +58,8 @@ export interface IApplicationAdmissionLetter {
56
58
  updatedAt?: Date;
57
59
  }
58
60
  export interface IApplication {
59
- programId?: Schema.Types.ObjectId;
60
- studentId?: Schema.Types.ObjectId;
61
+ programId?: IProgram | Schema.Types.ObjectId | string;
62
+ studentId?: IStudent | Schema.Types.ObjectId | string;
61
63
  uni_assist?: IApplicationUniAssist;
62
64
  portal_credentials?: IApplicationPortalCredentials;
63
65
  doc_modification_thread?: IApplicationDocModificationThreadItem[];
@@ -24,11 +24,14 @@
24
24
  /// <reference types="mongoose/types/inferschematype" />
25
25
  /// <reference types="mongoose/types/inferrawdoctype" />
26
26
  import { Schema } from 'mongoose';
27
+ import { IUser } from './User';
28
+ import { IDocumentthread } from './Documentthread';
29
+ import { IInterview } from './Interview';
27
30
  export interface IAudit {
28
- performedBy?: Schema.Types.ObjectId;
29
- targetUserId?: Schema.Types.ObjectId;
30
- targetDocumentThreadId?: Schema.Types.ObjectId;
31
- interviewThreadId?: Schema.Types.ObjectId;
31
+ performedBy?: IUser | Schema.Types.ObjectId | string;
32
+ targetUserId?: IUser | Schema.Types.ObjectId | string;
33
+ targetDocumentThreadId?: IDocumentthread | Schema.Types.ObjectId | string;
34
+ interviewThreadId?: IInterview | Schema.Types.ObjectId | string;
32
35
  action?: string;
33
36
  field?: string;
34
37
  changes?: {
@@ -24,21 +24,23 @@
24
24
  /// <reference types="mongoose/types/inferschematype" />
25
25
  /// <reference types="mongoose/types/inferrawdoctype" />
26
26
  import { Schema } from 'mongoose';
27
+ import { IUser } from './User';
28
+ import { IStudent } from './User';
27
29
  export interface ICommunicationFile {
28
30
  name: string;
29
31
  path: string;
30
32
  }
31
33
  export interface ICommunication {
32
- student_id?: Schema.Types.ObjectId;
33
- user_id?: Schema.Types.ObjectId;
34
+ student_id?: IStudent | Schema.Types.ObjectId | string;
35
+ user_id?: IUser | Schema.Types.ObjectId | string;
34
36
  message?: string;
35
- readBy?: Schema.Types.ObjectId[];
37
+ readBy?: IUser[] | Schema.Types.ObjectId[] | string[];
36
38
  timeStampReadBy?: Schema.Types.Mixed;
37
39
  files?: ICommunicationFile[];
38
40
  createdAt?: Date;
39
41
  ignore_message?: boolean;
40
42
  ignoredMessageUpdatedAt?: Date;
41
- ignoredMessageBy?: Schema.Types.ObjectId;
43
+ ignoredMessageBy?: IUser | Schema.Types.ObjectId | string;
42
44
  }
43
45
  export declare const communicationsSchema: Schema<ICommunication, import("mongoose").Model<ICommunication, any, any, any, import("mongoose").Document<unknown, any, ICommunication> & ICommunication & {
44
46
  _id: import("mongoose").Types.ObjectId;
@@ -24,19 +24,20 @@
24
24
  /// <reference types="mongoose/types/inferschematype" />
25
25
  /// <reference types="mongoose/types/inferrawdoctype" />
26
26
  import { Schema } from 'mongoose';
27
+ import { IUser } from './User';
27
28
  export interface IComplaintMessageFile {
28
29
  name: string;
29
30
  path: string;
30
31
  }
31
32
  export interface IComplaintMessage {
32
- user_id?: Schema.Types.ObjectId;
33
+ user_id?: IUser | Schema.Types.ObjectId | string;
33
34
  message?: string;
34
35
  createdAt?: Date;
35
36
  file?: IComplaintMessageFile[];
36
37
  ignore_message?: boolean;
37
38
  }
38
39
  export interface IComplaint {
39
- requester_id: Schema.Types.ObjectId;
40
+ requester_id: IUser | Schema.Types.ObjectId | string;
40
41
  status?: string;
41
42
  title?: string;
42
43
  category?: string;
@@ -24,31 +24,35 @@
24
24
  /// <reference types="mongoose/types/inferschematype" />
25
25
  /// <reference types="mongoose/types/inferrawdoctype" />
26
26
  import { Schema } from 'mongoose';
27
+ import { IUser } from './User';
28
+ import { IStudent } from './User';
29
+ import { IProgram } from './Program';
30
+ import { IApplication } from './Application';
27
31
  export interface IDocumentthreadMessageFile {
28
32
  name: string;
29
33
  path: string;
30
34
  }
31
35
  export interface IDocumentthreadMessage {
32
- user_id?: Schema.Types.ObjectId;
36
+ user_id?: IUser | Schema.Types.ObjectId | string;
33
37
  message?: string;
34
38
  createdAt?: Date;
35
39
  file?: IDocumentthreadMessageFile[];
36
40
  ignore_message?: boolean;
37
41
  }
38
42
  export interface IDocumentthread {
39
- student_id: Schema.Types.ObjectId;
40
- program_id?: Schema.Types.ObjectId;
41
- application_id?: Schema.Types.ObjectId;
42
- outsourced_user_id?: Schema.Types.ObjectId[];
43
- pin_by_user_id?: Schema.Types.ObjectId[];
44
- flag_by_user_id?: Schema.Types.ObjectId[];
43
+ student_id: IStudent | Schema.Types.ObjectId | string;
44
+ program_id?: IProgram | Schema.Types.ObjectId | string;
45
+ application_id?: IApplication | Schema.Types.ObjectId | string;
46
+ outsourced_user_id?: IUser[] | Schema.Types.ObjectId[] | string[];
47
+ pin_by_user_id?: IUser[] | Schema.Types.ObjectId[] | string[];
48
+ flag_by_user_id?: IUser[] | Schema.Types.ObjectId[] | string[];
45
49
  file_type: string;
46
50
  isFinalVersion?: boolean;
47
51
  isOriginAuthorDeclarationConfirmedByStudent?: boolean;
48
52
  isOriginAuthorDeclarationConfirmedByStudentTimestamp?: Date;
49
53
  messages?: IDocumentthreadMessage[];
50
54
  isEssayConsultantNeeded?: boolean;
51
- essayConsultantIds?: Schema.Types.ObjectId[];
55
+ essayConsultantIds?: IUser[] | Schema.Types.ObjectId[] | string[];
52
56
  updatedAt?: Date;
53
57
  }
54
58
  export declare const documentThreadsSchema: Schema<IDocumentthread, import("mongoose").Model<IDocumentthread, any, any, any, import("mongoose").Document<unknown, any, IDocumentthread> & IDocumentthread & {
@@ -24,9 +24,10 @@
24
24
  /// <reference types="mongoose/types/inferschematype" />
25
25
  /// <reference types="mongoose/types/inferrawdoctype" />
26
26
  import { Schema } from 'mongoose';
27
+ import { IUser } from './User';
27
28
  export interface IEvent {
28
- requester_id?: Schema.Types.ObjectId[];
29
- receiver_id?: Schema.Types.ObjectId[];
29
+ requester_id?: IUser[] | Schema.Types.ObjectId[] | string[];
30
+ receiver_id?: IUser[] | Schema.Types.ObjectId[] | string[];
30
31
  isConfirmedRequester?: boolean;
31
32
  isConfirmedReceiver?: boolean;
32
33
  meetingLink?: string;
@@ -24,12 +24,17 @@
24
24
  /// <reference types="mongoose/types/inferschematype" />
25
25
  /// <reference types="mongoose/types/inferrawdoctype" />
26
26
  import { Schema } from 'mongoose';
27
+ import { IUser } from './User';
28
+ import { IStudent } from './User';
29
+ import { IProgram } from './Program';
30
+ import { IDocumentthread } from './Documentthread';
31
+ import { IEvent } from './Event';
27
32
  export interface IInterview {
28
- student_id?: Schema.Types.ObjectId;
29
- trainer_id?: Schema.Types.ObjectId[];
30
- thread_id?: Schema.Types.ObjectId;
31
- program_id?: Schema.Types.ObjectId;
32
- event_id?: Schema.Types.ObjectId;
33
+ student_id?: IStudent | Schema.Types.ObjectId | string;
34
+ trainer_id?: IUser[] | Schema.Types.ObjectId[] | string[];
35
+ thread_id?: IDocumentthread | Schema.Types.ObjectId | string;
36
+ program_id?: IProgram | Schema.Types.ObjectId | string;
37
+ event_id?: IEvent | Schema.Types.ObjectId | string;
33
38
  interview_description?: string;
34
39
  interviewer?: string;
35
40
  interview_duration?: string;
@@ -24,14 +24,17 @@
24
24
  /// <reference types="mongoose/types/inferschematype" />
25
25
  /// <reference types="mongoose/types/inferrawdoctype" />
26
26
  import { Schema } from 'mongoose';
27
+ import { IStudent } from './User';
28
+ import { IProgram } from './Program';
29
+ import { IInterview } from './Interview';
27
30
  export interface IInterviewSurveyResponseResponse {
28
31
  questionId?: string;
29
32
  answer?: number;
30
33
  }
31
34
  export interface IInterviewSurveyResponse {
32
- student_id?: Schema.Types.ObjectId;
33
- interview_id?: Schema.Types.ObjectId;
34
- program_id?: Schema.Types.ObjectId;
35
+ student_id?: IStudent | Schema.Types.ObjectId | string;
36
+ interview_id?: IInterview | Schema.Types.ObjectId | string;
37
+ program_id?: IProgram | Schema.Types.ObjectId | string;
35
38
  responses?: IInterviewSurveyResponseResponse[];
36
39
  isFinal?: boolean;
37
40
  interviewQuestions?: string;
@@ -24,8 +24,9 @@
24
24
  /// <reference types="mongoose/types/inferschematype" />
25
25
  /// <reference types="mongoose/types/inferrawdoctype" />
26
26
  import { Schema } from 'mongoose';
27
+ import { IStudent } from './User';
27
28
  export interface INote {
28
- student_id?: Schema.Types.ObjectId;
29
+ student_id?: IStudent | Schema.Types.ObjectId | string;
29
30
  notes?: string;
30
31
  updatedAt?: Date;
31
32
  }
@@ -24,8 +24,9 @@
24
24
  /// <reference types="mongoose/types/inferschematype" />
25
25
  /// <reference types="mongoose/types/inferrawdoctype" />
26
26
  import { Schema } from 'mongoose';
27
+ import { IUser } from './User';
27
28
  export interface IPermission {
28
- user_id?: Schema.Types.ObjectId;
29
+ user_id?: IUser | Schema.Types.ObjectId | string;
29
30
  taigerAiQuota?: number;
30
31
  canAssignEditors?: boolean;
31
32
  canUseTaiGerAI?: boolean;
@@ -24,9 +24,11 @@
24
24
  /// <reference types="mongoose/types/inferschematype" />
25
25
  /// <reference types="mongoose/types/inferrawdoctype" />
26
26
  import { Schema } from 'mongoose';
27
+ import { IDocumentthread } from './Documentthread';
28
+ import { IStudent } from './User';
27
29
  export interface IResponseTime {
28
- thread_id?: Schema.Types.ObjectId;
29
- student_id?: Schema.Types.ObjectId;
30
+ thread_id?: IDocumentthread | Schema.Types.ObjectId | string;
31
+ student_id?: IStudent | Schema.Types.ObjectId | string;
30
32
  interval_type: string;
31
33
  intervalAvg: number;
32
34
  updatedAt?: Date;
@@ -24,6 +24,8 @@
24
24
  /// <reference types="mongoose/types/inferschematype" />
25
25
  /// <reference types="mongoose/types/inferrawdoctype" />
26
26
  import { Schema } from 'mongoose';
27
+ import { IStudent } from './User';
28
+ import { IProgram } from './Program';
27
29
  export interface ISurveyInputSurveyContent {
28
30
  questionId?: string;
29
31
  question?: string;
@@ -32,8 +34,8 @@ export interface ISurveyInputSurveyContent {
32
34
  contentType?: string;
33
35
  }
34
36
  export interface ISurveyInput {
35
- studentId: Schema.Types.ObjectId;
36
- programId?: Schema.Types.ObjectId;
37
+ studentId: IStudent | Schema.Types.ObjectId | string;
38
+ programId?: IProgram | Schema.Types.ObjectId | string;
37
39
  fileType: string;
38
40
  isFinalVersion?: boolean;
39
41
  surveyContent?: ISurveyInputSurveyContent[];
@@ -24,10 +24,12 @@
24
24
  /// <reference types="mongoose/types/inferschematype" />
25
25
  /// <reference types="mongoose/types/inferrawdoctype" />
26
26
  import { Schema } from 'mongoose';
27
+ import { IUser } from './User';
28
+ import { IProgram } from './Program';
27
29
  export interface ITicket {
28
- requester_id: Schema.Types.ObjectId;
29
- resolver_id?: Schema.Types.ObjectId;
30
- program_id?: Schema.Types.ObjectId;
30
+ requester_id: IUser | Schema.Types.ObjectId | string;
31
+ resolver_id?: IUser | Schema.Types.ObjectId | string;
32
+ program_id?: IProgram | Schema.Types.ObjectId | string;
31
33
  status?: string;
32
34
  type?: string;
33
35
  description?: string;
@@ -24,8 +24,9 @@
24
24
  /// <reference types="mongoose/types/inferschematype" />
25
25
  /// <reference types="mongoose/types/inferrawdoctype" />
26
26
  import { Schema } from 'mongoose';
27
+ import { IUser } from './User';
27
28
  export interface IToken {
28
- userId: Schema.Types.ObjectId;
29
+ userId: IUser | Schema.Types.ObjectId | string;
29
30
  value: string;
30
31
  createdAt?: Date;
31
32
  }