@juki-team/commons 0.1.31

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 (235) hide show
  1. package/README.md +3 -0
  2. package/biome.shared.json +102 -0
  3. package/dist/constants/commons.d.ts +62 -0
  4. package/dist/constants/commons.js +658 -0
  5. package/dist/constants/company.d.ts +9 -0
  6. package/dist/constants/company.js +24 -0
  7. package/dist/constants/contest.d.ts +15 -0
  8. package/dist/constants/contest.js +29 -0
  9. package/dist/constants/course.d.ts +8 -0
  10. package/dist/constants/course.js +12 -0
  11. package/dist/constants/date.d.ts +9 -0
  12. package/dist/constants/date.js +23 -0
  13. package/dist/constants/email.d.ts +2 -0
  14. package/dist/constants/email.js +34 -0
  15. package/dist/constants/entity.d.ts +3 -0
  16. package/dist/constants/entity.js +18 -0
  17. package/dist/constants/file.d.ts +28 -0
  18. package/dist/constants/file.js +46 -0
  19. package/dist/constants/index.d.ts +18 -0
  20. package/dist/constants/index.js +18 -0
  21. package/dist/constants/judge.d.ts +37 -0
  22. package/dist/constants/judge.js +221 -0
  23. package/dist/constants/problem.d.ts +37 -0
  24. package/dist/constants/problem.js +72 -0
  25. package/dist/constants/routing.d.ts +7 -0
  26. package/dist/constants/routing.js +7 -0
  27. package/dist/constants/services.d.ts +5 -0
  28. package/dist/constants/services.js +131 -0
  29. package/dist/constants/system.d.ts +8 -0
  30. package/dist/constants/system.js +9 -0
  31. package/dist/constants/teams.d.ts +15 -0
  32. package/dist/constants/teams.js +18 -0
  33. package/dist/constants/time.d.ts +9 -0
  34. package/dist/constants/time.js +9 -0
  35. package/dist/constants/user.d.ts +10 -0
  36. package/dist/constants/user.js +35 -0
  37. package/dist/constants/websocket.d.ts +6 -0
  38. package/dist/constants/websocket.js +5 -0
  39. package/dist/constants/worksheet.d.ts +11 -0
  40. package/dist/constants/worksheet.js +66 -0
  41. package/dist/dto/class.d.ts +115 -0
  42. package/dist/dto/class.js +1 -0
  43. package/dist/dto/code.d.ts +13 -0
  44. package/dist/dto/code.js +1 -0
  45. package/dist/dto/comments.d.ts +21 -0
  46. package/dist/dto/comments.js +1 -0
  47. package/dist/dto/contest.d.ts +95 -0
  48. package/dist/dto/contest.js +7 -0
  49. package/dist/dto/course.d.ts +34 -0
  50. package/dist/dto/course.js +1 -0
  51. package/dist/dto/entity.d.ts +92 -0
  52. package/dist/dto/entity.js +5 -0
  53. package/dist/dto/excalidraw.d.ts +12 -0
  54. package/dist/dto/excalidraw.js +1 -0
  55. package/dist/dto/file.d.ts +34 -0
  56. package/dist/dto/file.js +1 -0
  57. package/dist/dto/image.d.ts +6 -0
  58. package/dist/dto/image.js +1 -0
  59. package/dist/dto/index.d.ts +24 -0
  60. package/dist/dto/index.js +24 -0
  61. package/dist/dto/judge.d.ts +16 -0
  62. package/dist/dto/judge.js +1 -0
  63. package/dist/dto/markdown.d.ts +12 -0
  64. package/dist/dto/markdown.js +1 -0
  65. package/dist/dto/mermaid.d.ts +12 -0
  66. package/dist/dto/mermaid.js +1 -0
  67. package/dist/dto/organization.d.ts +102 -0
  68. package/dist/dto/organization.js +1 -0
  69. package/dist/dto/problem.d.ts +67 -0
  70. package/dist/dto/problem.js +1 -0
  71. package/dist/dto/scoreboard.d.ts +35 -0
  72. package/dist/dto/scoreboard.js +1 -0
  73. package/dist/dto/session.d.ts +15 -0
  74. package/dist/dto/session.js +1 -0
  75. package/dist/dto/socket.d.ts +257 -0
  76. package/dist/dto/socket.js +1 -0
  77. package/dist/dto/statistics.d.ts +43 -0
  78. package/dist/dto/statistics.js +1 -0
  79. package/dist/dto/submission.d.ts +95 -0
  80. package/dist/dto/submission.js +1 -0
  81. package/dist/dto/system.d.ts +91 -0
  82. package/dist/dto/system.js +1 -0
  83. package/dist/dto/url.d.ts +8 -0
  84. package/dist/dto/url.js +1 -0
  85. package/dist/dto/user.d.ts +109 -0
  86. package/dist/dto/user.js +1 -0
  87. package/dist/dto/virtual-user.d.ts +39 -0
  88. package/dist/dto/virtual-user.js +1 -0
  89. package/dist/dto/worksheet-submissions.d.ts +64 -0
  90. package/dist/dto/worksheet-submissions.js +1 -0
  91. package/dist/dto/worksheet.d.ts +39 -0
  92. package/dist/dto/worksheet.js +1 -0
  93. package/dist/helpers/class.d.ts +4 -0
  94. package/dist/helpers/class.js +10 -0
  95. package/dist/helpers/comments.d.ts +4 -0
  96. package/dist/helpers/comments.js +4 -0
  97. package/dist/helpers/commons.d.ts +33 -0
  98. package/dist/helpers/commons.js +191 -0
  99. package/dist/helpers/contest.d.ts +5 -0
  100. package/dist/helpers/contest.js +21 -0
  101. package/dist/helpers/document.d.ts +14 -0
  102. package/dist/helpers/document.js +38 -0
  103. package/dist/helpers/file.d.ts +1 -0
  104. package/dist/helpers/file.js +4 -0
  105. package/dist/helpers/index.d.ts +14 -0
  106. package/dist/helpers/index.js +14 -0
  107. package/dist/helpers/interval.d.ts +2 -0
  108. package/dist/helpers/interval.js +22 -0
  109. package/dist/helpers/judging.d.ts +25 -0
  110. package/dist/helpers/judging.js +107 -0
  111. package/dist/helpers/object.d.ts +1 -0
  112. package/dist/helpers/object.js +32 -0
  113. package/dist/helpers/responses.d.ts +8 -0
  114. package/dist/helpers/responses.js +78 -0
  115. package/dist/helpers/socket.d.ts +45 -0
  116. package/dist/helpers/socket.js +238 -0
  117. package/dist/helpers/time.d.ts +13 -0
  118. package/dist/helpers/time.js +101 -0
  119. package/dist/helpers/user.d.ts +11 -0
  120. package/dist/helpers/user.js +14 -0
  121. package/dist/helpers/worksheet.d.ts +10 -0
  122. package/dist/helpers/worksheet.js +131 -0
  123. package/dist/index.d.ts +6 -0
  124. package/dist/index.js +6 -0
  125. package/dist/prisma/enums/AssignmentClassType.d.ts +7 -0
  126. package/dist/prisma/enums/AssignmentClassType.js +6 -0
  127. package/dist/prisma/enums/ContestEventAction.d.ts +10 -0
  128. package/dist/prisma/enums/ContestEventAction.js +9 -0
  129. package/dist/prisma/enums/ContestProblemPrerequisiteType.d.ts +5 -0
  130. package/dist/prisma/enums/ContestProblemPrerequisiteType.js +4 -0
  131. package/dist/prisma/enums/ContestRole.d.ts +11 -0
  132. package/dist/prisma/enums/ContestRole.js +10 -0
  133. package/dist/prisma/enums/ContestStatus.d.ts +6 -0
  134. package/dist/prisma/enums/ContestStatus.js +5 -0
  135. package/dist/prisma/enums/CourseRole.d.ts +12 -0
  136. package/dist/prisma/enums/CourseRole.js +11 -0
  137. package/dist/prisma/enums/EntityObjectType.d.ts +13 -0
  138. package/dist/prisma/enums/EntityObjectType.js +12 -0
  139. package/dist/prisma/enums/EntityRole.d.ts +8 -0
  140. package/dist/prisma/enums/EntityRole.js +7 -0
  141. package/dist/prisma/enums/EntitySubjectType.d.ts +7 -0
  142. package/dist/prisma/enums/EntitySubjectType.js +6 -0
  143. package/dist/prisma/enums/FileRole.d.ts +9 -0
  144. package/dist/prisma/enums/FileRole.js +8 -0
  145. package/dist/prisma/enums/FileType.d.ts +5 -0
  146. package/dist/prisma/enums/FileType.js +4 -0
  147. package/dist/prisma/enums/GroupType.d.ts +5 -0
  148. package/dist/prisma/enums/GroupType.js +4 -0
  149. package/dist/prisma/enums/JudgeType.d.ts +12 -0
  150. package/dist/prisma/enums/JudgeType.js +11 -0
  151. package/dist/prisma/enums/OrganizationPlan.d.ts +7 -0
  152. package/dist/prisma/enums/OrganizationPlan.js +6 -0
  153. package/dist/prisma/enums/ProblemRole.d.ts +11 -0
  154. package/dist/prisma/enums/ProblemRole.js +10 -0
  155. package/dist/prisma/enums/ProblemScoringMode.d.ts +6 -0
  156. package/dist/prisma/enums/ProblemScoringMode.js +5 -0
  157. package/dist/prisma/enums/ProblemType.d.ts +6 -0
  158. package/dist/prisma/enums/ProblemType.js +5 -0
  159. package/dist/prisma/enums/ProblemVerdict.d.ts +14 -0
  160. package/dist/prisma/enums/ProblemVerdict.js +13 -0
  161. package/dist/prisma/enums/ShareLinkVisibility.d.ts +5 -0
  162. package/dist/prisma/enums/ShareLinkVisibility.js +4 -0
  163. package/dist/prisma/enums/SubmissionRunStatus.d.ts +18 -0
  164. package/dist/prisma/enums/SubmissionRunStatus.js +17 -0
  165. package/dist/prisma/enums/SystemRole.d.ts +9 -0
  166. package/dist/prisma/enums/SystemRole.js +8 -0
  167. package/dist/prisma/enums/TeamRole.d.ts +9 -0
  168. package/dist/prisma/enums/TeamRole.js +8 -0
  169. package/dist/prisma/enums/TelemetryType.d.ts +9 -0
  170. package/dist/prisma/enums/TelemetryType.js +8 -0
  171. package/dist/prisma/enums/UserRole.d.ts +10 -0
  172. package/dist/prisma/enums/UserRole.js +9 -0
  173. package/dist/prisma/enums/WorkingIn.d.ts +8 -0
  174. package/dist/prisma/enums/WorkingIn.js +7 -0
  175. package/dist/prisma/enums/WorksheetContentType.d.ts +10 -0
  176. package/dist/prisma/enums/WorksheetContentType.js +9 -0
  177. package/dist/prisma/enums/index.d.ts +26 -0
  178. package/dist/prisma/enums/index.js +26 -0
  179. package/dist/prototypes/Date.d.ts +62 -0
  180. package/dist/prototypes/Date.js +218 -0
  181. package/dist/prototypes/Error.d.ts +10 -0
  182. package/dist/prototypes/Error.js +17 -0
  183. package/dist/prototypes/Number.d.ts +7 -0
  184. package/dist/prototypes/Number.js +8 -0
  185. package/dist/prototypes/index.d.ts +3 -0
  186. package/dist/prototypes/index.js +3 -0
  187. package/dist/types/account.d.ts +9 -0
  188. package/dist/types/account.js +10 -0
  189. package/dist/types/class.d.ts +67 -0
  190. package/dist/types/class.js +7 -0
  191. package/dist/types/comments.d.ts +17 -0
  192. package/dist/types/comments.js +1 -0
  193. package/dist/types/commons.d.ts +84 -0
  194. package/dist/types/commons.js +69 -0
  195. package/dist/types/company.d.ts +6 -0
  196. package/dist/types/company.js +7 -0
  197. package/dist/types/contest.d.ts +144 -0
  198. package/dist/types/contest.js +6 -0
  199. package/dist/types/course.d.ts +13 -0
  200. package/dist/types/course.js +1 -0
  201. package/dist/types/entity.d.ts +116 -0
  202. package/dist/types/entity.js +50 -0
  203. package/dist/types/excalidraw.d.ts +9 -0
  204. package/dist/types/excalidraw.js +1 -0
  205. package/dist/types/file.d.ts +22 -0
  206. package/dist/types/file.js +13 -0
  207. package/dist/types/group.d.ts +9 -0
  208. package/dist/types/group.js +1 -0
  209. package/dist/types/index.d.ts +23 -0
  210. package/dist/types/index.js +23 -0
  211. package/dist/types/judge.d.ts +46 -0
  212. package/dist/types/judge.js +17 -0
  213. package/dist/types/markdown.d.ts +8 -0
  214. package/dist/types/markdown.js +1 -0
  215. package/dist/types/mermaid.d.ts +8 -0
  216. package/dist/types/mermaid.js +1 -0
  217. package/dist/types/notification.d.ts +7 -0
  218. package/dist/types/notification.js +8 -0
  219. package/dist/types/problems.d.ts +93 -0
  220. package/dist/types/problems.js +16 -0
  221. package/dist/types/services.d.ts +214 -0
  222. package/dist/types/services.js +147 -0
  223. package/dist/types/sheet.d.ts +104 -0
  224. package/dist/types/sheet.js +16 -0
  225. package/dist/types/socket.d.ts +49 -0
  226. package/dist/types/socket.js +49 -0
  227. package/dist/types/submission.d.ts +5 -0
  228. package/dist/types/submission.js +1 -0
  229. package/dist/types/teams.d.ts +96 -0
  230. package/dist/types/teams.js +28 -0
  231. package/dist/types/users.d.ts +65 -0
  232. package/dist/types/users.js +33 -0
  233. package/dist/types/worksheet.d.ts +42 -0
  234. package/dist/types/worksheet.js +11 -0
  235. package/package.json +42 -0
