package com.adealink.weparty.profile.datasource.remote

import com.adealink.frame.base.Rlt
import com.adealink.frame.network.data.Res
import com.adealink.weparty.profile.dynamic.data.DynamicCommentListReq
import com.adealink.weparty.profile.dynamic.data.DynamicCommentListRes
import com.adealink.weparty.profile.dynamic.data.DynamicCommentReq
import com.adealink.weparty.profile.dynamic.data.DynamicDeleteReq
import com.adealink.weparty.profile.dynamic.data.DynamicDetailData
import com.adealink.weparty.profile.dynamic.data.DynamicDetailReq
import com.adealink.weparty.profile.dynamic.data.DynamicLikeReq
import com.adealink.weparty.profile.dynamic.data.DynamicListReq
import com.adealink.weparty.profile.dynamic.data.DynamicListRes
import com.adealink.weparty.profile.dynamic.data.PublishDynamicReq
import retrofit2.http.Body
import retrofit2.http.POST

interface DynamicHttpService {

    @POST("trend/create")
    suspend fun publishDynamic(@Body req: PublishDynamicReq): Rlt<Res<Any>>

    @POST("trend/list")
    suspend fun dynamicList(@Body req: DynamicListReq): Rlt<Res<DynamicListRes>>


    @POST("trend/detail")
    suspend fun dynamicDetail(@Body req: DynamicDetailReq): Rlt<Res<DynamicDetailData>>

    @POST("trend/comment")
    suspend fun dynamicComment(@Body req: DynamicCommentReq): Rlt<Res<Any>>

    @POST("trend/comment/list")
    suspend fun dynamicCommentList(@Body req: DynamicCommentListReq): Rlt<Res<DynamicCommentListRes>>

    @POST("trend/trend/like")
    suspend fun dynamicLike(@Body req: DynamicLikeReq): Rlt<Res<Any>>

    @POST("trend/trend/del")
    suspend fun delete(@Body req: DynamicDeleteReq): Rlt<Res<Any>>


}