@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,58 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const auth_atom_1 = require("./auth.atom");
7
+ const auth_endpoint_1 = __importDefault(require("./auth.endpoint"));
8
+ const contest_atom_1 = require("./contest.atom");
9
+ const contest_endpoint_1 = __importDefault(require("./contest.endpoint"));
10
+ const mail_atom_1 = require("./mail.atom");
11
+ const mail_endpoint_1 = __importDefault(require("./mail.endpoint"));
12
+ const problem_atom_1 = require("./problem.atom");
13
+ const problem_endpoint_1 = __importDefault(require("./problem.endpoint"));
14
+ const rank_atom_1 = require("./rank.atom");
15
+ const rank_endpoint_1 = __importDefault(require("./rank.endpoint"));
16
+ const record_atom_1 = require("./record.atom");
17
+ const record_endpoint_1 = __importDefault(require("./record.endpoint"));
18
+ const run_atom_1 = require("./run.atom");
19
+ const run_endpoint_1 = __importDefault(require("./run.endpoint"));
20
+ const scoringRequest_atom_1 = require("./scoringRequest.atom");
21
+ const scoringRequest_endpoint_1 = __importDefault(require("./scoringRequest.endpoint"));
22
+ const scoringServer_atom_1 = require("./scoringServer.atom");
23
+ const scoringServer_endpoint_1 = __importDefault(require("./scoringServer.endpoint"));
24
+ const source_atom_1 = require("./source.atom");
25
+ const source_endpoint_1 = __importDefault(require("./source.endpoint"));
26
+ const submit_atom_1 = require("./submit.atom");
27
+ const submit_endpoint_1 = __importDefault(require("./submit.endpoint"));
28
+ const user_atom_1 = require("./user.atom");
29
+ const user_endpoint_1 = __importDefault(require("./user.endpoint"));
30
+ exports.default = {
31
+ atoms: {
32
+ auth: auth_atom_1.authAtom,
33
+ contest: contest_atom_1.contestAtom,
34
+ mail: mail_atom_1.mailAtom,
35
+ problem: problem_atom_1.problemAtom,
36
+ rank: rank_atom_1.rankAtom,
37
+ record: record_atom_1.recordAtom,
38
+ run: run_atom_1.runAtom,
39
+ scoringRequest: scoringRequest_atom_1.scoringRequestAtom,
40
+ scoringServer: scoringServer_atom_1.scoringServerAtom,
41
+ source: source_atom_1.sourceAtom,
42
+ submit: submit_atom_1.submitAtom,
43
+ user: user_atom_1.userAtom,
44
+ },
45
+ auth: auth_endpoint_1.default,
46
+ contest: contest_endpoint_1.default,
47
+ mail: mail_endpoint_1.default,
48
+ problem: problem_endpoint_1.default,
49
+ rank: rank_endpoint_1.default,
50
+ record: record_endpoint_1.default,
51
+ run: run_endpoint_1.default,
52
+ scoringRequest: scoringRequest_endpoint_1.default,
53
+ scoringServer: scoringServer_endpoint_1.default,
54
+ source: source_endpoint_1.default,
55
+ submit: submit_endpoint_1.default,
56
+ user: user_endpoint_1.default,
57
+ };
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/endpoints/oj-api/index.ts"],"names":[],"mappings":";;;;;AAAA,2CAAuC;AACvC,oEAAmC;AACnC,iDAA6C;AAC7C,0EAAyC;AACzC,2CAAuC;AACvC,oEAAmC;AACnC,iDAA6C;AAC7C,0EAAyC;AACzC,2CAAuC;AACvC,oEAAmC;AACnC,+CAA2C;AAC3C,wEAAuC;AACvC,yCAAqC;AACrC,kEAAiC;AACjC,+DAA2D;AAC3D,wFAAuD;AACvD,6DAAyD;AACzD,sFAAqD;AACrD,+CAA2C;AAC3C,wEAAuC;AACvC,+CAA2C;AAC3C,wEAAuC;AACvC,2CAAuC;AACvC,oEAAmC;AAEnC,kBAAe;IACb,KAAK,EAAE;QACL,IAAI,EAAE,oBAAQ;QACd,OAAO,EAAE,0BAAW;QACpB,IAAI,EAAE,oBAAQ;QACd,OAAO,EAAE,0BAAW;QACpB,IAAI,EAAE,oBAAQ;QACd,MAAM,EAAE,wBAAU;QAClB,GAAG,EAAE,kBAAO;QACZ,cAAc,EAAE,wCAAkB;QAClC,aAAa,EAAE,sCAAiB;QAChC,MAAM,EAAE,wBAAU;QAClB,MAAM,EAAE,wBAAU;QAClB,IAAI,EAAE,oBAAQ;KACf;IACD,IAAI,EAAJ,uBAAI;IACJ,OAAO,EAAP,0BAAO;IACP,IAAI,EAAJ,uBAAI;IACJ,OAAO,EAAP,0BAAO;IACP,IAAI,EAAJ,uBAAI;IACJ,MAAM,EAAN,yBAAM;IACN,GAAG,EAAH,sBAAG;IACH,cAAc,EAAd,iCAAc;IACd,aAAa,EAAb,gCAAa;IACb,MAAM,EAAN,yBAAM;IACN,MAAM,EAAN,yBAAM;IACN,IAAI,EAAJ,uBAAI;CACL,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+ export declare const mailAtom: {
3
+ prefix: string;
4
+ id: z.ZodString;
5
+ type: z.ZodEnum<{
6
+ "email-verification": "email-verification";
7
+ "reset-password": "reset-password";
8
+ }>;
9
+ email: z.ZodEmail;
10
+ verificationToken: z.ZodString;
11
+ expiredAt: z.ZodISODateTime;
12
+ };
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mailAtom = void 0;
4
+ const zod_1 = require("zod");
5
+ const oj_mail_1 = require("@euler-edu/constant/oj-mail");
6
+ exports.mailAtom = {
7
+ prefix: '/mail',
8
+ id: zod_1.z.string().trim().min(1),
9
+ type: zod_1.z.enum(oj_mail_1.ojMail.types),
10
+ email: zod_1.z.email().trim().min(1),
11
+ verificationToken: zod_1.z.string().trim().min(1).max(100),
12
+ expiredAt: zod_1.z.iso.datetime({ offset: true }),
13
+ };
14
+ //# sourceMappingURL=mail.atom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail.atom.js","sourceRoot":"","sources":["../../../src/endpoints/oj-api/mail.atom.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yDAAqD;AAExC,QAAA,QAAQ,GAAG;IACtB,MAAM,EAAE,OAAO;IACf,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,gBAAM,CAAC,KAAK,CAAC;IAC1B,KAAK,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,iBAAiB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACpD,SAAS,EAAE,OAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;CAC5C,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { z } from 'zod';
2
+ declare const _default: {
3
+ readonly getById: {
4
+ readonly prefix: string;
5
+ readonly operation: {
6
+ readonly summary: "메일 조회";
7
+ };
8
+ readonly base: "oj-api";
9
+ readonly method: "get";
10
+ readonly path: (id: string) => string;
11
+ readonly data: z.ZodObject<{
12
+ id: z.ZodString;
13
+ type: z.ZodEnum<{
14
+ "email-verification": "email-verification";
15
+ "reset-password": "reset-password";
16
+ }>;
17
+ expiredAt: z.ZodISODateTime;
18
+ }, z.core.$strip>;
19
+ };
20
+ readonly postEmailVerification: {
21
+ readonly prefix: string;
22
+ readonly operation: {
23
+ readonly summary: "이메일 인증 요청";
24
+ };
25
+ readonly auth: {
26
+ readonly temp: true;
27
+ };
28
+ readonly base: "oj-api";
29
+ readonly method: "post";
30
+ readonly path: () => string;
31
+ readonly data: z.ZodString;
32
+ };
33
+ readonly postResetPassword: {
34
+ readonly prefix: string;
35
+ readonly operation: {
36
+ readonly summary: "비밀번호 재설정 요청";
37
+ };
38
+ readonly base: "oj-api";
39
+ readonly method: "post";
40
+ readonly path: () => string;
41
+ readonly body: z.ZodObject<{
42
+ userId: z.ZodString;
43
+ userEmail: z.ZodEmail;
44
+ }, z.core.$strip>;
45
+ readonly data: z.ZodString;
46
+ };
47
+ };
48
+ export default _default;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const zod_1 = require("zod");
4
+ const auth_atom_1 = require("./auth.atom");
5
+ const mail_atom_1 = require("./mail.atom");
6
+ const user_atom_1 = require("./user.atom");
7
+ const { prefix } = mail_atom_1.mailAtom;
8
+ exports.default = {
9
+ getById: {
10
+ prefix,
11
+ operation: {
12
+ summary: '메일 조회',
13
+ },
14
+ base: 'oj-api',
15
+ method: 'get',
16
+ path: (id) => `/byId/${id}`,
17
+ data: zod_1.z.object({
18
+ id: mail_atom_1.mailAtom.id,
19
+ type: mail_atom_1.mailAtom.type,
20
+ expiredAt: mail_atom_1.mailAtom.expiredAt,
21
+ }),
22
+ },
23
+ postEmailVerification: {
24
+ prefix,
25
+ operation: {
26
+ summary: '이메일 인증 요청',
27
+ },
28
+ auth: {
29
+ temp: true,
30
+ },
31
+ base: 'oj-api',
32
+ method: 'post',
33
+ path: () => `/email-verification`,
34
+ data: mail_atom_1.mailAtom.id,
35
+ },
36
+ postResetPassword: {
37
+ prefix,
38
+ operation: {
39
+ summary: '비밀번호 재설정 요청',
40
+ },
41
+ base: 'oj-api',
42
+ method: 'post',
43
+ path: () => `/reset-password`,
44
+ body: zod_1.z.object({
45
+ userId: auth_atom_1.authAtom.id,
46
+ userEmail: user_atom_1.userAtom.email,
47
+ }),
48
+ data: mail_atom_1.mailAtom.id,
49
+ },
50
+ };
51
+ //# sourceMappingURL=mail.endpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail.endpoint.js","sourceRoot":"","sources":["../../../src/endpoints/oj-api/mail.endpoint.ts"],"names":[],"mappings":";;AACA,6BAAwB;AAExB,2CAAuC;AACvC,2CAAuC;AACvC,2CAAuC;AAEvC,MAAM,EAAE,MAAM,EAAE,GAAG,oBAAQ,CAAC;AAE5B,kBAAe;IACb,OAAO,EAAE;QACP,MAAM;QACN,SAAS,EAAE;YACT,OAAO,EAAE,OAAO;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,oBAAQ,CAAC,EAAE;YACf,IAAI,EAAE,oBAAQ,CAAC,IAAI;YACnB,SAAS,EAAE,oBAAQ,CAAC,SAAS;SAC9B,CAAC;KACH;IACD,qBAAqB,EAAE;QACrB,MAAM;QACN,SAAS,EAAE;YACT,OAAO,EAAE,WAAW;SACrB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,IAAI;SACX;QACD,IAAI,EAAE,QAAiB;QACvB,MAAM,EAAE,MAAe;QACvB,IAAI,EAAE,GAAG,EAAE,CAAC,qBAAqB;QACjC,IAAI,EAAE,oBAAQ,CAAC,EAAE;KAClB;IACD,iBAAiB,EAAE;QACjB,MAAM;QACN,SAAS,EAAE;YACT,OAAO,EAAE,aAAa;SACvB;QACD,IAAI,EAAE,QAAiB;QACvB,MAAM,EAAE,MAAe;QACvB,IAAI,EAAE,GAAG,EAAE,CAAC,iBAAiB;QAC7B,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;YACb,MAAM,EAAE,oBAAQ,CAAC,EAAE;YACnB,SAAS,EAAE,oBAAQ,CAAC,KAAK;SAC1B,CAAC;QACF,IAAI,EAAE,oBAAQ,CAAC,EAAE;KAClB;CAC0C,CAAC"}
@@ -0,0 +1,120 @@
1
+ import { z } from 'zod';
2
+ export declare const problemAtom: {
3
+ prefix: string;
4
+ id: z.ZodString;
5
+ title: z.ZodString;
6
+ isViewable: z.ZodBoolean;
7
+ isSubmitable: z.ZodBoolean;
8
+ tag: z.ZodString;
9
+ youtubeUrl: z.ZodString;
10
+ blogUrl: z.ZodString;
11
+ sample: z.ZodObject<{
12
+ input: z.ZodString;
13
+ output: z.ZodString;
14
+ }, z.core.$strip>;
15
+ solvesCount: z.ZodNumber;
16
+ submitsCount: z.ZodNumber;
17
+ stats: z.ZodObject<{
18
+ solvesCount: z.ZodNumber;
19
+ submitsCount: z.ZodNumber;
20
+ createdAtMin: z.ZodOptional<z.ZodISODateTime>;
21
+ createdAtMax: z.ZodOptional<z.ZodISODateTime>;
22
+ sourceLengthMin: z.ZodOptional<z.ZodNumber>;
23
+ sourceLengthMedian: z.ZodOptional<z.ZodNumber>;
24
+ sourceLengthMax: z.ZodOptional<z.ZodNumber>;
25
+ timeMin: z.ZodOptional<z.ZodNumber>;
26
+ timeMedian: z.ZodOptional<z.ZodNumber>;
27
+ timeMax: z.ZodOptional<z.ZodNumber>;
28
+ memoryMin: z.ZodOptional<z.ZodNumber>;
29
+ memoryMedian: z.ZodOptional<z.ZodNumber>;
30
+ memoryMax: z.ZodOptional<z.ZodNumber>;
31
+ status: z.ZodRecord<z.ZodEnum<{
32
+ output: "output";
33
+ accept: "accept";
34
+ wrong: "wrong";
35
+ time: "time";
36
+ memory: "memory";
37
+ compile: "compile";
38
+ runtime: "runtime";
39
+ server: "server";
40
+ pending: "pending";
41
+ }> & z.core.$partial, z.ZodNumber>;
42
+ createdAt: z.ZodArray<z.ZodObject<{
43
+ min: z.ZodISODateTime;
44
+ max: z.ZodISODateTime;
45
+ acceptCount: z.ZodNumber;
46
+ totalCount: z.ZodNumber;
47
+ }, z.core.$strip>>;
48
+ language: z.ZodRecord<z.ZodEnum<{
49
+ c: "c";
50
+ ruby: "ruby";
51
+ r: "r";
52
+ c11: "c11";
53
+ "c++": "c++";
54
+ "c++11": "c++11";
55
+ "c++14": "c++14";
56
+ "c++17": "c++17";
57
+ python2: "python2";
58
+ python3: "python3";
59
+ pypy3: "pypy3";
60
+ openjdk: "openjdk";
61
+ golang: "golang";
62
+ }> & z.core.$partial, z.ZodObject<{
63
+ acceptCount: z.ZodNumber;
64
+ totalCount: z.ZodNumber;
65
+ }, z.core.$strip>>;
66
+ time: z.ZodArray<z.ZodObject<{
67
+ min: z.ZodNumber;
68
+ max: z.ZodNumber;
69
+ acceptCount: z.ZodNumber;
70
+ }, z.core.$strip>>;
71
+ memory: z.ZodArray<z.ZodObject<{
72
+ min: z.ZodNumber;
73
+ max: z.ZodNumber;
74
+ acceptCount: z.ZodNumber;
75
+ }, z.core.$strip>>;
76
+ sourceLength: z.ZodArray<z.ZodObject<{
77
+ min: z.ZodNumber;
78
+ max: z.ZodNumber;
79
+ acceptCount: z.ZodNumber;
80
+ }, z.core.$strip>>;
81
+ updatedAt: z.ZodISODateTime;
82
+ }, z.core.$strip>;
83
+ testcase: z.ZodObject<{
84
+ index: z.ZodNumber;
85
+ input: z.ZodObject<{
86
+ path: z.ZodString;
87
+ versions: z.ZodArray<z.ZodObject<{
88
+ versionId: z.ZodString;
89
+ lastModified: z.ZodISODateTime;
90
+ isLatest: z.ZodBoolean;
91
+ }, z.core.$strip>>;
92
+ }, z.core.$strip>;
93
+ output: z.ZodObject<{
94
+ path: z.ZodString;
95
+ versions: z.ZodArray<z.ZodObject<{
96
+ versionId: z.ZodString;
97
+ lastModified: z.ZodISODateTime;
98
+ isLatest: z.ZodBoolean;
99
+ }, z.core.$strip>>;
100
+ }, z.core.$strip>;
101
+ }, z.core.$strip>;
102
+ contentVersion: z.ZodObject<{
103
+ versionId: z.ZodOptional<z.ZodString>;
104
+ lastModified: z.ZodISODateTime;
105
+ isLatest: z.ZodBoolean;
106
+ }, z.core.$strip>;
107
+ timelimit: z.ZodNumber;
108
+ memorylimit: z.ZodNumber;
109
+ scoringmethod: z.ZodEnum<{
110
+ "exact-match": "exact-match";
111
+ spj: "spj";
112
+ }>;
113
+ inputmethod: z.ZodEnum<{
114
+ "Standard Input": "Standard Input";
115
+ }>;
116
+ outputmethod: z.ZodEnum<{
117
+ "Standard Output": "Standard Output";
118
+ }>;
119
+ numberGroup: z.ZodString;
120
+ };
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.problemAtom = void 0;
4
+ const zod_1 = require("zod");
5
+ const oj_submit_1 = require("@euler-edu/constant/oj-submit");
6
+ exports.problemAtom = {
7
+ prefix: '/problem',
8
+ id: zod_1.z.string().trim().min(1).describe('문제 아이디'),
9
+ title: zod_1.z.string().trim().min(1).describe('문제 제목'),
10
+ isViewable: zod_1.z.boolean().describe('조회 가능 여부'),
11
+ isSubmitable: zod_1.z.boolean().describe('제출 가능 여부'),
12
+ tag: zod_1.z.string().trim().min(1).describe('문제 태그'),
13
+ youtubeUrl: zod_1.z.string().trim().min(1).describe('유튜브 url'),
14
+ blogUrl: zod_1.z.string().trim().min(1).describe('블로그 url'),
15
+ sample: zod_1.z.object({
16
+ input: zod_1.z.string(),
17
+ output: zod_1.z.string(),
18
+ }),
19
+ solvesCount: zod_1.z.number().int().nonnegative().describe('문제 해결 횟수'),
20
+ submitsCount: zod_1.z.number().int().nonnegative().describe('문제 제출 횟수'),
21
+ stats: zod_1.z.object({
22
+ solvesCount: zod_1.z.number().int().nonnegative().describe('문제 해결 횟수'),
23
+ submitsCount: zod_1.z.number().int().nonnegative().describe('문제 제출 횟수'),
24
+ createdAtMin: zod_1.z.iso
25
+ .datetime({ offset: true })
26
+ .optional()
27
+ .describe('제출일 최솟값'),
28
+ createdAtMax: zod_1.z.iso
29
+ .datetime({ offset: true })
30
+ .optional()
31
+ .describe('제출일 최댓값'),
32
+ sourceLengthMin: zod_1.z
33
+ .number()
34
+ .min(0)
35
+ .optional()
36
+ .describe('소스코드 길이 최솟값 (byte)'),
37
+ sourceLengthMedian: zod_1.z
38
+ .number()
39
+ .min(0)
40
+ .optional()
41
+ .describe('소스코드 길이 중앙값 (byte)'),
42
+ sourceLengthMax: zod_1.z
43
+ .number()
44
+ .min(0)
45
+ .optional()
46
+ .describe('소스코드 길이 최댓값 (byte)'),
47
+ timeMin: zod_1.z
48
+ .number()
49
+ .min(0)
50
+ .optional()
51
+ .describe('최대 실행 시간 최솟값 (sec)'),
52
+ timeMedian: zod_1.z
53
+ .number()
54
+ .min(0)
55
+ .optional()
56
+ .describe('최대 실행 시간 중앙값 (sec)'),
57
+ timeMax: zod_1.z
58
+ .number()
59
+ .min(0)
60
+ .optional()
61
+ .describe('최대 실행 시간 최댓값 (sec)'),
62
+ memoryMin: zod_1.z
63
+ .number()
64
+ .min(0)
65
+ .optional()
66
+ .describe('최대 메모리 사용량 최솟값 (mb)'),
67
+ memoryMedian: zod_1.z
68
+ .number()
69
+ .min(0)
70
+ .optional()
71
+ .describe('최대 메모리 사용량 중앙값 (mb)'),
72
+ memoryMax: zod_1.z
73
+ .number()
74
+ .min(0)
75
+ .optional()
76
+ .describe('최대 메모리 사용량 최댓값 (mb)'),
77
+ status: zod_1.z
78
+ .partialRecord(zod_1.z.enum(oj_submit_1.ojSubmit.statuses), zod_1.z.number().int().nonnegative())
79
+ .describe('문제 제출 상태별 통계'),
80
+ createdAt: zod_1.z.array(zod_1.z.object({
81
+ min: zod_1.z.iso.datetime({ offset: true }),
82
+ max: zod_1.z.iso.datetime({ offset: true }),
83
+ acceptCount: zod_1.z.number().int().nonnegative(),
84
+ totalCount: zod_1.z.number().int().nonnegative(),
85
+ })),
86
+ language: zod_1.z
87
+ .partialRecord(zod_1.z.enum(Object.keys(oj_submit_1.ojSubmit.environments)), zod_1.z.object({
88
+ acceptCount: zod_1.z.number().int().nonnegative(),
89
+ totalCount: zod_1.z.number().int().nonnegative(),
90
+ }))
91
+ .describe('언어별 통계'),
92
+ time: zod_1.z
93
+ .array(zod_1.z.object({
94
+ min: zod_1.z.number().nonnegative(),
95
+ max: zod_1.z.number().nonnegative(),
96
+ acceptCount: zod_1.z.number().int().nonnegative(),
97
+ }))
98
+ .describe('실행 시간별 통계'),
99
+ memory: zod_1.z
100
+ .array(zod_1.z.object({
101
+ min: zod_1.z.number().nonnegative(),
102
+ max: zod_1.z.number().nonnegative(),
103
+ acceptCount: zod_1.z.number().int().nonnegative(),
104
+ }))
105
+ .describe('메모리 사용량별 통계'),
106
+ sourceLength: zod_1.z
107
+ .array(zod_1.z.object({
108
+ min: zod_1.z.number().nonnegative(),
109
+ max: zod_1.z.number().nonnegative(),
110
+ acceptCount: zod_1.z.number().int().nonnegative(),
111
+ }))
112
+ .describe('소스코드 길이별 통계'),
113
+ updatedAt: zod_1.z.iso.datetime({ offset: true }).describe('통계 갱신 시각'),
114
+ }),
115
+ testcase: zod_1.z
116
+ .object({
117
+ index: zod_1.z.number().int().nonnegative().describe('테스트케이스 인덱스'),
118
+ input: zod_1.z.object({
119
+ path: zod_1.z.string().trim().min(1).describe('테스트케이스 입력 파일 경로'),
120
+ versions: zod_1.z.array(zod_1.z.object({
121
+ versionId: zod_1.z
122
+ .string()
123
+ .trim()
124
+ .min(1)
125
+ .describe('테스트케이스 입력 파일 버전 ID'),
126
+ lastModified: zod_1.z.iso
127
+ .datetime({ offset: true })
128
+ .describe('테스트케이스 입력 파일 마지막 수정 시각'),
129
+ isLatest: zod_1.z.boolean().describe('테스트케이스 입력 파일 최신 여부'),
130
+ })),
131
+ }),
132
+ output: zod_1.z.object({
133
+ path: zod_1.z.string().trim().min(1).describe('테스트케이스 출력 파일 경로'),
134
+ versions: zod_1.z.array(zod_1.z.object({
135
+ versionId: zod_1.z
136
+ .string()
137
+ .trim()
138
+ .min(1)
139
+ .describe('테스트케이스 출력 파일 버전 ID'),
140
+ lastModified: zod_1.z.iso
141
+ .datetime({ offset: true })
142
+ .describe('테스트케이스 출력 파일 마지막 수정 시각'),
143
+ isLatest: zod_1.z.boolean().describe('테스트케이스 출력 파일 최신 여부'),
144
+ })),
145
+ }),
146
+ })
147
+ .describe('테스트케이스 정보'),
148
+ contentVersion: zod_1.z
149
+ .object({
150
+ versionId: zod_1.z.string().trim().min(1).optional().describe('콘텐츠 버전 ID'),
151
+ lastModified: zod_1.z.iso
152
+ .datetime({ offset: true })
153
+ .describe('콘텐츠 마지막 수정 시각'),
154
+ isLatest: zod_1.z.boolean().describe('콘텐츠 최신 여부'),
155
+ })
156
+ .describe('문제 내용 수정 내용'),
157
+ timelimit: zod_1.z.number().nonnegative().describe('제한 시간 (sec)'),
158
+ memorylimit: zod_1.z.number().nonnegative().describe('제한 메모리 (mb)'),
159
+ scoringmethod: zod_1.z.enum(['exact-match', 'spj']).describe('채점 방식'),
160
+ inputmethod: zod_1.z.enum(['Standard Input']),
161
+ outputmethod: zod_1.z.enum(['Standard Output']),
162
+ numberGroup: zod_1.z.string().trim().min(1).describe('문제 번호 그룹'),
163
+ };
164
+ //# sourceMappingURL=problem.atom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"problem.atom.js","sourceRoot":"","sources":["../../../src/endpoints/oj-api/problem.atom.ts"],"names":[],"mappings":"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"}