package de.trainingstagebuch.app.network

import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.JsonElement
import kotlinx.serialization.json.JsonObject

@Serializable
data class BaseResponse<T>(
    val success: Boolean? = null,
    val message: String? = null,
    val error: String? = null,
    val code: String? = null,
    val params: JsonObject? = null,
    val data: T? = null
)

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

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

@Serializable
data class CreateClubRequest(
    val name: String
)

@Serializable
data class GenericBody(
    @SerialName("payload")
    val payload: JsonElement
)
