package com.tuoheng.service;

import com.tuoheng.model.dto.LoginUser;
import com.tuoheng.model.dto.OidcTenantDto;
import com.tuoheng.model.param.CreateClientTenantDto;
import com.tuoheng.model.param.CreateClientUserDto;
import com.tuoheng.model.query.TenantQuery;
import com.tuoheng.model.query.UserQuery;
import com.tuoheng.until.JsonResult;

/**
 * @Author xiaoying
 * @Date 2023/3/6 11:26
 */
public interface TenantService {


    JsonResult findTenants(TenantQuery query);

    JsonResult editTenant(CreateClientTenantDto dto, LoginUser loginUser);
    /**
     * 删除租户(逻辑删除)
     * @return
     */
    JsonResult deleteTenant(CreateClientTenantDto dto, LoginUser loginUser);
    /**
     * 更新 用户/租户对应关系的系统or角色id
     * @param createClientUserDto
     * @param loginUser
     * @return
     */
    JsonResult updateAuthorities(CreateClientUserDto createClientUserDto, LoginUser loginUser);
    /**
     * 查询对应租户下的所有用户数据
     * @param query
     * @return
     */
    JsonResult findUserList(UserQuery query);


    JsonResult createClientTenant(CreateClientTenantDto createClientTenantDto, LoginUser loginUser);
    /**
     * 根据id查询出租户详情
     *
     * @return
     */
    JsonResult getDetaile(TenantQuery query);
    /**
     * 更新租户状态(1 启用 0禁用)
     * @return
     */
    JsonResult updateStatus(CreateClientTenantDto dto, LoginUser loginUser);

    JsonResult resetPassward(CreateClientTenantDto dto, LoginUser loginUser);
}
