package com.ssyf.module.auth.service;

import com.ssyf.module.auth.domain.entity.DataRelation;
import com.ssyf.module.auth.domain.query.DataRelationQuery;

import java.util.List;

/**
 * 数据关联服务接口
 * @author huwei
 * @date 2024/2/20 16:54
 */
public interface DataRelationService {
    /**
     * 查询关联数据
     * @param query
     * @return
     */
    List<DataRelation> getList(DataRelationQuery query);

    /**
     * 重置指定类型，指定主体对象的关联数据
     * @param type
     * @param hostId
     * @param relationIds
     */
    void reset(String type, String hostId, List<String> relationIds);

    /**
     * 删除指定条件的数据
     * @param query
     */
    void removeBy(DataRelationQuery query);

    /**
     * 删除指定关联的数据
     * @param relationIds
     */
    void removeByRelationIds(List<String> relationIds);
}
