package com.suno.android.common_data.mappers.projects import com.suno.android.common_core_utils.Id import java.time.LocalDateTime interface BaseProjectMetadata { val id: Id val name: String } interface ProjectMetadata : BaseProjectMetadata { val description: String val clipCount: Int val lastUpdatedClipTime: LocalDateTime? val createdAt: LocalDateTime? val isDefault: Boolean get() = id.value == DEFAULT_ID val sortingTime: LocalDateTime? get() { val lastUpdatedClipTime = lastUpdatedClipTime ?: return createdAt val createdAt = createdAt ?: return lastUpdatedClipTime return maxOf(lastUpdatedClipTime, createdAt) } companion object { const val DEFAULT_ID: String = "default" } }