@juki-team/commons 0.1.42 → 0.1.45

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 (65) hide show
  1. package/dist/cjs/index.cjs +419 -534
  2. package/dist/esm/index.js +329 -481
  3. package/dist/types/constants/entity.d.ts +3 -3
  4. package/dist/types/constants/index.d.ts +1 -1
  5. package/dist/types/constants/organization.d.ts +9 -0
  6. package/dist/types/constants/websocket.d.ts +10 -10
  7. package/dist/types/dto/class.d.ts +34 -34
  8. package/dist/types/dto/code.d.ts +1 -1
  9. package/dist/types/dto/comments.d.ts +9 -9
  10. package/dist/types/dto/contest.d.ts +46 -42
  11. package/dist/types/dto/course.d.ts +13 -13
  12. package/dist/types/dto/entity.d.ts +30 -25
  13. package/dist/types/dto/excalidraw.d.ts +7 -7
  14. package/dist/types/dto/file.d.ts +10 -15
  15. package/dist/types/dto/image.d.ts +2 -2
  16. package/dist/types/dto/index.d.ts +1 -1
  17. package/dist/types/dto/judge.d.ts +5 -5
  18. package/dist/types/dto/markdown.d.ts +7 -7
  19. package/dist/types/dto/mermaid.d.ts +7 -7
  20. package/dist/types/dto/{company.d.ts → organization.d.ts} +16 -16
  21. package/dist/types/dto/problem.d.ts +22 -22
  22. package/dist/types/dto/scoreboard.d.ts +8 -18
  23. package/dist/types/dto/session.d.ts +9 -9
  24. package/dist/types/dto/socket.d.ts +50 -124
  25. package/dist/types/dto/statistics.d.ts +7 -7
  26. package/dist/types/dto/submission.d.ts +22 -22
  27. package/dist/types/dto/system.d.ts +7 -82
  28. package/dist/types/dto/url.d.ts +1 -1
  29. package/dist/types/dto/user.d.ts +22 -22
  30. package/dist/types/dto/virtual-user.d.ts +3 -25
  31. package/dist/types/dto/worksheet-submissions.d.ts +22 -22
  32. package/dist/types/dto/worksheet.d.ts +12 -12
  33. package/dist/types/helpers/class.d.ts +4 -4
  34. package/dist/types/helpers/comments.d.ts +1 -1
  35. package/dist/types/helpers/contest.d.ts +4 -4
  36. package/dist/types/helpers/date.d.ts +68 -0
  37. package/dist/types/helpers/document.d.ts +2 -2
  38. package/dist/types/helpers/index.d.ts +3 -0
  39. package/dist/types/helpers/number.d.ts +2 -0
  40. package/dist/types/helpers/responses.d.ts +1 -1
  41. package/dist/types/helpers/socket.d.ts +37 -50
  42. package/dist/types/helpers/time.d.ts +0 -11
  43. package/dist/types/helpers/user.d.ts +2 -2
  44. package/dist/types/index.d.ts +0 -1
  45. package/dist/types/types/class.d.ts +6 -6
  46. package/dist/types/types/comments.d.ts +2 -2
  47. package/dist/types/types/contest.d.ts +20 -23
  48. package/dist/types/types/entity.d.ts +13 -19
  49. package/dist/types/types/file.d.ts +6 -0
  50. package/dist/types/types/index.d.ts +3 -1
  51. package/dist/types/types/{company.d.ts → organization.d.ts} +2 -2
  52. package/dist/types/types/prisma.d.ts +2 -2
  53. package/dist/types/types/problems.d.ts +1 -1
  54. package/dist/types/types/scoreboard.d.ts +11 -0
  55. package/dist/types/types/sheet.d.ts +1 -1
  56. package/dist/types/types/socket.d.ts +16 -16
  57. package/dist/types/types/system.d.ts +76 -0
  58. package/dist/types/types/teams.d.ts +8 -8
  59. package/dist/types/types/virtual-user.d.ts +22 -0
  60. package/package.json +1 -1
  61. package/dist/types/constants/company.d.ts +0 -9
  62. package/dist/types/prototypes/Date.d.ts +0 -62
  63. package/dist/types/prototypes/Number.d.ts +0 -7
  64. package/dist/types/prototypes/index.d.ts +0 -3
  65. /package/dist/types/{prototypes/Error.d.ts → helpers/errors.d.ts} +0 -0
@@ -1,12 +1,12 @@
1
1
  import { MarkdownBaseDocument } from '../types';
