@juki-team/commons 0.1.43 → 0.1.46
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/dist/cjs/index.cjs +514 -546
- package/dist/esm/index.js +416 -491
- package/dist/types/constants/entity.d.ts +3 -3
- package/dist/types/constants/index.d.ts +1 -1
- package/dist/types/constants/organization.d.ts +9 -0
- package/dist/types/constants/websocket.d.ts +18 -22
- package/dist/types/dto/class.d.ts +34 -34
- package/dist/types/dto/code.d.ts +1 -1
- package/dist/types/dto/comments.d.ts +9 -9
- package/dist/types/dto/contest.d.ts +46 -42
- package/dist/types/dto/course.d.ts +13 -13
- package/dist/types/dto/entity.d.ts +30 -25
- package/dist/types/dto/excalidraw.d.ts +7 -7
- package/dist/types/dto/file.d.ts +10 -15
- package/dist/types/dto/image.d.ts +2 -2
- package/dist/types/dto/index.d.ts +1 -1
- package/dist/types/dto/judge.d.ts +5 -5
- package/dist/types/dto/markdown.d.ts +7 -7
- package/dist/types/dto/mermaid.d.ts +7 -7
- package/dist/types/dto/{company.d.ts → organization.d.ts} +16 -16
- package/dist/types/dto/problem.d.ts +22 -22
- package/dist/types/dto/scoreboard.d.ts +8 -18
- package/dist/types/dto/session.d.ts +9 -9
- package/dist/types/dto/socket.d.ts +76 -125
- package/dist/types/dto/statistics.d.ts +7 -7
- package/dist/types/dto/submission.d.ts +22 -22
- package/dist/types/dto/system.d.ts +7 -82
- package/dist/types/dto/url.d.ts +1 -1
- package/dist/types/dto/user.d.ts +22 -22
- package/dist/types/dto/virtual-user.d.ts +3 -25
- package/dist/types/dto/worksheet-submissions.d.ts +22 -22
- package/dist/types/dto/worksheet.d.ts +12 -12
- package/dist/types/helpers/class.d.ts +4 -4
- package/dist/types/helpers/comments.d.ts +1 -1
- package/dist/types/helpers/contest.d.ts +4 -4
- package/dist/types/helpers/date.d.ts +68 -0
- package/dist/types/helpers/document.d.ts +2 -2
- package/dist/types/helpers/index.d.ts +3 -0
- package/dist/types/helpers/number.d.ts +2 -0
- package/dist/types/helpers/responses.d.ts +1 -1
- package/dist/types/helpers/socket.d.ts +48 -50
- package/dist/types/helpers/time.d.ts +0 -11
- package/dist/types/helpers/user.d.ts +2 -2
- package/dist/types/index.d.ts +0 -1
- package/dist/types/types/class.d.ts +6 -6
- package/dist/types/types/comments.d.ts +2 -2
- package/dist/types/types/contest.d.ts +20 -23
- package/dist/types/types/entity.d.ts +13 -19
- package/dist/types/types/file.d.ts +6 -0
- package/dist/types/types/index.d.ts +3 -1
- package/dist/types/types/{company.d.ts → organization.d.ts} +2 -2
- package/dist/types/types/prisma.d.ts +2 -2
- package/dist/types/types/problems.d.ts +1 -1
- package/dist/types/types/scoreboard.d.ts +11 -0
- package/dist/types/types/sheet.d.ts +1 -1
- package/dist/types/types/socket.d.ts +32 -16
- package/dist/types/types/system.d.ts +76 -0
- package/dist/types/types/teams.d.ts +8 -8
- package/dist/types/types/virtual-user.d.ts +22 -0
- package/package.json +1 -1
- package/dist/types/constants/company.d.ts +0 -9
- package/dist/types/prototypes/Date.d.ts +0 -62
- package/dist/types/prototypes/Number.d.ts +0 -7
- package/dist/types/prototypes/index.d.ts +0 -3
- /package/dist/types/{prototypes/Error.d.ts → helpers/errors.d.ts} +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { JudgeBaseDocument } from '../types';
|
|
2
|
-
export interface
|
|
2
|
+
export interface JudgeDataResponseDto extends Omit<JudgeBaseDocument, 'getProblemUrl' | 'getUserSubmissionsUrl' | 'getLoginUrl' | 'getSubmitUrl'> {
|
|
3
3
|
}
|
|
4
|
-
export interface
|
|
4
|
+
export interface JudgeSummaryListResponseDto extends Omit<JudgeBaseDocument, 'getProblemUrl' | 'getUserSubmissionsUrl' | 'getSubmissionUrl' | 'getLoginUrl' | 'getProfileUrl' | 'getSubmitUrl'> {
|
|
5
5
|
}
|
|
6
|
-
export interface
|
|
6
|
+
export interface JudgeSystemSummaryListResponseDto extends JudgeSummaryListResponseDto {
|
|
7
7
|
id: string;
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
createdAt: number;
|
|
9
|
+
updatedAt: number;
|
|
10
10
|
getLoginUrl: string;
|
|
11
11
|
getProfileUrl: string;
|
|
12
12
|
getSubmitUrl: string;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { MarkdownBaseDocument } from '../types';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
export interface
|
|
5
|
-
owner:
|
|
6
|
-
members:
|
|
2
|
+
import { EntityMembersDto, EntityMembersResponseDto } from './entity';
|
|
3
|
+
import { UserOrganizationBasicInfoResponseDto } from './user';
|
|
4
|
+
export interface MarkdownResponseDto extends Omit<MarkdownBaseDocument, 'members'> {
|
|
5
|
+
owner: UserOrganizationBasicInfoResponseDto;
|
|
6
|
+
members: EntityMembersResponseDto;
|
|
7
7
|
updatedAt: number;
|
|
8
8
|
createdAt: number;
|
|
9
9
|
}
|
|
10
|
-
export interface
|
|
11
|
-
members:
|
|
10
|
+
export interface UpsertMarkdownDto extends Omit<MarkdownBaseDocument, 'key' | 'members'> {
|
|
11
|
+
members: EntityMembersDto;
|
|
12
12
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { MermaidBaseDocument } from '../types';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
export interface
|
|
5
|
-
owner:
|
|
6
|
-
members:
|
|
2
|
+
import { EntityMembersDto, EntityMembersResponseDto } from './entity';
|
|
3
|
+
import { UserOrganizationBasicInfoResponseDto } from './user';
|
|
4
|
+
export interface MermaidResponseDto extends Omit<MermaidBaseDocument, 'members'> {
|
|
5
|
+
owner: UserOrganizationBasicInfoResponseDto;
|
|
6
|
+
members: EntityMembersResponseDto;
|
|
7
7
|
updatedAt: number;
|
|
8
8
|
createdAt: number;
|
|
9
9
|
}
|
|
10
|
-
export interface
|
|
11
|
-
members:
|
|
10
|
+
export interface UpsertMermaidDto extends Omit<MermaidBaseDocument, 'key' | 'members'> {
|
|
11
|
+
members: EntityMembersDto;
|
|
12
12
|
}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
export interface
|
|
1
|
+
import { OrganizationPlan, ResourceInstance, ResourceLogger, Theme } from '../types';
|
|
2
|
+
import { EmailDataResponseDto } from './system';
|
|
3
|
+
import { UserOrganizationBasicInfoResponseDto, UserPermissions } from './user';
|
|
4
|
+
export interface OrganizationJudgeResponseDto {
|
|
5
5
|
key: string;
|
|
6
6
|
name: string;
|
|
7
7
|
keyPrefix: string;
|
|
8
8
|
}
|
|
9
|
-
export interface
|
|
9
|
+
export interface OrganizationTrustedOrganizationResponseDto {
|
|
10
10
|
key: string;
|
|
11
11
|
name: string;
|
|
12
12
|
}
|
|
13
|
-
export interface
|
|
13
|
+
export interface OrganizationResponseDto extends EmailDataResponseDto {
|
|
14
14
|
name: string;
|
|
15
15
|
key: string;
|
|
16
16
|
hosts: string[];
|
|
17
17
|
imageUrl: string;
|
|
18
|
-
managerUser:
|
|
19
|
-
systemAdminUser:
|
|
20
|
-
plan:
|
|
21
|
-
|
|
22
|
-
judges:
|
|
23
|
-
|
|
24
|
-
styles:
|
|
18
|
+
managerUser: UserOrganizationBasicInfoResponseDto;
|
|
19
|
+
systemAdminUser: UserOrganizationBasicInfoResponseDto;
|
|
20
|
+
plan: OrganizationPlan;
|
|
21
|
+
startsAt: number;
|
|
22
|
+
judges: OrganizationJudgeResponseDto[];
|
|
23
|
+
trustedOrganizations: OrganizationTrustedOrganizationResponseDto[];
|
|
24
|
+
styles: OrganizationStyles;
|
|
25
25
|
}
|
|
26
|
-
export interface
|
|
26
|
+
export interface OrganizationUserPermissionsResponseDto extends OrganizationResponseDto {
|
|
27
27
|
userPermissions: UserPermissions;
|
|
28
28
|
contactEmail: string;
|
|
29
29
|
contactCellPhoneNumber: string;
|
|
30
30
|
contactTelegram: string;
|
|
31
31
|
}
|
|
32
|
-
export interface
|
|
32
|
+
export interface OrganizationResourceSpecificationsResponseDto {
|
|
33
33
|
logger: ResourceLogger;
|
|
34
34
|
runnerInstance: ResourceInstance;
|
|
35
35
|
runnerListener: {
|
|
@@ -48,7 +48,7 @@ export interface CompanyResourceSpecificationsResponseDTO {
|
|
|
48
48
|
maximum: number;
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
|
-
export type
|
|
51
|
+
export type OrganizationStyles = Record<Theme, {
|
|
52
52
|
body: {
|
|
53
53
|
backgroundColor: string;
|
|
54
54
|
backgroundColorHighlight: string;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { EntityState, JudgeBaseDocument, ProblemBaseDocument, ProblemScoringMode, ProblemSettings, ProblemStatement, ProblemType, ProblemUser, TextLanguage } from '../types';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
export interface
|
|
2
|
+
import { EntityMembersDto, EntityMembersResponseDto } from './entity';
|
|
3
|
+
import { EntityOwnerSystemSummaryListResponseDto, UserOrganizationBasicInfoResponseDto } from './user';
|
|
4
|
+
export interface ProblemJudgeSummaryListResponseDto extends Pick<JudgeBaseDocument, 'isExternal' | 'isSubmitSupported' | 'name' | 'key'> {
|
|
5
5
|
isCustom: boolean;
|
|
6
6
|
isMain: boolean;
|
|
7
7
|
}
|
|
8
|
-
export interface
|
|
8
|
+
export interface EntityOrganizationSummaryListResponseDto {
|
|
9
9
|
key: string;
|
|
10
10
|
}
|
|
11
|
-
export interface
|
|
12
|
-
|
|
13
|
-
judge:
|
|
11
|
+
export interface ProblemBasicSummaryListResponseDto {
|
|
12
|
+
organization: EntityOrganizationSummaryListResponseDto;
|
|
13
|
+
judge: ProblemJudgeSummaryListResponseDto;
|
|
14
14
|
key: string;
|
|
15
15
|
name: string;
|
|
16
16
|
shortname: string;
|
|
@@ -19,14 +19,14 @@ export interface ProblemBasicSummaryListResponseDTO {
|
|
|
19
19
|
scoringMode: ProblemScoringMode;
|
|
20
20
|
type: ProblemType;
|
|
21
21
|
};
|
|
22
|
-
members:
|
|
22
|
+
members: EntityMembersResponseDto;
|
|
23
23
|
externalUrl: string;
|
|
24
24
|
}
|
|
25
|
-
export interface
|
|
25
|
+
export interface ProblemSummaryListResponseDto extends ProblemBasicSummaryListResponseDto {
|
|
26
26
|
user: ProblemUser;
|
|
27
|
-
owner:
|
|
27
|
+
owner: UserOrganizationBasicInfoResponseDto;
|
|
28
28
|
}
|
|
29
|
-
export interface
|
|
29
|
+
export interface ProblemDataResponseDto extends ProblemSummaryListResponseDto {
|
|
30
30
|
author: string;
|
|
31
31
|
statement: ProblemStatement;
|
|
32
32
|
editorial: TextLanguage;
|
|
@@ -34,22 +34,22 @@ export interface ProblemDataResponseDTO extends ProblemSummaryListResponseDTO {
|
|
|
34
34
|
ownerNickname: string;
|
|
35
35
|
state: EntityState;
|
|
36
36
|
}
|
|
37
|
-
export interface
|
|
37
|
+
export interface ProblemJudgeSystemSummaryListResponseDto extends ProblemJudgeSummaryListResponseDto {
|
|
38
38
|
name: string;
|
|
39
39
|
id: string;
|
|
40
40
|
}
|
|
41
|
-
export interface
|
|
41
|
+
export interface EntityOrganizationSystemSummaryListResponseDto extends EntityOrganizationSummaryListResponseDto {
|
|
42
42
|
name: string;
|
|
43
43
|
id: string;
|
|
44
44
|
}
|
|
45
|
-
export interface
|
|
45
|
+
export interface ProblemSystemSummaryListResponseDto extends ProblemSummaryListResponseDto {
|
|
46
46
|
state: EntityState;
|
|
47
47
|
id: string;
|
|
48
|
-
owner:
|
|
49
|
-
judge:
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
48
|
+
owner: EntityOwnerSystemSummaryListResponseDto;
|
|
49
|
+
judge: ProblemJudgeSystemSummaryListResponseDto;
|
|
50
|
+
organization: EntityOrganizationSystemSummaryListResponseDto;
|
|
51
|
+
createdAt: number;
|
|
52
|
+
updatedAt: number;
|
|
53
53
|
}
|
|
54
54
|
export interface ProblemTestCaseResponse {
|
|
55
55
|
testCaseKey: string;
|
|
@@ -59,8 +59,8 @@ export interface ProblemTestCaseResponse {
|
|
|
59
59
|
outputFileSize: number;
|
|
60
60
|
outputFileLastModified: Date;
|
|
61
61
|
}
|
|
62
|
-
export interface
|
|
62
|
+
export interface ProblemTestCasesResponseDto extends Array<ProblemTestCaseResponse> {
|
|
63
63
|
}
|
|
64
|
-
export interface
|
|
65
|
-
members:
|
|
64
|
+
export interface UpsertProblemDto extends Omit<ProblemBaseDocument, 'testCases' | 'testCasesUpdatedAt' | 'key' | 'members' | 'judgeId'> {
|
|
65
|
+
members: EntityMembersDto;
|
|
66
66
|
}
|
|
@@ -1,23 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
success: boolean;
|
|
6
|
-
penalty: number;
|
|
7
|
-
isFirstAccepted: boolean;
|
|
8
|
-
indexAccepted: number;
|
|
9
|
-
};
|
|
10
|
-
export type ScoreboardProblems = {
|
|
11
|
-
[key: string]: ScoreboardProblem;
|
|
12
|
-
};
|
|
13
|
-
export interface ScoreboardResponseDTO {
|
|
14
|
-
user: UserSummaryListResponseDTO;
|
|
1
|
+
import { ScoreboardProblems } from '../types';
|
|
2
|
+
import { UserSummaryListResponseDto } from './user';
|
|
3
|
+
export interface ScoreboardResponseDto {
|
|
4
|
+
user: UserSummaryListResponseDto;
|
|
15
5
|
totalPenalty: number;
|
|
16
6
|
totalPoints: number;
|
|
17
7
|
position: number;
|
|
18
8
|
problems: ScoreboardProblems;
|
|
19
9
|
}
|
|
20
|
-
export type
|
|
10
|
+
export type ScoreboardTimelineEventResponseDto = {
|
|
21
11
|
timestamp: number;
|
|
22
12
|
userKey: string;
|
|
23
13
|
problemKey: string;
|
|
@@ -27,9 +17,9 @@ export type ScoreboardTimelineEventResponseDTO = {
|
|
|
27
17
|
indexAccepted: number;
|
|
28
18
|
penalty: number;
|
|
29
19
|
};
|
|
30
|
-
export interface
|
|
20
|
+
export interface ScoreboardHistoryResponseDto {
|
|
31
21
|
contestKey: string;
|
|
32
22
|
userProblemTimelineRefs: Record<string, number[]>;
|
|
33
|
-
timelineEvents:
|
|
34
|
-
participants: Record<string,
|
|
23
|
+
timelineEvents: ScoreboardTimelineEventResponseDto[];
|
|
24
|
+
participants: Record<string, UserSummaryListResponseDto>;
|
|
35
25
|
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export interface
|
|
1
|
+
import { EntityOrganizationSystemSummaryListResponseDto } from './problem';
|
|
2
|
+
import { UserBasicResponseDto } from './user';
|
|
3
|
+
export interface SessionBasicResponseDto {
|
|
4
4
|
id: string;
|
|
5
5
|
deviceName: string;
|
|
6
6
|
osName: string;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
expiresAt: number;
|
|
8
|
+
createdAt: number;
|
|
9
|
+
updatedAt: number;
|
|
10
10
|
}
|
|
11
|
-
export interface
|
|
11
|
+
export interface UserSessionSystemSummaryListResponseDto extends SessionBasicResponseDto {
|
|
12
12
|
userId: string;
|
|
13
|
-
user:
|
|
14
|
-
|
|
13
|
+
user: UserBasicResponseDto;
|
|
14
|
+
organization: EntityOrganizationSystemSummaryListResponseDto;
|
|
15
15
|
}
|
|
@@ -1,138 +1,100 @@
|
|
|
1
|
-
import { ClientId,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
interface WebsocketMessage {
|
|
5
|
-
event: WebSocketMessageEvent;
|
|
6
|
-
clientId: ClientId;
|
|
7
|
-
}
|
|
8
|
-
export interface PingWebSocketEventDTO extends WebsocketMessage {
|
|
9
|
-
event: WebSocketMessageEvent.PING;
|
|
10
|
-
}
|
|
11
|
-
/** @deprecated the location is the `href` of the company presence (`UserPresenceData`) */
|
|
12
|
-
export interface ClientTrackLocationWebSocketEventDTO extends WebsocketMessage {
|
|
13
|
-
event: WebSocketMessageEvent.CLIENT_TRACK_LOCATION;
|
|
14
|
-
href: string;
|
|
15
|
-
}
|
|
16
|
-
export interface ClientTrackScreenshotWebSocketEventDTO extends WebsocketMessage {
|
|
17
|
-
event: WebSocketMessageEvent.CLIENT_TRACK_SCREENSHOT;
|
|
18
|
-
screenshot: string;
|
|
19
|
-
}
|
|
20
|
-
export interface ClientTrackDeviceWebSocketEventDTO extends WebsocketMessage {
|
|
21
|
-
event: WebSocketMessageEvent.CLIENT_TRACK_DEVICE;
|
|
22
|
-
device: Device;
|
|
23
|
-
}
|
|
24
|
-
export interface ChatCompletionsWebSocketEventDTO extends WebsocketMessage {
|
|
25
|
-
event: WebSocketMessageEvent.CHAT_COMPLETIONS;
|
|
26
|
-
chatAiId: string;
|
|
27
|
-
content: string;
|
|
28
|
-
}
|
|
29
|
-
export type WebSocketMessageEventDTO = PingWebSocketEventDTO | ClientTrackLocationWebSocketEventDTO | ClientTrackScreenshotWebSocketEventDTO | ClientTrackDeviceWebSocketEventDTO | ChatCompletionsWebSocketEventDTO;
|
|
1
|
+
import { ClientId, Ec2Instance, InfoLogCaseStatus, ProblemVerdict, SsmSession, SubmissionRunStatus, TestInfo, WebSocketResponseEvent, WebSocketResponseEventKey, WebSocketSubscriptionEvent } from '../types';
|
|
2
|
+
import { EcsTaskDefinitionSystemSummaryListResponseDto, EcsTaskSystemSummaryListResponseDto } from './system';
|
|
3
|
+
import { UserOrganizationBasicInfoResponseDto } from './user';
|
|
30
4
|
export interface WebsocketSubscription {
|
|
31
5
|
event: WebSocketSubscriptionEvent;
|
|
32
6
|
clientId: ClientId;
|
|
33
7
|
}
|
|
34
|
-
export interface
|
|
8
|
+
export interface SubscribeCodeRunStatusWebSocketEventDto extends WebsocketSubscription {
|
|
35
9
|
event: WebSocketSubscriptionEvent.SUBSCRIBE_CODE_RUN_STATUS;
|
|
36
10
|
runId: string;
|
|
37
11
|
}
|
|
38
|
-
export interface
|
|
12
|
+
export interface UnsubscribeCodeRunStatusWebSocketEventDto extends WebsocketSubscription {
|
|
39
13
|
event: WebSocketSubscriptionEvent.UNSUBSCRIBE_CODE_RUN_STATUS;
|
|
40
14
|
runId: string;
|
|
41
15
|
}
|
|
42
|
-
export interface
|
|
16
|
+
export interface SubscribeSubmissionRunStatusWebSocketEventDto extends WebsocketSubscription {
|
|
43
17
|
event: WebSocketSubscriptionEvent.SUBSCRIBE_SUBMISSION_RUN_STATUS;
|
|
44
18
|
submitId: string;
|
|
45
19
|
}
|
|
46
|
-
export interface
|
|
20
|
+
export interface UnsubscribeSubmissionRunStatusWebSocketEventDto extends WebsocketSubscription {
|
|
47
21
|
event: WebSocketSubscriptionEvent.UNSUBSCRIBE_SUBMISSION_RUN_STATUS;
|
|
48
22
|
submitId: string;
|
|
49
23
|
}
|
|
50
|
-
export interface
|
|
24
|
+
export interface SubscribeGetDataWebSocketEventDto extends WebsocketSubscription {
|
|
51
25
|
dataId: string;
|
|
52
26
|
event: WebSocketSubscriptionEvent.SUBSCRIBE_GET_DATA;
|
|
53
27
|
}
|
|
54
|
-
export interface
|
|
28
|
+
export interface UnsubscribeGetDataWebSocketEventDto extends WebsocketSubscription {
|
|
55
29
|
dataId: string;
|
|
56
30
|
event: WebSocketSubscriptionEvent.UNSUBSCRIBE_GET_DATA;
|
|
57
31
|
}
|
|
58
|
-
export interface
|
|
32
|
+
export interface SubscribeProblemCrawledWebSocketEventDto extends WebsocketSubscription {
|
|
59
33
|
event: WebSocketSubscriptionEvent.SUBSCRIBE_PROBLEM_CRAWLED;
|
|
60
34
|
problemKey: string;
|
|
61
35
|
}
|
|
62
|
-
export interface
|
|
36
|
+
export interface UnsubscribeProblemCrawledWebSocketEventDto extends WebsocketSubscription {
|
|
63
37
|
event: WebSocketSubscriptionEvent.UNSUBSCRIBE_PROBLEM_CRAWLED;
|
|
64
38
|
problemKey: string;
|
|
65
39
|
}
|
|
66
|
-
export interface
|
|
40
|
+
export interface SubscribeSubmissionsCrawlWebSocketEventDto extends WebsocketSubscription {
|
|
67
41
|
event: WebSocketSubscriptionEvent.SUBSCRIBE_SUBMISSIONS_CRAWL;
|
|
68
42
|
contestKey: string;
|
|
69
43
|
problemKeys: string;
|
|
70
44
|
}
|
|
71
|
-
export interface
|
|
45
|
+
export interface UnsubscribeSubmissionsCrawlWebSocketEventDto extends WebsocketSubscription {
|
|
72
46
|
event: WebSocketSubscriptionEvent.UNSUBSCRIBE_SUBMISSIONS_CRAWL;
|
|
73
47
|
contestKey: string;
|
|
74
48
|
problemKeys: string;
|
|
75
49
|
}
|
|
76
|
-
export interface
|
|
50
|
+
export interface SubscribeContestChangesWebSocketEventDto extends WebsocketSubscription {
|
|
77
51
|
event: WebSocketSubscriptionEvent.SUBSCRIBE_CONTEST_CHANGES;
|
|
78
52
|
contestKey: string;
|
|
79
53
|
}
|
|
80
|
-
export interface
|
|
54
|
+
export interface UnsubscribeContestChangesWebSocketEventDto extends WebsocketSubscription {
|
|
81
55
|
event: WebSocketSubscriptionEvent.UNSUBSCRIBE_CONTEST_CHANGES;
|
|
82
56
|
contestKey: string;
|
|
83
57
|
}
|
|
84
|
-
export interface
|
|
85
|
-
event: WebSocketSubscriptionEvent.SUBSCRIBE_CLIENT_TRACK;
|
|
86
|
-
}
|
|
87
|
-
export interface UnsubscribeClientTrackWebSocketEventDTO extends WebsocketSubscription {
|
|
88
|
-
event: WebSocketSubscriptionEvent.UNSUBSCRIBE_CLIENT_TRACK;
|
|
89
|
-
}
|
|
90
|
-
export interface SubscribeUserNotificationWebsocketEventDTO extends WebsocketSubscription {
|
|
58
|
+
export interface SubscribeUserNotificationWebsocketEventDto extends WebsocketSubscription {
|
|
91
59
|
event: WebSocketSubscriptionEvent.SUBSCRIBE_USER_NOTIFICATION;
|
|
92
60
|
userKey: string;
|
|
93
61
|
}
|
|
94
|
-
export interface
|
|
62
|
+
export interface UnsubscribeUserNotificationWebSocketEventDto extends WebsocketSubscription {
|
|
95
63
|
event: WebSocketSubscriptionEvent.UNSUBSCRIBE_USER_NOTIFICATION;
|
|
96
64
|
userKey: string;
|
|
97
65
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
export
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
66
|
+
/**
|
|
67
|
+
* Scope of a submissions table: the judging start/end of the submissions of one problem, one contest or one user.
|
|
68
|
+
* Exactly one of the keys is set.
|
|
69
|
+
*/
|
|
70
|
+
export type SubmissionsJudgingScope = {
|
|
71
|
+
problemKey: string;
|
|
72
|
+
} | {
|
|
73
|
+
contestKey: string;
|
|
74
|
+
} | {
|
|
75
|
+
userId: string;
|
|
76
|
+
};
|
|
77
|
+
export type SubscribeSubmissionsJudgingWebSocketEventDto = WebsocketSubscription & {
|
|
78
|
+
event: WebSocketSubscriptionEvent.SUBSCRIBE_SUBMISSIONS_JUDGING;
|
|
79
|
+
} & SubmissionsJudgingScope;
|
|
80
|
+
export type UnsubscribeSubmissionsJudgingWebSocketEventDto = WebsocketSubscription & {
|
|
81
|
+
event: WebSocketSubscriptionEvent.UNSUBSCRIBE_SUBMISSIONS_JUDGING;
|
|
82
|
+
} & SubmissionsJudgingScope;
|
|
83
|
+
export type WebSocketSubscribeEventDto = SubscribeCodeRunStatusWebSocketEventDto | SubscribeSubmissionRunStatusWebSocketEventDto | SubscribeGetDataWebSocketEventDto | SubscribeProblemCrawledWebSocketEventDto | SubscribeSubmissionsCrawlWebSocketEventDto | SubscribeContestChangesWebSocketEventDto | SubscribeUserNotificationWebsocketEventDto | SubscribeSubmissionsJudgingWebSocketEventDto;
|
|
84
|
+
export type WebSocketUnsubscribeEventDto = UnsubscribeCodeRunStatusWebSocketEventDto | UnsubscribeSubmissionRunStatusWebSocketEventDto | UnsubscribeGetDataWebSocketEventDto | UnsubscribeProblemCrawledWebSocketEventDto | UnsubscribeSubmissionsCrawlWebSocketEventDto | UnsubscribeContestChangesWebSocketEventDto | UnsubscribeUserNotificationWebSocketEventDto | UnsubscribeSubmissionsJudgingWebSocketEventDto;
|
|
108
85
|
export interface WebSocketResponse {
|
|
109
86
|
event: WebSocketResponseEvent;
|
|
110
87
|
key: WebSocketResponseEventKey;
|
|
111
88
|
connectionId: string;
|
|
112
|
-
|
|
113
|
-
}
|
|
114
|
-
export interface PongWebSocketResponseEventDTO extends WebSocketResponse {
|
|
115
|
-
event: WebSocketResponseEvent.PONG;
|
|
116
|
-
data: PingResponseDTO;
|
|
89
|
+
createdAt: number;
|
|
117
90
|
}
|
|
118
|
-
export
|
|
119
|
-
inputKey: string;
|
|
120
|
-
out: string;
|
|
121
|
-
err: string;
|
|
122
|
-
log: string;
|
|
123
|
-
};
|
|
124
|
-
export interface CodeRunStatusWebSocketResponseEventDTO extends WebSocketResponse {
|
|
91
|
+
export interface CodeRunStatusWebSocketResponseEventDto extends WebSocketResponse {
|
|
125
92
|
event: WebSocketResponseEvent.CODE_RUN_STATUS;
|
|
126
93
|
runId: string;
|
|
127
94
|
status: SubmissionRunStatus;
|
|
128
95
|
log: InfoLogCaseStatus;
|
|
129
96
|
}
|
|
130
|
-
export
|
|
131
|
-
sampleCase: boolean;
|
|
132
|
-
caseResultsExecuted: number;
|
|
133
|
-
caseResultsTotal: number;
|
|
134
|
-
};
|
|
135
|
-
export interface SubmissionRunStatusWebSocketResponseEventDTO extends WebSocketResponse {
|
|
97
|
+
export interface SubmissionRunStatusWebSocketResponseEventDto extends WebSocketResponse {
|
|
136
98
|
event: WebSocketResponseEvent.SUBMISSION_RUN_STATUS;
|
|
137
99
|
submitId: string;
|
|
138
100
|
status: SubmissionRunStatus;
|
|
@@ -141,9 +103,26 @@ export interface SubmissionRunStatusWebSocketResponseEventDTO extends WebSocketR
|
|
|
141
103
|
testInfo?: TestInfo;
|
|
142
104
|
shouldValidateContest: boolean;
|
|
143
105
|
}
|
|
144
|
-
|
|
106
|
+
/**
|
|
107
|
+
* Start (`judging: true`, status RECEIVED) and end (`judging: false`, status COMPLETED / FAILED) of the judging of a
|
|
108
|
+
* submission, also on rejudges. Published on the channels of the tables that list it (problem / contest / user), so a
|
|
109
|
+
* table listens to one channel and only attaches `CHANNEL_SUBMISSION` (the case by case progress) of the submissions
|
|
110
|
+
* on screen that are being judged. The case by case events keep arriving as `SubmissionRunStatusWebSocketResponseEventDto`.
|
|
111
|
+
*/
|
|
112
|
+
export interface SubmissionJudgingWebSocketResponseEventDto extends WebSocketResponse {
|
|
113
|
+
event: WebSocketResponseEvent.SUBMISSION_JUDGING;
|
|
114
|
+
submitId: string;
|
|
115
|
+
problemKey: string;
|
|
116
|
+
contestKey: string | null;
|
|
117
|
+
userId: string;
|
|
118
|
+
judging: boolean;
|
|
119
|
+
status: SubmissionRunStatus;
|
|
120
|
+
verdict: ProblemVerdict;
|
|
121
|
+
points: number;
|
|
122
|
+
}
|
|
123
|
+
export interface UserMessageWebSocketResponseEventDto extends WebSocketResponse {
|
|
145
124
|
event: WebSocketResponseEvent.USER_MESSAGE;
|
|
146
|
-
user:
|
|
125
|
+
user: UserOrganizationBasicInfoResponseDto;
|
|
147
126
|
content: {
|
|
148
127
|
type: 'SUBMISSION_VERDICT';
|
|
149
128
|
contestName: string;
|
|
@@ -152,27 +131,27 @@ export interface UserMessageWebSocketResponseEventDTO extends WebSocketResponse
|
|
|
152
131
|
points: number;
|
|
153
132
|
};
|
|
154
133
|
}
|
|
155
|
-
export interface
|
|
134
|
+
export interface SendDataWebSocketResponseEventDto extends WebSocketResponse {
|
|
156
135
|
dataId: string;
|
|
157
136
|
content: any;
|
|
158
137
|
}
|
|
159
|
-
export interface
|
|
138
|
+
export interface SendDataEcsTaskDefinitionListWebSocketResponseEventDto extends SendDataWebSocketResponseEventDto {
|
|
160
139
|
event: WebSocketResponseEvent.SEND_DATA_ECS_TASK_DEFINITIONS_LIST;
|
|
161
|
-
content:
|
|
140
|
+
content: EcsTaskDefinitionSystemSummaryListResponseDto[];
|
|
162
141
|
}
|
|
163
|
-
export interface
|
|
142
|
+
export interface SendDataEcsTasksListWebSocketResponseEventDto extends SendDataWebSocketResponseEventDto {
|
|
164
143
|
event: WebSocketResponseEvent.SEND_DATA_ECS_TASKS_LIST;
|
|
165
|
-
content:
|
|
144
|
+
content: EcsTaskSystemSummaryListResponseDto[];
|
|
166
145
|
}
|
|
167
|
-
export interface
|
|
146
|
+
export interface SendDataEc2InstancesListWebSocketResponseEventDto extends SendDataWebSocketResponseEventDto {
|
|
168
147
|
event: WebSocketResponseEvent.SEND_DATA_EC2_INSTANCES_LIST;
|
|
169
148
|
content: Ec2Instance[];
|
|
170
149
|
}
|
|
171
|
-
export interface
|
|
150
|
+
export interface SendDataSsmSessionsListWebSocketResponseEventDto extends SendDataWebSocketResponseEventDto {
|
|
172
151
|
event: WebSocketResponseEvent.SEND_DATA_SSM_SESSIONS_LIST;
|
|
173
152
|
content: SsmSession[];
|
|
174
153
|
}
|
|
175
|
-
export interface
|
|
154
|
+
export interface SendDataRunCommandWebSocketResponseEventDto extends SendDataWebSocketResponseEventDto {
|
|
176
155
|
event: WebSocketResponseEvent.SEND_DATA_RUN_COMMAND;
|
|
177
156
|
content: {
|
|
178
157
|
testCaseOutContent: string;
|
|
@@ -180,34 +159,13 @@ export interface SendDataRunCommandWebSocketResponseEventDTO extends SendDataWeb
|
|
|
180
159
|
testCaseLogContent: string;
|
|
181
160
|
};
|
|
182
161
|
}
|
|
183
|
-
export interface
|
|
184
|
-
event: WebSocketResponseEvent.SEND_DATA_CLIENT_TRACK;
|
|
185
|
-
content: {
|
|
186
|
-
location?: string;
|
|
187
|
-
screenshot?: string;
|
|
188
|
-
device?: Device;
|
|
189
|
-
};
|
|
190
|
-
}
|
|
191
|
-
export interface SendDataChatCompletionsWebSocketResponseEventDTO extends SendDataWebSocketResponseEventDTO {
|
|
192
|
-
event: WebSocketResponseEvent.SEND_DATA_CHAT_COMPLETIONS;
|
|
193
|
-
content: {
|
|
194
|
-
choices: [{
|
|
195
|
-
index: number;
|
|
196
|
-
message: {
|
|
197
|
-
role: string;
|
|
198
|
-
content: string;
|
|
199
|
-
};
|
|
200
|
-
}];
|
|
201
|
-
rawData: any;
|
|
202
|
-
};
|
|
203
|
-
}
|
|
204
|
-
export interface ProblemCrawledWebSocketResponseEventDTO extends WebSocketResponse {
|
|
162
|
+
export interface ProblemCrawledWebSocketResponseEventDto extends WebSocketResponse {
|
|
205
163
|
event: WebSocketResponseEvent.PROBLEM_CRAWLED;
|
|
206
164
|
content: {
|
|
207
165
|
problemKey: string;
|
|
208
166
|
};
|
|
209
167
|
}
|
|
210
|
-
export interface
|
|
168
|
+
export interface SubmissionsCrawlWebSocketResponseEventDto extends WebSocketResponse {
|
|
211
169
|
event: WebSocketResponseEvent.SUBMISSIONS_CRAWL;
|
|
212
170
|
content: {
|
|
213
171
|
contestKey: string;
|
|
@@ -219,23 +177,17 @@ export interface SubmissionsCrawlWebSocketResponseEventDTO extends WebSocketResp
|
|
|
219
177
|
isNewSubmission: boolean;
|
|
220
178
|
};
|
|
221
179
|
}
|
|
222
|
-
export interface
|
|
180
|
+
export interface ContestChangesWebSocketResponseEventDto extends WebSocketResponse {
|
|
223
181
|
event: WebSocketResponseEvent.CONTEST_CHANGES;
|
|
224
182
|
content: {
|
|
225
183
|
contestKey: string;
|
|
226
184
|
};
|
|
227
185
|
}
|
|
228
|
-
export interface
|
|
229
|
-
event: WebSocketResponseEvent.CLIENT_TRACK;
|
|
230
|
-
location: boolean;
|
|
231
|
-
screenshot: boolean;
|
|
232
|
-
device: boolean;
|
|
233
|
-
}
|
|
234
|
-
export interface UserNotificationWebSocketResponseEventDTO extends WebSocketResponse {
|
|
186
|
+
export interface UserNotificationWebSocketResponseEventDto extends WebSocketResponse {
|
|
235
187
|
event: WebSocketResponseEvent.USER_NOTIFICATION_SUBMISSION | WebSocketResponseEvent.USER_NOTIFICATION_CONTEST_CLARIFICATION;
|
|
236
188
|
content: any;
|
|
237
189
|
}
|
|
238
|
-
export interface
|
|
190
|
+
export interface UserNotificationSubmissionWebSocketResponseEventDto extends UserNotificationWebSocketResponseEventDto {
|
|
239
191
|
event: WebSocketResponseEvent.USER_NOTIFICATION_SUBMISSION;
|
|
240
192
|
content: {
|
|
241
193
|
contest: {
|
|
@@ -255,27 +207,26 @@ export interface UserNotificationSubmissionWebSocketResponseEventDTO extends Use
|
|
|
255
207
|
submissionId: string;
|
|
256
208
|
};
|
|
257
209
|
}
|
|
258
|
-
export interface
|
|
210
|
+
export interface UserNotificationContestClarificationWebSocketResponseEventDto extends UserNotificationWebSocketResponseEventDto {
|
|
259
211
|
event: WebSocketResponseEvent.USER_NOTIFICATION_CONTEST_CLARIFICATION;
|
|
260
212
|
content: {
|
|
261
213
|
contestKey: string;
|
|
262
214
|
};
|
|
263
215
|
}
|
|
264
|
-
export type
|
|
216
|
+
export type WebSocketResponseEventDto = CodeRunStatusWebSocketResponseEventDto | SubmissionRunStatusWebSocketResponseEventDto | UserMessageWebSocketResponseEventDto | SendDataEcsTaskDefinitionListWebSocketResponseEventDto | SendDataEcsTasksListWebSocketResponseEventDto | SendDataEc2InstancesListWebSocketResponseEventDto | SendDataSsmSessionsListWebSocketResponseEventDto | ProblemCrawledWebSocketResponseEventDto | SubmissionsCrawlWebSocketResponseEventDto | ContestChangesWebSocketResponseEventDto | SendDataRunCommandWebSocketResponseEventDto | UserNotificationSubmissionWebSocketResponseEventDto | UserNotificationContestClarificationWebSocketResponseEventDto | SubmissionJudgingWebSocketResponseEventDto;
|
|
265
217
|
/**
|
|
266
218
|
* Message sent by the backend producers to the websocket SQS queue:
|
|
267
219
|
* the producer (trusted, with access to the DB) decides the Ably channels where the event is published.
|
|
268
220
|
*/
|
|
269
|
-
export interface
|
|
221
|
+
export interface WebSocketChannelsMessageDto {
|
|
270
222
|
channels: string[];
|
|
271
|
-
event:
|
|
223
|
+
event: WebSocketResponseEventDto;
|
|
272
224
|
}
|
|
273
225
|
/**
|
|
274
|
-
* Data of a client (tab) in its
|
|
226
|
+
* Data of a client (tab) in its organization presence channel (`CHANNEL_ORGANIZATION_PRESENCE`).
|
|
275
227
|
* Sent by the client: informative only, the identity is the presence member `clientId`.
|
|
276
228
|
*/
|
|
277
229
|
export interface UserPresenceData {
|
|
278
230
|
href: string;
|
|
279
231
|
uiId: string;
|
|
280
232
|
}
|
|
281
|
-
export {};
|