@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.
- package/lib/.tsbuildinfo +1 -0
- package/lib/auths/index.d.ts +49 -0
- package/lib/auths/index.js +49 -0
- package/lib/auths/index.js.map +1 -0
- package/lib/configs/index.d.ts +2 -0
- package/lib/configs/index.js +19 -0
- package/lib/configs/index.js.map +1 -0
- package/lib/configs/oj-envConfig/index.d.ts +143 -0
- package/lib/configs/oj-envConfig/index.js +35 -0
- package/lib/configs/oj-envConfig/index.js.map +1 -0
- package/lib/configs/style/index.d.ts +53 -0
- package/lib/configs/style/index.js +46 -0
- package/lib/configs/style/index.js.map +1 -0
- package/lib/endpoints/hq-api/index.d.ts +37 -0
- package/lib/endpoints/hq-api/index.js +14 -0
- package/lib/endpoints/hq-api/index.js.map +1 -0
- package/lib/endpoints/hq-api/serviceUptime.atom.d.ts +12 -0
- package/lib/endpoints/hq-api/serviceUptime.atom.js +18 -0
- package/lib/endpoints/hq-api/serviceUptime.atom.js.map +1 -0
- package/lib/endpoints/hq-api/serviceUptime.endpoint.d.ts +23 -0
- package/lib/endpoints/hq-api/serviceUptime.endpoint.js +23 -0
- package/lib/endpoints/hq-api/serviceUptime.endpoint.js.map +1 -0
- package/lib/endpoints/index.d.ts +2622 -0
- package/lib/endpoints/index.js +12 -0
- package/lib/endpoints/index.js.map +1 -0
- package/lib/endpoints/oj-api/auth.atom.d.ts +10 -0
- package/lib/endpoints/oj-api/auth.atom.js +26 -0
- package/lib/endpoints/oj-api/auth.atom.js.map +1 -0
- package/lib/endpoints/oj-api/auth.endpoint.d.ts +105 -0
- package/lib/endpoints/oj-api/auth.endpoint.js +118 -0
- package/lib/endpoints/oj-api/auth.endpoint.js.map +1 -0
- package/lib/endpoints/oj-api/contest.atom.d.ts +23 -0
- package/lib/endpoints/oj-api/contest.atom.js +20 -0
- package/lib/endpoints/oj-api/contest.atom.js.map +1 -0
- package/lib/endpoints/oj-api/contest.endpoint.d.ts +53 -0
- package/lib/endpoints/oj-api/contest.endpoint.js +49 -0
- package/lib/endpoints/oj-api/contest.endpoint.js.map +1 -0
- package/lib/endpoints/oj-api/index.d.ts +2523 -0
- package/lib/endpoints/oj-api/index.js +58 -0
- package/lib/endpoints/oj-api/index.js.map +1 -0
- package/lib/endpoints/oj-api/mail.atom.d.ts +12 -0
- package/lib/endpoints/oj-api/mail.atom.js +14 -0
- package/lib/endpoints/oj-api/mail.atom.js.map +1 -0
- package/lib/endpoints/oj-api/mail.endpoint.d.ts +48 -0
- package/lib/endpoints/oj-api/mail.endpoint.js +51 -0
- package/lib/endpoints/oj-api/mail.endpoint.js.map +1 -0
- package/lib/endpoints/oj-api/problem.atom.d.ts +120 -0
- package/lib/endpoints/oj-api/problem.atom.js +164 -0
- package/lib/endpoints/oj-api/problem.atom.js.map +1 -0
- package/lib/endpoints/oj-api/problem.endpoint.d.ts +291 -0
- package/lib/endpoints/oj-api/problem.endpoint.js +199 -0
- package/lib/endpoints/oj-api/problem.endpoint.js.map +1 -0
- package/lib/endpoints/oj-api/rank.atom.d.ts +5 -0
- package/lib/endpoints/oj-api/rank.atom.js +9 -0
- package/lib/endpoints/oj-api/rank.atom.js.map +1 -0
- package/lib/endpoints/oj-api/rank.endpoint.d.ts +54 -0
- package/lib/endpoints/oj-api/rank.endpoint.js +59 -0
- package/lib/endpoints/oj-api/rank.endpoint.js.map +1 -0
- package/lib/endpoints/oj-api/record.atom.d.ts +31 -0
- package/lib/endpoints/oj-api/record.atom.js +12 -0
- package/lib/endpoints/oj-api/record.atom.js.map +1 -0
- package/lib/endpoints/oj-api/record.endpoint.d.ts +107 -0
- package/lib/endpoints/oj-api/record.endpoint.js +87 -0
- package/lib/endpoints/oj-api/record.endpoint.js.map +1 -0
- package/lib/endpoints/oj-api/run.atom.d.ts +29 -0
- package/lib/endpoints/oj-api/run.atom.js +22 -0
- package/lib/endpoints/oj-api/run.atom.js.map +1 -0
- package/lib/endpoints/oj-api/run.endpoint.d.ts +59 -0
- package/lib/endpoints/oj-api/run.endpoint.js +50 -0
- package/lib/endpoints/oj-api/run.endpoint.js.map +1 -0
- package/lib/endpoints/oj-api/scoringRequest.atom.d.ts +24 -0
- package/lib/endpoints/oj-api/scoringRequest.atom.js +21 -0
- package/lib/endpoints/oj-api/scoringRequest.atom.js.map +1 -0
- package/lib/endpoints/oj-api/scoringRequest.endpoint.d.ts +47 -0
- package/lib/endpoints/oj-api/scoringRequest.endpoint.js +37 -0
- package/lib/endpoints/oj-api/scoringRequest.endpoint.js.map +1 -0
- package/lib/endpoints/oj-api/scoringServer.atom.d.ts +10 -0
- package/lib/endpoints/oj-api/scoringServer.atom.js +18 -0
- package/lib/endpoints/oj-api/scoringServer.atom.js.map +1 -0
- package/lib/endpoints/oj-api/scoringServer.endpoint.d.ts +21 -0
- package/lib/endpoints/oj-api/scoringServer.endpoint.js +25 -0
- package/lib/endpoints/oj-api/scoringServer.endpoint.js.map +1 -0
- package/lib/endpoints/oj-api/source.atom.d.ts +10 -0
- package/lib/endpoints/oj-api/source.atom.js +22 -0
- package/lib/endpoints/oj-api/source.atom.js.map +1 -0
- package/lib/endpoints/oj-api/source.endpoint.d.ts +98 -0
- package/lib/endpoints/oj-api/source.endpoint.js +72 -0
- package/lib/endpoints/oj-api/source.endpoint.js.map +1 -0
- package/lib/endpoints/oj-api/submit.atom.d.ts +62 -0
- package/lib/endpoints/oj-api/submit.atom.js +40 -0
- package/lib/endpoints/oj-api/submit.atom.js.map +1 -0
- package/lib/endpoints/oj-api/submit.endpoint.d.ts +236 -0
- package/lib/endpoints/oj-api/submit.endpoint.js +162 -0
- package/lib/endpoints/oj-api/submit.endpoint.js.map +1 -0
- package/lib/endpoints/oj-api/user.atom.d.ts +220 -0
- package/lib/endpoints/oj-api/user.atom.js +74 -0
- package/lib/endpoints/oj-api/user.atom.js.map +1 -0
- package/lib/endpoints/oj-api/user.endpoint.d.ts +879 -0
- package/lib/endpoints/oj-api/user.endpoint.js +502 -0
- package/lib/endpoints/oj-api/user.endpoint.js.map +1 -0
- package/lib/endpoints/oj-archives/index.d.ts +51 -0
- package/lib/endpoints/oj-archives/index.js +47 -0
- package/lib/endpoints/oj-archives/index.js.map +1 -0
- package/lib/endpoints/oj-problemContents/index.d.ts +15 -0
- package/lib/endpoints/oj-problemContents/index.js +17 -0
- package/lib/endpoints/oj-problemContents/index.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +6 -0
- package/lib/index.js.map +1 -0
- package/lib/queues/index.d.ts +12 -0
- package/lib/queues/index.js +11 -0
- package/lib/queues/index.js.map +1 -0
- package/lib/queues/oj-clientSocketEventQueue.d.ts +12 -0
- package/lib/queues/oj-clientSocketEventQueue.js +16 -0
- package/lib/queues/oj-clientSocketEventQueue.js.map +1 -0
- package/lib/sockets/index.d.ts +34 -0
- package/lib/sockets/index.js +13 -0
- package/lib/sockets/index.js.map +1 -0
- package/lib/sockets/oj-socket/index.d.ts +18 -0
- package/lib/sockets/oj-socket/index.js +21 -0
- package/lib/sockets/oj-socket/index.js.map +1 -0
- package/lib/sockets/oj-web/index.d.ts +18 -0
- package/lib/sockets/oj-web/index.js +21 -0
- package/lib/sockets/oj-web/index.js.map +1 -0
- package/lib/types/index.d.ts +28 -0
- package/lib/types/index.js +3 -0
- package/lib/types/index.js.map +1 -0
- package/package.json +29 -3
- 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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"}
|