Migrasi Data Models
This commit is contained in:
parent
c44f9db754
commit
9fb59df8b9
12
app/src/main/java/com/example/notesai/data/model/Category.kt
Normal file
12
app/src/main/java/com/example/notesai/data/model/Category.kt
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
// File: data/model/Category.kt
|
||||||
|
package com.example.notesai.data.model
|
||||||
|
|
||||||
|
import java.util.UUID
|
||||||
|
|
||||||
|
data class Category(
|
||||||
|
val id: String = UUID.randomUUID().toString(),
|
||||||
|
val name: String,
|
||||||
|
val gradientStart: Long,
|
||||||
|
val gradientEnd: Long,
|
||||||
|
val timestamp: Long = System.currentTimeMillis()
|
||||||
|
)
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
// File: data/model/ChatMessage.kt
|
||||||
|
package com.example.notesai.data.model
|
||||||
|
|
||||||
|
import java.util.UUID
|
||||||
|
|
||||||
|
data class ChatMessage(
|
||||||
|
val id: String = UUID.randomUUID().toString(),
|
||||||
|
val message: String,
|
||||||
|
val isUser: Boolean,
|
||||||
|
val timestamp: Long = System.currentTimeMillis()
|
||||||
|
)
|
||||||
15
app/src/main/java/com/example/notesai/data/model/Note.kt
Normal file
15
app/src/main/java/com/example/notesai/data/model/Note.kt
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
// File: data/model/Note.kt
|
||||||
|
package com.example.notesai.data.model
|
||||||
|
|
||||||
|
import java.util.UUID
|
||||||
|
|
||||||
|
data class Note(
|
||||||
|
val id: String = UUID.randomUUID().toString(),
|
||||||
|
val categoryId: String,
|
||||||
|
val title: String,
|
||||||
|
val content: String,
|
||||||
|
val timestamp: Long = System.currentTimeMillis(),
|
||||||
|
val isArchived: Boolean = false,
|
||||||
|
val isDeleted: Boolean = false,
|
||||||
|
val isPinned: Boolean = false
|
||||||
|
)
|
||||||
@ -0,0 +1,67 @@
|
|||||||
|
// File: data/model/SerializableModels.kt
|
||||||
|
package com.example.notesai.data.model
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
|
@SuppressLint("UnsafeOptInUsageError")
|
||||||
|
@Serializable
|
||||||
|
data class SerializableCategory(
|
||||||
|
val id: String,
|
||||||
|
val name: String,
|
||||||
|
val gradientStart: Long,
|
||||||
|
val gradientEnd: Long,
|
||||||
|
val timestamp: Long
|
||||||
|
)
|
||||||
|
|
||||||
|
@SuppressLint("UnsafeOptInUsageError")
|
||||||
|
@Serializable
|
||||||
|
data class SerializableNote(
|
||||||
|
val id: String,
|
||||||
|
val categoryId: String,
|
||||||
|
val title: String,
|
||||||
|
val content: String,
|
||||||
|
val timestamp: Long,
|
||||||
|
val isArchived: Boolean,
|
||||||
|
val isDeleted: Boolean,
|
||||||
|
val isPinned: Boolean
|
||||||
|
)
|
||||||
|
|
||||||
|
// Extension functions untuk konversi
|
||||||
|
fun Category.toSerializable() = SerializableCategory(
|
||||||
|
id = id,
|
||||||
|
name = name,
|
||||||
|
gradientStart = gradientStart,
|
||||||
|
gradientEnd = gradientEnd,
|
||||||
|
timestamp = timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
fun SerializableCategory.toCategory() = Category(
|
||||||
|
id = id,
|
||||||
|
name = name,
|
||||||
|
gradientStart = gradientStart,
|
||||||
|
gradientEnd = gradientEnd,
|
||||||
|
timestamp = timestamp
|
||||||
|
)
|
||||||
|
|
||||||
|
fun Note.toSerializable() = SerializableNote(
|
||||||
|
id = id,
|
||||||
|
categoryId = categoryId,
|
||||||
|
title = title,
|
||||||
|
content = content,
|
||||||
|
timestamp = timestamp,
|
||||||
|
isArchived = isArchived,
|
||||||
|
isDeleted = isDeleted,
|
||||||
|
isPinned = isPinned
|
||||||
|
)
|
||||||
|
|
||||||
|
fun SerializableNote.toNote() = Note(
|
||||||
|
id = id,
|
||||||
|
categoryId = categoryId,
|
||||||
|
title = title,
|
||||||
|
content = content,
|
||||||
|
timestamp = timestamp,
|
||||||
|
isArchived = isArchived,
|
||||||
|
isDeleted = isDeleted,
|
||||||
|
isPinned = isPinned
|
||||||
|
)
|
||||||
Loading…
x
Reference in New Issue
Block a user