package com.narutohuo.xindazhou.common.auth.datasource.remote

import com.narutohuo.xindazhou.common.auth.model.LoginRequest
import com.narutohuo.xindazhou.common.auth.model.LoginResponse
import com.narutohuo.xindazhou.common.auth.model.RegisterRequest
import com.narutohuo.xindazhou.common.network.ApiCommonResult
import retrofit2.Response
import retrofit2.http.Body
import retrofit2.http.POST
import retrofit2.http.Query

/**
 * 认证相关API接口
 */
interface AuthApi {
    
    /**
     * 用户登录
     */
    @POST("member/auth/login")
    suspend fun login(@Body request: LoginRequest): Response<ApiCommonResult<LoginResponse>>
    
    /**
     * 用户注册
     */
    @POST("member/auth/register")
    suspend fun register(@Body request: RegisterRequest): Response<ApiCommonResult<LoginResponse>>
    
    /**
     * 刷新 Token
     * 
     * 注意：服务端使用 @RequestParam，所以使用 @Query
     */
    @POST("member/auth/refresh-token")
    suspend fun refreshToken(@Query("refreshToken") refreshToken: String): Response<ApiCommonResult<LoginResponse>>
}

