
package com.jeelowcode.core.framework.service;

import com.jeelowcode.core.framework.params.vo.role.DbFormRoleButtonVo;
import com.jeelowcode.core.framework.params.vo.role.DbFormRoleDataRuleVo;
import com.jeelowcode.core.framework.params.vo.role.DbFormRoleDataTenantVo;
import com.jeelowcode.core.framework.params.vo.role.DbFormRoleFieldVo;

import java.util.List;

/**
 * 表单开发-权限相关
 */
public interface IDbFormRoleService {

    //保存字段权限
    void saveOrUpdateRoleField(List<DbFormRoleFieldVo> voList);

    //字段权限列表
    List<DbFormRoleFieldVo> listRoleField(Long tenantId, Long dbFormId);
    List<DbFormRoleFieldVo> listRoleField(Long tenantId, Long dbFormId,Boolean enableFlag);

    //保存按钮权限
    void saveOrUpdateRoleButton(List<DbFormRoleButtonVo> voList);
    //按钮权限列表
    List<DbFormRoleButtonVo> listRoleButton(Long tenantId, Long dbFormId);
    List<DbFormRoleButtonVo> listRoleButton(Long tenantId, Long dbFormId,Boolean enableFlag);

    //保存数据权限-规则
    void saveOrUpdateRoleDataRule(DbFormRoleDataRuleVo vo);

    //删除数据圈规则
    void delRoleDataRule(Long ruleId);

    ///保存数据权限-租户
    void saveOrUpdateRoleDataTenant(List<DbFormRoleDataTenantVo> voList);

    //数据权限列表
    List<DbFormRoleDataRuleVo> listRoleData(Long tenantId, Long dbFormId);


}
