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

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 (129) 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/hq-api/index.d.ts +37 -0
  15. package/lib/endpoints/hq-api/index.js +14 -0
  16. package/lib/endpoints/hq-api/index.js.map +1 -0
  17. package/lib/endpoints/hq-api/serviceUptime.atom.d.ts +12 -0
  18. package/lib/endpoints/hq-api/serviceUptime.atom.js +18 -0
  19. package/lib/endpoints/hq-api/serviceUptime.atom.js.map +1 -0
  20. package/lib/endpoints/hq-api/serviceUptime.endpoint.d.ts +23 -0
  21. package/lib/endpoints/hq-api/serviceUptime.endpoint.js +23 -0
  22. package/lib/endpoints/hq-api/serviceUptime.endpoint.js.map +1 -0
  23. package/lib/endpoints/index.d.ts +2622 -0
  24. package/lib/endpoints/index.js +12 -0
  25. package/lib/endpoints/index.js.map +1 -0
  26. package/lib/endpoints/oj-api/auth.atom.d.ts +10 -0
  27. package/lib/endpoints/oj-api/auth.atom.js +26 -0
  28. package/lib/endpoints/oj-api/auth.atom.js.map +1 -0
  29. package/lib/endpoints/oj-api/auth.endpoint.d.ts +105 -0
  30. package/lib/endpoints/oj-api/auth.endpoint.js +118 -0
  31. package/lib/endpoints/oj-api/auth.endpoint.js.map +1 -0
  32. package/lib/endpoints/oj-api/contest.atom.d.ts +23 -0
  33. package/lib/endpoints/oj-api/contest.atom.js +20 -0
  34. package/lib/endpoints/oj-api/contest.atom.js.map +1 -0
  35. package/lib/endpoints/oj-api/contest.endpoint.d.ts +53 -0
  36. package/lib/endpoints/oj-api/contest.endpoint.js +49 -0
  37. package/lib/endpoints/oj-api/contest.endpoint.js.map +1 -0
  38. package/lib/endpoints/oj-api/index.d.ts +2523 -0
  39. package/lib/endpoints/oj-api/index.js +58 -0
  40. package/lib/endpoints/oj-api/index.js.map +1 -0
  41. package/lib/endpoints/oj-api/mail.atom.d.ts +12 -0
  42. package/lib/endpoints/oj-api/mail.atom.js +14 -0
  43. package/lib/endpoints/oj-api/mail.atom.js.map +1 -0
  44. package/lib/endpoints/oj-api/mail.endpoint.d.ts +48 -0
  45. package/lib/endpoints/oj-api/mail.endpoint.js +51 -0
  46. package/lib/endpoints/oj-api/mail.endpoint.js.map +1 -0
  47. package/lib/endpoints/oj-api/problem.atom.d.ts +120 -0
  48. package/lib/endpoints/oj-api/problem.atom.js +164 -0
  49. package/lib/endpoints/oj-api/problem.atom.js.map +1 -0
  50. package/lib/endpoints/oj-api/problem.endpoint.d.ts +291 -0
  51. package/lib/endpoints/oj-api/problem.endpoint.js +199 -0
  52. package/lib/endpoints/oj-api/problem.endpoint.js.map +1 -0
  53. package/lib/endpoints/oj-api/rank.atom.d.ts +5 -0
  54. package/lib/endpoints/oj-api/rank.atom.js +9 -0
  55. package/lib/endpoints/oj-api/rank.atom.js.map +1 -0
  56. package/lib/endpoints/oj-api/rank.endpoint.d.ts +54 -0
  57. package/lib/endpoints/oj-api/rank.endpoint.js +59 -0
  58. package/lib/endpoints/oj-api/rank.endpoint.js.map +1 -0
  59. package/lib/endpoints/oj-api/record.atom.d.ts +31 -0
  60. package/lib/endpoints/oj-api/record.atom.js +12 -0
  61. package/lib/endpoints/oj-api/record.atom.js.map +1 -0
  62. package/lib/endpoints/oj-api/record.endpoint.d.ts +107 -0
  63. package/lib/endpoints/oj-api/record.endpoint.js +87 -0
  64. package/lib/endpoints/oj-api/record.endpoint.js.map +1 -0
  65. package/lib/endpoints/oj-api/run.atom.d.ts +29 -0
  66. package/lib/endpoints/oj-api/run.atom.js +22 -0
  67. package/lib/endpoints/oj-api/run.atom.js.map +1 -0
  68. package/lib/endpoints/oj-api/run.endpoint.d.ts +59 -0
  69. package/lib/endpoints/oj-api/run.endpoint.js +50 -0
  70. package/lib/endpoints/oj-api/run.endpoint.js.map +1 -0
  71. package/lib/endpoints/oj-api/scoringRequest.atom.d.ts +24 -0
  72. package/lib/endpoints/oj-api/scoringRequest.atom.js +21 -0
  73. package/lib/endpoints/oj-api/scoringRequest.atom.js.map +1 -0
  74. package/lib/endpoints/oj-api/scoringRequest.endpoint.d.ts +47 -0
  75. package/lib/endpoints/oj-api/scoringRequest.endpoint.js +37 -0
  76. package/lib/endpoints/oj-api/scoringRequest.endpoint.js.map +1 -0
  77. package/lib/endpoints/oj-api/scoringServer.atom.d.ts +10 -0
  78. package/lib/endpoints/oj-api/scoringServer.atom.js +18 -0
  79. package/lib/endpoints/oj-api/scoringServer.atom.js.map +1 -0
  80. package/lib/endpoints/oj-api/scoringServer.endpoint.d.ts +21 -0
  81. package/lib/endpoints/oj-api/scoringServer.endpoint.js +25 -0
  82. package/lib/endpoints/oj-api/scoringServer.endpoint.js.map +1 -0
  83. package/lib/endpoints/oj-api/source.atom.d.ts +10 -0
  84. package/lib/endpoints/oj-api/source.atom.js +22 -0
  85. package/lib/endpoints/oj-api/source.atom.js.map +1 -0
  86. package/lib/endpoints/oj-api/source.endpoint.d.ts +98 -0
  87. package/lib/endpoints/oj-api/source.endpoint.js +72 -0
  88. package/lib/endpoints/oj-api/source.endpoint.js.map +1 -0
  89. package/lib/endpoints/oj-api/submit.atom.d.ts +62 -0
  90. package/lib/endpoints/oj-api/submit.atom.js +40 -0
  91. package/lib/endpoints/oj-api/submit.atom.js.map +1 -0
  92. package/lib/endpoints/oj-api/submit.endpoint.d.ts +236 -0
  93. package/lib/endpoints/oj-api/submit.endpoint.js +162 -0
  94. package/lib/endpoints/oj-api/submit.endpoint.js.map +1 -0
  95. package/lib/endpoints/oj-api/user.atom.d.ts +220 -0
  96. package/lib/endpoints/oj-api/user.atom.js +74 -0
  97. package/lib/endpoints/oj-api/user.atom.js.map +1 -0
  98. package/lib/endpoints/oj-api/user.endpoint.d.ts +879 -0
  99. package/lib/endpoints/oj-api/user.endpoint.js +502 -0
  100. package/lib/endpoints/oj-api/user.endpoint.js.map +1 -0
  101. package/lib/endpoints/oj-archives/index.d.ts +51 -0
  102. package/lib/endpoints/oj-archives/index.js +47 -0
  103. package/lib/endpoints/oj-archives/index.js.map +1 -0
  104. package/lib/endpoints/oj-problemContents/index.d.ts +15 -0
  105. package/lib/endpoints/oj-problemContents/index.js +17 -0
  106. package/lib/endpoints/oj-problemContents/index.js.map +1 -0
  107. package/lib/index.d.ts +2 -0
  108. package/lib/index.js +6 -0
  109. package/lib/index.js.map +1 -0
  110. package/lib/queues/index.d.ts +12 -0
  111. package/lib/queues/index.js +11 -0
  112. package/lib/queues/index.js.map +1 -0
  113. package/lib/queues/oj-clientSocketEventQueue.d.ts +12 -0
  114. package/lib/queues/oj-clientSocketEventQueue.js +16 -0
  115. package/lib/queues/oj-clientSocketEventQueue.js.map +1 -0
  116. package/lib/sockets/index.d.ts +34 -0
  117. package/lib/sockets/index.js +13 -0
  118. package/lib/sockets/index.js.map +1 -0
  119. package/lib/sockets/oj-socket/index.d.ts +18 -0
  120. package/lib/sockets/oj-socket/index.js +21 -0
  121. package/lib/sockets/oj-socket/index.js.map +1 -0
  122. package/lib/sockets/oj-web/index.d.ts +18 -0
  123. package/lib/sockets/oj-web/index.js +21 -0
  124. package/lib/sockets/oj-web/index.js.map +1 -0
  125. package/lib/types/index.d.ts +28 -0
  126. package/lib/types/index.js +3 -0
  127. package/lib/types/index.js.map +1 -0
  128. package/package.json +29 -3
  129. 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":";;AACA,6BAAwB;AAExB,+DAA2D;AAE3D,iDAA6C;AAE7C,MAAM,EAAE,MAAM,EAAE,GAAG,0BAAW,CAAC;AAE/B,kBAAe;IACb,GAAG,EAAE;QACH,MAAM;QACN,SAAS,EAAE;YACT,OAAO,EAAE,OAAO;SACjB;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,CAAC;SACjB;QACD,IAAI,EAAE,QAAiB;QACvB,MAAM,EAAE,KAAc;QACtB,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG;QACf,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;YACb,QAAQ,EAAE,OAAC,CAAC,KAAK,CACf,OAAC,CAAC,MAAM,CAAC;gBACP,EAAE,EAAE,0BAAW,CAAC,EAAE;gBAClB,KAAK,EAAE,0BAAW,CAAC,KAAK;gBACxB,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,0BAAW,CAAC,GAAG,CAAC;gBAC9B,WAAW,EAAE,0BAAW,CAAC,WAAW;gBACpC,YAAY,EAAE,0BAAW,CAAC,YAAY;aACvC,CAAC,CACH;YACD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;YACjC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;YACpC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;YACrC,eAAe,EAAE,0BAAW,CAAC,EAAE,CAAC,QAAQ,EAAE;SAC3C,CAAC;QACF,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC;YACd,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;YAClC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;YACxC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;YAC3C,WAAW,EAAE,0BAAW,CAAC,WAAW,CAAC,QAAQ,EAAE;YAC/C,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;YACpC,IAAI,EAAE,OAAC;iBACJ,IAAI,CAAC;gBACJ,eAAe;gBACf,gBAAgB;gBAChB,QAAQ;gBACR,SAAS;gBACT,WAAW;gBACX,YAAY;gBACZ,iBAAiB;gBACjB,kBAAkB;gBAClB,GAAI,MAAM,CAAC,IAAI,CACb,sBAAS,CAAC,MAAM,CACqB;aACxC,CAAC;iBACD,QAAQ,EAAE;YACb,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YACnD,aAAa,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;SACxE,CAAC;KACH;IACD,OAAO,EAAE;QACP,MAAM;QACN,SAAS,EAAE;YACT,OAAO,EAAE,UAAU;SACpB;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,CAAC;SACjB;QACD,IAAI,EAAE,QAAiB;QACvB,MAAM,EAAE,KAAc;QACtB,IAAI,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE;QACnC,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;YACb,EAAE,EAAE,0BAAW,CAAC,EAAE;YAClB,KAAK,EAAE,0BAAW,CAAC,KAAK;YACxB,UAAU,EAAE,0BAAW,CAAC,UAAU;YAClC,YAAY,EAAE,0BAAW,CAAC,YAAY;YACtC,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,0BAAW,CAAC,GAAG,CAAC;YAC9B,UAAU,EAAE,0BAAW,CAAC,UAAU,CAAC,QAAQ,EAAE;YAC7C,OAAO,EAAE,0BAAW,CAAC,OAAO,CAAC,QAAQ,EAAE;YACvC,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,0BAAW,CAAC,MAAM,CAAC;YACpC,WAAW,EAAE,0BAAW,CAAC,WAAW;YACpC,YAAY,EAAE,0BAAW,CAAC,YAAY;YACtC,SAAS,EAAE,0BAAW,CAAC,SAAS;YAChC,WAAW,EAAE,0BAAW,CAAC,WAAW;YACpC,WAAW,EAAE,0BAAW,CAAC,WAAW;YACpC,YAAY,EAAE,0BAAW,CAAC,YAAY;YACtC,aAAa,EAAE,0BAAW,CAAC,aAAa;SACzC,CAAC;KACH;IACD,eAAe,EAAE;QACf,MAAM;QACN,SAAS,EAAE;YACT,OAAO,EAAE,gBAAgB;SAC1B;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,CAAC;SACjB;QACD,IAAI,EAAE,QAAiB;QACvB,MAAM,EAAE,KAAc;QACtB,IAAI,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE;QAC5C,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;YACb,MAAM,EAAE,0BAAW,CAAC,EAAE,CAAC,QAAQ,EAAE;YACjC,MAAM,EAAE,0BAAW,CAAC,EAAE,CAAC,QAAQ,EAAE;SAClC,CAAC;KACH;IACD,YAAY,EAAE;QACZ,MAAM;QACN,SAAS,EAAE;YACT,OAAO,EAAE,UAAU;SACpB;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,CAAC;SACjB;QACD,IAAI,EAAE,QAAiB;QACvB,MAAM,EAAE,KAAc;QACtB,IAAI,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,eAAe,EAAE,EAAE;QACzC,IAAI,EAAE,0BAAW,CAAC,KAAK;KACxB;IACD,eAAe,EAAE;QACf,MAAM;QACN,SAAS,EAAE;YACT,OAAO,EAAE,cAAc;SACxB;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,CAAC;SACjB;QACD,IAAI,EAAE,QAAiB;QACvB,MAAM,EAAE,KAAc;QACtB,IAAI,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE;QAC5C,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,0BAAW,CAAC,QAAQ,CAAC;KACpC;IACD,qBAAqB,EAAE;QACrB,MAAM;QACN,SAAS,EAAE;YACT,OAAO,EAAE,gBAAgB;SAC1B;QACD,IAAI,EAAE,QAAiB;QACvB,MAAM,EAAE,KAAc;QACtB,IAAI,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,yBAAyB,EAAE,EAAE;QACnD,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,0BAAW,CAAC,cAAc,CAAC;KAC1C;IACD,eAAe,EAAE;QACf,MAAM;QACN,SAAS,EAAE;YACT,OAAO,EAAE,aAAa;SACvB;QACD,IAAI,EAAE,QAAiB;QACvB,MAAM,EAAE,KAAc;QACtB,IAAI,EAAE,GAAG,EAAE,CAAC,UAAU;QACtB,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,0BAAW,CAAC,WAAW,CAAC;KACvC;IACD,OAAO,EAAE;QACP,MAAM;QACN,SAAS,EAAE;YACT,OAAO,EAAE,UAAU;SACpB;QACD,IAAI,EAAE,QAAiB;QACvB,MAAM,EAAE,KAAc;QACtB,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO;QACnB,IAAI,EAAE,OAAC,CAAC,MAAM,CACZ,0BAAW,CAAC,GAAG,EACf,OAAC,CAAC,MAAM,CAAC;YACP,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,0BAAW,CAAC,EAAE,CAAC;SACpC,CAAC,CACH;KACF;IACD,mBAAmB,EAAE;QACnB,MAAM;QACN,SAAS,EAAE;YACT,OAAO,EAAE,eAAe;YACxB,cAAc,EAAE,IAAI;SACrB;QACD,IAAI,EAAE,QAAiB;QACvB,MAAM,EAAE,KAAc;QACtB,IAAI,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,sBAAsB,EAAE,EAAE;KACjD;IACD,kBAAkB,EAAE;QAClB,MAAM;QACN,SAAS,EAAE;YACT,OAAO,EAAE,eAAe;YACxB,cAAc,EAAE,IAAI;SACrB;QACD,IAAI,EAAE,QAAiB;QACvB,MAAM,EAAE,KAAc;QACtB,IAAI,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,qBAAqB,EAAE,EAAE;KAChD;IACD,YAAY,EAAE;QACZ,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,EAAU,EAAE,EAAE,CAAC,eAAe,EAAE,EAAE;KAC1C;IACD,eAAe,EAAE;QACf,MAAM;QACN,SAAS,EAAE;YACT,OAAO,EAAE,gBAAgB;YACzB,cAAc,EAAE,IAAI;SACrB;QACD,IAAI,EAAE,QAAiB;QACvB,MAAM,EAAE,KAAc;QACtB,IAAI,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE;KAC7C;CAC0C,CAAC"}
@@ -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