@@ -0,0 +1,93 @@
1
+ import type { ProblemScoringMode, ProblemType } from '../prisma/enums/index.js';
2
+ import type { CodeLanguage, TextLanguage } from './commons.js';
3
+ import type { EntityMembers } from './entity.js';
4
+ import type { ProblemTestCase } from './services.js';
5
+ export interface TestCase {
6
+ id: string;
7
+ group: number;
8
+ input: boolean;
9
+ output: boolean;
10
+ }
11
+ export declare enum TypeTestCase {
12
+ INPUT = "INPUT",
13
+ OUTPUT = "OUTPUT"
14
+ }
15
+ export declare enum ProblemInput {
16
+ STANDARD = "STANDARD",
17
+ INTERACTIVE = "INTERACTIVE"
18
+ }
19
+ export declare enum ProblemOutput {
20
+ STANDARD = "STANDARD",
21
+ DYNAMIC = "DYNAMIC",
22
+ INTERACTIVE = "INTERACTIVE"
23
+ }
24
+ export type ProblemSettingsPointsByGroups = {
25
+ [key: number]: {
26
+ points: number;
27
+ partial: number;
28
+ group: number;
29
+ description: TextLanguage;
30
+ };
31
+ };
32
+ export type ProblemSettingsByProgrammingLanguage = {
33
+ [key: string]: {
34
+ language: CodeLanguage;
35
+ timeLimit: number;
36
+ memoryLimit: number;
37
+ };
38
+ };
39
+ export type ProblemSampleCases = {
40
+ input: string;
41
+ output: string;
42
+ }[];
43
+ export type ProblemStatement = {
44
+ description: TextLanguage;
45
+ input: TextLanguage;
46
+ output: TextLanguage;
47
+ sampleCases: ProblemSampleCases;
48
+ note: TextLanguage;
49
+ html: TextLanguage;
50
+ pdfUrl: TextLanguage;
51
+ };
52
+ export type ProblemSettings = {
53
+ timeLimit: number;
54
+ memoryLimit: number;
55
+ withPE: boolean;
56
+ type: ProblemType;
57
+ scoringMode: ProblemScoringMode;
58
+ byProgrammingLanguage: ProblemSettingsByProgrammingLanguage;
59
+ evaluatorSource: string;
60
+ pointsByGroups: ProblemSettingsPointsByGroups;
61
+ };
62
+ export type ProblemUser = {
63
+ isOwner: boolean;
64
+ isAdministrator: boolean;
65
+ isManager: boolean;
66
+ isSpectator: boolean;
67
+ solved: boolean;
68
+ tried: boolean;
69
+ };
70
+ export interface ProblemBaseDocument {
71
+ name: string;
72
+ shortname: string;
73
+ author: string;
74
+ settings: ProblemSettings;
75
+ tags: string[];
76
+ statement: ProblemStatement;
77
+ editorial: TextLanguage;
78
+ judgeId: string;
79
+ key: string;
80
+ testCases: ProblemTestCase[];
81
+ testCasesUpdatedAtTimestamp: number;
82
+ members: EntityMembers;
83
+ costs: {
84
+ unlockEditorial: number;
85
+ unlockHint: number;
86
+ viewTestCases: number;
87
+ };
88
+ rewardJukiCoins: {
89
+ forSolving: number;
90
+ forSolvingFirstTry: number;
91
+ forSolvingInAnExtraLanguage: number;
92
+ };
93
+ }
@@ -0,0 +1,16 @@
1
+ export var TypeTestCase;
2
+ (function (TypeTestCase) {
3
+ TypeTestCase["INPUT"] = "INPUT";
4
+ TypeTestCase["OUTPUT"] = "OUTPUT";
5
+ })(TypeTestCase || (TypeTestCase = {}));
6
+ export var ProblemInput;
7
+ (function (ProblemInput) {
8
+ ProblemInput["STANDARD"] = "STANDARD";
9
+ ProblemInput["INTERACTIVE"] = "INTERACTIVE";
10
+ })(ProblemInput || (ProblemInput = {}));
11
+ export var ProblemOutput;
12
+ (function (ProblemOutput) {
13
+ ProblemOutput["STANDARD"] = "STANDARD";
14
+ ProblemOutput["DYNAMIC"] = "DYNAMIC";
15
+ ProblemOutput["INTERACTIVE"] = "INTERACTIVE";
16
+ })(ProblemOutput || (ProblemOutput = {}));
@@ -0,0 +1,214 @@
1
+ import type { CodeLanguage } from './commons.js';
2
+ export declare enum ErrorCode {
3
+ BAD_REQUEST = "BAD_REQUEST",
4
+ UNAUTHORIZED = "UNAUTHORIZED",
5
+ FORBIDDEN = "FORBIDDEN",
6
+ NOT_FOUND = "NOT_FOUND",
7
+ METHOD_NOT_ALLOWED = "METHOD_NOT_ALLOWED",
8
+ INTERNAL_SERVER_ERROR = "INTERNAL_SERVER_ERROR",
9
+ ABORTED_REQUEST = "ABORTED_REQUEST",
10
+ ERROR_ON_RESPONSE = "ERROR_ON_RESPONSE",
11
+ SERVICE_NOT_FOUND = "SERVICE_NOT_FOUND",
12
+ INTERNAL_SERVER_ERROR_ON_COMPANY_SERVICE = "INTERNAL_SERVER_ERROR_ON_COMPANY_SERVICE",
13
+ COMPANY_NOT_CREATED = "COMPANY_NOT_CREATED",
14
+ COMPANY_NOT_FOUND = "COMPANY_NOT_FOUND",
15
+ COMPANY_NOT_UPDATED = "COMPANY_NOT_UPDATED",
16
+ COMPANY_NOT_DELETED = "COMPANY_NOT_DELETED",
17
+ NOT_ALLOWED_TO_CREATE_THE_COMPANY = "NOT_ALLOWED_TO_CREATE_THE_COMPANY",
18
+ NOT_ALLOWED_TO_VIEW_THE_COMPANY = "NOT_ALLOWED_TO_VIEW_THE_COMPANY",
19
+ NOT_ALLOWED_TO_UPDATE_THE_COMPANY = "NOT_ALLOWED_TO_UPDATE_THE_COMPANY",
20
+ NOT_ALLOWED_TO_DELETE_THE_COMPANY = "NOT_ALLOWED_TO_DELETE_THE_COMPANY",
21
+ INTERNAL_SERVER_ERROR_ON_USERS_SERVICE = "INTERNAL_SERVER_ERROR_ON_USERS_SERVICE",
22
+ USER_NOT_CREATED = "USER_NOT_CREATED",
23
+ USER_NOT_FOUND = "USER_NOT_FOUND",
24
+ USER_NOT_UPDATED = "USER_NOT_UPDATED",
25
+ USER_NOT_DELETED = "USER_NOT_DELETED",
26
+ NOT_ALLOWED_TO_CREATE_THE_USER = "NOT_ALLOWED_TO_CREATE_THE_USER",
27
+ NOT_ALLOWED_TO_VIEW_THE_USER = "NOT_ALLOWED_TO_VIEW_THE_USER",
28
+ NOT_ALLOWED_TO_UPDATE_THE_USER = "NOT_ALLOWED_TO_UPDATE_THE_USER",
29
+ NOT_ALLOWED_TO_DELETE_THE_USER = "NOT_ALLOWED_TO_DELETE_THE_USER",
30
+ USER_IS_REPORTED = "USER_IS_REPORTED",
31
+ USER_IS_ARCHIVED = "USER_IS_ARCHIVED",
32
+ USER_WITH_EMAIL_REQUESTED_NOT_FOUND = "USER_WITH_EMAIL_REQUESTED_NOT_FOUND",
33
+ USER_WITH_NICKNAME_REQUESTED_NOT_FOUND = "USER_WITH_NICKNAME_REQUESTED_NOT_FOUND",
34
+ THE_EMAIL_IS_ALREADY_REGISTERED = "THE_EMAIL_IS_ALREADY_REGISTERED",
35
+ THE_NICKNAME_IS_ALREADY_TAKEN = "THE_NICKNAME_IS_ALREADY_TAKEN",
36
+ INCORRECT_PASSWORD = "INCORRECT_PASSWORD",
37
+ USER_SESSION_NOT_CREATED = "USER_SESSION_NOT_CREATED",
38
+ USER_SESSION_NOT_FOUND = "USER_SESSION_NOT_FOUND",
39
+ USER_SESSION_NOT_UPDATED = "USER_SESSION_NOT_UPDATED",
40
+ USER_SESSION_NOT_DELETED = "USER_SESSION_NOT_DELETED",
41
+ INTERNAL_SERVER_ERROR_ON_PROBLEMS_SERVICE = "INTERNAL_SERVER_ERROR_ON_PROBLEMS_SERVICE",
42
+ PROBLEM_NOT_CREATED = "PROBLEM_NOT_CREATED",
43
+ PROBLEM_NOT_FOUND = "PROBLEM_NOT_FOUND",
44
+ PROBLEM_NOT_UPDATED = "PROBLEM_NOT_UPDATED",
45
+ PROBLEM_NOT_DELETED = "PROBLEM_NOT_DELETED",
46
+ NOT_ALLOWED_TO_CREATE_THE_PROBLEM = "NOT_ALLOWED_TO_CREATE_THE_PROBLEM",
47
+ NOT_ALLOWED_TO_VIEW_THE_PROBLEM = "NOT_ALLOWED_TO_VIEW_THE_PROBLEM",
48
+ NOT_ALLOWED_TO_UPDATE_THE_PROBLEM = "NOT_ALLOWED_TO_UPDATE_THE_PROBLEM",
49
+ NOT_ALLOWED_TO_DELETE_THE_PROBLEM = "NOT_ALLOWED_TO_DELETE_THE_PROBLEM",
50
+ PROBLEM_MODE_NOT_SUPPORTED = "PROBLEM_MODE_NOT_SUPPORTED",
51
+ PROBLEM_TYPE_NOT_SUPPORTED = "PROBLEM_TYPE_NOT_SUPPORTED",
52
+ PROBLEM_TIME_LIMIT_MUST_BE_A_NUMBER = "PROBLEM_TIME_LIMIT_MUST_BE_A_NUMBER",
53
+ PROBLEM_MEMORY_LIMIT_MUST_BE_NUMBER = "PROBLEM_MEMORY_LIMIT_MUST_BE_NUMBER",
54
+ TEST_CASE_FILE_EMPTY = "TEST_CASE_FILE_EMPTY",
55
+ INTERNAL_SERVER_ERROR_ON_CONTESTS_SERVICE = "INTERNAL_SERVER_ERROR_ON_CONTESTS_SERVICE",
56
+ CONTEST_NOT_CREATED = "CONTEST_NOT_CREATED",
57
+ CONTEST_NOT_FOUND = "CONTEST_NOT_FOUND",
58
+ CONTEST_NOT_UPDATED = "CONTEST_NOT_UPDATED",
59
+ CONTEST_NOT_DELETED = "CONTEST_NOT_DELETED",
60
+ NOT_ALLOWED_TO_CREATE_THE_CONTEST = "NOT_ALLOWED_TO_CREATE_THE_CONTEST",
61
+ NOT_ALLOWED_TO_VIEW_THE_CONTEST = "NOT_ALLOWED_TO_VIEW_THE_CONTEST",
62
+ NOT_ALLOWED_TO_UPDATE_THE_CONTEST = "NOT_ALLOWED_TO_UPDATE_THE_CONTEST",
63
+ NOT_ALLOWED_TO_DELETE_THE_CONTEST = "NOT_ALLOWED_TO_DELETE_THE_CONTEST",
64
+ NOT_ALLOWED_TO_REGISTER_TO_THE_CONTEST = "NOT_ALLOWED_TO_REGISTER_TO_THE_CONTEST",
65
+ IS_ALREADY_REGISTERED = "IS_ALREADY_REGISTERED",
66
+ NOT_ALLOWED_TO_VIEW_CONTESTS = "NOT_ALLOWED_TO_VIEW_CONTESTS",
67
+ SCOREBOARD_NOT_CREATED = "SCOREBOARD_NOT_CREATED",
68
+ SCOREBOARD_NOT_FOUND = "SCOREBOARD_NOT_FOUND",
69
+ SCOREBOARD_NOT_UPDATED = "SCOREBOARD_NOT_UPDATED",
70
+ SCOREBOARD_NOT_DELETED = "SCOREBOARD_NOT_DELETED",
71
+ NOT_ALLOWED_TO_CREATE_THE_SCOREBOARD = "NOT_ALLOWED_TO_CREATE_THE_SCOREBOARD",
72
+ NOT_ALLOWED_TO_VIEW_THE_SCOREBOARD = "NOT_ALLOWED_TO_VIEW_THE_SCOREBOARD",
73
+ NOT_ALLOWED_TO_UPDATE_THE_SCOREBOARD = "NOT_ALLOWED_TO_UPDATE_THE_SCOREBOARD",
74
+ NOT_ALLOWED_TO_DELETE_THE_SCOREBOARD = "NOT_ALLOWED_TO_DELETE_THE_SCOREBOARD",
75
+ CLARIFICATION_NOT_CREATED = "CLARIFICATION_NOT_CREATED",
76
+ CLARIFICATION_NOT_FOUND = "CLARIFICATION_NOT_FOUND",
77
+ CLARIFICATION_NOT_UPDATED = "CLARIFICATION_NOT_UPDATED",
78
+ CLARIFICATION_NOT_DELETED = "CLARIFICATION_NOT_DELETED",
79
+ NOT_ALLOWED_TO_SUBMIT_CLARIFICATION = "NOT_ALLOWED_TO_SUBMIT_CLARIFICATION",
80
+ NOT_ALLOWED_TO_VIEW_CLARIFICATION = "NOT_ALLOWED_TO_VIEW_CLARIFICATION",
81
+ NOT_ALLOWED_TO_UPDATE_CLARIFICATION = "NOT_ALLOWED_TO_UPDATE_CLARIFICATION",
82
+ NOT_ALLOWED_TO_DELETE_CLARIFICATION = "NOT_ALLOWED_TO_DELETE_CLARIFICATION",
83
+ INTERNAL_SERVER_ERROR_ON_SUBMISSIONS_SERVICE = "INTERNAL_SERVER_ERROR_ON_SUBMISSIONS_SERVICE",
84
+ SUBMISSION_NOT_FOUND = "SUBMISSION_NOT_FOUND",
85
+ SUBMISSION_NOT_CREATED = "SUBMISSION_NOT_CREATED",
86
+ SUBMISSION_NOT_UPDATED = "SUBMISSION_NOT_UPDATED",
87
+ SOURCE_EMPTY = "SOURCE_EMPTY",
88
+ PROGRAMMING_LANGUAGE_NOT_SUPPORTED = "PROGRAMMING_LANGUAGE_NOT_SUPPORTED",
89
+ NOT_ALLOWED_SUBMIT_THE_PROBLEM_IN_THE_CONTEST = "NOT_ALLOWED_SUBMIT_THE_PROBLEM_IN_THE_CONTEST",
90
+ JUDGEMENT_UNAVAILABLE = "JUDGEMENT_UNAVAILABLE",
91
+ INTERNAL_SERVER_ERROR_ON_UTILS_SERVICES = "INTERNAL_SERVER_ERROR_ON_UTILS_SERVICES",
92
+ EMPTY_IMAGE = "EMPTY_IMAGE",
93
+ CODES_ERROR = "CODES_ERROR",
94
+ COMPILATION_FAILED = "COMPILATION_FAILED",
95
+ FILES_ERROR = "FILES_ERROR",
96
+ THE_EMAIL_COULD_NOT_BE_SENT = "THE_EMAIL_COULD_NOT_BE_SENT",
97
+ INTERNAL_SERVER_ERROR_ON_TEAMS_SERVICE = "INTERNAL_SERVER_ERROR_ON_TEAMS_SERVICE",
98
+ TEAM_NOT_CREATED = "TEAM_NOT_CREATED",
99
+ TEAM_NOT_FOUND = "TEAM_NOT_FOUND",
100
+ TEAM_NOT_UPDATED = "TEAM_NOT_UPDATED",
101
+ TEAM_NOT_DELETED = "TEAM_NOT_DELETED",
102
+ NOT_ALLOWED_TO_CREATE_THE_TEAM = "NOT_ALLOWED_TO_CREATE_THE_TEAM",
103
+ NOT_ALLOWED_TO_VIEW_THE_TEAM = "NOT_ALLOWED_TO_VIEW_THE_TEAM",
104
+ NOT_ALLOWED_TO_UPDATE_THE_TEAM = "NOT_ALLOWED_TO_UPDATE_THE_TEAM",
105
+ NOT_ALLOWED_TO_DELETE_THE_TEAM = "NOT_ALLOWED_TO_DELETE_THE_TEAM",
106
+ TEAM_IS_REPORTED = "TEAM_IS_REPORTED",
107
+ TEAM_IS_ARCHIVED = "TEAM_IS_ARCHIVED",
108
+ INTERNAL_SERVER_ERROR_ON_FILES_SERVICE = "INTERNAL_SERVER_ERROR_ON_FILES_SERVICE",
109
+ FILE_NOT_CREATED = "FILE_NOT_CREATED",
110
+ FILE_NOT_FOUND = "FILE_NOT_FOUND",
111
+ FILE_NOT_UPDATED = "FILE_NOT_UPDATED",
112
+ FILE_NOT_DELETED = "FILE_NOT_DELETED",
113
+ NOT_ALLOWED_TO_CREATE_THE_FILE = "NOT_ALLOWED_TO_CREATE_THE_FILE",
114
+ NOT_ALLOWED_TO_VIEW_THE_FILE = "NOT_ALLOWED_TO_VIEW_THE_FILE",
115
+ NOT_ALLOWED_TO_UPDATE_THE_FILE = "NOT_ALLOWED_TO_UPDATE_THE_FILE",
116
+ NOT_ALLOWED_TO_DELETE_THE_FILE = "NOT_ALLOWED_TO_DELETE_THE_FILE",
117
+ FILE_IS_RESERVED = "FILE_IS_RESERVED",
118
+ FILE_IS_PRIVATE = "FILE_IS_PRIVATE",
119
+ FILE_IS_ARCHIVED = "FILE_IS_ARCHIVED"
120
+ }
121
+ export type ApiError = {
122
+ code: ErrorCode;
123
+ detail: string;
124
+ message: string;
125
+ };
126
+ export type ErrorResponse = {
127
+ success: false;
128
+ message: string;
129
+ errors: ApiError[];
130
+ };
131
+ export type ContentResponse<T> = {
132
+ success: true;
133
+ message: string;
134
+ content: T;
135
+ };
136
+ export type ContentsMeta = {
137
+ page: number;
138
+ size: number;
139
+ total: number;
140
+ sort: {
141
+ field: string;
142
+ order: 'asc' | 'desc';
143
+ }[];
144
+ filter: Record<string, unknown>;
145
+ };
146
+ export type ContentsResponse<T> = {
147
+ success: true;
148
+ message: string;
149
+ contents: T[];
150
+ meta: ContentsMeta;
151
+ };
152
+ export declare enum LogLevel {
153
+ FATAL = "FATAL",
154
+ ERROR = "ERROR",
155
+ WARN = "WARN",
156
+ INFO = "INFO",
157
+ DEBUG = "DEBUG",
158
+ TRACE = "TRACE"
159
+ }
160
+ export declare enum HTTPMethod {
161
+ POST = "POST",
162
+ GET = "GET",
163
+ PUT = "PUT",
164
+ PATCH = "PATCH",
165
+ DELETE = "DELETE"
166
+ }
167
+ export type RunnerNextRequest = {
168
+ type: 'request';
169
+ body: string;
170
+ method: HTTPMethod;
171
+ url: string;
172
+ };
173
+ export type RunnerNextQueue = {
174
+ type: 'queue';
175
+ messageBody: string;
176
+ messageGroupId: string;
177
+ messageDeduplicationId: string;
178
+ };
179
+ export type RunnerNext = RunnerNextRequest | RunnerNextQueue;
180
+ export type RunCommand = {
181
+ commandLine: string;
182
+ inputFilePath: string;
183
+ outputFilePath: string;
184
+ errorFilePath: string;
185
+ logFilePath: string;
186
+ folderPath: string;
187
+ timeLimit: number;
188
+ memoryLimit: number;
189
+ lockFilePath?: string;
190
+ endFilePath?: string;
191
+ rawExecution: boolean;
192
+ isolated: boolean;
193
+ next?: RunnerNext;
194
+ };
195
+ export type RunnerSQSMessageBody = {
196
+ executions: RunCommand[];
197
+ next?: RunnerNext;
198
+ };
199
+ export type Case = {
200
+ caseKey: string;
201
+ groups: number[];
202
+ };
203
+ export type ProblemTestCase = {
204
+ testCaseKey: string;
205
+ groups: number[];
206
+ };
207
+ export type ProblemSampleCase = {
208
+ input: string;
209
+ output: string;
210
+ };
211
+ export type JudgingFile = {
212
+ language: CodeLanguage;
213
+ fullFileName: string;
214
+ };
@@ -0,0 +1,147 @@
1
+ export var ErrorCode;
2
+ (function (ErrorCode) {
3
+ // General errors
4
+ ErrorCode["BAD_REQUEST"] = "BAD_REQUEST";
5
+ ErrorCode["UNAUTHORIZED"] = "UNAUTHORIZED";
6
+ ErrorCode["FORBIDDEN"] = "FORBIDDEN";
7
+ ErrorCode["NOT_FOUND"] = "NOT_FOUND";
8
+ ErrorCode["METHOD_NOT_ALLOWED"] = "METHOD_NOT_ALLOWED";
9
+ ErrorCode["INTERNAL_SERVER_ERROR"] = "INTERNAL_SERVER_ERROR";
10
+ // UI general errors
11
+ ErrorCode["ABORTED_REQUEST"] = "ABORTED_REQUEST";
12
+ ErrorCode["ERROR_ON_RESPONSE"] = "ERROR_ON_RESPONSE";
13
+ ErrorCode["SERVICE_NOT_FOUND"] = "SERVICE_NOT_FOUND";
14
+ // Company errors
15
+ ErrorCode["INTERNAL_SERVER_ERROR_ON_COMPANY_SERVICE"] = "INTERNAL_SERVER_ERROR_ON_COMPANY_SERVICE";
16
+ ErrorCode["COMPANY_NOT_CREATED"] = "COMPANY_NOT_CREATED";
17
+ ErrorCode["COMPANY_NOT_FOUND"] = "COMPANY_NOT_FOUND";
18
+ ErrorCode["COMPANY_NOT_UPDATED"] = "COMPANY_NOT_UPDATED";
19
+ ErrorCode["COMPANY_NOT_DELETED"] = "COMPANY_NOT_DELETED";
20
+ ErrorCode["NOT_ALLOWED_TO_CREATE_THE_COMPANY"] = "NOT_ALLOWED_TO_CREATE_THE_COMPANY";
21
+ ErrorCode["NOT_ALLOWED_TO_VIEW_THE_COMPANY"] = "NOT_ALLOWED_TO_VIEW_THE_COMPANY";
22
+ ErrorCode["NOT_ALLOWED_TO_UPDATE_THE_COMPANY"] = "NOT_ALLOWED_TO_UPDATE_THE_COMPANY";
23
+ ErrorCode["NOT_ALLOWED_TO_DELETE_THE_COMPANY"] = "NOT_ALLOWED_TO_DELETE_THE_COMPANY";
24
+ // User errors
25
+ ErrorCode["INTERNAL_SERVER_ERROR_ON_USERS_SERVICE"] = "INTERNAL_SERVER_ERROR_ON_USERS_SERVICE";
26
+ ErrorCode["USER_NOT_CREATED"] = "USER_NOT_CREATED";
27
+ ErrorCode["USER_NOT_FOUND"] = "USER_NOT_FOUND";
28
+ ErrorCode["USER_NOT_UPDATED"] = "USER_NOT_UPDATED";
29
+ ErrorCode["USER_NOT_DELETED"] = "USER_NOT_DELETED";
30
+ ErrorCode["NOT_ALLOWED_TO_CREATE_THE_USER"] = "NOT_ALLOWED_TO_CREATE_THE_USER";
31
+ ErrorCode["NOT_ALLOWED_TO_VIEW_THE_USER"] = "NOT_ALLOWED_TO_VIEW_THE_USER";
32
+ ErrorCode["NOT_ALLOWED_TO_UPDATE_THE_USER"] = "NOT_ALLOWED_TO_UPDATE_THE_USER";
33
+ ErrorCode["NOT_ALLOWED_TO_DELETE_THE_USER"] = "NOT_ALLOWED_TO_DELETE_THE_USER";
34
+ ErrorCode["USER_IS_REPORTED"] = "USER_IS_REPORTED";
35
+ ErrorCode["USER_IS_ARCHIVED"] = "USER_IS_ARCHIVED";
36
+ ErrorCode["USER_WITH_EMAIL_REQUESTED_NOT_FOUND"] = "USER_WITH_EMAIL_REQUESTED_NOT_FOUND";
37
+ ErrorCode["USER_WITH_NICKNAME_REQUESTED_NOT_FOUND"] = "USER_WITH_NICKNAME_REQUESTED_NOT_FOUND";
38
+ ErrorCode["THE_EMAIL_IS_ALREADY_REGISTERED"] = "THE_EMAIL_IS_ALREADY_REGISTERED";
39
+ ErrorCode["THE_NICKNAME_IS_ALREADY_TAKEN"] = "THE_NICKNAME_IS_ALREADY_TAKEN";
40
+ ErrorCode["INCORRECT_PASSWORD"] = "INCORRECT_PASSWORD";
41
+ ErrorCode["USER_SESSION_NOT_CREATED"] = "USER_SESSION_NOT_CREATED";
42
+ ErrorCode["USER_SESSION_NOT_FOUND"] = "USER_SESSION_NOT_FOUND";
43
+ ErrorCode["USER_SESSION_NOT_UPDATED"] = "USER_SESSION_NOT_UPDATED";
44
+ ErrorCode["USER_SESSION_NOT_DELETED"] = "USER_SESSION_NOT_DELETED";
45
+ // Problem errors
46
+ ErrorCode["INTERNAL_SERVER_ERROR_ON_PROBLEMS_SERVICE"] = "INTERNAL_SERVER_ERROR_ON_PROBLEMS_SERVICE";
47
+ ErrorCode["PROBLEM_NOT_CREATED"] = "PROBLEM_NOT_CREATED";
48
+ ErrorCode["PROBLEM_NOT_FOUND"] = "PROBLEM_NOT_FOUND";
49
+ ErrorCode["PROBLEM_NOT_UPDATED"] = "PROBLEM_NOT_UPDATED";
50
+ ErrorCode["PROBLEM_NOT_DELETED"] = "PROBLEM_NOT_DELETED";
51
+ ErrorCode["NOT_ALLOWED_TO_CREATE_THE_PROBLEM"] = "NOT_ALLOWED_TO_CREATE_THE_PROBLEM";
52
+ ErrorCode["NOT_ALLOWED_TO_VIEW_THE_PROBLEM"] = "NOT_ALLOWED_TO_VIEW_THE_PROBLEM";
53
+ ErrorCode["NOT_ALLOWED_TO_UPDATE_THE_PROBLEM"] = "NOT_ALLOWED_TO_UPDATE_THE_PROBLEM";
54
+ ErrorCode["NOT_ALLOWED_TO_DELETE_THE_PROBLEM"] = "NOT_ALLOWED_TO_DELETE_THE_PROBLEM";
55
+ ErrorCode["PROBLEM_MODE_NOT_SUPPORTED"] = "PROBLEM_MODE_NOT_SUPPORTED";
56
+ ErrorCode["PROBLEM_TYPE_NOT_SUPPORTED"] = "PROBLEM_TYPE_NOT_SUPPORTED";
57
+ ErrorCode["PROBLEM_TIME_LIMIT_MUST_BE_A_NUMBER"] = "PROBLEM_TIME_LIMIT_MUST_BE_A_NUMBER";
58
+ ErrorCode["PROBLEM_MEMORY_LIMIT_MUST_BE_NUMBER"] = "PROBLEM_MEMORY_LIMIT_MUST_BE_NUMBER";
59
+ ErrorCode["TEST_CASE_FILE_EMPTY"] = "TEST_CASE_FILE_EMPTY";
60
+ // Contest errors
61
+ ErrorCode["INTERNAL_SERVER_ERROR_ON_CONTESTS_SERVICE"] = "INTERNAL_SERVER_ERROR_ON_CONTESTS_SERVICE";
62
+ ErrorCode["CONTEST_NOT_CREATED"] = "CONTEST_NOT_CREATED";
63
+ ErrorCode["CONTEST_NOT_FOUND"] = "CONTEST_NOT_FOUND";
64
+ ErrorCode["CONTEST_NOT_UPDATED"] = "CONTEST_NOT_UPDATED";
65
+ ErrorCode["CONTEST_NOT_DELETED"] = "CONTEST_NOT_DELETED";
66
+ ErrorCode["NOT_ALLOWED_TO_CREATE_THE_CONTEST"] = "NOT_ALLOWED_TO_CREATE_THE_CONTEST";
67
+ ErrorCode["NOT_ALLOWED_TO_VIEW_THE_CONTEST"] = "NOT_ALLOWED_TO_VIEW_THE_CONTEST";
68
+ ErrorCode["NOT_ALLOWED_TO_UPDATE_THE_CONTEST"] = "NOT_ALLOWED_TO_UPDATE_THE_CONTEST";
69
+ ErrorCode["NOT_ALLOWED_TO_DELETE_THE_CONTEST"] = "NOT_ALLOWED_TO_DELETE_THE_CONTEST";
70
+ ErrorCode["NOT_ALLOWED_TO_REGISTER_TO_THE_CONTEST"] = "NOT_ALLOWED_TO_REGISTER_TO_THE_CONTEST";
71
+ ErrorCode["IS_ALREADY_REGISTERED"] = "IS_ALREADY_REGISTERED";
72
+ ErrorCode["NOT_ALLOWED_TO_VIEW_CONTESTS"] = "NOT_ALLOWED_TO_VIEW_CONTESTS";
73
+ ErrorCode["SCOREBOARD_NOT_CREATED"] = "SCOREBOARD_NOT_CREATED";
74
+ ErrorCode["SCOREBOARD_NOT_FOUND"] = "SCOREBOARD_NOT_FOUND";
75
+ ErrorCode["SCOREBOARD_NOT_UPDATED"] = "SCOREBOARD_NOT_UPDATED";
76
+ ErrorCode["SCOREBOARD_NOT_DELETED"] = "SCOREBOARD_NOT_DELETED";
77
+ ErrorCode["NOT_ALLOWED_TO_CREATE_THE_SCOREBOARD"] = "NOT_ALLOWED_TO_CREATE_THE_SCOREBOARD";
78
+ ErrorCode["NOT_ALLOWED_TO_VIEW_THE_SCOREBOARD"] = "NOT_ALLOWED_TO_VIEW_THE_SCOREBOARD";
79
+ ErrorCode["NOT_ALLOWED_TO_UPDATE_THE_SCOREBOARD"] = "NOT_ALLOWED_TO_UPDATE_THE_SCOREBOARD";
80
+ ErrorCode["NOT_ALLOWED_TO_DELETE_THE_SCOREBOARD"] = "NOT_ALLOWED_TO_DELETE_THE_SCOREBOARD";
81
+ ErrorCode["CLARIFICATION_NOT_CREATED"] = "CLARIFICATION_NOT_CREATED";
82
+ ErrorCode["CLARIFICATION_NOT_FOUND"] = "CLARIFICATION_NOT_FOUND";
83
+ ErrorCode["CLARIFICATION_NOT_UPDATED"] = "CLARIFICATION_NOT_UPDATED";
84
+ ErrorCode["CLARIFICATION_NOT_DELETED"] = "CLARIFICATION_NOT_DELETED";
85
+ ErrorCode["NOT_ALLOWED_TO_SUBMIT_CLARIFICATION"] = "NOT_ALLOWED_TO_SUBMIT_CLARIFICATION";
86
+ ErrorCode["NOT_ALLOWED_TO_VIEW_CLARIFICATION"] = "NOT_ALLOWED_TO_VIEW_CLARIFICATION";
87
+ ErrorCode["NOT_ALLOWED_TO_UPDATE_CLARIFICATION"] = "NOT_ALLOWED_TO_UPDATE_CLARIFICATION";
88
+ ErrorCode["NOT_ALLOWED_TO_DELETE_CLARIFICATION"] = "NOT_ALLOWED_TO_DELETE_CLARIFICATION";
89
+ // Submission errors
90
+ ErrorCode["INTERNAL_SERVER_ERROR_ON_SUBMISSIONS_SERVICE"] = "INTERNAL_SERVER_ERROR_ON_SUBMISSIONS_SERVICE";
91
+ ErrorCode["SUBMISSION_NOT_FOUND"] = "SUBMISSION_NOT_FOUND";
92
+ ErrorCode["SUBMISSION_NOT_CREATED"] = "SUBMISSION_NOT_CREATED";
93
+ ErrorCode["SUBMISSION_NOT_UPDATED"] = "SUBMISSION_NOT_UPDATED";
94
+ ErrorCode["SOURCE_EMPTY"] = "SOURCE_EMPTY";
95
+ ErrorCode["PROGRAMMING_LANGUAGE_NOT_SUPPORTED"] = "PROGRAMMING_LANGUAGE_NOT_SUPPORTED";
96
+ ErrorCode["NOT_ALLOWED_SUBMIT_THE_PROBLEM_IN_THE_CONTEST"] = "NOT_ALLOWED_SUBMIT_THE_PROBLEM_IN_THE_CONTEST";
97
+ ErrorCode["JUDGEMENT_UNAVAILABLE"] = "JUDGEMENT_UNAVAILABLE";
98
+ // Utils errors
99
+ ErrorCode["INTERNAL_SERVER_ERROR_ON_UTILS_SERVICES"] = "INTERNAL_SERVER_ERROR_ON_UTILS_SERVICES";
100
+ ErrorCode["EMPTY_IMAGE"] = "EMPTY_IMAGE";
101
+ ErrorCode["CODES_ERROR"] = "CODES_ERROR";
102
+ ErrorCode["COMPILATION_FAILED"] = "COMPILATION_FAILED";
103
+ ErrorCode["FILES_ERROR"] = "FILES_ERROR";
104
+ ErrorCode["THE_EMAIL_COULD_NOT_BE_SENT"] = "THE_EMAIL_COULD_NOT_BE_SENT";
105
+ // Team errors
106
+ ErrorCode["INTERNAL_SERVER_ERROR_ON_TEAMS_SERVICE"] = "INTERNAL_SERVER_ERROR_ON_TEAMS_SERVICE";
107
+ ErrorCode["TEAM_NOT_CREATED"] = "TEAM_NOT_CREATED";
108
+ ErrorCode["TEAM_NOT_FOUND"] = "TEAM_NOT_FOUND";
109
+ ErrorCode["TEAM_NOT_UPDATED"] = "TEAM_NOT_UPDATED";
110
+ ErrorCode["TEAM_NOT_DELETED"] = "TEAM_NOT_DELETED";
111
+ ErrorCode["NOT_ALLOWED_TO_CREATE_THE_TEAM"] = "NOT_ALLOWED_TO_CREATE_THE_TEAM";
112
+ ErrorCode["NOT_ALLOWED_TO_VIEW_THE_TEAM"] = "NOT_ALLOWED_TO_VIEW_THE_TEAM";
113
+ ErrorCode["NOT_ALLOWED_TO_UPDATE_THE_TEAM"] = "NOT_ALLOWED_TO_UPDATE_THE_TEAM";
114
+ ErrorCode["NOT_ALLOWED_TO_DELETE_THE_TEAM"] = "NOT_ALLOWED_TO_DELETE_THE_TEAM";
115
+ ErrorCode["TEAM_IS_REPORTED"] = "TEAM_IS_REPORTED";
116
+ ErrorCode["TEAM_IS_ARCHIVED"] = "TEAM_IS_ARCHIVED";
117
+ // File errors
118
+ ErrorCode["INTERNAL_SERVER_ERROR_ON_FILES_SERVICE"] = "INTERNAL_SERVER_ERROR_ON_FILES_SERVICE";
119
+ ErrorCode["FILE_NOT_CREATED"] = "FILE_NOT_CREATED";
120
+ ErrorCode["FILE_NOT_FOUND"] = "FILE_NOT_FOUND";
121
+ ErrorCode["FILE_NOT_UPDATED"] = "FILE_NOT_UPDATED";
122
+ ErrorCode["FILE_NOT_DELETED"] = "FILE_NOT_DELETED";
123
+ ErrorCode["NOT_ALLOWED_TO_CREATE_THE_FILE"] = "NOT_ALLOWED_TO_CREATE_THE_FILE";
124
+ ErrorCode["NOT_ALLOWED_TO_VIEW_THE_FILE"] = "NOT_ALLOWED_TO_VIEW_THE_FILE";
125
+ ErrorCode["NOT_ALLOWED_TO_UPDATE_THE_FILE"] = "NOT_ALLOWED_TO_UPDATE_THE_FILE";
126
+ ErrorCode["NOT_ALLOWED_TO_DELETE_THE_FILE"] = "NOT_ALLOWED_TO_DELETE_THE_FILE";
127
+ ErrorCode["FILE_IS_RESERVED"] = "FILE_IS_RESERVED";
128
+ ErrorCode["FILE_IS_PRIVATE"] = "FILE_IS_PRIVATE";
129
+ ErrorCode["FILE_IS_ARCHIVED"] = "FILE_IS_ARCHIVED";
130
+ })(ErrorCode || (ErrorCode = {}));
131
+ export var LogLevel;
132
+ (function (LogLevel) {
133
+ LogLevel["FATAL"] = "FATAL";
134
+ LogLevel["ERROR"] = "ERROR";
135
+ LogLevel["WARN"] = "WARN";
136
+ LogLevel["INFO"] = "INFO";
137
+ LogLevel["DEBUG"] = "DEBUG";
138
+ LogLevel["TRACE"] = "TRACE";
139
+ })(LogLevel || (LogLevel = {}));
140
+ export var HTTPMethod;
141
+ (function (HTTPMethod) {
142
+ HTTPMethod["POST"] = "POST";
143
+ HTTPMethod["GET"] = "GET";
144
+ HTTPMethod["PUT"] = "PUT";
145
+ HTTPMethod["PATCH"] = "PATCH";
146
+ HTTPMethod["DELETE"] = "DELETE";
147
+ })(HTTPMethod || (HTTPMethod = {}));
@@ -0,0 +1,104 @@
1
+ import type { SubmissionRunStatus } from '../prisma/enums/index.js';
2
+ import type { CodeLanguage } from './commons.js';
3
+ export declare enum WorksheetType {
4
+ JK_MD = "JK_MD",
5
+ CODE_EDITOR = "CODE_EDITOR",
6
+ LIST = "LIST",
7
+ GRAPH = "GRAPH",
8
+ QUIZ_PROBLEM = "QUIZ_PROBLEM",
9
+ QUIZ_TEXT = "QUIZ_TEXT",
10
+ QUIZ_OPTIONS = "QUIZ_OPTIONS",
11
+ NEW_PAGE = "NEW_PAGE"
12
+ }
13
+ export type BasicWorksheet = {
14
+ id: string;
15
+ type: WorksheetType;
16
+ title: string;
17
+ points: number;
18
+ };
19
+ export type JkmdSheet = BasicWorksheet & {
20
+ type: WorksheetType.JK_MD;
21
+ content: string;
22
+ };
23
+ export type SubmissionTestCase = {
24
+ out: string;
25
+ err: string;
26
+ log: string;
27
+ status: SubmissionRunStatus;
28
+ };
29
+ export interface CodeEditorTestCase extends SubmissionTestCase {
30
+ key: string;
31
+ in: string;
32
+ testOut: string;
33
+ withPE: boolean;
34
+ sample: boolean;
35
+ hidden: boolean;
36
+ index: number;
37
+ messageTimestamp: number;
38
+ }
39
+ export type CodeEditorFile<T> = {
40
+ description: string;
41
+ folderPath: string;
42
+ source: string;
43
+ language: T;
44
+ index: number;
45
+ name: string;
46
+ hidden: boolean;
47
+ readonly: boolean;
48
+ protected: boolean;
49
+ active: boolean;
50
+ };
51
+ export type CodeEditorFiles<T> = {
52
+ [key: string]: CodeEditorFile<T>;
53
+ };
54
+ export type CodeEditorTestCases = {
55
+ [key: string]: CodeEditorTestCase;
56
+ };
57
+ export type CodeEditorSheet = BasicWorksheet & {
58
+ type: WorksheetType.CODE_EDITOR;
59
+ files: CodeEditorFiles<CodeLanguage>;
60
+ testCases: CodeEditorTestCases;
61
+ languages: CodeLanguage[];
62
+ height: number;
63
+ };
64
+ export type GraphSheet = BasicWorksheet & {
65
+ type: WorksheetType.GRAPH;
66
+ dots: string[];
67
+ };
68
+ export type QuizProblemSheet = BasicWorksheet & {
69
+ type: WorksheetType.QUIZ_PROBLEM;
70
+ problemKey: string;
71
+ languages: CodeLanguage[];
72
+ height: number;
73
+ };
74
+ export type QuizTextSheet = BasicWorksheet & {
75
+ type: WorksheetType.QUIZ_TEXT;
76
+ description: string;
77
+ answer: string;
78
+ inputType: 'text' | 'number' | 'textarea';
79
+ };
80
+ export declare enum QuizScoringMode {
81
+ TOTAL = "TOTAL",
82
+ PARTIAL = "PARTIAL"
83
+ }
84
+ export type QuizOptionsSheet = BasicWorksheet & {
85
+ type: WorksheetType.QUIZ_OPTIONS;
86
+ description: string;
87
+ options: {
88
+ label: string;
89
+ correct: boolean;
90
+ id: string;
91
+ }[];
92
+ multiple: boolean;
93
+ scoringMode: QuizScoringMode;
94
+ };
95
+ export type ListSheet = BasicWorksheet & {
96
+ type: WorksheetType.LIST;
97
+ header: string;
98
+ content: (JkmdSheet | CodeEditorSheet | GraphSheet | QuizProblemSheet | QuizTextSheet | QuizOptionsSheet)[];
99
+ children: ListSheet[];
100
+ };
101
+ export type NewPageSheet = BasicWorksheet & {
102
+ type: WorksheetType.NEW_PAGE;
103
+ };
104
+ export type BodyWorksheet = JkmdSheet | CodeEditorSheet | ListSheet | GraphSheet | QuizProblemSheet | QuizTextSheet | QuizOptionsSheet | NewPageSheet;
@@ -0,0 +1,16 @@
1
+ export var WorksheetType;
2
+ (function (WorksheetType) {
3
+ WorksheetType["JK_MD"] = "JK_MD";
4
+ WorksheetType["CODE_EDITOR"] = "CODE_EDITOR";
5
+ WorksheetType["LIST"] = "LIST";
6
+ WorksheetType["GRAPH"] = "GRAPH";
7
+ WorksheetType["QUIZ_PROBLEM"] = "QUIZ_PROBLEM";
8
+ WorksheetType["QUIZ_TEXT"] = "QUIZ_TEXT";
9
+ WorksheetType["QUIZ_OPTIONS"] = "QUIZ_OPTIONS";
10
+ WorksheetType["NEW_PAGE"] = "NEW_PAGE";
11
+ })(WorksheetType || (WorksheetType = {}));
12
+ export var QuizScoringMode;
13
+ (function (QuizScoringMode) {
14
+ QuizScoringMode["TOTAL"] = "TOTAL";
15
+ QuizScoringMode["PARTIAL"] = "PARTIAL";
16
+ })(QuizScoringMode || (QuizScoringMode = {}));
@@ -0,0 +1,49 @@
1
+ import type { RecordId } from './commons.js';
2
+ export declare enum WebSocketMessageEvent {
3
+ PING = "PING",
4
+ CLIENT_TRACK_LOCATION = "CLIENT_TRACK_LOCATION",
5
+ CLIENT_TRACK_SCREENSHOT = "CLIENT_TRACK_SCREENSHOT",
6
+ CLIENT_TRACK_DEVICE = "CLIENT_TRACK_DEVICE",
7
+ CHAT_COMPLETIONS = "CHAT_COMPLETIONS"
8
+ }
9
+ export declare enum WebSocketSubscriptionEvent {
10
+ SUBSCRIBE_CODE_RUN_STATUS = "SUBSCRIBE_CODE_RUN_STATUS",
11
+ UNSUBSCRIBE_CODE_RUN_STATUS = "UNSUBSCRIBE_CODE_RUN_STATUS",
12
+ SUBSCRIBE_SUBMISSION_RUN_STATUS = "SUBSCRIBE_SUBMISSION_RUN_STATUS",
13
+ UNSUBSCRIBE_SUBMISSION_RUN_STATUS = "UNSUBSCRIBE_SUBMISSION_RUN_STATUS",
14
+ SUBSCRIBE_GET_DATA = "SUBSCRIBE_GET_DATA",
15
+ UNSUBSCRIBE_GET_DATA = "SUBSCRIBE_GET_DATA",
16
+ SUBSCRIBE_PROBLEM_CRAWLED = "SUBSCRIBE_PROBLEM_CRAWLED",
17
+ UNSUBSCRIBE_PROBLEM_CRAWLED = "UNSUBSCRIBE_PROBLEM_CRAWLED",
18
+ SUBSCRIBE_SUBMISSIONS_CRAWL = "SUBSCRIBE_SUBMISSIONS_CRAWL",
19
+ UNSUBSCRIBE_SUBMISSIONS_CRAWL = "UNSUBSCRIBE_SUBMISSIONS_CRAWL",
20
+ SUBSCRIBE_CONTEST_CHANGES = "SUBSCRIBE_CONTEST_CHANGES",
21
+ UNSUBSCRIBE_CONTEST_CHANGES = "UNSUBSCRIBE_CONTEST_CHANGES",
22
+ SUBSCRIBE_CLIENT_TRACK = "SUBSCRIBE_CLIENT_TRACK",
23
+ UNSUBSCRIBE_CLIENT_TRACK = "UNSUBSCRIBE_CLIENT_TRACK",
24
+ SUBSCRIBE_USER_NOTIFICATION = "SUBSCRIBE_USER_NOTIFICATION",
25
+ UNSUBSCRIBE_USER_NOTIFICATION = "UNSUBSCRIBE_USER_NOTIFICATION"
26
+ }
27
+ export declare enum WebSocketResponseEvent {
28
+ PONG = "PONG",
29
+ CODE_RUN_STATUS = "CODE_RUN_STATUS",
30
+ SUBMISSION_RUN_STATUS = "SUBMISSION_RUN_STATUS",
31
+ USER_MESSAGE = "USER_MESSAGE",
32
+ SEND_DATA = "SEND_DATA",
33
+ SEND_DATA_ECS_TASK_DEFINITIONS_LIST = "SEND_DATA_ECS_TASK_DEFINITIONS_LIST",
34
+ SEND_DATA_ECS_TASKS_LIST = "SEND_DATA_ECS_TASKS_LIST",
35
+ SEND_DATA_EC2_INSTANCES_LIST = "SEND_DATA_EC2_INSTANCES_LIST",
36
+ SEND_DATA_SSM_SESSIONS_LIST = "SEND_DATA_SSM_SESSIONS_LIST",
37
+ SEND_DATA_RUN_COMMAND = "SEND_DATA_RUN_COMMAND",
38
+ SEND_DATA_CLIENT_TRACK = "SEND_DATA_CLIENT_TRACK",
39
+ SEND_DATA_CHAT_COMPLETIONS = "SEND_DATA_CHAT_COMPLETIONS",
40
+ PROBLEM_CRAWLED = "PROBLEM_CRAWLED",
41
+ SUBMISSIONS_CRAWL = "SUBMISSIONS_CRAWL",
42
+ CONTEST_CHANGES = "CONTEST_CHANGES",
43
+ CLIENT_TRACK = "CLIENT_TRACK",
44
+ USER_NOTIFICATION = "USER_NOTIFICATION",
45
+ USER_NOTIFICATION_SUBMISSION = "USER_NOTIFICATION_SUBMISSION",
46
+ USER_NOTIFICATION_CONTEST_CLARIFICATION = "USER_NOTIFICATION_CONTEST_CLARIFICATION"
47
+ }
48
+ export type ClientId = `${RecordId}|${string}`;
49
+ export type WebSocketResponseEventKey = `${WebSocketResponseEvent}-${ClientId}-${string}`;