package com.devlab.app.data.model

import kotlinx.serialization.Serializable

@Serializable
data class LoginRequest(
    val username: String,
    val password: String
)

@Serializable
data class RegisterRequest(
    val username: String,
    val email: String,
    val password: String,
    val confirm_password: String
)

@Serializable
data class ProfileUpdateRequest(
    val email: String,
    val current_password: String? = null,
    val new_password: String? = null,
    val confirm_password: String? = null
)

@Serializable
data class LoginResponse(
    val success: Boolean,
    val data: LoginData? = null,
    val error: String? = null
)

@Serializable
data class LoginData(
    val token: String = "",
    val user: LoginUser? = null
)

@Serializable
data class LoginUser(
    val id: Int = 0,
    val username: String = "",
    val email: String = "",
    val role: String = ""
)

@Serializable
data class UserProfile(
    val id: Int = 0,
    val username: String = "",
    val email: String = "",
    val role: String = "",
    val created_at: String? = null
)
