@euler-edu/schema 0.0.0-stage → 7.0.1-beta0

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 (120) hide show
  1. package/lib/.tsbuildinfo +1 -0
  2. package/lib/auths/index.d.ts +49 -0
  3. package/lib/auths/index.js +49 -0
  4. package/lib/auths/index.js.map +1 -0
  5. package/lib/configs/index.d.ts +2 -0
  6. package/lib/configs/index.js +19 -0
  7. package/lib/configs/index.js.map +1 -0
  8. package/lib/configs/oj-envConfig/index.d.ts +143 -0
  9. package/lib/configs/oj-envConfig/index.js +35 -0
  10. package/lib/configs/oj-envConfig/index.js.map +1 -0
  11. package/lib/configs/style/index.d.ts +53 -0
  12. package/lib/configs/style/index.js +46 -0
  13. package/lib/configs/style/index.js.map +1 -0
  14. package/lib/endpoints/index.d.ts +2586 -0
  15. package/lib/endpoints/index.js +11 -0
  16. package/lib/endpoints/index.js.map +1 -0
  17. package/lib/endpoints/oj-api/auth.atom.d.ts +10 -0
  18. package/lib/endpoints/oj-api/auth.atom.js +26 -0
  19. package/lib/endpoints/oj-api/auth.atom.js.map +1 -0
  20. package/lib/endpoints/oj-api/auth.endpoint.d.ts +105 -0
  21. package/lib/endpoints/oj-api/auth.endpoint.js +118 -0
  22. package/lib/endpoints/oj-api/auth.endpoint.js.map +1 -0
  23. package/lib/endpoints/oj-api/contest.atom.d.ts +23 -0
  24. package/lib/endpoints/oj-api/contest.atom.js +20 -0
  25. package/lib/endpoints/oj-api/contest.atom.js.map +1 -0
  26. package/lib/endpoints/oj-api/contest.endpoint.d.ts +53 -0
  27. package/lib/endpoints/oj-api/contest.endpoint.js +49 -0
  28. package/lib/endpoints/oj-api/contest.endpoint.js.map +1 -0
  29. package/lib/endpoints/oj-api/index.d.ts +2523 -0
  30. package/lib/endpoints/oj-api/index.js +58 -0
  31. package/lib/endpoints/oj-api/index.js.map +1 -0
  32. package/lib/endpoints/oj-api/mail.atom.d.ts +12 -0
  33. package/lib/endpoints/oj-api/mail.atom.js +14 -0
  34. package/lib/endpoints/oj-api/mail.atom.js.map +1 -0
  35. package/lib/endpoints/oj-api/mail.endpoint.d.ts +48 -0
  36. package/lib/endpoints/oj-api/mail.endpoint.js +50 -0
  37. package/lib/endpoints/oj-api/mail.endpoint.js.map +1 -0
  38. package/lib/endpoints/oj-api/problem.atom.d.ts +120 -0
  39. package/lib/endpoints/oj-api/problem.atom.js +164 -0
  40. package/lib/endpoints/oj-api/problem.atom.js.map +1 -0
  41. package/lib/endpoints/oj-api/problem.endpoint.d.ts +291 -0
  42. package/lib/endpoints/oj-api/problem.endpoint.js +199 -0
  43. package/lib/endpoints/oj-api/problem.endpoint.js.map +1 -0
  44. package/lib/endpoints/oj-api/rank.atom.d.ts +5 -0
  45. package/lib/endpoints/oj-api/rank.atom.js +9 -0
  46. package/lib/endpoints/oj-api/rank.atom.js.map +1 -0
  47. package/lib/endpoints/oj-api/rank.endpoint.d.ts +54 -0
  48. package/lib/endpoints/oj-api/rank.endpoint.js +59 -0
  49. package/lib/endpoints/oj-api/rank.endpoint.js.map +1 -0
  50. package/lib/endpoints/oj-api/record.atom.d.ts +31 -0
  51. package/lib/endpoints/oj-api/record.atom.js +12 -0
  52. package/lib/endpoints/oj-api/record.atom.js.map +1 -0
  53. package/lib/endpoints/oj-api/record.endpoint.d.ts +107 -0
  54. package/lib/endpoints/oj-api/record.endpoint.js +87 -0
  55. package/lib/endpoints/oj-api/record.endpoint.js.map +1 -0
  56. package/lib/endpoints/oj-api/run.atom.d.ts +29 -0
  57. package/lib/endpoints/oj-api/run.atom.js +22 -0
  58. package/lib/endpoints/oj-api/run.atom.js.map +1 -0
  59. package/lib/endpoints/oj-api/run.endpoint.d.ts +59 -0
  60. package/lib/endpoints/oj-api/run.endpoint.js +50 -0
  61. package/lib/endpoints/oj-api/run.endpoint.js.map +1 -0
  62. package/lib/endpoints/oj-api/scoringRequest.atom.d.ts +24 -0
  63. package/lib/endpoints/oj-api/scoringRequest.atom.js +21 -0
  64. package/lib/endpoints/oj-api/scoringRequest.atom.js.map +1 -0
  65. package/lib/endpoints/oj-api/scoringRequest.endpoint.d.ts +47 -0
  66. package/lib/endpoints/oj-api/scoringRequest.endpoint.js +37 -0
  67. package/lib/endpoints/oj-api/scoringRequest.endpoint.js.map +1 -0
  68. package/lib/endpoints/oj-api/scoringServer.atom.d.ts +10 -0
  69. package/lib/endpoints/oj-api/scoringServer.atom.js +18 -0
  70. package/lib/endpoints/oj-api/scoringServer.atom.js.map +1 -0
  71. package/lib/endpoints/oj-api/scoringServer.endpoint.d.ts +21 -0
  72. package/lib/endpoints/oj-api/scoringServer.endpoint.js +25 -0
  73. package/lib/endpoints/oj-api/scoringServer.endpoint.js.map +1 -0
  74. package/lib/endpoints/oj-api/source.atom.d.ts +10 -0
  75. package/lib/endpoints/oj-api/source.atom.js +22 -0
  76. package/lib/endpoints/oj-api/source.atom.js.map +1 -0
  77. package/lib/endpoints/oj-api/source.endpoint.d.ts +98 -0
  78. package/lib/endpoints/oj-api/source.endpoint.js +72 -0
  79. package/lib/endpoints/oj-api/source.endpoint.js.map +1 -0
  80. package/lib/endpoints/oj-api/submit.atom.d.ts +62 -0
  81. package/lib/endpoints/oj-api/submit.atom.js +40 -0
  82. package/lib/endpoints/oj-api/submit.atom.js.map +1 -0
  83. package/lib/endpoints/oj-api/submit.endpoint.d.ts +236 -0
  84. package/lib/endpoints/oj-api/submit.endpoint.js +162 -0
  85. package/lib/endpoints/oj-api/submit.endpoint.js.map +1 -0
  86. package/lib/endpoints/oj-api/user.atom.d.ts +220 -0
  87. package/lib/endpoints/oj-api/user.atom.js +74 -0
  88. package/lib/endpoints/oj-api/user.atom.js.map +1 -0
  89. package/lib/endpoints/oj-api/user.endpoint.d.ts +879 -0
  90. package/lib/endpoints/oj-api/user.endpoint.js +502 -0
  91. package/lib/endpoints/oj-api/user.endpoint.js.map +1 -0
  92. package/lib/endpoints/oj-archives/index.d.ts +51 -0
  93. package/lib/endpoints/oj-archives/index.js +47 -0
  94. package/lib/endpoints/oj-archives/index.js.map +1 -0
  95. package/lib/endpoints/oj-problemContents/index.d.ts +15 -0
  96. package/lib/endpoints/oj-problemContents/index.js +17 -0
  97. package/lib/endpoints/oj-problemContents/index.js.map +1 -0
  98. package/lib/index.d.ts +2 -0
  99. package/lib/index.js +6 -0
  100. package/lib/index.js.map +1 -0
  101. package/lib/queues/index.d.ts +12 -0
  102. package/lib/queues/index.js +11 -0
  103. package/lib/queues/index.js.map +1 -0
  104. package/lib/queues/oj-clientSocketEventQueue.d.ts +12 -0
  105. package/lib/queues/oj-clientSocketEventQueue.js +16 -0
  106. package/lib/queues/oj-clientSocketEventQueue.js.map +1 -0
  107. package/lib/sockets/index.d.ts +34 -0
  108. package/lib/sockets/index.js +13 -0
  109. package/lib/sockets/index.js.map +1 -0
  110. package/lib/sockets/oj-socket/index.d.ts +18 -0
  111. package/lib/sockets/oj-socket/index.js +21 -0
  112. package/lib/sockets/oj-socket/index.js.map +1 -0
  113. package/lib/sockets/oj-web/index.d.ts +18 -0
  114. package/lib/sockets/oj-web/index.js +21 -0
  115. package/lib/sockets/oj-web/index.js.map +1 -0
  116. package/lib/types/index.d.ts +28 -0
  117. package/lib/types/index.js +3 -0
  118. package/lib/types/index.js.map +1 -0
  119. package/package.json +30 -3
  120. package/README.md +0 -3
