Skip to content

Commit

Permalink
Support tested time in clics
Browse files Browse the repository at this point in the history
  • Loading branch information
kunyavskiy committed Jun 16, 2024
1 parent 27a0387 commit e75a41a
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ class ExternalRunInfo(
val team: ExternalTeamInfo,
@Serializable(with = DurationInMillisecondsSerializer::class)
val time: Duration,
@Serializable(with = DurationInMillisecondsSerializer::class)
val testedTime: Duration? = null,
@Required val featuredRunMedia: MediaType? = null,
@Required val reactionVideos: List<MediaType> = emptyList(),
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ private fun RunInfo.toExternal(contestState: ContestStateWithScoreboard): Extern
problem = info.problems[problemId] ?: return null,
team = info.teams[teamId]?.toExternal(contestState) ?: return null,
time = time,
testedTime = testedTime,
featuredRunMedia = featuredRunMedia,
reactionVideos = reactionVideos,
)
Expand Down
16 changes: 9 additions & 7 deletions src/cds/core/api/core.api
Original file line number Diff line number Diff line change
Expand Up @@ -1355,25 +1355,27 @@ public final class org/icpclive/cds/api/RunId$Companion {

public final class org/icpclive/cds/api/RunInfo {
public static final field Companion Lorg/icpclive/cds/api/RunInfo$Companion;
public synthetic fun <init> (Ljava/lang/String;Lorg/icpclive/cds/api/RunResult;Ljava/lang/String;Ljava/lang/String;JLorg/icpclive/cds/api/MediaType;Ljava/util/List;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V
public synthetic fun <init> (Ljava/lang/String;Lorg/icpclive/cds/api/RunResult;Ljava/lang/String;Ljava/lang/String;JLorg/icpclive/cds/api/MediaType;Ljava/util/List;ZLkotlin/jvm/internal/DefaultConstructorMarker;)V
public synthetic fun <init> (Ljava/lang/String;Lorg/icpclive/cds/api/RunResult;Ljava/lang/String;Ljava/lang/String;JLkotlin/time/Duration;Lorg/icpclive/cds/api/MediaType;Ljava/util/List;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V
public synthetic fun <init> (Ljava/lang/String;Lorg/icpclive/cds/api/RunResult;Ljava/lang/String;Ljava/lang/String;JLkotlin/time/Duration;Lorg/icpclive/cds/api/MediaType;Ljava/util/List;ZLkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1-1iip4kg ()Ljava/lang/String;
public final fun component2 ()Lorg/icpclive/cds/api/RunResult;
public final fun component3-Xzdl60o ()Ljava/lang/String;
public final fun component4-ed2mA_4 ()Ljava/lang/String;
public final fun component5-UwyO8pc ()J
public final fun component6 ()Lorg/icpclive/cds/api/MediaType;
public final fun component7 ()Ljava/util/List;
public final fun component8 ()Z
public final fun copy-Ny2MCq8 (Ljava/lang/String;Lorg/icpclive/cds/api/RunResult;Ljava/lang/String;Ljava/lang/String;JLorg/icpclive/cds/api/MediaType;Ljava/util/List;Z)Lorg/icpclive/cds/api/RunInfo;
public static synthetic fun copy-Ny2MCq8$default (Lorg/icpclive/cds/api/RunInfo;Ljava/lang/String;Lorg/icpclive/cds/api/RunResult;Ljava/lang/String;Ljava/lang/String;JLorg/icpclive/cds/api/MediaType;Ljava/util/List;ZILjava/lang/Object;)Lorg/icpclive/cds/api/RunInfo;
public final fun component6-FghU774 ()Lkotlin/time/Duration;
public final fun component7 ()Lorg/icpclive/cds/api/MediaType;
public final fun component8 ()Ljava/util/List;
public final fun component9 ()Z
public final fun copy-8G9nE0k (Ljava/lang/String;Lorg/icpclive/cds/api/RunResult;Ljava/lang/String;Ljava/lang/String;JLkotlin/time/Duration;Lorg/icpclive/cds/api/MediaType;Ljava/util/List;Z)Lorg/icpclive/cds/api/RunInfo;
public static synthetic fun copy-8G9nE0k$default (Lorg/icpclive/cds/api/RunInfo;Ljava/lang/String;Lorg/icpclive/cds/api/RunResult;Ljava/lang/String;Ljava/lang/String;JLkotlin/time/Duration;Lorg/icpclive/cds/api/MediaType;Ljava/util/List;ZILjava/lang/Object;)Lorg/icpclive/cds/api/RunInfo;
public fun equals (Ljava/lang/Object;)Z
public final fun getFeaturedRunMedia ()Lorg/icpclive/cds/api/MediaType;
public final fun getId-1iip4kg ()Ljava/lang/String;
public final fun getProblemId-Xzdl60o ()Ljava/lang/String;
public final fun getReactionVideos ()Ljava/util/List;
public final fun getResult ()Lorg/icpclive/cds/api/RunResult;
public final fun getTeamId-ed2mA_4 ()Ljava/lang/String;
public final fun getTestedTime-FghU774 ()Lkotlin/time/Duration;
public final fun getTime-UwyO8pc ()J
public fun hashCode ()I
public final fun isHidden ()Z
Expand Down
2 changes: 2 additions & 0 deletions src/cds/core/src/main/kotlin/org/icpclive/cds/api/RunInfo.kt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ public data class RunInfo(
val teamId: TeamId,
@Serializable(with = DurationInMillisecondsSerializer::class)
val time: Duration,
@Serializable(with = DurationInMillisecondsSerializer::class)
val testedTime: Duration? = null,
@Required val featuredRunMedia: MediaType? = null,
@Required val reactionVideos: List<MediaType> = emptyList(),
@Required val isHidden: Boolean = false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ internal class ClicsModel {
problemId = problemId.toProblemId(),
teamId = teamId.toTeamId(),
time = contestTime,
testedTime = judgment?.endContestTime,
reactionVideos = reaction?.mapNotNull { mediaType(it) } ?: emptyList(),
)
}
Expand Down
1 change: 1 addition & 0 deletions src/frontend/generated/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,7 @@ export interface RunInfo {
problemId: ProblemId;
teamId: TeamId;
time: number;
testedTime?: number | null;
featuredRunMedia: MediaType | null;
reactionVideos: MediaType[];
isHidden: boolean;
Expand Down

0 comments on commit e75a41a

Please sign in to comment.