// theme/DarkModeState.kt
data class ThemeState( val mode: String? = "Dark mode", val active: Boolean = true, val starsCount: Int = 1024, val ideEngine: String = "IntelliJ IDEA")// controller/WebController.kt
@RestController@RequestMapping("/api/v1")class WebController( private val selectModeUseCase: SelectModeUseCase) { @GetMapping("abdeal") fun design(@RequestParam theme: String): ResponseEntity<ThemeState> { val response = selectModeUseCase.execute(theme) return ResponseEntity.ok(response) }}// usecase/SelectModeUseCase.kt
suspend fun execute(mode: String): ThemeState = coroutineScope { eventPublisher.publish(ThemeChangedEvent(mode = "DARK")) ThemeState(mode = "Dark mode", active = true)}