From 710dedb0cc4445bf1f655a0b3ed60464c2b0654e Mon Sep 17 00:00:00 2001 From: Adrian Kuta Date: Wed, 3 Sep 2025 23:46:09 +0200 Subject: [PATCH] refactor: Format code with spotless This commit applies automated code formatting using Spotless across multiple modules. The changes primarily involve adjustments to trailing commas, spacing, and import statements to ensure consistency with the project's coding style. Key changes include: - **Kotlin Files:** - Added trailing commas to multi-line parameter lists, argument lists, and collection literals in various Kotlin files across `app`, `core:designsystem`, `core:network`, `domain`, and `model:data` modules. - Standardized spacing around operators and keywords. - Optimized import statements in test files (`ExampleUnitTest.kt`, `ExampleInstrumentedTest.kt`). - **XML Files:** - Reformatted XML attributes in drawable vector files (`ic_*.xml`) within the `core:designsystem` module for better readability. - **JSON Files:** - Reformatted `sample_quiz.json` in `core:network` test resources for consistent structure. - **Detekt Configuration:** - Updated `detekt.yml` files in `app` and `core:designsystem` to adjust ignored annotations lists, ensuring proper spacing (e.g., `['Composable']` to `[ 'Composable' ]`). --- app/build.gradle.kts | 2 +- app/config/detekt/detekt.yml | 8 +- .../kahootquiz/ExampleInstrumentedTest.kt | 6 +- .../adriankuta/kahootquiz/KahootQuizApp.kt | 2 +- .../kahootquiz/KahootQuizNavGraph.kt | 2 +- .../adriankuta/kahootquiz/MyApplication.kt | 2 +- .../adriankuta/kahootquiz/ExampleUnitTest.kt | 3 +- core/designsystem/config/detekt/detekt.yml | 8 +- .../kahootquiz/core/designsystem/Theme.kt | 8 +- .../kahootquiz/core/designsystem/Type.kt | 4 +- .../src/main/res/drawable/ic_circle.xml | 18 +- .../src/main/res/drawable/ic_correct.xml | 35 +- .../src/main/res/drawable/ic_diamond.xml | 18 +- .../src/main/res/drawable/ic_square.xml | 18 +- .../src/main/res/drawable/ic_triangle.xml | 18 +- .../src/main/res/drawable/ic_type.xml | 88 +-- .../src/main/res/drawable/ic_wrong.xml | 55 +- .../core/network/models/CommonDtos.kt | 4 +- .../core/network/models/ContentTagsDto.kt | 2 +- .../core/network/models/CoverDtos.kt | 6 +- .../core/network/models/MetadataDtos.kt | 10 +- .../core/network/models/QuestionDtos.kt | 12 +- .../core/network/models/QuizResponseDto.kt | 2 +- .../src/test/resources/sample_quiz.json | 682 ++++++++++++++++-- .../kahootquiz/domain/models/Access.kt | 2 +- .../kahootquiz/domain/models/Choice.kt | 2 +- .../kahootquiz/domain/models/ChoiceRange.kt | 2 +- .../kahootquiz/domain/models/ContentTags.kt | 2 +- .../kahootquiz/domain/models/CoverMetadata.kt | 2 +- .../kahootquiz/domain/models/Crop.kt | 2 +- .../domain/models/ExtractedColor.kt | 2 +- .../domain/models/FeaturedListMembership.kt | 2 +- .../kahootquiz/domain/models/ImageMetadata.kt | 2 +- .../kahootquiz/domain/models/LanguageInfo.kt | 2 +- .../kahootquiz/domain/models/LastEdit.kt | 2 +- .../kahootquiz/domain/models/MediaItem.kt | 2 +- .../kahootquiz/domain/models/Metadata.kt | 2 +- .../kahootquiz/domain/models/Point.kt | 2 +- .../kahootquiz/domain/models/Quiz.kt | 2 +- .../domain/models/VersionMetadata.kt | 2 +- .../kahootquiz/domain/models/Video.kt | 2 +- .../domain/usecases/GetQuizUseCase.kt | 2 +- .../model/data/QuizRepositoryImpl.kt | 2 +- .../model/data/di/RepositoryModule.kt | 2 +- .../model/data/mappers/QuizMapper.kt | 75 +- 45 files changed, 842 insertions(+), 286 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 05936c5..f971694 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -20,7 +20,7 @@ android { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), - "proguard-rules.pro" + "proguard-rules.pro", ) } } diff --git a/app/config/detekt/detekt.yml b/app/config/detekt/detekt.yml index aba4110..ab95a32 100644 --- a/app/config/detekt/detekt.yml +++ b/app/config/detekt/detekt.yml @@ -8,18 +8,18 @@ naming: complexity: LongParameterList: - ignoreAnnotated: ['Composable'] + ignoreAnnotated: [ 'Composable' ] TooManyFunctions: - ignoreAnnotatedFunctions: ['Preview'] + ignoreAnnotatedFunctions: [ 'Preview' ] style: MagicNumber: ignorePropertyDeclaration: true ignoreCompanionObjectPropertyDeclaration: true - ignoreAnnotated: ['Composable'] + ignoreAnnotated: [ 'Composable' ] UnusedPrivateMember: - ignoreAnnotated: ['Composable'] + ignoreAnnotated: [ 'Composable' ] # Deviations from defaults formatting: diff --git a/app/src/androidTest/java/dev/adriankuta/kahootquiz/ExampleInstrumentedTest.kt b/app/src/androidTest/java/dev/adriankuta/kahootquiz/ExampleInstrumentedTest.kt index 592357b..c4a659f 100644 --- a/app/src/androidTest/java/dev/adriankuta/kahootquiz/ExampleInstrumentedTest.kt +++ b/app/src/androidTest/java/dev/adriankuta/kahootquiz/ExampleInstrumentedTest.kt @@ -1,13 +1,11 @@ package dev.adriankuta.kahootquiz -import androidx.test.platform.app.InstrumentationRegistry import androidx.test.ext.junit.runners.AndroidJUnit4 - +import androidx.test.platform.app.InstrumentationRegistry +import org.junit.Assert.assertEquals import org.junit.Test import org.junit.runner.RunWith -import org.junit.Assert.* - /** * Instrumented test, which will execute on an Android device. * diff --git a/app/src/main/java/dev/adriankuta/kahootquiz/KahootQuizApp.kt b/app/src/main/java/dev/adriankuta/kahootquiz/KahootQuizApp.kt index 9d9c7c9..ba0d955 100644 --- a/app/src/main/java/dev/adriankuta/kahootquiz/KahootQuizApp.kt +++ b/app/src/main/java/dev/adriankuta/kahootquiz/KahootQuizApp.kt @@ -9,7 +9,7 @@ import androidx.compose.ui.Modifier @Composable fun KahootQuizApp( - modifier: Modifier = Modifier + modifier: Modifier = Modifier, ) { Scaffold( contentWindowInsets = WindowInsets.safeDrawing, diff --git a/app/src/main/java/dev/adriankuta/kahootquiz/KahootQuizNavGraph.kt b/app/src/main/java/dev/adriankuta/kahootquiz/KahootQuizNavGraph.kt index 014dcec..c12ca76 100644 --- a/app/src/main/java/dev/adriankuta/kahootquiz/KahootQuizNavGraph.kt +++ b/app/src/main/java/dev/adriankuta/kahootquiz/KahootQuizNavGraph.kt @@ -16,7 +16,7 @@ fun KahootQuizNavGraph( NavHost( navController = navController, startDestination = QuizRoute, - modifier = modifier + modifier = modifier, ) { quizScreen() } diff --git a/app/src/main/java/dev/adriankuta/kahootquiz/MyApplication.kt b/app/src/main/java/dev/adriankuta/kahootquiz/MyApplication.kt index b856884..8c7d879 100644 --- a/app/src/main/java/dev/adriankuta/kahootquiz/MyApplication.kt +++ b/app/src/main/java/dev/adriankuta/kahootquiz/MyApplication.kt @@ -4,4 +4,4 @@ import android.app.Application import dagger.hilt.android.HiltAndroidApp @HiltAndroidApp -class MyApplication: Application() +class MyApplication : Application() diff --git a/app/src/test/java/dev/adriankuta/kahootquiz/ExampleUnitTest.kt b/app/src/test/java/dev/adriankuta/kahootquiz/ExampleUnitTest.kt index e568ce3..f5acc3d 100644 --- a/app/src/test/java/dev/adriankuta/kahootquiz/ExampleUnitTest.kt +++ b/app/src/test/java/dev/adriankuta/kahootquiz/ExampleUnitTest.kt @@ -1,9 +1,8 @@ package dev.adriankuta.kahootquiz +import org.junit.Assert.assertEquals import org.junit.Test -import org.junit.Assert.* - /** * Example local unit test, which will execute on the development machine (host). * diff --git a/core/designsystem/config/detekt/detekt.yml b/core/designsystem/config/detekt/detekt.yml index aba4110..ab95a32 100644 --- a/core/designsystem/config/detekt/detekt.yml +++ b/core/designsystem/config/detekt/detekt.yml @@ -8,18 +8,18 @@ naming: complexity: LongParameterList: - ignoreAnnotated: ['Composable'] + ignoreAnnotated: [ 'Composable' ] TooManyFunctions: - ignoreAnnotatedFunctions: ['Preview'] + ignoreAnnotatedFunctions: [ 'Preview' ] style: MagicNumber: ignorePropertyDeclaration: true ignoreCompanionObjectPropertyDeclaration: true - ignoreAnnotated: ['Composable'] + ignoreAnnotated: [ 'Composable' ] UnusedPrivateMember: - ignoreAnnotated: ['Composable'] + ignoreAnnotated: [ 'Composable' ] # Deviations from defaults formatting: diff --git a/core/designsystem/src/main/kotlin/dev/adriankuta/kahootquiz/core/designsystem/Theme.kt b/core/designsystem/src/main/kotlin/dev/adriankuta/kahootquiz/core/designsystem/Theme.kt index 6294060..1091dd6 100644 --- a/core/designsystem/src/main/kotlin/dev/adriankuta/kahootquiz/core/designsystem/Theme.kt +++ b/core/designsystem/src/main/kotlin/dev/adriankuta/kahootquiz/core/designsystem/Theme.kt @@ -13,13 +13,13 @@ import androidx.compose.ui.platform.LocalContext private val DarkColorScheme = darkColorScheme( primary = Purple80, secondary = PurpleGrey80, - tertiary = Pink80 + tertiary = Pink80, ) private val LightColorScheme = lightColorScheme( primary = Purple40, secondary = PurpleGrey40, - tertiary = Pink40 + tertiary = Pink40, /* Other default colors to override background = Color(0xFFFFFBFE), @@ -37,7 +37,7 @@ fun KahootQuizTheme( darkTheme: Boolean = isSystemInDarkTheme(), // Dynamic color is available on Android 12+ dynamicColor: Boolean = true, - content: @Composable () -> Unit + content: @Composable () -> Unit, ) { val colorScheme = when { dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> { @@ -52,6 +52,6 @@ fun KahootQuizTheme( MaterialTheme( colorScheme = colorScheme, typography = Typography, - content = content + content = content, ) } \ No newline at end of file diff --git a/core/designsystem/src/main/kotlin/dev/adriankuta/kahootquiz/core/designsystem/Type.kt b/core/designsystem/src/main/kotlin/dev/adriankuta/kahootquiz/core/designsystem/Type.kt index 7c11c64..a7a982d 100644 --- a/core/designsystem/src/main/kotlin/dev/adriankuta/kahootquiz/core/designsystem/Type.kt +++ b/core/designsystem/src/main/kotlin/dev/adriankuta/kahootquiz/core/designsystem/Type.kt @@ -13,8 +13,8 @@ val Typography = Typography( fontWeight = FontWeight.Normal, fontSize = 16.sp, lineHeight = 24.sp, - letterSpacing = 0.5.sp - ) + letterSpacing = 0.5.sp, + ), /* Other default text styles to override titleLarge = TextStyle( fontFamily = FontFamily.Default, diff --git a/core/designsystem/src/main/res/drawable/ic_circle.xml b/core/designsystem/src/main/res/drawable/ic_circle.xml index 8790a7f..8257b6e 100644 --- a/core/designsystem/src/main/res/drawable/ic_circle.xml +++ b/core/designsystem/src/main/res/drawable/ic_circle.xml @@ -3,13 +3,13 @@ android:height="40dp" android:viewportWidth="40" android:viewportHeight="40"> - - + + diff --git a/core/designsystem/src/main/res/drawable/ic_correct.xml b/core/designsystem/src/main/res/drawable/ic_correct.xml index 8eb3548..9d4082f 100644 --- a/core/designsystem/src/main/res/drawable/ic_correct.xml +++ b/core/designsystem/src/main/res/drawable/ic_correct.xml @@ -3,22 +3,21 @@ android:height="40dp" android:viewportWidth="40" android:viewportHeight="40"> - - - - - - + + + + + + diff --git a/core/designsystem/src/main/res/drawable/ic_diamond.xml b/core/designsystem/src/main/res/drawable/ic_diamond.xml index 114eca9..49cb44c 100644 --- a/core/designsystem/src/main/res/drawable/ic_diamond.xml +++ b/core/designsystem/src/main/res/drawable/ic_diamond.xml @@ -3,13 +3,13 @@ android:height="40dp" android:viewportWidth="40" android:viewportHeight="40"> - - + + diff --git a/core/designsystem/src/main/res/drawable/ic_square.xml b/core/designsystem/src/main/res/drawable/ic_square.xml index 8bd8e54..3db8b0e 100644 --- a/core/designsystem/src/main/res/drawable/ic_square.xml +++ b/core/designsystem/src/main/res/drawable/ic_square.xml @@ -3,13 +3,13 @@ android:height="41dp" android:viewportWidth="40" android:viewportHeight="41"> - - + + diff --git a/core/designsystem/src/main/res/drawable/ic_triangle.xml b/core/designsystem/src/main/res/drawable/ic_triangle.xml index cd19e6f..8e8a997 100644 --- a/core/designsystem/src/main/res/drawable/ic_triangle.xml +++ b/core/designsystem/src/main/res/drawable/ic_triangle.xml @@ -3,13 +3,13 @@ android:height="40dp" android:viewportWidth="40" android:viewportHeight="40"> - - + + diff --git a/core/designsystem/src/main/res/drawable/ic_type.xml b/core/designsystem/src/main/res/drawable/ic_type.xml index 0f3c58e..e14d2c0 100644 --- a/core/designsystem/src/main/res/drawable/ic_type.xml +++ b/core/designsystem/src/main/res/drawable/ic_type.xml @@ -3,48 +3,48 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24"> - - - - - - - - - - - + + + + + + + + + + + diff --git a/core/designsystem/src/main/res/drawable/ic_wrong.xml b/core/designsystem/src/main/res/drawable/ic_wrong.xml index 91359ed..6bbe0df 100644 --- a/core/designsystem/src/main/res/drawable/ic_wrong.xml +++ b/core/designsystem/src/main/res/drawable/ic_wrong.xml @@ -3,33 +3,32 @@ android:height="40dp" android:viewportWidth="40" android:viewportHeight="40"> - - - - - - - - + android:fillColor="#FF3355" + android:pathData="M20,20m-16,0a16,16 0,1 1,32 0a16,16 0,1 1,-32 0" /> + + + + + + + + diff --git a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/CommonDtos.kt b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/CommonDtos.kt index d9b6c94..d1d76cf 100644 --- a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/CommonDtos.kt +++ b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/CommonDtos.kt @@ -5,7 +5,7 @@ package dev.adriankuta.kahootquiz.core.network.models data class LanguageInfoDto( val language: String?, val lastUpdatedOn: Long?, - val readAloudSupported: Boolean? + val readAloudSupported: Boolean?, ) // Minimal channel info @@ -16,5 +16,5 @@ data class ChannelDto(val id: String?) data class PointDto( val x: Int?, - val y: Int? + val y: Int?, ) diff --git a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/ContentTagsDto.kt b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/ContentTagsDto.kt index 39d93b2..1befc54 100644 --- a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/ContentTagsDto.kt +++ b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/ContentTagsDto.kt @@ -4,5 +4,5 @@ package dev.adriankuta.kahootquiz.core.network.models data class ContentTagsDto( val curriculumCodes: List?, - val generatedCurriculumCodes: List? + val generatedCurriculumCodes: List?, ) diff --git a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/CoverDtos.kt b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/CoverDtos.kt index 5f8a3c2..555f680 100644 --- a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/CoverDtos.kt +++ b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/CoverDtos.kt @@ -13,14 +13,14 @@ data class CoverMetadataDto( val height: Int?, val extractedColors: List?, val blurhash: String?, - val crop: CropDto? + val crop: CropDto?, ) // Color extracted from cover image data class ExtractedColorDto( val swatch: String?, - val rgbHex: String? + val rgbHex: String?, ) // Crop descriptor @@ -28,5 +28,5 @@ data class ExtractedColorDto( data class CropDto( val origin: PointDto?, val target: PointDto?, - val circular: Boolean? + val circular: Boolean?, ) diff --git a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/MetadataDtos.kt b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/MetadataDtos.kt index 738a954..ea83701 100644 --- a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/MetadataDtos.kt +++ b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/MetadataDtos.kt @@ -7,7 +7,7 @@ data class MetadataDto( val duplicationProtection: Boolean?, val featuredListMemberships: List?, val lastEdit: LastEditDto?, - val versionMetadata: VersionMetadataDto? + val versionMetadata: VersionMetadataDto?, ) // Access settings @@ -15,14 +15,14 @@ data class MetadataDto( data class AccessDto( val groupRead: List?, val folderGroupIds: List?, - val features: List? + val features: List?, ) // Featured list membership data class FeaturedListMembershipDto( val list: String?, - val addedAt: Long? + val addedAt: Long?, ) // Last edit information @@ -30,7 +30,7 @@ data class FeaturedListMembershipDto( data class LastEditDto( val editorUserId: String?, val editorUsername: String?, - val editTimestamp: Long? + val editTimestamp: Long?, ) // Version metadata @@ -38,5 +38,5 @@ data class LastEditDto( data class VersionMetadataDto( val version: Int?, val created: Long?, - val creator: String? + val creator: String?, ) diff --git a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/QuestionDtos.kt b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/QuestionDtos.kt index ee956f5..ebb4cc2 100644 --- a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/QuestionDtos.kt +++ b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/QuestionDtos.kt @@ -17,7 +17,7 @@ data class QuestionDto( val questionFormat: Int?, val languageInfo: LanguageInfoDto?, val media: List?, - val choiceRange: ChoiceRangeDto? + val choiceRange: ChoiceRangeDto?, ) // Choice option @@ -25,7 +25,7 @@ data class QuestionDto( data class ChoiceDto( val answer: String?, val correct: Boolean, - val languageInfo: LanguageInfoDto? + val languageInfo: LanguageInfoDto?, ) // Optional video attachment @@ -35,7 +35,7 @@ data class VideoDto( val startTime: Int?, val endTime: Int?, val service: String?, - val fullUrl: String? + val fullUrl: String?, ) // Image metadata appearing in multiple places @@ -50,7 +50,7 @@ data class ImageMetadataDto( val width: Int? = null, val height: Int? = null, val effects: List? = null, - val crop: CropDto? = null + val crop: CropDto? = null, ) // Generic media item on question @@ -67,7 +67,7 @@ data class MediaItemDto( val resources: String? = null, val width: Int? = null, val height: Int? = null, - val crop: CropDto? = null + val crop: CropDto? = null, ) // Slider range for "slider" question type @@ -77,5 +77,5 @@ data class ChoiceRangeDto( val end: Int?, val step: Int?, val correct: Int?, - val tolerance: Int? + val tolerance: Int?, ) diff --git a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/QuizResponseDto.kt b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/QuizResponseDto.kt index 12db461..7d13fc9 100644 --- a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/QuizResponseDto.kt +++ b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/QuizResponseDto.kt @@ -32,5 +32,5 @@ data class QuizResponseDto( val hasRestrictedContent: Boolean?, val type: String?, val created: Long?, - val modified: Long? + val modified: Long?, ) diff --git a/core/network/src/test/resources/sample_quiz.json b/core/network/src/test/resources/sample_quiz.json index aa8e613..fc7d355 100644 --- a/core/network/src/test/resources/sample_quiz.json +++ b/core/network/src/test/resources/sample_quiz.json @@ -42,8 +42,14 @@ ], "blurhash": "UuJ*#Qxtx]xaCAj[W=WqEma}M{R*M|WVn#j?", "crop": { - "origin": {"x": 227, "y": 0}, - "target": {"x": 1948, "y": 1299}, + "origin": { + "x": 227, + "y": 0 + }, + "target": { + "x": 1948, + "y": 1299 + }, "circular": false } }, @@ -55,8 +61,24 @@ "points": true, "pointsMultiplier": 1, "choices": [ - {"answer": "True", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "False", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}} + { + "answer": "True", + "correct": true, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "False", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + } ], "layout": "TRUE_FALSE", "image": "https://media.kahoot.it/b2709905-1c6e-45a0-9cc1-34c6580495e5", @@ -71,9 +93,18 @@ "height": 1406 }, "resources": "mikroman6/Moment/Getty Images", - "video": {"startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""}, + "video": { + "startTime": 0, + "endTime": 0, + "service": "youtube", + "fullUrl": "" + }, "questionFormat": 0, - "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + }, "media": [] }, { @@ -83,15 +114,56 @@ "points": true, "pointsMultiplier": 1, "choices": [ - {"answer": "A monument to the god Ra", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "A tomb", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "A momument to a great war victory", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "A temple", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}} + { + "answer": "A monument to the god Ra", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "A tomb", + "correct": true, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "A momument to a great war victory", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "A temple", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + } ], "resources": "", - "video": {"startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""}, + "video": { + "startTime": 0, + "endTime": 0, + "service": "youtube", + "fullUrl": "" + }, "questionFormat": 0, - "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + }, "media": [ { "type": "background_image", @@ -105,7 +177,17 @@ "resources": "Nick Brundle Photography/Moment/Getty Images", "width": 2309, "height": 1299, - "crop": {"origin": {"x": 227, "y": 0}, "target": {"x": 1948, "y": 1299}, "circular": false} + "crop": { + "origin": { + "x": 227, + "y": 0 + }, + "target": { + "x": 1948, + "y": 1299 + }, + "circular": false + } } ] }, @@ -116,10 +198,42 @@ "points": true, "pointsMultiplier": 1, "choices": [ - {"answer": "As a tourist destination", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "A monument to Ninurta, the god of farmers", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "An engagement gift from a king to his future queen", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "A gift for the king's wife", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}} + { + "answer": "As a tourist destination", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "A monument to Ninurta, the god of farmers", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "An engagement gift from a king to his future queen", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "A gift for the king's wife", + "correct": true, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + } ], "image": "https://media.kahoot.it/7bce7efb-3d94-495c-905f-9c14190b7910", "imageMetadata": { @@ -129,9 +243,18 @@ "effects": [] }, "resources": "https://upload.wikimedia.org/wikipedia/commons/a/ae/Hanging_Gardens_of_Babylon.jpg CC0", - "video": {"startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""}, + "video": { + "startTime": 0, + "endTime": 0, + "service": "youtube", + "fullUrl": "" + }, "questionFormat": 0, - "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + }, "media": [] }, { @@ -141,10 +264,42 @@ "points": true, "pointsMultiplier": 1, "choices": [ - {"answer": "Greece", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "Turkey", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "Syria", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "Iran", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}} + { + "answer": "Greece", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "Turkey", + "correct": true, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "Syria", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "Iran", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + } ], "image": "https://media.kahoot.it/f999f2a2-5450-4821-a3c8-94288720bd46", "imageMetadata": { @@ -154,9 +309,18 @@ "effects": [] }, "resources": "Zee Prime at cs.wikipedia [GFDL (http://www.gnu.org/copyleft/fdl.html), CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0/) or CC BY-SA 2.5 (https://creativecommons.org/licenses/by-sa/2.5)], from Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/1/1d/Miniaturk_009.jpg", - "video": {"startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""}, + "video": { + "startTime": 0, + "endTime": 0, + "service": "youtube", + "fullUrl": "" + }, "questionFormat": 0, - "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + }, "media": [] }, { @@ -166,10 +330,42 @@ "points": true, "pointsMultiplier": 1, "choices": [ - {"answer": "To become famous", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "It was an accident", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "He was angry at the gods", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "Because of a bet", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}} + { + "answer": "To become famous", + "correct": true, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "It was an accident", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "He was angry at the gods", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "Because of a bet", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + } ], "image": "https://media.kahoot.it/fe2c5c06-6d2e-4a5a-9441-a9c77391130e_opt", "imageMetadata": { @@ -179,9 +375,19 @@ "effects": [] }, "resources": " [Public domain], via Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/a/a9/Temple_of_Artemis.jpg", - "video": {"id": "", "startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""}, + "video": { + "id": "", + "startTime": 0, + "endTime": 0, + "service": "youtube", + "fullUrl": "" + }, "questionFormat": 0, - "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + }, "media": [] }, { @@ -191,10 +397,42 @@ "points": true, "pointsMultiplier": 1, "choices": [ - {"answer": "Sparta", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "Athens", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "Olympia", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "Delphi", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}} + { + "answer": "Sparta", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "Athens", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "Olympia", + "correct": true, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "Delphi", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + } ], "image": "https://media.kahoot.it/9074a275-1874-4cb9-9c9f-248173ceae9d", "imageMetadata": { @@ -202,12 +440,31 @@ "contentType": "image/*", "resources": " [Public domain or Public domain], via Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/6/66/Le_Jupiter_Olympien_ou_l%27art_de_la_sculpture_antique.jpg", "effects": [], - "crop": {"origin": {"x": 53, "y": 0}, "target": {"x": 577, "y": 866}, "circular": false} + "crop": { + "origin": { + "x": 53, + "y": 0 + }, + "target": { + "x": 577, + "y": 866 + }, + "circular": false + } }, "resources": " [Public domain or Public domain], via Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/6/66/Le_Jupiter_Olympien_ou_l%27art_de_la_sculpture_antique.jpg", - "video": {"startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""}, + "video": { + "startTime": 0, + "endTime": 0, + "service": "youtube", + "fullUrl": "" + }, "questionFormat": 0, - "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + }, "media": [] }, { @@ -217,10 +474,42 @@ "points": true, "pointsMultiplier": 1, "choices": [ - {"answer": "Darius", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "Xerxes", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "Cyrus", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "Mausoleus", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}} + { + "answer": "Darius", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "Xerxes", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "Cyrus", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "Mausoleus", + "correct": true, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + } ], "image": "https://media.kahoot.it/38f43ef3-4507-4f11-ae33-f3e833a47d19", "imageMetadata": { @@ -234,9 +523,18 @@ "height": 1414 }, "resources": "MirageC/Moment/Getty Images", - "video": {"startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""}, + "video": { + "startTime": 0, + "endTime": 0, + "service": "youtube", + "fullUrl": "" + }, "questionFormat": 0, - "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + }, "media": [] }, { @@ -245,8 +543,24 @@ "time": 60000, "pointsMultiplier": 2, "choices": [ - {"answer": "Helios", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "helios", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}} + { + "answer": "Helios", + "correct": true, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "helios", + "correct": true, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + } ], "image": "https://media.kahoot.it/d4ccbf4e-1026-46ad-ab35-84dc17c4d3a0_opt", "imageMetadata": { @@ -254,12 +568,32 @@ "contentType": "image/*", "resources": "By gravure sur bois de Sidney Barclay numérisée Google [Public domain], via Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/5/5f/Colosse_de_Rhodes_%28Barclay%29.jpg", "effects": [], - "crop": {"origin": {"x": 49, "y": 83}, "target": {"x": 531, "y": 796}, "circular": false} + "crop": { + "origin": { + "x": 49, + "y": 83 + }, + "target": { + "x": 531, + "y": 796 + }, + "circular": false + } }, "resources": "By gravure sur bois de Sidney Barclay numérisée Google [Public domain], via Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/5/5f/Colosse_de_Rhodes_%28Barclay%29.jpg", - "video": {"id": "", "startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""}, + "video": { + "id": "", + "startTime": 0, + "endTime": 0, + "service": "youtube", + "fullUrl": "" + }, "questionFormat": 0, - "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + }, "media": [] }, { @@ -269,10 +603,42 @@ "points": true, "pointsMultiplier": 1, "choices": [ - {"answer": "Fire", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "Earthquake", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "Tidal Wave", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "Storm", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}} + { + "answer": "Fire", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "Earthquake", + "correct": true, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "Tidal Wave", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "Storm", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + } ], "image": "https://media.kahoot.it/e2d22765-942b-4dbd-9fd6-d71142d775c3", "imageMetadata": { @@ -280,12 +646,31 @@ "contentType": "image/*", "resources": "Emad Victor SHENOUDA [Attribution], from Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/3/33/PHAROS2013-3000x2250.jpg", "effects": [], - "crop": {"origin": {"x": 0, "y": 10}, "target": {"x": 1024, "y": 683}, "circular": false} + "crop": { + "origin": { + "x": 0, + "y": 10 + }, + "target": { + "x": 1024, + "y": 683 + }, + "circular": false + } }, "resources": "Emad Victor SHENOUDA [Attribution], from Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/3/33/PHAROS2013-3000x2250.jpg", - "video": {"startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""}, + "video": { + "startTime": 0, + "endTime": 0, + "service": "youtube", + "fullUrl": "" + }, "questionFormat": 0, - "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + }, "media": [] }, { @@ -295,10 +680,42 @@ "points": true, "pointsMultiplier": 1, "choices": [ - {"answer": "The Colossus of Rhodes", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "The Lighthouse of Alexandria", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "The Mausoleum at Halicarnassus", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "The Great Pyramid of Giza", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}} + { + "answer": "The Colossus of Rhodes", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "The Lighthouse of Alexandria", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "The Mausoleum at Halicarnassus", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "The Great Pyramid of Giza", + "correct": true, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + } ], "image": "https://media.kahoot.it/19382163-196f-495d-9a84-c2d8c3fd716c", "imageMetadata": { @@ -306,12 +723,32 @@ "contentType": "image/*", "resources": "By The original uploader was Mark22 at English Wikipedia (Transferred from en.wikipedia to Commons.) [Public domain], via Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/b/b7/SevenWondersOfTheWorld.png", "effects": [], - "crop": {"origin": {"x": 19, "y": 0}, "target": {"x": 491, "y": 736}, "circular": false} + "crop": { + "origin": { + "x": 19, + "y": 0 + }, + "target": { + "x": 491, + "y": 736 + }, + "circular": false + } }, "resources": "By The original uploader was Mark22 at English Wikipedia (Transferred from en.wikipedia to Commons.) [Public domain], via Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/b/b7/SevenWondersOfTheWorld.png", - "video": {"id": "", "startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""}, + "video": { + "id": "", + "startTime": 0, + "endTime": 0, + "service": "youtube", + "fullUrl": "" + }, "questionFormat": 0, - "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + }, "media": [] }, { @@ -319,7 +756,13 @@ "question": "How many of the Seven Wonders still exist?", "time": 20000, "pointsMultiplier": 2, - "choiceRange": {"start": 0, "end": 7, "step": 1, "correct": 1, "tolerance": 0}, + "choiceRange": { + "start": 0, + "end": 7, + "step": 1, + "correct": 1, + "tolerance": 0 + }, "image": "https://media.kahoot.it/b431b3aa-4a46-49c9-b4ac-aa1dde40333f", "imageMetadata": { "id": "b431b3aa-4a46-49c9-b4ac-aa1dde40333f", @@ -328,9 +771,19 @@ "effects": [] }, "resources": "By Kandi [GFDL (http://www.gnu.org/copyleft/fdl.html) or CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0)], from Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/a/a4/Seven_Wonders_of_the_Ancient_World.png", - "video": {"id": "", "startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""}, + "video": { + "id": "", + "startTime": 0, + "endTime": 0, + "service": "youtube", + "fullUrl": "" + }, "questionFormat": 0, - "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + }, "media": [] }, { @@ -340,10 +793,42 @@ "points": true, "pointsMultiplier": 1, "choices": [ - {"answer": "The Great Pyramid of Giza", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "The Temple of Artemis", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "The Mausoleum at Halicarnassus", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}, - {"answer": "The Colossus of Rhodes", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}} + { + "answer": "The Great Pyramid of Giza", + "correct": true, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "The Temple of Artemis", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "The Mausoleum at Halicarnassus", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + }, + { + "answer": "The Colossus of Rhodes", + "correct": false, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + } + } ], "image": "https://media.kahoot.it/34b01038-031c-4d23-b8a0-55402916586f_opt", "imageMetadata": { @@ -351,16 +836,39 @@ "contentType": "image/*", "resources": "By Varios [CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/d/d6/Siete_maravillas_antiguas.jpg", "effects": [], - "crop": {"origin": {"x": 19, "y": 0}, "target": {"x": 491, "y": 736}, "circular": false} + "crop": { + "origin": { + "x": 19, + "y": 0 + }, + "target": { + "x": 491, + "y": 736 + }, + "circular": false + } }, "resources": "By Varios [CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/d/d6/Siete_maravillas_antiguas.jpg", - "video": {"id": "", "startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""}, + "video": { + "id": "", + "startTime": 0, + "endTime": 0, + "service": "youtube", + "fullUrl": "" + }, "questionFormat": 0, - "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + }, "media": [] } ], - "contentTags": {"curriculumCodes": [], "generatedCurriculumCodes": []}, + "contentTags": { + "curriculumCodes": [], + "generatedCurriculumCodes": [] + }, "metadata": { "access": { "groupRead": [ @@ -372,12 +880,20 @@ "36022fd9-43e1-4b36-9c98-a6a3b2b53038" ], "folderGroupIds": [], - "features": ["PremiumEduContent"] + "features": [ + "PremiumEduContent" + ] }, "duplicationProtection": true, "featuredListMemberships": [ - {"list": "youngfeatured", "addedAt": 1682336780289}, - {"list": "featured", "addedAt": 1682336738189} + { + "list": "youngfeatured", + "addedAt": 1682336780289 + }, + { + "list": "featured", + "addedAt": 1682336738189 + } ], "lastEdit": { "editorUserId": "4c1574ee-de54-40a2-be15-8d72b333afad", @@ -392,9 +908,17 @@ }, "resources": "Nick Brundle Photography/Moment/Getty Images", "slug": "seven-wonders-of-the-ancient-world", - "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}, + "languageInfo": { + "language": "en-US", + "lastUpdatedOn": 1741920189202, + "readAloudSupported": true + }, "inventoryItemIds": [], - "channels": [{"id": "247c3eb4-af80-4c1f-b006-558682c7bd2f"}], + "channels": [ + { + "id": "247c3eb4-af80-4c1f-b006-558682c7bd2f" + } + ], "isValid": true, "playAsGuest": true, "hasRestrictedContent": false, diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Access.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Access.kt index 06af84a..9e87006 100644 --- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Access.kt +++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Access.kt @@ -5,5 +5,5 @@ package dev.adriankuta.kahootquiz.domain.models data class Access( val groupRead: List?, val folderGroupIds: List?, - val features: List? + val features: List?, ) \ No newline at end of file diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Choice.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Choice.kt index 0023607..bb1f73b 100644 --- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Choice.kt +++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Choice.kt @@ -3,5 +3,5 @@ package dev.adriankuta.kahootquiz.domain.models data class Choice( val answer: String?, val correct: Boolean, - val languageInfo: LanguageInfo? = null + val languageInfo: LanguageInfo? = null, ) \ No newline at end of file diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ChoiceRange.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ChoiceRange.kt index a53d7b8..5ce4f8f 100644 --- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ChoiceRange.kt +++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ChoiceRange.kt @@ -7,5 +7,5 @@ data class ChoiceRange( val end: Int?, val step: Int?, val correct: Int?, - val tolerance: Int? + val tolerance: Int?, ) \ No newline at end of file diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ContentTags.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ContentTags.kt index 46acb10..4c4c235 100644 --- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ContentTags.kt +++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ContentTags.kt @@ -4,5 +4,5 @@ package dev.adriankuta.kahootquiz.domain.models data class ContentTags( val curriculumCodes: List?, - val generatedCurriculumCodes: List? + val generatedCurriculumCodes: List?, ) \ No newline at end of file diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/CoverMetadata.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/CoverMetadata.kt index 1824137..ea749b5 100644 --- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/CoverMetadata.kt +++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/CoverMetadata.kt @@ -13,5 +13,5 @@ data class CoverMetadata( val height: Int?, val extractedColors: List?, val blurhash: String?, - val crop: Crop? + val crop: Crop?, ) \ No newline at end of file diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Crop.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Crop.kt index 9d4fb8a..fa6d4fc 100644 --- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Crop.kt +++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Crop.kt @@ -5,5 +5,5 @@ package dev.adriankuta.kahootquiz.domain.models data class Crop( val origin: Point?, val target: Point?, - val circular: Boolean? + val circular: Boolean?, ) \ No newline at end of file diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ExtractedColor.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ExtractedColor.kt index e77012b..29d50a9 100644 --- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ExtractedColor.kt +++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ExtractedColor.kt @@ -4,5 +4,5 @@ package dev.adriankuta.kahootquiz.domain.models data class ExtractedColor( val swatch: String?, - val rgbHex: String? + val rgbHex: String?, ) \ No newline at end of file diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/FeaturedListMembership.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/FeaturedListMembership.kt index 242921e..ee6c610 100644 --- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/FeaturedListMembership.kt +++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/FeaturedListMembership.kt @@ -4,5 +4,5 @@ package dev.adriankuta.kahootquiz.domain.models data class FeaturedListMembership( val list: String?, - val addedAt: Long? + val addedAt: Long?, ) \ No newline at end of file diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ImageMetadata.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ImageMetadata.kt index 736aae1..4480c2e 100644 --- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ImageMetadata.kt +++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ImageMetadata.kt @@ -12,5 +12,5 @@ data class ImageMetadata( val width: Int? = null, val height: Int? = null, val effects: List? = null, - val crop: Crop? = null + val crop: Crop? = null, ) \ No newline at end of file diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/LanguageInfo.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/LanguageInfo.kt index 41786ef..0cbd7a3 100644 --- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/LanguageInfo.kt +++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/LanguageInfo.kt @@ -5,5 +5,5 @@ package dev.adriankuta.kahootquiz.domain.models data class LanguageInfo( val language: String?, val lastUpdatedOn: Long?, - val readAloudSupported: Boolean? + val readAloudSupported: Boolean?, ) \ No newline at end of file diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/LastEdit.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/LastEdit.kt index 298ee8f..3e00a81 100644 --- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/LastEdit.kt +++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/LastEdit.kt @@ -5,5 +5,5 @@ package dev.adriankuta.kahootquiz.domain.models data class LastEdit( val editorUserId: String?, val editorUsername: String?, - val editTimestamp: Long? + val editTimestamp: Long?, ) \ No newline at end of file diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/MediaItem.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/MediaItem.kt index 1898479..3fda83f 100644 --- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/MediaItem.kt +++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/MediaItem.kt @@ -14,5 +14,5 @@ data class MediaItem( val resources: String? = null, val width: Int? = null, val height: Int? = null, - val crop: Crop? = null + val crop: Crop? = null, ) \ No newline at end of file diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Metadata.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Metadata.kt index 700967c..e73c2e0 100644 --- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Metadata.kt +++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Metadata.kt @@ -7,5 +7,5 @@ data class Metadata( val duplicationProtection: Boolean?, val featuredListMemberships: List?, val lastEdit: LastEdit?, - val versionMetadata: VersionMetadata? + val versionMetadata: VersionMetadata?, ) \ No newline at end of file diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Point.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Point.kt index 0d88599..e5c110b 100644 --- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Point.kt +++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Point.kt @@ -4,5 +4,5 @@ package dev.adriankuta.kahootquiz.domain.models data class Point( val x: Int?, - val y: Int? + val y: Int?, ) \ No newline at end of file diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Quiz.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Quiz.kt index 9e5d990..6fd1298 100644 --- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Quiz.kt +++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Quiz.kt @@ -31,5 +31,5 @@ data class Quiz( val hasRestrictedContent: Boolean?, val type: String?, val created: Long?, - val modified: Long? + val modified: Long?, ) \ No newline at end of file diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/VersionMetadata.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/VersionMetadata.kt index 0dab9f3..876a032 100644 --- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/VersionMetadata.kt +++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/VersionMetadata.kt @@ -5,5 +5,5 @@ package dev.adriankuta.kahootquiz.domain.models data class VersionMetadata( val version: Int?, val created: Long?, - val creator: String? + val creator: String?, ) \ No newline at end of file diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Video.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Video.kt index 713996a..f3a58ed 100644 --- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Video.kt +++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Video.kt @@ -5,5 +5,5 @@ data class Video( val startTime: Int?, val endTime: Int?, val service: String?, - val fullUrl: String? + val fullUrl: String?, ) \ No newline at end of file diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/usecases/GetQuizUseCase.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/usecases/GetQuizUseCase.kt index b1ae02b..f08e56e 100644 --- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/usecases/GetQuizUseCase.kt +++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/usecases/GetQuizUseCase.kt @@ -5,7 +5,7 @@ import dev.adriankuta.kahootquiz.domain.repositories.QuizRepository import javax.inject.Inject class GetQuizUseCase @Inject constructor( - private val quizRepository: QuizRepository + private val quizRepository: QuizRepository, ) { suspend operator fun invoke(): Quiz { diff --git a/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/QuizRepositoryImpl.kt b/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/QuizRepositoryImpl.kt index 9ae8f24..d011736 100644 --- a/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/QuizRepositoryImpl.kt +++ b/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/QuizRepositoryImpl.kt @@ -7,7 +7,7 @@ import dev.adriankuta.kahootquiz.model.data.mappers.toDomainModel import javax.inject.Inject internal class QuizRepositoryImpl @Inject constructor( - private val quizApi: QuizApi + private val quizApi: QuizApi, ) : QuizRepository { override suspend fun getQuiz(): Quiz { diff --git a/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/di/RepositoryModule.kt b/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/di/RepositoryModule.kt index a7e858f..614627e 100644 --- a/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/di/RepositoryModule.kt +++ b/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/di/RepositoryModule.kt @@ -15,6 +15,6 @@ internal abstract class RepositoryModule { @Binds @Singleton abstract fun bindsQuizRepository( - quizRepositoryImpl: QuizRepositoryImpl + quizRepositoryImpl: QuizRepositoryImpl, ): QuizRepository } diff --git a/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/mappers/QuizMapper.kt b/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/mappers/QuizMapper.kt index 70c71a1..59b481c 100644 --- a/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/mappers/QuizMapper.kt +++ b/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/mappers/QuizMapper.kt @@ -1,7 +1,44 @@ package dev.adriankuta.kahootquiz.model.data.mappers -import dev.adriankuta.kahootquiz.core.network.models.* -import dev.adriankuta.kahootquiz.domain.models.* +import dev.adriankuta.kahootquiz.core.network.models.AccessDto +import dev.adriankuta.kahootquiz.core.network.models.ChannelDto +import dev.adriankuta.kahootquiz.core.network.models.ChoiceDto +import dev.adriankuta.kahootquiz.core.network.models.ChoiceRangeDto +import dev.adriankuta.kahootquiz.core.network.models.ContentTagsDto +import dev.adriankuta.kahootquiz.core.network.models.CoverMetadataDto +import dev.adriankuta.kahootquiz.core.network.models.CropDto +import dev.adriankuta.kahootquiz.core.network.models.ExtractedColorDto +import dev.adriankuta.kahootquiz.core.network.models.FeaturedListMembershipDto +import dev.adriankuta.kahootquiz.core.network.models.ImageMetadataDto +import dev.adriankuta.kahootquiz.core.network.models.LanguageInfoDto +import dev.adriankuta.kahootquiz.core.network.models.LastEditDto +import dev.adriankuta.kahootquiz.core.network.models.MediaItemDto +import dev.adriankuta.kahootquiz.core.network.models.MetadataDto +import dev.adriankuta.kahootquiz.core.network.models.PointDto +import dev.adriankuta.kahootquiz.core.network.models.QuestionDto +import dev.adriankuta.kahootquiz.core.network.models.QuizResponseDto +import dev.adriankuta.kahootquiz.core.network.models.VersionMetadataDto +import dev.adriankuta.kahootquiz.core.network.models.VideoDto +import dev.adriankuta.kahootquiz.domain.models.Access +import dev.adriankuta.kahootquiz.domain.models.Channel +import dev.adriankuta.kahootquiz.domain.models.Choice +import dev.adriankuta.kahootquiz.domain.models.ChoiceRange +import dev.adriankuta.kahootquiz.domain.models.ContentTags +import dev.adriankuta.kahootquiz.domain.models.CoverMetadata +import dev.adriankuta.kahootquiz.domain.models.Crop +import dev.adriankuta.kahootquiz.domain.models.ExtractedColor +import dev.adriankuta.kahootquiz.domain.models.FeaturedListMembership +import dev.adriankuta.kahootquiz.domain.models.ImageMetadata +import dev.adriankuta.kahootquiz.domain.models.LanguageInfo +import dev.adriankuta.kahootquiz.domain.models.LastEdit +import dev.adriankuta.kahootquiz.domain.models.MediaItem +import dev.adriankuta.kahootquiz.domain.models.Metadata +import dev.adriankuta.kahootquiz.domain.models.Point +import dev.adriankuta.kahootquiz.domain.models.Question +import dev.adriankuta.kahootquiz.domain.models.Quiz +import dev.adriankuta.kahootquiz.domain.models.QuizId +import dev.adriankuta.kahootquiz.domain.models.VersionMetadata +import dev.adriankuta.kahootquiz.domain.models.Video import kotlin.time.Duration.Companion.milliseconds internal fun QuizResponseDto.toDomainModel(): Quiz = @@ -34,7 +71,7 @@ internal fun QuizResponseDto.toDomainModel(): Quiz = hasRestrictedContent = hasRestrictedContent, type = type, created = created, - modified = modified + modified = modified, ) private fun CoverMetadataDto.toDomain(): CoverMetadata = CoverMetadata( @@ -48,25 +85,25 @@ private fun CoverMetadataDto.toDomain(): CoverMetadata = CoverMetadata( height = height, extractedColors = extractedColors?.map { it.toDomain() }, blurhash = blurhash, - crop = crop?.toDomain() + crop = crop?.toDomain(), ) private fun ExtractedColorDto.toDomain(): ExtractedColor = ExtractedColor( swatch = swatch, - rgbHex = rgbHex + rgbHex = rgbHex, ) private fun CropDto.toDomain(): Crop = Crop( origin = origin?.toDomain(), target = target?.toDomain(), - circular = circular + circular = circular, ) private fun PointDto.toDomain(): Point = Point(x = x, y = y) private fun ContentTagsDto.toDomain(): ContentTags = ContentTags( curriculumCodes = curriculumCodes, - generatedCurriculumCodes = generatedCurriculumCodes + generatedCurriculumCodes = generatedCurriculumCodes, ) private fun MetadataDto.toDomain(): Metadata = Metadata( @@ -74,36 +111,36 @@ private fun MetadataDto.toDomain(): Metadata = Metadata( duplicationProtection = duplicationProtection, featuredListMemberships = featuredListMemberships?.map { it.toDomain() }, lastEdit = lastEdit?.toDomain(), - versionMetadata = versionMetadata?.toDomain() + versionMetadata = versionMetadata?.toDomain(), ) private fun AccessDto.toDomain(): Access = Access( groupRead = groupRead, folderGroupIds = folderGroupIds, - features = features + features = features, ) private fun FeaturedListMembershipDto.toDomain(): FeaturedListMembership = FeaturedListMembership( list = list, - addedAt = addedAt + addedAt = addedAt, ) private fun LastEditDto.toDomain(): LastEdit = LastEdit( editorUserId = editorUserId, editorUsername = editorUsername, - editTimestamp = editTimestamp + editTimestamp = editTimestamp, ) private fun VersionMetadataDto.toDomain(): VersionMetadata = VersionMetadata( version = version, created = created, - creator = creator + creator = creator, ) private fun LanguageInfoDto.toDomain(): LanguageInfo = LanguageInfo( language = language, lastUpdatedOn = lastUpdatedOn, - readAloudSupported = readAloudSupported + readAloudSupported = readAloudSupported, ) private fun ChannelDto.toDomain(): Channel = Channel(id = id) @@ -123,13 +160,13 @@ private fun QuestionDto.toDomain(): Question = Question( questionFormat = questionFormat, languageInfo = languageInfo?.toDomain(), media = media?.map { it.toDomain() }, - choiceRange = choiceRange?.toDomain() + choiceRange = choiceRange?.toDomain(), ) private fun ChoiceDto.toDomain(): Choice = Choice( answer = answer, correct = correct, - languageInfo = languageInfo?.toDomain() + languageInfo = languageInfo?.toDomain(), ) private fun VideoDto.toDomain(): Video = Video( @@ -137,7 +174,7 @@ private fun VideoDto.toDomain(): Video = Video( startTime = startTime, endTime = endTime, service = service, - fullUrl = fullUrl + fullUrl = fullUrl, ) private fun ImageMetadataDto.toDomain(): ImageMetadata = ImageMetadata( @@ -150,7 +187,7 @@ private fun ImageMetadataDto.toDomain(): ImageMetadata = ImageMetadata( width = width, height = height, effects = effects, - crop = crop?.toDomain() + crop = crop?.toDomain(), ) private fun MediaItemDto.toDomain(): MediaItem = MediaItem( @@ -165,7 +202,7 @@ private fun MediaItemDto.toDomain(): MediaItem = MediaItem( resources = resources, width = width, height = height, - crop = crop?.toDomain() + crop = crop?.toDomain(), ) private fun ChoiceRangeDto.toDomain(): ChoiceRange = ChoiceRange( @@ -173,5 +210,5 @@ private fun ChoiceRangeDto.toDomain(): ChoiceRange = ChoiceRange( end = end, step = step, correct = correct, - tolerance = tolerance + tolerance = tolerance, )