package ink.wgink.login.oauth2.client.remote.menu;

import ink.wgink.annotation.rpc.rest.RemoteService;
import ink.wgink.annotation.rpc.rest.method.RemoteGetMethod;
import ink.wgink.annotation.rpc.rest.params.RemotePathParams;
import ink.wgink.annotation.rpc.rest.params.RemoteQueryParams;
import ink.wgink.annotation.rpc.rest.params.RemoteServerParams;
import ink.wgink.pojo.dtos.menu.MenuDTO;

import java.util.List;

/**
 * @ClassName: IMenuRemoteService
 * @Description: 菜单调用
 * @Author: wanggeng
 * @Date: 2021/9/22 11:18 上午
 * @Version: 1.0
 */
@RemoteService
public interface IMenuRemoteService {

    /**
     * 客户端菜单列表
     *
     * @param server      服务地址
     * @param clientId    客户端ID
     * @param roleIds     角色ID列表（下划线分割）
     * @param accessToken token
     * @return
     */
    @RemoteGetMethod("/resource/oauth2client/list-all/{clientId}/{roleIds}")
    List<MenuDTO> listAll(@RemoteServerParams String server,
                          @RemotePathParams("clientId") String clientId,
                          @RemotePathParams("roleIds") String roleIds,
                          @RemoteQueryParams("access_token") String accessToken);

}
