package com.adealink.weparty.playmate.manager

import com.adealink.frame.base.Rlt
import com.adealink.frame.frame.IBaseFrame
import com.adealink.weparty.module.playmate.data.PlaymateCategoryConditionData
import com.adealink.weparty.module.playmate.data.PlaymateCategoryData
import com.adealink.weparty.module.playmate.data.UserPlaymateCategoryData

interface IPlaymateManager : IBaseFrame<IPlaymateListener> {

    suspend fun pullAllCategory(): Rlt<List<PlaymateCategoryData>>

    suspend fun pullAllCategoryCondition(): Map<String, PlaymateCategoryConditionData>

    suspend fun getUserPlaymateCategory(uid: String, cache: Boolean): Rlt<List<UserPlaymateCategoryData>>

}