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.param.UpdateUserClientRoleDto;
import com.tuoheng.model.param.UpdateUserPassDto;
import com.tuoheng.model.query.TenantQuery;
import com.tuoheng.until.JsonResult;

/**
 * @author chenjiandong
 * @description: TODO
 * @date 2022/10/8 11:35
 */
public interface ClientUserSevice {

    JsonResult judgeCreate(String username);

    JsonResult createClientUser(CreateClientUserDto createClientUserDto, LoginUser loginUser);

    JsonResult createClientTenant(CreateClientTenantDto createClientTenantDto, LoginUser loginUser);

    JsonResult updateUserPassword(UpdateUserPassDto updateUserPassDto, LoginUser loginUser);

    JsonResult updateUserClientRole(UpdateUserClientRoleDto updateUserClientRoleDto, LoginUser loginUser);

    /**
     * 新增业务平台的租户基本数据
     * @param dto
     * @return
     */
    JsonResult addTenant(OidcTenantDto dto,LoginUser loginUser);

    JsonResult findTenants(TenantQuery query);

    JsonResult editTenant(OidcTenantDto dto, LoginUser loginUser);
    /**
     * 删除租户(逻辑删除)
     * @return
     */
    JsonResult deleteTenant(OidcTenantDto dto, LoginUser loginUser);
}