@@ -0,0 +1,291 @@
1
+ import { z } from 'zod';
2
+ declare const _default: {
3
+ readonly get: {
4
+ readonly prefix: string;
5
+ readonly operation: {
6
+ readonly summary: "문제 조회";
7
+ };
8
+ readonly auth: {
9
+ readonly requiredLevel: 0;
10
+ };
11
+ readonly base: "oj-api";
12
+ readonly method: "get";
13
+ readonly path: () => string;
14
+ readonly data: z.ZodObject<{
15
+ problems: z.ZodArray<z.ZodObject<{
16
+ id: z.ZodString;
17
+ title: z.ZodString;
18
+ tags: z.ZodArray<z.ZodString>;
19
+ solvesCount: z.ZodNumber;
20
+ submitsCount: z.ZodNumber;
21
+ }, z.core.$strip>>;
22
+ page: z.ZodNumber;
23
+ maxPage: z.ZodNumber;
24
+ count: z.ZodNumber;
25
+ randomProblemId: z.ZodOptional<z.ZodString>;
26
+ }, z.core.$strip>;
27
+ readonly query: z.ZodObject<{
28
+ tags: z.ZodOptional<z.ZodString>;
29
+ problemIds: z.ZodOptional<z.ZodString>;
30
+ problemIdsNin: z.ZodOptional<z.ZodString>;
31
+ numberGroup: z.ZodOptional<z.ZodString>;
32
+ search: z.ZodOptional<z.ZodString>;
33
+ sort: z.ZodOptional<z.ZodEnum<{
34
+ "createdAt-asc": "createdAt-asc";
35
+ "createdAt-desc": "createdAt-desc";
36
+ "id-asc": "id-asc";
37
+ "id-desc": "id-desc";
38
+ "title-asc": "title-asc";
39
+ "title-desc": "title-desc";
40
+ "solvesCount-asc": "solvesCount-asc";
41
+ "solvesCount-desc": "solvesCount-desc";
42
+ stone: "stone";
43
+ iron: "iron";
44
+ bronze: "bronze";
45
+ }>>;
46
+ page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
47
+ onePageLength: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
48
+ }, z.core.$strip>;
49
+ };
50
+ readonly getById: {
51
+ readonly prefix: string;
52
+ readonly operation: {
53
+ readonly summary: "문제 정보 조회";
54
+ };
55
+ readonly auth: {
56
+ readonly requiredLevel: 0;
57
+ };
58
+ readonly base: "oj-api";
59
+ readonly method: "get";
60
+ readonly path: (id: string) => string;
61
+ readonly data: z.ZodObject<{
62
+ id: z.ZodString;
63
+ title: z.ZodString;
64
+ isViewable: z.ZodBoolean;
65
+ isSubmitable: z.ZodBoolean;
66
+ tags: z.ZodArray<z.ZodString>;
67
+ youtubeUrl: z.ZodOptional<z.ZodString>;
68
+ blogUrl: z.ZodOptional<z.ZodString>;
69
+ samples: z.ZodArray<z.ZodObject<{
70
+ input: z.ZodString;
71
+ output: z.ZodString;
72
+ }, z.core.$strip>>;
73
+ solvesCount: z.ZodNumber;
74
+ submitsCount: z.ZodNumber;
75
+ timelimit: z.ZodNumber;
76
+ memorylimit: z.ZodNumber;
77
+ inputmethod: z.ZodEnum<{
78
+ "Standard Input": "Standard Input";
79
+ }>;
80
+ outputmethod: z.ZodEnum<{
81
+ "Standard Output": "Standard Output";
82
+ }>;
83
+ scoringmethod: z.ZodEnum<{
84
+ "exact-match": "exact-match";
85
+ spj: "spj";
86
+ }>;
87
+ }, z.core.$strip>;
88
+ };
89
+ readonly getAdjacentById: {
90
+ readonly prefix: string;
91
+ readonly operation: {
92
+ readonly summary: "문제 이전/다음 문제 조회";
93
+ };
94
+ readonly auth: {
95
+ readonly requiredLevel: 0;
96
+ };
97
+ readonly base: "oj-api";
98
+ readonly method: "get";
99
+ readonly path: (id: string) => string;
100
+ readonly data: z.ZodObject<{
101
+ prevId: z.ZodOptional<z.ZodString>;
102
+ nextId: z.ZodOptional<z.ZodString>;
103
+ }, z.core.$strip>;
104
+ };
105
+ readonly getStatsById: {
106
+ readonly prefix: string;
107
+ readonly operation: {
108
+ readonly summary: "문제 통계 조회";
109
+ };
110
+ readonly auth: {
111
+ readonly requiredLevel: 0;
112
+ };
113
+ readonly base: "oj-api";
114
+ readonly method: "get";
115
+ readonly path: (id: string) => string;
116
+ readonly data: z.ZodObject<{
117
+ solvesCount: z.ZodNumber;
118
+ submitsCount: z.ZodNumber;
119
+ createdAtMin: z.ZodOptional<z.ZodISODateTime>;
120
+ createdAtMax: z.ZodOptional<z.ZodISODateTime>;
121
+ sourceLengthMin: z.ZodOptional<z.ZodNumber>;
122
+ sourceLengthMedian: z.ZodOptional<z.ZodNumber>;
123
+ sourceLengthMax: z.ZodOptional<z.ZodNumber>;
124
+ timeMin: z.ZodOptional<z.ZodNumber>;
125
+ timeMedian: z.ZodOptional<z.ZodNumber>;
126
+ timeMax: z.ZodOptional<z.ZodNumber>;
127
+ memoryMin: z.ZodOptional<z.ZodNumber>;
128
+ memoryMedian: z.ZodOptional<z.ZodNumber>;
129
+ memoryMax: z.ZodOptional<z.ZodNumber>;
130
+ status: z.ZodRecord<z.ZodEnum<{
131
+ output: "output";
132
+ accept: "accept";
133
+ wrong: "wrong";
134
+ time: "time";
135
+ memory: "memory";
136
+ compile: "compile";
137
+ runtime: "runtime";
138
+ server: "server";
139
+ pending: "pending";
140
+ }> & z.core.$partial, z.ZodNumber>;
141
+ createdAt: z.ZodArray<z.ZodObject<{
142
+ min: z.ZodISODateTime;
143
+ max: z.ZodISODateTime;
144
+ acceptCount: z.ZodNumber;
145
+ totalCount: z.ZodNumber;
146
+ }, z.core.$strip>>;
147
+ language: z.ZodRecord<z.ZodEnum<{
148
+ c: "c";
149
+ ruby: "ruby";
150
+ r: "r";
151
+ c11: "c11";
152
+ "c++": "c++";
153
+ "c++11": "c++11";
154
+ "c++14": "c++14";
155
+ "c++17": "c++17";
156
+ python2: "python2";
157
+ python3: "python3";
158
+ pypy3: "pypy3";
159
+ openjdk: "openjdk";
160
+ golang: "golang";
161
+ }> & z.core.$partial, z.ZodObject<{
162
+ acceptCount: z.ZodNumber;
163
+ totalCount: z.ZodNumber;
164
+ }, z.core.$strip>>;
165
+ time: z.ZodArray<z.ZodObject<{
166
+ min: z.ZodNumber;
167
+ max: z.ZodNumber;
168
+ acceptCount: z.ZodNumber;
169
+ }, z.core.$strip>>;
170
+ memory: z.ZodArray<z.ZodObject<{
171
+ min: z.ZodNumber;
172
+ max: z.ZodNumber;
173
+ acceptCount: z.ZodNumber;
174
+ }, z.core.$strip>>;
175
+ sourceLength: z.ZodArray<z.ZodObject<{
176
+ min: z.ZodNumber;
177
+ max: z.ZodNumber;
178
+ acceptCount: z.ZodNumber;
179
+ }, z.core.$strip>>;
180
+ updatedAt: z.ZodISODateTime;
181
+ }, z.core.$strip>;
182
+ };
183
+ readonly getTestcaseById: {
184
+ readonly prefix: string;
185
+ readonly operation: {
186
+ readonly summary: "문제 테스트케이스 조회";
187
+ };
188
+ readonly auth: {
189
+ readonly requiredLevel: 0;
190
+ };
191
+ readonly base: "oj-api";
192
+ readonly method: "get";
193
+ readonly path: (id: string) => string;
194
+ readonly data: z.ZodArray<z.ZodObject<{
195
+ index: z.ZodNumber;
196
+ input: z.ZodObject<{
197
+ path: z.ZodString;
198
+ versions: z.ZodArray<z.ZodObject<{
199
+ versionId: z.ZodString;
200
+ lastModified: z.ZodISODateTime;
201
+ isLatest: z.ZodBoolean;
202
+ }, z.core.$strip>>;
203
+ }, z.core.$strip>;
204
+ output: z.ZodObject<{
205
+ path: z.ZodString;
206
+ versions: z.ZodArray<z.ZodObject<{
207
+ versionId: z.ZodString;
208
+ lastModified: z.ZodISODateTime;
209
+ isLatest: z.ZodBoolean;
210
+ }, z.core.$strip>>;
211
+ }, z.core.$strip>;
212
+ }, z.core.$strip>>;
213
+ };
214
+ readonly getContentVersionById: {
215
+ readonly prefix: string;
216
+ readonly operation: {
217
+ readonly summary: "문제 내용 수정 내용 조회";
218
+ };
219
+ readonly base: "oj-api";
220
+ readonly method: "get";
221
+ readonly path: (id: string) => string;
222
+ readonly data: z.ZodArray<z.ZodObject<{
223
+ versionId: z.ZodOptional<z.ZodString>;
224
+ lastModified: z.ZodISODateTime;
225
+ isLatest: z.ZodBoolean;
226
+ }, z.core.$strip>>;
227
+ };
228
+ readonly getNumberGroups: {
229
+ readonly prefix: string;
230
+ readonly operation: {
231
+ readonly summary: "문제 번호 그룹 조회";
232
+ };
233
+ readonly base: "oj-api";
234
+ readonly method: "get";
235
+ readonly path: () => string;
236
+ readonly data: z.ZodArray<z.ZodString>;
237
+ };
238
+ readonly getTags: {
239
+ readonly prefix: string;
240
+ readonly operation: {
241
+ readonly summary: "문제 태그 조회";
242
+ };
243
+ readonly base: "oj-api";
244
+ readonly method: "get";
245
+ readonly path: () => string;
246
+ readonly data: z.ZodRecord<z.ZodString, z.ZodObject<{
247
+ problemIds: z.ZodArray<z.ZodString>;
248
+ }, z.core.$strip>>;
249
+ };
250
+ readonly putSubmitsCountById: {
251
+ readonly prefix: string;
252
+ readonly operation: {
253
+ readonly summary: "문제 제출 횟수 업데이트";
254
+ readonly triggerHandler: true;
255
+ };
256
+ readonly base: "oj-api";
257
+ readonly method: "put";
258
+ readonly path: (id: string) => string;
259
+ };
260
+ readonly putSolvesCountById: {
261
+ readonly prefix: string;
262
+ readonly operation: {
263
+ readonly summary: "문제 풀이 횟수 업데이트";
264
+ readonly triggerHandler: true;
265
+ };
266
+ readonly base: "oj-api";
267
+ readonly method: "put";
268
+ readonly path: (id: string) => string;
269
+ };
270
+ readonly putStatsById: {
271
+ readonly prefix: string;
272
+ readonly operation: {
273
+ readonly summary: "문제 통계 업데이트";
274
+ readonly triggerHandler: true;
275
+ };
276
+ readonly base: "oj-api";
277
+ readonly method: "put";
278
+ readonly path: (id: string) => string;
279
+ };
280
+ readonly putTestcaseById: {
281
+ readonly prefix: string;
282
+ readonly operation: {
283
+ readonly summary: "문제 테스트케이스 업데이트";
284
+ readonly triggerHandler: true;
285
+ };
286
+ readonly base: "oj-api";
287
+ readonly method: "put";
288
+ readonly path: (id: string) => string;
289
+ };
290
+ };
291
+ export default _default;
@@ -0,0 +1,199 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const zod_1 = require("zod");
4
+ const oj_problem_1 = require("@euler-edu/constant/oj-problem");
5
+ const problem_atom_1 = require("./problem.atom");
6
+ const { prefix } = problem_atom_1.problemAtom;
7
+ exports.default = {
8
+ get: {
9
+ prefix,
10
+ operation: {
11
+ summary: '문제 조회',
12
+ },
13
+ auth: {
14
+ requiredLevel: 0,
15
+ },
16
+ base: 'oj-api',
17
+ method: 'get',
18
+ path: () => `/`,
19
+ data: zod_1.z.object({
20
+ problems: zod_1.z.array(zod_1.z.object({
21
+ id: problem_atom_1.problemAtom.id,
22
+ title: problem_atom_1.problemAtom.title,
23
+ tags: zod_1.z.array(problem_atom_1.problemAtom.tag),
24
+ solvesCount: problem_atom_1.problemAtom.solvesCount,
25
+ submitsCount: problem_atom_1.problemAtom.submitsCount,
26
+ })),
27
+ page: zod_1.z.number().int().positive(),
28
+ maxPage: zod_1.z.number().int().positive(),
29
+ count: zod_1.z.number().int().nonnegative(),
30
+ randomProblemId: problem_atom_1.problemAtom.id.optional(),
31
+ }),
32
+ query: zod_1.z.object({
33
+ tags: zod_1.z.string().trim().optional(),
34
+ problemIds: zod_1.z.string().trim().optional(),
35
+ problemIdsNin: zod_1.z.string().trim().optional(),
36
+ numberGroup: problem_atom_1.problemAtom.numberGroup.optional(),
37
+ search: zod_1.z.string().trim().optional(),
38
+ sort: zod_1.z
39
+ .enum([
40
+ 'createdAt-asc',
41
+ 'createdAt-desc',
42
+ 'id-asc',
43
+ 'id-desc',
44
+ 'title-asc',
45
+ 'title-desc',
46
+ 'solvesCount-asc',
47
+ 'solvesCount-desc',
48
+ ...Object.keys(oj_problem_1.ojProblem.orders),
49
+ ])
50
+ .optional(),
51
+ page: zod_1.z.coerce.number().int().positive().default(1),
52
+ onePageLength: zod_1.z.coerce.number().int().positive().max(200).default(100),
53
+ }),
54
+ },
55
+ getById: {
56
+ prefix,
57
+ operation: {
58
+ summary: '문제 정보 조회',
59
+ },
60
+ auth: {
61
+ requiredLevel: 0,
62
+ },
63
+ base: 'oj-api',
64
+ method: 'get',
65
+ path: (id) => `/byId/${id}`,
66
+ data: zod_1.z.object({
67
+ id: problem_atom_1.problemAtom.id,
68
+ title: problem_atom_1.problemAtom.title,
69
+ isViewable: problem_atom_1.problemAtom.isViewable,
70
+ isSubmitable: problem_atom_1.problemAtom.isSubmitable,
71
+ tags: zod_1.z.array(problem_atom_1.problemAtom.tag),
72
+ youtubeUrl: problem_atom_1.problemAtom.youtubeUrl.optional(),
73
+ blogUrl: problem_atom_1.problemAtom.blogUrl.optional(),
74
+ samples: zod_1.z.array(problem_atom_1.problemAtom.sample),
75
+ solvesCount: problem_atom_1.problemAtom.solvesCount,
76
+ submitsCount: problem_atom_1.problemAtom.submitsCount,
77
+ timelimit: problem_atom_1.problemAtom.timelimit,
78
+ memorylimit: problem_atom_1.problemAtom.memorylimit,
79
+ inputmethod: problem_atom_1.problemAtom.inputmethod,
80
+ outputmethod: problem_atom_1.problemAtom.outputmethod,
81
+ scoringmethod: problem_atom_1.problemAtom.scoringmethod,
82
+ }),
83
+ },
84
+ getAdjacentById: {
85
+ prefix,
86
+ operation: {
87
+ summary: '문제 이전/다음 문제 조회',
88
+ },
89
+ auth: {
90
+ requiredLevel: 0,
91
+ },
92
+ base: 'oj-api',
93
+ method: 'get',
94
+ path: (id) => `/adjacent/byId/${id}`,
95
+ data: zod_1.z.object({
96
+ prevId: problem_atom_1.problemAtom.id.optional(),
97
+ nextId: problem_atom_1.problemAtom.id.optional(),
98
+ }),
99
+ },
100
+ getStatsById: {
101
+ prefix,
102
+ operation: {
103
+ summary: '문제 통계 조회',
104
+ },
105
+ auth: {
106
+ requiredLevel: 0,
107
+ },
108
+ base: 'oj-api',
109
+ method: 'get',
110
+ path: (id) => `/stats/byId/${id}`,
111
+ data: problem_atom_1.problemAtom.stats,
112
+ },
113
+ getTestcaseById: {
114
+ prefix,
115
+ operation: {
116
+ summary: '문제 테스트케이스 조회',
117
+ },
118
+ auth: {
119
+ requiredLevel: 0,
120
+ },
121
+ base: 'oj-api',
122
+ method: 'get',
123
+ path: (id) => `/testcase/byId/${id}`,
124
+ data: zod_1.z.array(problem_atom_1.problemAtom.testcase),
125
+ },
126
+ getContentVersionById: {
127
+ prefix,
128
+ operation: {
129
+ summary: '문제 내용 수정 내용 조회',
130
+ },
131
+ base: 'oj-api',
132
+ method: 'get',
133
+ path: (id) => `/content/version/byId/${id}`,
134
+ data: zod_1.z.array(problem_atom_1.problemAtom.contentVersion),
135
+ },
136
+ getNumberGroups: {
137
+ prefix,
138
+ operation: {
139
+ summary: '문제 번호 그룹 조회',
140
+ },
141
+ base: 'oj-api',
142
+ method: 'get',
143
+ path: () => `/numbers`,
144
+ data: zod_1.z.array(problem_atom_1.problemAtom.numberGroup),
145
+ },
146
+ getTags: {
147
+ prefix,
148
+ operation: {
149
+ summary: '문제 태그 조회',
150
+ },
151
+ base: 'oj-api',
152
+ method: 'get',
153
+ path: () => `/tags`,
154
+ data: zod_1.z.record(problem_atom_1.problemAtom.tag, zod_1.z.object({
155
+ problemIds: zod_1.z.array(problem_atom_1.problemAtom.id),
156
+ })),
157
+ },
158
+ putSubmitsCountById: {
159
+ prefix,
160
+ operation: {
161
+ summary: '문제 제출 횟수 업데이트',
162
+ triggerHandler: true,
163
+ },
164
+ base: 'oj-api',
165
+ method: 'put',
166
+ path: (id) => `/submitsCount/byId/${id}`,
167
+ },
168
+ putSolvesCountById: {
169
+ prefix,
170
+ operation: {
171
+ summary: '문제 풀이 횟수 업데이트',
172
+ triggerHandler: true,
173
+ },
174
+ base: 'oj-api',
175
+ method: 'put',
176
+ path: (id) => `/solvesCount/byId/${id}`,
177
+ },
178
+ putStatsById: {
179
+ prefix,
180
+ operation: {
181
+ summary: '문제 통계 업데이트',
182
+ triggerHandler: true,
183
+ },
184
+ base: 'oj-api',
185
+ method: 'put',
186
+ path: (id) => `/stats/byId/${id}`,
187
+ },
188
+ putTestcaseById: {
189
+ prefix,
190
+ operation: {
191
+ summary: '문제 테스트케이스 업데이트',
192
+ triggerHandler: true,
193
+ },
194
+ base: 'oj-api',
195
+ method: 'put',
196
+ path: (id) => `/testcase/byId/${id}`,
197
+ },
198
+ };
199
+ //# sourceMappingURL=problem.endpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"problem.endpoint.js","sourceRoot":"","sources":["../../../src/endpoints/oj-api/problem.endpoint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { z } from 'zod';
2
+ export declare const rankAtom: {
3
+ prefix: string;
4
+ rank: z.ZodNumber;
5
+ };
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rankAtom = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.rankAtom = {
6
+ prefix: '/rank',
7
+ rank: zod_1.z.number().int().nonnegative().describe('순위'),
8
+ };
9
+ //# sourceMappingURL=rank.atom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rank.atom.js","sourceRoot":"","sources":["../../../src/endpoints/oj-api/rank.atom.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,QAAQ,GAAG;IACtB,MAAM,EAAE,OAAO;IACf,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;CACpD,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { z } from 'zod';
2
+ declare const _default: {
3
+ readonly getTotal: {
4
+ readonly prefix: string;
5
+ readonly operation: {
6
+ readonly summary: "누적 순위 조회";
7
+ };
8
+ readonly base: "oj-api";
9
+ readonly method: "get";
10
+ readonly path: () => string;
11
+ readonly data: z.ZodObject<{
12
+ ranks: z.ZodArray<z.ZodObject<{
13
+ userId: z.ZodString;
14
+ rank: z.ZodNumber;
15
+ }, z.core.$strip>>;
16
+ }, z.core.$strip>;
17
+ readonly query: z.ZodObject<{
18
+ userIds: z.ZodString;
19
+ }, z.core.$strip>;
20
+ };
21
+ readonly putTotal: {
22
+ readonly prefix: string;
23
+ readonly operation: {
24
+ readonly summary: "누적 순위 업데이트";
25
+ readonly triggerHandler: true;
26
+ };
27
+ readonly base: "oj-api";
28
+ readonly method: "put";
29
+ readonly path: () => string;
30
+ };
31
+ readonly putTotalByUserId: {
32
+ readonly prefix: string;
33
+ readonly operation: {
34
+ readonly summary: "누적 순위 업데이트";
35
+ readonly triggerHandler: true;
36
+ };
37
+ readonly base: "oj-api";
38
+ readonly method: "put";
39
+ readonly path: (userId: string) => string;
40
+ };
41
+ readonly deleteTotal: {
42
+ readonly prefix: string;
43
+ readonly operation: {
44
+ readonly summary: "누적 순위 삭제";
45
+ };
46
+ readonly auth: {
47
+ readonly requiredLevel: 5;
48
+ };
49
+ readonly base: "oj-api";
50
+ readonly method: "delete";
51
+ readonly path: () => string;
52
+ };
53
+ };
54
+ export default _default;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const zod_1 = require("zod");
4
+ const rank_atom_1 = require("./rank.atom");
5
+ const user_atom_1 = require("./user.atom");
6
+ const { prefix } = rank_atom_1.rankAtom;
7
+ exports.default = {
8
+ getTotal: {
9
+ prefix,
10
+ operation: {
11
+ summary: '누적 순위 조회',
12
+ },
13
+ base: 'oj-api',
14
+ method: 'get',
15
+ path: () => `/total`,
16
+ data: zod_1.z.object({
17
+ ranks: zod_1.z.array(zod_1.z.object({
18
+ userId: user_atom_1.userAtom.id,
19
+ rank: rank_atom_1.rankAtom.rank,
20
+ })),
21
+ }),
22
+ query: zod_1.z.object({
23
+ userIds: zod_1.z.string().trim().min(1),
24
+ }),
25
+ },
26
+ putTotal: {
27
+ prefix,
28
+ operation: {
29
+ summary: '누적 순위 업데이트',
30
+ triggerHandler: true,
31
+ },
32
+ base: 'oj-api',
33
+ method: 'put',
34
+ path: () => `/total`,
35
+ },
36
+ putTotalByUserId: {
37
+ prefix,
38
+ operation: {
39
+ summary: '누적 순위 업데이트',
40
+ triggerHandler: true,
41
+ },
42
+ base: 'oj-api',
43
+ method: 'put',
44
+ path: (userId) => `/total/byUserId/${userId}`,
45
+ },
46
+ deleteTotal: {
47
+ prefix,
48
+ operation: {
49
+ summary: '누적 순위 삭제',
50
+ },
51
+ auth: {
52
+ requiredLevel: 5,
53
+ },
54
+ base: 'oj-api',
55
+ method: 'delete',
56
+ path: () => `/total`,
57
+ },
58
+ };
59
+ //# sourceMappingURL=rank.endpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rank.endpoint.js","sourceRoot":"","sources":["../../../src/endpoints/oj-api/rank.endpoint.ts"],"names":[],"mappings":";;AACA,6BAAwB;AAExB,2CAAuC;AACvC,2CAAuC;AAEvC,MAAM,EAAE,MAAM,EAAE,GAAG,oBAAQ,CAAC;AAE5B,kBAAe;IACb,QAAQ,EAAE;QACR,MAAM;QACN,SAAS,EAAE;YACT,OAAO,EAAE,UAAU;SACpB;QACD,IAAI,EAAE,QAAiB;QACvB,MAAM,EAAE,KAAc;QACtB,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ;QACpB,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;YACb,KAAK,EAAE,OAAC,CAAC,KAAK,CACZ,OAAC,CAAC,MAAM,CAAC;gBACP,MAAM,EAAE,oBAAQ,CAAC,EAAE;gBACnB,IAAI,EAAE,oBAAQ,CAAC,IAAI;aACpB,CAAC,CACH;SACF,CAAC;QACF,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC;YACd,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SAClC,CAAC;KACH;IACD,QAAQ,EAAE;QACR,MAAM;QACN,SAAS,EAAE;YACT,OAAO,EAAE,YAAY;YACrB,cAAc,EAAE,IAAI;SACrB;QACD,IAAI,EAAE,QAAiB;QACvB,MAAM,EAAE,KAAc;QACtB,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ;KACrB;IACD,gBAAgB,EAAE;QAChB,MAAM;QACN,SAAS,EAAE;YACT,OAAO,EAAE,YAAY;YACrB,cAAc,EAAE,IAAI;SACrB;QACD,IAAI,EAAE,QAAiB;QACvB,MAAM,EAAE,KAAc;QACtB,IAAI,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,mBAAmB,MAAM,EAAE;KACtD;IACD,WAAW,EAAE;QACX,MAAM;QACN,SAAS,EAAE;YACT,OAAO,EAAE,UAAU;SACpB;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,CAAC;SACjB;QACD,IAAI,EAAE,QAAiB;QACvB,MAAM,EAAE,QAAiB;QACzB,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ;KACrB;CAC0C,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { z } from 'zod';
2
+ export declare const recordAtom: {
3
+ readonly prefix: "/record";
4
+ readonly type: z.ZodEnum<{
5
+ trophy: "trophy";
6
+ "problem-pioneer": "problem-pioneer";
7
+ "contest-winner": "contest-winner";
8
+ }>;
9
+ readonly trophyType: z.ZodEnum<{
10
+ stone: "stone";
11
+ "first-solve": "first-solve";
12
+ "50-solves": "50-solves";
13
+ "100-solves": "100-solves";
14
+ "200-solves": "200-solves";
15
+ "500-solves": "500-solves";
16
+ "1000-solves": "1000-solves";
17
+ "2000-solves": "2000-solves";
18
+ "5000-solves": "5000-solves";
19
+ "10-trials": "10-trials";
20
+ "first-pioneer": "first-pioneer";
21
+ "20-pioneers": "20-pioneers";
22
+ "50-pioneers": "50-pioneers";
23
+ "100-pioneers": "100-pioneers";
24
+ "weekly-coder": "weekly-coder";
25
+ cola: "cola";
26
+ steak: "steak";
27
+ "win-contest": "win-contest";
28
+ "win-yearly-rank": "win-yearly-rank";
29
+ }>;
30
+ readonly createdAt: z.ZodISODateTime;
31
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.recordAtom = void 0;
4
+ const zod_1 = require("zod");
5
+ const oj_record_1 = require("@euler-edu/constant/oj-record");
6
+ exports.recordAtom = {
7
+ prefix: '/record',
8
+ type: zod_1.z.enum(oj_record_1.ojRecord.types),
9
+ trophyType: zod_1.z.enum(Object.keys(oj_record_1.ojRecord.trophies)),
10
+ createdAt: zod_1.z.iso.datetime({ offset: true }),
11
+ };
12
+ //# sourceMappingURL=record.atom.js.map