package com.sikey.wa04.business.domain.adapter;

import com.sikey.wa04.business.domain.entity.ChildId;
import com.sikey.wa04.business.domain.entity.Group;
import com.sikey.wa04.business.domain.entity.GroupId;
import com.sikey.wa04.business.domain.entity.UserId;

/**
 * 群聊适配器
 *
 * @author luoyangwei
 */
public interface GroupAdapter {

    /**
     * 初始化群聊
     *
     * @param groupId 群聊ID
     * @param childId 孩子ID
     * @param userId  用户ID
     */
    void initialize(GroupId groupId, ChildId childId, UserId userId);

    /**
     * 根据群聊ID获取群聊
     *
     * @param gid 群聊ID
     * @return 群聊
     */
    Group findById(GroupId gid);

    /**
     * 根据小孩ID获取群聊
     *
     * @param cid 小孩ID
     * @return 群聊
     */
    Group findByChildId(ChildId cid);

    void deleteByChildId(String childId);
}