2
- import { EntityMembersDTO, EntityMembersResponseDTO } from './entity';
3
- import { UserCompanyBasicInfoResponseDTO } from './user';
4
- export interface MarkdownResponseDTO extends Omit<MarkdownBaseDocument, 'members'> {
5
- owner: UserCompanyBasicInfoResponseDTO;
6
- members: EntityMembersResponseDTO;
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 UpsertMarkdownDTO extends Omit<MarkdownBaseDocument, 'key' | 'members'> {
11
- members: EntityMembersDTO;
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 { EntityMembersDTO, EntityMembersResponseDTO } from './entity';
3
- import { UserCompanyBasicInfoResponseDTO } from './user';
4
- export interface MermaidResponseDTO extends Omit<MermaidBaseDocument, 'members'> {
5
- owner: UserCompanyBasicInfoResponseDTO;
6
- members: EntityMembersResponseDTO;
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 UpsertMermaidDTO extends Omit<MermaidBaseDocument, 'key' | 'members'> {
11
- members: EntityMembersDTO;
10
+ export interface UpsertMermaidDto extends Omit<MermaidBaseDocument, 'key' | 'members'> {
11
+ members: EntityMembersDto;
12
12
  }
@@ -1,35 +1,35 @@
1
- import { CompanyPlan, ResourceInstance, ResourceLogger, Theme } from '../types';
2
- import { EmailDataResponseDTO } from './system';
3
- import { UserCompanyBasicInfoResponseDTO, UserPermissions } from './user';
4
- export interface CompanyJudgeResponseDTO {
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 CompanyTrustedCompanyResponseDTO {
9
+ export interface OrganizationTrustedOrganizationResponseDto {
10
10
  key: string;
11
11
  name: string;
12
12
  }
13
- export interface CompanyResponseDTO extends EmailDataResponseDTO {
13
+ export interface OrganizationResponseDto extends EmailDataResponseDto {
14
14
  name: string;
15
15
  key: string;
16
16
  hosts: string[];
17
17
  imageUrl: string;
18
- managerUser: UserCompanyBasicInfoResponseDTO;
19
- systemAdminUser: UserCompanyBasicInfoResponseDTO;
20
- plan: CompanyPlan;
21
- startTimestamp: number;
22
- judges: CompanyJudgeResponseDTO[];
23
- trustedCompanies: CompanyTrustedCompanyResponseDTO[];
24
- styles: CompanyStyles;
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 CompanyUserPermissionsResponseDTO extends CompanyResponseDTO {
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 CompanyResourceSpecificationsResponseDTO {
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 CompanyStyles = Record<Theme, {
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 { EntityMembersDTO, EntityMembersResponseDTO } from './entity';
3
- import { EntityOwnerSystemSummaryListResponseDTO, UserCompanyBasicInfoResponseDTO } from './user';
4
- export interface ProblemJudgeSummaryListResponseDTO extends Pick<JudgeBaseDocument, 'isExternal' | 'isSubmitSupported' | 'name' | 'key'> {
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 EntityCompanySummaryListResponseDTO {
8
+ export interface EntityOrganizationSummaryListResponseDto {
9
9
  key: string;
10
10
  }
11
- export interface ProblemBasicSummaryListResponseDTO {
12
- company: EntityCompanySummaryListResponseDTO;
13
- judge: ProblemJudgeSummaryListResponseDTO;
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: EntityMembersResponseDTO;
22
+ members: EntityMembersResponseDto;
23
23
  externalUrl: string;
24
24
  }
25
- export interface ProblemSummaryListResponseDTO extends ProblemBasicSummaryListResponseDTO {
25
+ export interface ProblemSummaryListResponseDto extends ProblemBasicSummaryListResponseDto {
26
26
  user: ProblemUser;
27
- owner: UserCompanyBasicInfoResponseDTO;
27
+ owner: UserOrganizationBasicInfoResponseDto;
28
28
  }
29
- export interface ProblemDataResponseDTO extends ProblemSummaryListResponseDTO {
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 ProblemJudgeSystemSummaryListResponseDTO extends ProblemJudgeSummaryListResponseDTO {
37
+ export interface ProblemJudgeSystemSummaryListResponseDto extends ProblemJudgeSummaryListResponseDto {
38
38
  name: string;
39
39
  id: string;
40
40
  }
41
- export interface EntityCompanySystemSummaryListResponseDTO extends EntityCompanySummaryListResponseDTO {
41
+ export interface EntityOrganizationSystemSummaryListResponseDto extends EntityOrganizationSummaryListResponseDto {
42
42
  name: string;
43
43
  id: string;
44
44
  }
45
- export interface ProblemSystemSummaryListResponseDTO extends ProblemSummaryListResponseDTO {
45
+ export interface ProblemSystemSummaryListResponseDto extends ProblemSummaryListResponseDto {
46
46
  state: EntityState;
47
47
  id: string;
48
- owner: EntityOwnerSystemSummaryListResponseDTO;
49
- judge: ProblemJudgeSystemSummaryListResponseDTO;
50
- company: EntityCompanySystemSummaryListResponseDTO;
51
- creationTimestamp: number;
52
- updateTimestamp: number;
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 ProblemTestCasesResponseDTO extends Array<ProblemTestCaseResponse> {
62
+ export interface ProblemTestCasesResponseDto extends Array<ProblemTestCaseResponse> {
63
63
  }
64
- export interface UpsertProblemDTO extends Omit<ProblemBaseDocument, 'testCases' | 'testCasesUpdatedAtTimestamp' | 'key' | 'members' | 'judgeId'> {
65
- members: EntityMembersDTO;
64
+ export interface UpsertProblemDto extends Omit<ProblemBaseDocument, 'testCases' | 'testCasesUpdatedAt' | 'key' | 'members' | 'judgeId'> {
65
+ members: EntityMembersDto;
66
66
  }
@@ -1,23 +1,13 @@
1
- import { UserSummaryListResponseDTO } from './user';
2
- export type ScoreboardProblem = {
3
- attempts: number;
4
- points: number;
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 ScoreboardTimelineEventResponseDTO = {
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 ScoreboardHistoryResponseDTO {
20
+ export interface ScoreboardHistoryResponseDto {
31
21
  contestKey: string;
32
22
  userProblemTimelineRefs: Record<string, number[]>;
33
- timelineEvents: ScoreboardTimelineEventResponseDTO[];
34
- participants: Record<string, UserSummaryListResponseDTO>;
23
+ timelineEvents: ScoreboardTimelineEventResponseDto[];
24
+ participants: Record<string, UserSummaryListResponseDto>;
35
25
  }
@@ -1,15 +1,15 @@
1
- import { EntityCompanySystemSummaryListResponseDTO } from './problem';
2
- import { UserBasicResponseDTO } from './user';
3
- export interface SessionBasicResponseDTO {
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
- validUntilTimestamp: number;
8
- creationTimestamp: number;
9
- updateTimestamp: number;
7
+ expiresAt: number;
8
+ createdAt: number;
9
+ updatedAt: number;
10
10
  }
11
- export interface UserSessionSystemSummaryListResponseDTO extends SessionBasicResponseDTO {
11
+ export interface UserSessionSystemSummaryListResponseDto extends SessionBasicResponseDto {
12
12
  userId: string;
13
- user: UserBasicResponseDTO;
14
- company: EntityCompanySystemSummaryListResponseDTO;
13
+ user: UserBasicResponseDto;
14
+ organization: EntityOrganizationSystemSummaryListResponseDto;
15
15
  }
@@ -1,137 +1,83 @@
1
- import { ClientId, Device, ProblemVerdict, SubmissionRunStatus, WebSocketMessageEvent, WebSocketResponseEvent, WebSocketResponseEventKey, WebSocketSubscriptionEvent } from '../types';
2
- import { Ec2Instance, EcsTaskDefinitionSystemSummaryListResponseDTO, EcsTaskSystemSummaryListResponseDTO, SsmSession } from './system';
3
- import { PingResponseDTO, UserCompanyBasicInfoResponseDTO } from './user';
4
- interface WebsocketMessage {
5
- event: WebSocketMessageEvent;
6
- clientId: ClientId;
7
- }
8
- export interface PingWebSocketEventDTO extends WebsocketMessage {
9
- event: WebSocketMessageEvent.PING;
10
- }
11
- export interface ClientTrackLocationWebSocketEventDTO extends WebsocketMessage {
12
- event: WebSocketMessageEvent.CLIENT_TRACK_LOCATION;
13
- href: string;
14
- }
15
- export interface ClientTrackScreenshotWebSocketEventDTO extends WebsocketMessage {
16
- event: WebSocketMessageEvent.CLIENT_TRACK_SCREENSHOT;
17
- screenshot: string;
18
- }
19
- export interface ClientTrackDeviceWebSocketEventDTO extends WebsocketMessage {
20
- event: WebSocketMessageEvent.CLIENT_TRACK_DEVICE;
21
- device: Device;
22
- }
23
- export interface ChatCompletionsWebSocketEventDTO extends WebsocketMessage {
24
- event: WebSocketMessageEvent.CHAT_COMPLETIONS;
25
- chatAiId: string;
26
- content: string;
27
- }
28
- 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';
29
4
  export interface WebsocketSubscription {
30
5
  event: WebSocketSubscriptionEvent;
31
6
  clientId: ClientId;
32
7
  }
33
- export interface SubscribeCodeRunStatusWebSocketEventDTO extends WebsocketSubscription {
8
+ export interface SubscribeCodeRunStatusWebSocketEventDto extends WebsocketSubscription {
34
9
  event: WebSocketSubscriptionEvent.SUBSCRIBE_CODE_RUN_STATUS;
35
10
  runId: string;
36
11
  }
37
- export interface UnsubscribeCodeRunStatusWebSocketEventDTO extends WebsocketSubscription {
12
+ export interface UnsubscribeCodeRunStatusWebSocketEventDto extends WebsocketSubscription {
38
13
  event: WebSocketSubscriptionEvent.UNSUBSCRIBE_CODE_RUN_STATUS;
39
14
  runId: string;
40
15
  }
41
- export interface SubscribeSubmissionRunStatusWebSocketEventDTO extends WebsocketSubscription {
16
+ export interface SubscribeSubmissionRunStatusWebSocketEventDto extends WebsocketSubscription {
42
17
  event: WebSocketSubscriptionEvent.SUBSCRIBE_SUBMISSION_RUN_STATUS;
43
18
  submitId: string;
44
19
  }
45
- export interface UnsubscribeSubmissionRunStatusWebSocketEventDTO extends WebsocketSubscription {
20
+ export interface UnsubscribeSubmissionRunStatusWebSocketEventDto extends WebsocketSubscription {
46
21
  event: WebSocketSubscriptionEvent.UNSUBSCRIBE_SUBMISSION_RUN_STATUS;
47
22
  submitId: string;
48
23
  }
49
- export interface SubscribeGetDataWebSocketEventDTO extends WebsocketSubscription {
24
+ export interface SubscribeGetDataWebSocketEventDto extends WebsocketSubscription {
50
25
  dataId: string;
51
26
  event: WebSocketSubscriptionEvent.SUBSCRIBE_GET_DATA;
52
27
  }
53
- export interface UnsubscribeGetDataWebSocketEventDTO extends WebsocketSubscription {
28
+ export interface UnsubscribeGetDataWebSocketEventDto extends WebsocketSubscription {
54
29
  dataId: string;
55
30
  event: WebSocketSubscriptionEvent.UNSUBSCRIBE_GET_DATA;
56
31
  }
57
- export interface SubscribeProblemCrawledWebSocketEventDTO extends WebsocketSubscription {
32
+ export interface SubscribeProblemCrawledWebSocketEventDto extends WebsocketSubscription {
58
33
  event: WebSocketSubscriptionEvent.SUBSCRIBE_PROBLEM_CRAWLED;
59
34
  problemKey: string;
60
35
  }
61
- export interface UnsubscribeProblemCrawledWebSocketEventDTO extends WebsocketSubscription {
36
+ export interface UnsubscribeProblemCrawledWebSocketEventDto extends WebsocketSubscription {
62
37
  event: WebSocketSubscriptionEvent.UNSUBSCRIBE_PROBLEM_CRAWLED;
63
38
  problemKey: string;
64
39
  }
65
- export interface SubscribeSubmissionsCrawlWebSocketEventDTO extends WebsocketSubscription {
40
+ export interface SubscribeSubmissionsCrawlWebSocketEventDto extends WebsocketSubscription {
66
41
  event: WebSocketSubscriptionEvent.SUBSCRIBE_SUBMISSIONS_CRAWL;
67
42
  contestKey: string;
68
43
  problemKeys: string;
69
44
  }
70
- export interface UnsubscribeSubmissionsCrawlWebSocketEventDTO extends WebsocketSubscription {
45
+ export interface UnsubscribeSubmissionsCrawlWebSocketEventDto extends WebsocketSubscription {
71
46
  event: WebSocketSubscriptionEvent.UNSUBSCRIBE_SUBMISSIONS_CRAWL;
72
47
  contestKey: string;
73
48
  problemKeys: string;
74
49
  }
75
- export interface SubscribeContestChangesWebSocketEventDTO extends WebsocketSubscription {
50
+ export interface SubscribeContestChangesWebSocketEventDto extends WebsocketSubscription {
76
51
  event: WebSocketSubscriptionEvent.SUBSCRIBE_CONTEST_CHANGES;
77
52
  contestKey: string;
78
53
  }
79
- export interface UnsubscribeContestChangesWebSocketEventDTO extends WebsocketSubscription {
54
+ export interface UnsubscribeContestChangesWebSocketEventDto extends WebsocketSubscription {
80
55
  event: WebSocketSubscriptionEvent.UNSUBSCRIBE_CONTEST_CHANGES;
81
56
  contestKey: string;
82
57
  }
83
- export interface SubscribeClientTrackWebSocketEventDTO extends WebsocketSubscription {
84
- event: WebSocketSubscriptionEvent.SUBSCRIBE_CLIENT_TRACK;
85
- }
86
- export interface UnsubscribeClientTrackWebSocketEventDTO extends WebsocketSubscription {
87
- event: WebSocketSubscriptionEvent.UNSUBSCRIBE_CLIENT_TRACK;
88
- }
89
- export interface SubscribeUserNotificationWebsocketEventDTO extends WebsocketSubscription {
58
+ export interface SubscribeUserNotificationWebsocketEventDto extends WebsocketSubscription {
90
59
  event: WebSocketSubscriptionEvent.SUBSCRIBE_USER_NOTIFICATION;
91
60
  userKey: string;
92
61
  }
93
- export interface UnsubscribeUserNotificationWebSocketEventDTO extends WebsocketSubscription {
62
+ export interface UnsubscribeUserNotificationWebSocketEventDto extends WebsocketSubscription {
94
63
  event: WebSocketSubscriptionEvent.UNSUBSCRIBE_USER_NOTIFICATION;
95
64
  userKey: string;
96
65
  }
97
- export interface SubscribeClientTrackDataWebSocketEventDTO extends WebsocketSubscription {
98
- event: WebSocketSubscriptionEvent.SUBSCRIBE_CLIENT_TRACK_DATA;
99
- trackedClientId: ClientId;
100
- }
101
- export interface UnsubscribeClientTrackDataWebSocketEventDTO extends WebsocketSubscription {
102
- event: WebSocketSubscriptionEvent.UNSUBSCRIBE_CLIENT_TRACK_DATA;
103
- trackedClientId: ClientId;
104
- }
105
- export type WebSocketSubscribeEventDTO = SubscribeCodeRunStatusWebSocketEventDTO | SubscribeSubmissionRunStatusWebSocketEventDTO | SubscribeGetDataWebSocketEventDTO | SubscribeProblemCrawledWebSocketEventDTO | SubscribeSubmissionsCrawlWebSocketEventDTO | SubscribeContestChangesWebSocketEventDTO | SubscribeClientTrackWebSocketEventDTO | SubscribeUserNotificationWebsocketEventDTO | SubscribeClientTrackDataWebSocketEventDTO;
106
- export type WebSocketUnsubscribeEventDTO = UnsubscribeCodeRunStatusWebSocketEventDTO | UnsubscribeSubmissionRunStatusWebSocketEventDTO | UnsubscribeGetDataWebSocketEventDTO | UnsubscribeProblemCrawledWebSocketEventDTO | UnsubscribeSubmissionsCrawlWebSocketEventDTO | UnsubscribeContestChangesWebSocketEventDTO | UnsubscribeClientTrackWebSocketEventDTO | UnsubscribeUserNotificationWebSocketEventDTO | UnsubscribeClientTrackDataWebSocketEventDTO;
66
+ export type WebSocketSubscribeEventDto = SubscribeCodeRunStatusWebSocketEventDto | SubscribeSubmissionRunStatusWebSocketEventDto | SubscribeGetDataWebSocketEventDto | SubscribeProblemCrawledWebSocketEventDto | SubscribeSubmissionsCrawlWebSocketEventDto | SubscribeContestChangesWebSocketEventDto | SubscribeUserNotificationWebsocketEventDto;
67
+ export type WebSocketUnsubscribeEventDto = UnsubscribeCodeRunStatusWebSocketEventDto | UnsubscribeSubmissionRunStatusWebSocketEventDto | UnsubscribeGetDataWebSocketEventDto | UnsubscribeProblemCrawledWebSocketEventDto | UnsubscribeSubmissionsCrawlWebSocketEventDto | UnsubscribeContestChangesWebSocketEventDto | UnsubscribeUserNotificationWebSocketEventDto;
107
68
  export interface WebSocketResponse {
108
69
  event: WebSocketResponseEvent;
109
70
  key: WebSocketResponseEventKey;
110
71
  connectionId: string;
111
- messageTimestamp: number;
112
- }
113
- export interface PongWebSocketResponseEventDTO extends WebSocketResponse {
114
- event: WebSocketResponseEvent.PONG;
115
- data: PingResponseDTO;
116
- }
117
- export type InfoLogCaseStatus = {
118
- inputKey: string;
119
- out: string;
120
- err: string;
121
- log: string;
122
- };
123
- export interface CodeRunStatusWebSocketResponseEventDTO extends WebSocketResponse {
72
+ createdAt: number;
73
+ }
74
+ export interface CodeRunStatusWebSocketResponseEventDto extends WebSocketResponse {
124
75
  event: WebSocketResponseEvent.CODE_RUN_STATUS;
125
76
  runId: string;
126
77
  status: SubmissionRunStatus;
127
78
  log: InfoLogCaseStatus;
128
79
  }
129
- export type TestInfo = {
130
- sampleCase: boolean;
131
- caseResultsExecuted: number;
132
- caseResultsTotal: number;
133
- };
134
- export interface SubmissionRunStatusWebSocketResponseEventDTO extends WebSocketResponse {
80
+ export interface SubmissionRunStatusWebSocketResponseEventDto extends WebSocketResponse {
135
81
  event: WebSocketResponseEvent.SUBMISSION_RUN_STATUS;
136
82
  submitId: string;
137
83
  status: SubmissionRunStatus;
@@ -140,9 +86,9 @@ export interface SubmissionRunStatusWebSocketResponseEventDTO extends WebSocketR
140
86
  testInfo?: TestInfo;
141
87
  shouldValidateContest: boolean;
142
88
  }
143
- export interface UserMessageWebSocketResponseEventDTO extends WebSocketResponse {
89
+ export interface UserMessageWebSocketResponseEventDto extends WebSocketResponse {
144
90
  event: WebSocketResponseEvent.USER_MESSAGE;
145
- user: UserCompanyBasicInfoResponseDTO;
91
+ user: UserOrganizationBasicInfoResponseDto;
146
92
  content: {
147
93
  type: 'SUBMISSION_VERDICT';
148
94
  contestName: string;
@@ -151,27 +97,27 @@ export interface UserMessageWebSocketResponseEventDTO extends WebSocketResponse
151
97
  points: number;
152
98
  };
153
99
  }
154
- export interface SendDataWebSocketResponseEventDTO extends WebSocketResponse {
100
+ export interface SendDataWebSocketResponseEventDto extends WebSocketResponse {
155
101
  dataId: string;
156
102
  content: any;
157
103
  }
158
- export interface SendDataEcsTaskDefinitionListWebSocketResponseEventDTO extends SendDataWebSocketResponseEventDTO {
104
+ export interface SendDataEcsTaskDefinitionListWebSocketResponseEventDto extends SendDataWebSocketResponseEventDto {
159
105
  event: WebSocketResponseEvent.SEND_DATA_ECS_TASK_DEFINITIONS_LIST;
160
- content: EcsTaskDefinitionSystemSummaryListResponseDTO[];
106
+ content: EcsTaskDefinitionSystemSummaryListResponseDto[];
161
107
  }
162
- export interface SendDataEcsTasksListWebSocketResponseEventDTO extends SendDataWebSocketResponseEventDTO {
108
+ export interface SendDataEcsTasksListWebSocketResponseEventDto extends SendDataWebSocketResponseEventDto {
163
109
  event: WebSocketResponseEvent.SEND_DATA_ECS_TASKS_LIST;
164
- content: EcsTaskSystemSummaryListResponseDTO[];
110
+ content: EcsTaskSystemSummaryListResponseDto[];
165
111
  }
166
- export interface SendDataEc2InstancesListWebSocketResponseEventDTO extends SendDataWebSocketResponseEventDTO {
112
+ export interface SendDataEc2InstancesListWebSocketResponseEventDto extends SendDataWebSocketResponseEventDto {
167
113
  event: WebSocketResponseEvent.SEND_DATA_EC2_INSTANCES_LIST;
168
114
  content: Ec2Instance[];
169
115
  }
170
- export interface SendDataSsmSessionsListWebSocketResponseEventDTO extends SendDataWebSocketResponseEventDTO {
116
+ export interface SendDataSsmSessionsListWebSocketResponseEventDto extends SendDataWebSocketResponseEventDto {
171
117
  event: WebSocketResponseEvent.SEND_DATA_SSM_SESSIONS_LIST;
172
118
  content: SsmSession[];
173
119
  }
174
- export interface SendDataRunCommandWebSocketResponseEventDTO extends SendDataWebSocketResponseEventDTO {
120
+ export interface SendDataRunCommandWebSocketResponseEventDto extends SendDataWebSocketResponseEventDto {
175
121
  event: WebSocketResponseEvent.SEND_DATA_RUN_COMMAND;
176
122
  content: {
177
123
  testCaseOutContent: string;
@@ -179,34 +125,13 @@ export interface SendDataRunCommandWebSocketResponseEventDTO extends SendDataWeb
179
125
  testCaseLogContent: string;
180
126
  };
181
127
  }
182
- export interface SendDataClientTrackWebSocketResponseEventDTO extends SendDataWebSocketResponseEventDTO {
183
- event: WebSocketResponseEvent.SEND_DATA_CLIENT_TRACK;
184
- content: {
185
- location?: string;
186
- screenshot?: string;
187
- device?: Device;
188
- };
189
- }
190
- export interface SendDataChatCompletionsWebSocketResponseEventDTO extends SendDataWebSocketResponseEventDTO {
191
- event: WebSocketResponseEvent.SEND_DATA_CHAT_COMPLETIONS;
192
- content: {
193
- choices: [{
194
- index: number;
195
- message: {
196
- role: string;
197
- content: string;
198
- };
199
- }];
200
- rawData: any;
201
- };
202
- }
203
- export interface ProblemCrawledWebSocketResponseEventDTO extends WebSocketResponse {
128
+ export interface ProblemCrawledWebSocketResponseEventDto extends WebSocketResponse {
204
129
  event: WebSocketResponseEvent.PROBLEM_CRAWLED;
205
130
  content: {
206
131
  problemKey: string;
207
132
  };
208
133
  }
209
- export interface SubmissionsCrawlWebSocketResponseEventDTO extends WebSocketResponse {
134
+ export interface SubmissionsCrawlWebSocketResponseEventDto extends WebSocketResponse {
210
135
  event: WebSocketResponseEvent.SUBMISSIONS_CRAWL;
211
136
  content: {
212
137
  contestKey: string;
@@ -218,23 +143,17 @@ export interface SubmissionsCrawlWebSocketResponseEventDTO extends WebSocketResp
218
143
  isNewSubmission: boolean;
219
144
  };
220
145
  }
221
- export interface ContestChangesWebSocketResponseEventDTO extends WebSocketResponse {
146
+ export interface ContestChangesWebSocketResponseEventDto extends WebSocketResponse {
222
147
  event: WebSocketResponseEvent.CONTEST_CHANGES;
223
148
  content: {
224
149
  contestKey: string;
225
150
  };
226
151
  }
227
- export interface ClientTrackWebSocketResponseEventDTO extends WebSocketResponse {
228
- event: WebSocketResponseEvent.CLIENT_TRACK;
229
- location: boolean;
230
- screenshot: boolean;
231
- device: boolean;
232
- }
233
- export interface UserNotificationWebSocketResponseEventDTO extends WebSocketResponse {
152
+ export interface UserNotificationWebSocketResponseEventDto extends WebSocketResponse {
234
153
  event: WebSocketResponseEvent.USER_NOTIFICATION_SUBMISSION | WebSocketResponseEvent.USER_NOTIFICATION_CONTEST_CLARIFICATION;
235
154
  content: any;
236
155
  }
237
- export interface UserNotificationSubmissionWebSocketResponseEventDTO extends UserNotificationWebSocketResponseEventDTO {
156
+ export interface UserNotificationSubmissionWebSocketResponseEventDto extends UserNotificationWebSocketResponseEventDto {
238
157
  event: WebSocketResponseEvent.USER_NOTIFICATION_SUBMISSION;
239
158
  content: {
240
159
  contest: {
@@ -254,19 +173,26 @@ export interface UserNotificationSubmissionWebSocketResponseEventDTO extends Use
254
173
  submissionId: string;
255
174
  };
256
175
  }
257
- export interface UserNotificationContestClarificationWebSocketResponseEventDTO extends UserNotificationWebSocketResponseEventDTO {
176
+ export interface UserNotificationContestClarificationWebSocketResponseEventDto extends UserNotificationWebSocketResponseEventDto {
258
177
  event: WebSocketResponseEvent.USER_NOTIFICATION_CONTEST_CLARIFICATION;
259
178
  content: {
260
179
  contestKey: string;
261
180
  };
262
181
  }
263
- export type WebSocketResponseEventDTO = PongWebSocketResponseEventDTO | CodeRunStatusWebSocketResponseEventDTO | SubmissionRunStatusWebSocketResponseEventDTO | UserMessageWebSocketResponseEventDTO | SendDataEcsTaskDefinitionListWebSocketResponseEventDTO | SendDataEcsTasksListWebSocketResponseEventDTO | SendDataEc2InstancesListWebSocketResponseEventDTO | SendDataSsmSessionsListWebSocketResponseEventDTO | ProblemCrawledWebSocketResponseEventDTO | SendDataChatCompletionsWebSocketResponseEventDTO | SubmissionsCrawlWebSocketResponseEventDTO | ContestChangesWebSocketResponseEventDTO | SendDataRunCommandWebSocketResponseEventDTO | SendDataClientTrackWebSocketResponseEventDTO | ClientTrackWebSocketResponseEventDTO | UserNotificationSubmissionWebSocketResponseEventDTO | UserNotificationContestClarificationWebSocketResponseEventDTO;
182
+ export type WebSocketResponseEventDto = CodeRunStatusWebSocketResponseEventDto | SubmissionRunStatusWebSocketResponseEventDto | UserMessageWebSocketResponseEventDto | SendDataEcsTaskDefinitionListWebSocketResponseEventDto | SendDataEcsTasksListWebSocketResponseEventDto | SendDataEc2InstancesListWebSocketResponseEventDto | SendDataSsmSessionsListWebSocketResponseEventDto | ProblemCrawledWebSocketResponseEventDto | SubmissionsCrawlWebSocketResponseEventDto | ContestChangesWebSocketResponseEventDto | SendDataRunCommandWebSocketResponseEventDto | UserNotificationSubmissionWebSocketResponseEventDto | UserNotificationContestClarificationWebSocketResponseEventDto;
264
183
  /**
265
184
  * Message sent by the backend producers to the websocket SQS queue:
266
185
  * the producer (trusted, with access to the DB) decides the Ably channels where the event is published.
267
186
  */
268
- export interface WebSocketChannelsMessageDTO {
187
+ export interface WebSocketChannelsMessageDto {
269
188
  channels: string[];
270
- event: WebSocketResponseEventDTO;
189
+ event: WebSocketResponseEventDto;
190
+ }
191
+ /**
192
+ * Data of a client (tab) in its organization presence channel (`CHANNEL_ORGANIZATION_PRESENCE`).
193
+ * Sent by the client: informative only, the identity is the presence member `clientId`.
194
+ */
195
+ export interface UserPresenceData {
196
+ href: string;
197
+ uiId: string;
271
198
  }
272
- export {};
@@ -1,7 +1,7 @@
1
- import { UserCompanyBasicInfoResponseDTO } from './user';
1
+ import { UserOrganizationBasicInfoResponseDto } from './user';
2
2
  export type GroupByTimestampKey = 'year' | 'month' | 'day' | 'hour' | 'minute' | 'second' | number;
3
3
  export type StatisticsGrouped<T> = Partial<Record<GroupByTimestampKey, Record<number, T>>>;
4
- export interface StatisticsCompanyResponseDTO {
4
+ export interface StatisticsOrganizationResponseDto {
5
5
  codeEditorRuns: StatisticsGrouped<number>;
6
6
  judgingRuns: StatisticsGrouped<number>;
7
7
  reJudgingRuns: StatisticsGrouped<number>;
@@ -9,7 +9,7 @@ export interface StatisticsCompanyResponseDTO {
9
9
  problems: number;
10
10
  contests: number;
11
11
  }
12
- export interface StatisticsProblemResponseDTO {
12
+ export interface StatisticsProblemResponseDto {
13
13
  verdict: {
14
14
  [key: string]: {
15
15
  key: string;
@@ -26,7 +26,7 @@ export interface StatisticsProblemResponseDTO {
26
26
  };
27
27
  date: StatisticsGrouped<number>;
28
28
  }
29
- export type StatisticsUserTrackDataResponseDTO = {
29
+ export type StatisticsUserTrackDataResponseDto = {
30
30
  timestamp: number;
31
31
  history: {
32
32
  href: string;
@@ -34,10 +34,10 @@ export type StatisticsUserTrackDataResponseDTO = {
34
34
  timestamp: number;
35
35
  }[];
36
36
  };
37
- export interface StatisticsUserTrackResponseDTO {
37
+ export interface StatisticsUserTrackResponseDto {
38
38
  [key: string]: {
39
- user: UserCompanyBasicInfoResponseDTO;
39
+ user: UserOrganizationBasicInfoResponseDto;
40
40
  sessionId: string;
41
- data: StatisticsGrouped<StatisticsUserTrackDataResponseDTO>;
41
+ data: StatisticsGrouped<StatisticsUserTrackDataResponseDto>;
42
42
  };
43
43
  }