@juki-team/commons 0.2.10 → 0.2.13
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/dto/class.d.ts +4 -4
- package/dist/dto/comments.d.ts +4 -4
- package/dist/dto/contest.d.ts +3 -3
- package/dist/dto/entity.d.ts +54 -3
- package/dist/dto/file.d.ts +1 -1
- package/dist/dto/image.d.ts +1 -1
- package/dist/dto/judge.d.ts +2 -2
- package/dist/dto/organization.d.ts +1 -1
- package/dist/dto/problem.d.ts +9 -8
- package/dist/dto/session.d.ts +3 -3
- package/dist/dto/socket.d.ts +1 -1
- package/dist/dto/submission.d.ts +3 -3
- package/dist/dto/system.d.ts +6 -6
- package/dist/dto/virtualUser.d.ts +1 -1
- package/dist/dto/worksheet.d.ts +1 -1
- package/dist/helpers/contest.d.ts +4 -4
- package/dist/helpers/contest.js +10 -10
- package/dist/helpers/socket.js +2 -2
- package/dist/types/assignment.d.ts +2 -2
- package/dist/types/class.d.ts +4 -4
- package/dist/types/comments.d.ts +2 -2
- package/dist/types/contest.d.ts +11 -11
- package/dist/types/entity.d.ts +6 -6
- package/dist/types/problem.d.ts +4 -7
- package/dist/types/teams.d.ts +8 -8
- package/dist/types/worksheet.d.ts +1 -1
- package/package.json +1 -1
package/dist/dto/class.d.ts
CHANGED
|
@@ -43,8 +43,8 @@ export interface SessionCycleClassDataResponseDTO {
|
|
|
43
43
|
assignments: {
|
|
44
44
|
[key: string]: AssignmentSessionCycleClassDataResponseDTO;
|
|
45
45
|
};
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
startsAt: number;
|
|
47
|
+
endsAt: number;
|
|
48
48
|
state: EntityState;
|
|
49
49
|
}
|
|
50
50
|
export interface CycleClassDataResponseDTO {
|
|
@@ -55,8 +55,8 @@ export interface CycleClassDataResponseDTO {
|
|
|
55
55
|
[key: string]: SessionCycleClassDataResponseDTO;
|
|
56
56
|
};
|
|
57
57
|
tags: ClassCycleTag[];
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
startsAt: number;
|
|
59
|
+
endsAt: number;
|
|
60
60
|
state: EntityState;
|
|
61
61
|
}
|
|
62
62
|
export interface ClassCycleDataResponseDTO extends ClassSummaryListResponseDTO {
|
package/dist/dto/comments.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ import type { UserOrganizationBasicInfoResponseDTO } from './user.js';
|
|
|
2
2
|
export type ReactionUserResponseData = {
|
|
3
3
|
key: string;
|
|
4
4
|
user: UserOrganizationBasicInfoResponseDTO;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
createdAt: number;
|
|
6
|
+
updatedAt: number;
|
|
7
7
|
};
|
|
8
8
|
export interface CommentDataResponseDTO {
|
|
9
9
|
id: string;
|
|
@@ -16,6 +16,6 @@ export interface CommentDataResponseDTO {
|
|
|
16
16
|
};
|
|
17
17
|
};
|
|
18
18
|
replies: CommentDataResponseDTO[];
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
createdAt: number;
|
|
20
|
+
updatedAt: number;
|
|
21
21
|
}
|
package/dist/dto/contest.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ export interface ContestSummaryListResponseDTO extends Pick<ContestBaseDocument,
|
|
|
21
21
|
user: ContestUser;
|
|
22
22
|
owner: UserOrganizationBasicInfoResponseDTO;
|
|
23
23
|
organization: EntityOrganizationSummaryListResponseDTO;
|
|
24
|
-
settings: Pick<ContestSettings, '
|
|
24
|
+
settings: Pick<ContestSettings, 'startsAt' | 'endsAt' | 'frozenAt' | 'silencedAt' | 'penalty' | 'upsolvingEnabled'>;
|
|
25
25
|
totalContestants: number;
|
|
26
26
|
isLive: boolean;
|
|
27
27
|
isPast: boolean;
|
|
@@ -36,8 +36,8 @@ export interface ContestSystemSummaryListResponseDTO extends ContestSummaryListR
|
|
|
36
36
|
id: string;
|
|
37
37
|
owner: EntityOwnerSystemSummaryListResponseDTO;
|
|
38
38
|
organization: EntityOrganizationSystemSummaryListResponseDTO;
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
createdAt: number;
|
|
40
|
+
updatedAt: number;
|
|
41
41
|
}
|
|
42
42
|
export interface ContestProblemBasicDataResponseDTO extends Omit<ContestProblem, 'id' | 'prerequisites'> {
|
|
43
43
|
name: string;
|
package/dist/dto/entity.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EntityAccess, EntityMembersRank, MemberType } from '../enums/index.js';
|
|
1
|
+
import type { EntityAccess, EntityMembersRank, EntityRole, MemberType, ShareLinkVisibility } from '../enums/index.js';
|
|
2
2
|
import type { UserOrganizationBasicInfoResponseDTO } from './user.js';
|
|
3
3
|
export interface EntityMembersDTO {
|
|
4
4
|
rankAdministrators: EntityMembersRank;
|
|
@@ -44,8 +44,8 @@ export interface DocumentMemberResponseDTO extends UserOrganizationBasicInfoResp
|
|
|
44
44
|
}
|
|
45
45
|
export interface DocumentMemberWithTimestampsResponseDTO extends DocumentMemberResponseDTO {
|
|
46
46
|
type: MemberType;
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
lastVisitedAt: number;
|
|
48
|
+
joinedAt: number;
|
|
49
49
|
}
|
|
50
50
|
export interface EntityMembersWithTimestampsResponseDTO {
|
|
51
51
|
rankAdministrators: EntityMembersRank;
|
|
@@ -86,3 +86,54 @@ export interface MetadataResponseDTO {
|
|
|
86
86
|
description: string;
|
|
87
87
|
cover: string;
|
|
88
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Subject of a ReBAC tuple — discriminated union by subject type.
|
|
91
|
+
* Mirrors the EntitySubjectType enum in the database.
|
|
92
|
+
*
|
|
93
|
+
* - USER: a specific user (subjectType=USER, subjectId=userId)
|
|
94
|
+
* - PUBLIC: wildcard — represents "everyone" (subjectType=PUBLIC, subjectId=0)
|
|
95
|
+
* - GROUP can be added later when group subjects are surfaced.
|
|
96
|
+
*/
|
|
97
|
+
export type EntityGrantSubjectDTO = {
|
|
98
|
+
type: 'USER';
|
|
99
|
+
id: string;
|
|
100
|
+
user: UserOrganizationBasicInfoResponseDTO;
|
|
101
|
+
} | {
|
|
102
|
+
type: 'PUBLIC';
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* One ReBAC tuple: (relation, subject) for a single resource.
|
|
106
|
+
* Pure tuple representation — modal renders user lists by filtering on subject.type.
|
|
107
|
+
*/
|
|
108
|
+
export interface EntityGrantDTO {
|
|
109
|
+
role: EntityRole;
|
|
110
|
+
subject: EntityGrantSubjectDTO;
|
|
111
|
+
joinedAt: number;
|
|
112
|
+
sourceLinkId?: string;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Summary of a share link, for display in the share modal.
|
|
116
|
+
* Create / revoke / list links use their own endpoints.
|
|
117
|
+
*/
|
|
118
|
+
export interface EntityShareLinkSummaryDTO {
|
|
119
|
+
id: string;
|
|
120
|
+
token: string;
|
|
121
|
+
role: EntityRole;
|
|
122
|
+
visibility: ShareLinkVisibility;
|
|
123
|
+
allowedUserIds: string[];
|
|
124
|
+
expiresAt: number | null;
|
|
125
|
+
maxUses: number | null;
|
|
126
|
+
useCount: number;
|
|
127
|
+
isActive: boolean;
|
|
128
|
+
createdBy: string;
|
|
129
|
+
createdAt: number;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Full ReBAC view of a resource — consumed by the share/edit modal.
|
|
133
|
+
* `grants` includes PUBLIC subjects too; the parent `access` field already
|
|
134
|
+
* encodes the same fact as one of PRIVATE/RESTRICTED/PUBLIC/EXPOSED.
|
|
135
|
+
*/
|
|
136
|
+
export interface EntitySharingResponseDTO {
|
|
137
|
+
grants: EntityGrantDTO[];
|
|
138
|
+
links: EntityShareLinkSummaryDTO[];
|
|
139
|
+
}
|
package/dist/dto/file.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export interface CreateFileDTO extends FileBasic {
|
|
|
13
13
|
}
|
|
14
14
|
export interface FileSummaryListResponseDTO extends FileBasic {
|
|
15
15
|
key: string;
|
|
16
|
-
updatedAt:
|
|
16
|
+
updatedAt: number;
|
|
17
17
|
content: SummaryFileContent;
|
|
18
18
|
user: DocumentUserResponseDTO;
|
|
19
19
|
owner: UserBasic;
|
package/dist/dto/image.d.ts
CHANGED
package/dist/dto/judge.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ export interface JudgeSummaryListResponseDTO extends Omit<JudgeBaseDocument, 'ge
|
|
|
5
5
|
}
|
|
6
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;
|
|
@@ -18,7 +18,7 @@ export interface OrganizationResponseDTO extends EmailDataResponseDTO {
|
|
|
18
18
|
managerUser: UserOrganizationBasicInfoResponseDTO;
|
|
19
19
|
systemAdminUser: UserOrganizationBasicInfoResponseDTO;
|
|
20
20
|
plan: OrganizationPlan;
|
|
21
|
-
|
|
21
|
+
startsAt: number;
|
|
22
22
|
judges: OrganizationJudgeResponseDTO[];
|
|
23
23
|
trustedOrganizations: OrganizationTrustedOrganizationResponseDTO[];
|
|
24
24
|
styles: OrganizationStylesResponseDTO;
|
package/dist/dto/problem.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import type { EntityState, ProblemScoringMode, ProblemType } from '../enums/index.js';
|
|
2
|
-
import type { JudgeBaseDocument, ProblemBaseDocument, ProblemSettings, ProblemStatement,
|
|
3
|
-
import type { EntityMembersDTO } from './entity.js';
|
|
1
|
+
import type { EntityAccess, EntityState, ProblemScoringMode, ProblemType } from '../enums/index.js';
|
|
2
|
+
import type { JudgeBaseDocument, ProblemBaseDocument, ProblemSettings, ProblemStatement, ProblemUserDTO, TextLanguage } from '../types/index.js';
|
|
3
|
+
import type { EntityMembersDTO, EntitySharingResponseDTO } from './entity.js';
|
|
4
4
|
import type { EntityOwnerSystemSummaryListResponseDTO, UserOrganizationBasicInfoResponseDTO } from './user.js';
|
|
5
5
|
export interface ProblemJudgeSummaryListResponseDTO extends Pick<JudgeBaseDocument, 'isExternal' | 'isSubmitSupported' | 'name' | 'key'> {
|
|
6
|
-
isCustom: boolean;
|
|
7
6
|
isMain: boolean;
|
|
8
7
|
}
|
|
9
8
|
export interface EntityOrganizationSummaryListResponseDTO {
|
|
@@ -22,8 +21,9 @@ export interface ProblemBasicSummaryListResponseDTO {
|
|
|
22
21
|
externalUrl: string;
|
|
23
22
|
}
|
|
24
23
|
export interface ProblemSummaryListResponseDTO extends ProblemBasicSummaryListResponseDTO {
|
|
25
|
-
user: ProblemUser;
|
|
26
24
|
owner: UserOrganizationBasicInfoResponseDTO;
|
|
25
|
+
access: EntityAccess;
|
|
26
|
+
user: ProblemUserDTO;
|
|
27
27
|
}
|
|
28
28
|
export interface ProblemDataResponseDTO extends ProblemSummaryListResponseDTO {
|
|
29
29
|
author: string;
|
|
@@ -32,6 +32,7 @@ export interface ProblemDataResponseDTO extends ProblemSummaryListResponseDTO {
|
|
|
32
32
|
settings: ProblemSettings;
|
|
33
33
|
ownerNickname: string;
|
|
34
34
|
state: EntityState;
|
|
35
|
+
sharing: EntitySharingResponseDTO;
|
|
35
36
|
}
|
|
36
37
|
export interface ProblemJudgeSystemSummaryListResponseDTO extends ProblemJudgeSummaryListResponseDTO {
|
|
37
38
|
name: string;
|
|
@@ -46,8 +47,8 @@ export interface ProblemSystemSummaryListResponseDTO extends ProblemSummaryListR
|
|
|
46
47
|
id: string;
|
|
47
48
|
owner: EntityOwnerSystemSummaryListResponseDTO;
|
|
48
49
|
judge: ProblemJudgeSystemSummaryListResponseDTO;
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
createdAt: number;
|
|
51
|
+
updatedAt: number;
|
|
51
52
|
}
|
|
52
53
|
export interface ProblemTestCaseResponse {
|
|
53
54
|
testCaseKey: string;
|
|
@@ -59,6 +60,6 @@ export interface ProblemTestCaseResponse {
|
|
|
59
60
|
}
|
|
60
61
|
export interface ProblemTestCasesResponseDTO extends Array<ProblemTestCaseResponse> {
|
|
61
62
|
}
|
|
62
|
-
export interface UpsertProblemDTO extends Omit<ProblemBaseDocument, 'testCases' | '
|
|
63
|
+
export interface UpsertProblemDTO extends Omit<ProblemBaseDocument, 'testCases' | 'testCasesUpdatedAt' | 'key' | 'members' | 'judgeId'> {
|
|
63
64
|
members: EntityMembersDTO;
|
|
64
65
|
}
|
package/dist/dto/session.d.ts
CHANGED
|
@@ -4,9 +4,9 @@ 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
11
|
export interface UserSessionSystemSummaryListResponseDTO extends SessionBasicResponseDTO {
|
|
12
12
|
userId: string;
|
package/dist/dto/socket.d.ts
CHANGED
|
@@ -101,7 +101,7 @@ export interface WebSocketResponse {
|
|
|
101
101
|
event: WebSocketResponseEvent;
|
|
102
102
|
key: WebSocketResponseEventKey;
|
|
103
103
|
connectionId: string;
|
|
104
|
-
|
|
104
|
+
createdAt: number;
|
|
105
105
|
}
|
|
106
106
|
export interface PongWebSocketResponseEventDTO extends WebSocketResponse {
|
|
107
107
|
event: typeof WebSocketResponseEvent.PONG;
|
package/dist/dto/submission.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export interface SubmissionProblemSummaryListResponseDTO {
|
|
|
17
17
|
export interface SubmissionContestSummaryListResponseDTO {
|
|
18
18
|
key: string;
|
|
19
19
|
name: string;
|
|
20
|
-
|
|
20
|
+
settingsStartsAt: number;
|
|
21
21
|
isManager: boolean;
|
|
22
22
|
problemIndex: string;
|
|
23
23
|
problemColor: string;
|
|
@@ -65,8 +65,8 @@ export interface SubmissionSystemSummaryListResponseDTO extends SubmissionSummar
|
|
|
65
65
|
problem: SubmissionProblemSystemSummaryListResponseDTO;
|
|
66
66
|
contest: SubmissionContestSystemSummaryListResponseDTO | null;
|
|
67
67
|
organization: EntityOrganizationSystemSummaryListResponseDTO;
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
createdAt: number;
|
|
69
|
+
updatedAt: number;
|
|
70
70
|
state: EntityState;
|
|
71
71
|
}
|
|
72
72
|
export type TestCaseResult = DataLog & {
|
package/dist/dto/system.d.ts
CHANGED
|
@@ -9,8 +9,8 @@ export interface EcsTask {
|
|
|
9
9
|
cpu: string;
|
|
10
10
|
memory: string;
|
|
11
11
|
launchType: string;
|
|
12
|
-
createdAt:
|
|
13
|
-
startedAt:
|
|
12
|
+
createdAt: number;
|
|
13
|
+
startedAt: number;
|
|
14
14
|
desiredStatus: string;
|
|
15
15
|
lastStatus: string;
|
|
16
16
|
containers?: TaskResponseDTOContainer[];
|
|
@@ -24,7 +24,7 @@ export interface EcsTaskDefinition {
|
|
|
24
24
|
revision: number;
|
|
25
25
|
cpu: string;
|
|
26
26
|
memory: string;
|
|
27
|
-
registeredAt:
|
|
27
|
+
registeredAt: number;
|
|
28
28
|
}
|
|
29
29
|
export interface EcsTaskDefinitionSystemSummaryListResponseDTO extends EcsTaskDefinition {
|
|
30
30
|
isHighRunnerOrganizationKeys: string[];
|
|
@@ -58,8 +58,8 @@ export type SqsProperties = {
|
|
|
58
58
|
approximateNumberOfMessages: string;
|
|
59
59
|
approximateNumberOfMessagesNotVisible: string;
|
|
60
60
|
approximateNumberOfMessagesDelayed: string;
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
createdAt: number;
|
|
62
|
+
updatedAt: number;
|
|
63
63
|
visibilityTimeout: string;
|
|
64
64
|
maximumMessageSize: string;
|
|
65
65
|
messageRetentionPeriod: string;
|
|
@@ -84,7 +84,7 @@ export type SsmSession = {
|
|
|
84
84
|
sessionId: string;
|
|
85
85
|
target: string;
|
|
86
86
|
status: 'Connected' | 'Connecting' | 'Disconnected' | 'Failed' | 'Terminating' | 'Terminated' | undefined;
|
|
87
|
-
|
|
87
|
+
startsAt: number;
|
|
88
88
|
owner: string;
|
|
89
89
|
maxSessionDuration: number;
|
|
90
90
|
raw: unknown;
|
package/dist/dto/worksheet.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export interface WorksheetUserResponseDTO {
|
|
|
7
7
|
isSpectator: boolean;
|
|
8
8
|
}
|
|
9
9
|
export interface WorksheetSummaryListResponseDTO extends Pick<WorksheetBaseDocument, 'key' | 'name' | 'description'> {
|
|
10
|
-
updatedAt:
|
|
10
|
+
updatedAt: number;
|
|
11
11
|
content: SummaryWorksheetsInPages;
|
|
12
12
|
user: WorksheetUserResponseDTO;
|
|
13
13
|
owner: UserOrganizationBasicInfoResponseDTO;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ContestSettings } from '../types/index.js';
|
|
2
|
-
export declare const isEndlessContest: (settings: Pick<ContestSettings, "
|
|
3
|
-
export declare const isGlobalContest: (settings: Pick<ContestSettings, "
|
|
4
|
-
export declare const isPastContest: (settings: Pick<ContestSettings, "
|
|
5
|
-
export declare const isFutureContest: (settings: Pick<ContestSettings, "
|
|
2
|
+
export declare const isEndlessContest: (settings: Pick<ContestSettings, "startsAt" | "frozenAt" | "silencedAt" | "endsAt" | "penalty"> | undefined) => boolean;
|
|
3
|
+
export declare const isGlobalContest: (settings: Pick<ContestSettings, "startsAt" | "frozenAt" | "silencedAt" | "endsAt" | "penalty"> | undefined) => boolean;
|
|
4
|
+
export declare const isPastContest: (settings: Pick<ContestSettings, "endsAt"> | undefined) => boolean;
|
|
5
|
+
export declare const isFutureContest: (settings: Pick<ContestSettings, "startsAt"> | undefined) => boolean;
|
package/dist/helpers/contest.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { MAX_DATE, MIN_DATE } from '../constants/index.js';
|
|
2
2
|
export const isEndlessContest = (settings) => {
|
|
3
|
-
return (settings?.
|
|
4
|
-
settings?.
|
|
5
|
-
settings?.
|
|
6
|
-
settings?.
|
|
3
|
+
return (settings?.startsAt === MIN_DATE.getTime() &&
|
|
4
|
+
settings?.frozenAt === MAX_DATE.getTime() &&
|
|
5
|
+
settings?.silencedAt === MAX_DATE.getTime() &&
|
|
6
|
+
settings?.endsAt === MAX_DATE.getTime() &&
|
|
7
7
|
settings?.penalty === 0);
|
|
8
8
|
};
|
|
9
9
|
export const isGlobalContest = (settings) => {
|
|
10
|
-
return (settings?.
|
|
11
|
-
settings?.
|
|
12
|
-
settings?.
|
|
13
|
-
settings?.
|
|
10
|
+
return (settings?.startsAt === 0 &&
|
|
11
|
+
settings?.frozenAt === 0 &&
|
|
12
|
+
settings?.silencedAt === 0 &&
|
|
13
|
+
settings?.endsAt === 0 &&
|
|
14
14
|
settings?.penalty === 0);
|
|
15
15
|
};
|
|
16
16
|
export const isPastContest = (settings) => {
|
|
17
|
-
return Date.now() > (settings?.
|
|
17
|
+
return Date.now() > (settings?.endsAt ?? 0);
|
|
18
18
|
};
|
|
19
19
|
export const isFutureContest = (settings) => {
|
|
20
|
-
return (settings?.
|
|
20
|
+
return (settings?.startsAt ?? 0) > Date.now();
|
|
21
21
|
};
|
package/dist/helpers/socket.js
CHANGED
|
@@ -95,8 +95,8 @@ export const isWebSocketResponseEventDTO = (event) => {
|
|
|
95
95
|
return (Object.values(WebSocketResponseEvent).includes(v.event) &&
|
|
96
96
|
typeof v.key === 'string' &&
|
|
97
97
|
typeof v.connectionId === 'string' &&
|
|
98
|
-
typeof v.
|
|
99
|
-
!!v.
|
|
98
|
+
typeof v.createdAt === 'number' &&
|
|
99
|
+
!!v.createdAt);
|
|
100
100
|
};
|
|
101
101
|
export const isPongWebSocketResponseEventDTO = (event) => {
|
|
102
102
|
if (!isWebSocketResponseEventDTO(event))
|
package/dist/types/class.d.ts
CHANGED
|
@@ -6,8 +6,8 @@ interface ClassCycleSession {
|
|
|
6
6
|
index: number;
|
|
7
7
|
name: string;
|
|
8
8
|
assignments: ClassCycleSessionAssignments;
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
startsAt: number;
|
|
10
|
+
endsAt: number;
|
|
11
11
|
state: EntityState;
|
|
12
12
|
}
|
|
13
13
|
export interface ClassCycleSessions {
|
|
@@ -25,8 +25,8 @@ export type ClassCycle = {
|
|
|
25
25
|
name: string;
|
|
26
26
|
sessions: ClassCycleSessions;
|
|
27
27
|
tags: ClassCycleTag[];
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
startsAt: number;
|
|
29
|
+
endsAt: number;
|
|
30
30
|
state: EntityState;
|
|
31
31
|
};
|
|
32
32
|
export interface ClassCycles {
|
package/dist/types/comments.d.ts
CHANGED
package/dist/types/contest.d.ts
CHANGED
|
@@ -39,9 +39,9 @@ export type ContestClarification = {
|
|
|
39
39
|
problemJudgeKey: string;
|
|
40
40
|
question: string;
|
|
41
41
|
questionUser: UserOrganizationBasicInfoResponseDTO;
|
|
42
|
-
|
|
42
|
+
askedAt: number;
|
|
43
43
|
answer: string;
|
|
44
|
-
|
|
44
|
+
answeredAt: number;
|
|
45
45
|
answerUser: UserOrganizationBasicInfoResponseDTO;
|
|
46
46
|
public: boolean;
|
|
47
47
|
};
|
|
@@ -55,8 +55,8 @@ export type ContestProblem = {
|
|
|
55
55
|
index: string;
|
|
56
56
|
points: number;
|
|
57
57
|
color: string;
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
startsAt: number;
|
|
59
|
+
endsAt: number;
|
|
60
60
|
prerequisites: ContestProblemPrerequisite[];
|
|
61
61
|
maxAcceptedUsers: number;
|
|
62
62
|
group: string;
|
|
@@ -67,17 +67,17 @@ export type ContestSettings = {
|
|
|
67
67
|
languages: CodeLanguage[];
|
|
68
68
|
penalty: number;
|
|
69
69
|
timeToSolve: number;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
startsAt: number;
|
|
71
|
+
frozenAt: number;
|
|
72
|
+
silencedAt: number;
|
|
73
|
+
endsAt: number;
|
|
74
74
|
scoreboardLocked: boolean;
|
|
75
75
|
upsolvingEnabled: boolean;
|
|
76
76
|
};
|
|
77
77
|
export type MemberUserData = {
|
|
78
78
|
userId: string;
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
lastVisitedAt: number | null;
|
|
80
|
+
joinedAt: number;
|
|
81
81
|
};
|
|
82
82
|
export type ContestMembersBasic = {
|
|
83
83
|
administrators: {
|
|
@@ -134,5 +134,5 @@ export type ContestMembersResponse = {
|
|
|
134
134
|
};
|
|
135
135
|
};
|
|
136
136
|
export type ContestTimeData = Pick<ContestDataResponseDTO, 'isLive' | 'isFrozenTime' | 'isQuietTime' | 'isEndless' | 'isPast' | 'isFuture' | 'isGlobal'> & {
|
|
137
|
-
settings: Pick<UpsertContestDTO['settings'], 'penalty' | '
|
|
137
|
+
settings: Pick<UpsertContestDTO['settings'], 'penalty' | 'startsAt' | 'frozenAt' | 'silencedAt' | 'endsAt' | 'upsolvingEnabled'>;
|
|
138
138
|
};
|
package/dist/types/entity.d.ts
CHANGED
|
@@ -2,13 +2,13 @@ import type { UserOrganizationBasicInfoResponseDTO } from '../dto/index.js';
|
|
|
2
2
|
import type { EntityMembersRank, EntityState, LogOperation } from '../enums/index.js';
|
|
3
3
|
export type EntityUsersMemberUserData = {
|
|
4
4
|
userId: string;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
lastVisitedAt: number | null;
|
|
6
|
+
joinedAt: number;
|
|
7
7
|
};
|
|
8
8
|
export type EntityTeamsMemberUserData = {
|
|
9
9
|
teamId: string;
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
lastVisitedAt: number | null;
|
|
11
|
+
joinedAt: number;
|
|
12
12
|
};
|
|
13
13
|
export type EntityMembersUserData = EntityUsersMemberUserData | EntityTeamsMemberUserData;
|
|
14
14
|
export interface EntityMembers {
|
|
@@ -40,8 +40,8 @@ export interface EntityOrganizationDocument {
|
|
|
40
40
|
organizationId: string;
|
|
41
41
|
}
|
|
42
42
|
export interface EntityTimestampsDocument {
|
|
43
|
-
createdAt:
|
|
44
|
-
updatedAt:
|
|
43
|
+
createdAt: number;
|
|
44
|
+
updatedAt: number;
|
|
45
45
|
}
|
|
46
46
|
export interface EntityStateDocument {
|
|
47
47
|
state: EntityState;
|
package/dist/types/problem.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CodeLanguage, ProblemScoringMode, ProblemType } from '../enums/index.js';
|
|
1
|
+
import type { CodeLanguage, EntityAccess, ProblemScoringMode, ProblemType } from '../enums/index.js';
|
|
2
2
|
import type { EntityMembers } from './entity.js';
|
|
3
3
|
import type { ProblemTestCase } from './services.js';
|
|
4
4
|
import type { TextLanguage } from './text.js';
|
|
@@ -46,11 +46,8 @@ export type ProblemSettings = {
|
|
|
46
46
|
evaluatorSource: string;
|
|
47
47
|
pointsByGroups: ProblemSettingsPointsByGroups;
|
|
48
48
|
};
|
|
49
|
-
export type
|
|
50
|
-
|
|
51
|
-
isAdministrator: boolean;
|
|
52
|
-
isManager: boolean;
|
|
53
|
-
isSpectator: boolean;
|
|
49
|
+
export type ProblemUserDTO = {
|
|
50
|
+
role: EntityAccess;
|
|
54
51
|
solved: boolean;
|
|
55
52
|
tried: boolean;
|
|
56
53
|
};
|
|
@@ -65,7 +62,7 @@ export interface ProblemBaseDocument {
|
|
|
65
62
|
judgeId: string;
|
|
66
63
|
key: string;
|
|
67
64
|
testCases: ProblemTestCase[];
|
|
68
|
-
|
|
65
|
+
testCasesUpdatedAt: number;
|
|
69
66
|
members: EntityMembers;
|
|
70
67
|
costs: {
|
|
71
68
|
unlockEditorial: number;
|
package/dist/types/teams.d.ts
CHANGED
|
@@ -7,8 +7,8 @@ export interface TeamMember {
|
|
|
7
7
|
}
|
|
8
8
|
export interface Assignment {
|
|
9
9
|
id: number;
|
|
10
|
-
createdAt:
|
|
11
|
-
updatedAt:
|
|
10
|
+
createdAt: number;
|
|
11
|
+
updatedAt: number;
|
|
12
12
|
users: [];
|
|
13
13
|
name: string;
|
|
14
14
|
type: AssignmentType;
|
|
@@ -16,14 +16,14 @@ export interface Assignment {
|
|
|
16
16
|
}
|
|
17
17
|
export interface Comment {
|
|
18
18
|
id: number;
|
|
19
|
-
createdAt:
|
|
20
|
-
updatedAt:
|
|
19
|
+
createdAt: number;
|
|
20
|
+
updatedAt: number;
|
|
21
21
|
comment: string;
|
|
22
22
|
}
|
|
23
23
|
export interface Task {
|
|
24
24
|
id: number;
|
|
25
|
-
createdAt:
|
|
26
|
-
updatedAt:
|
|
25
|
+
createdAt: number;
|
|
26
|
+
updatedAt: number;
|
|
27
27
|
comments: Comment[];
|
|
28
28
|
assigned: UserBasic[];
|
|
29
29
|
subtasks: [];
|
|
@@ -40,7 +40,7 @@ export interface Training {
|
|
|
40
40
|
}
|
|
41
41
|
export interface Team {
|
|
42
42
|
id: number;
|
|
43
|
-
createdAt:
|
|
43
|
+
createdAt: number;
|
|
44
44
|
name: string;
|
|
45
45
|
aboutTeam: string;
|
|
46
46
|
country: string;
|
|
@@ -60,7 +60,7 @@ export interface TrainingBasic {
|
|
|
60
60
|
}
|
|
61
61
|
export interface TeamBasic {
|
|
62
62
|
id: number;
|
|
63
|
-
createdAt:
|
|
63
|
+
createdAt: number;
|
|
64
64
|
name: string;
|
|
65
65
|
aboutTeam: string;
|
|
66
66
|
country: string;
|