idk
This commit is contained in:
@@ -1,13 +1,23 @@
|
||||
import { NodeMessageInFlow } from "node-red";
|
||||
import { TeamSpeak } from "ts3-nodejs-library";
|
||||
import { GetFunctions } from "./types";
|
||||
|
||||
export default async function handleGet(func: GetFunctions, client: TeamSpeak, options: any): Promise<any>{
|
||||
switch (func) {
|
||||
case GetFunctions.CLIENTS_LIST:
|
||||
return client.clientList(options)
|
||||
export default function handleGet(func: string, client: TeamSpeak, options: any): Promise<any>{
|
||||
const member: any = client[func as keyof TeamSpeak]
|
||||
|
||||
if (typeof member === "function"){
|
||||
let rtn;
|
||||
|
||||
default:
|
||||
break;
|
||||
if (options instanceof Array){
|
||||
rtn = member(...options)
|
||||
}else{
|
||||
rtn = member(options)
|
||||
}
|
||||
|
||||
if (rtn instanceof Promise){
|
||||
return rtn
|
||||
}else{
|
||||
return rtn
|
||||
}
|
||||
}else{
|
||||
throw new Error(`"${func}" is not a valid function name`);
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
import { NodeInitializer } from "node-red";
|
||||
import { Ts3ConfigNode } from "../ts3-config/types";
|
||||
import handleGet from "./handleGet";
|
||||
import { GetFunctions, Ts3GetConfig, Ts3GetNode } from "./types";
|
||||
import { Ts3GetConfig, Ts3GetNode } from "./types";
|
||||
|
||||
const nodeInit: NodeInitializer = (RED): void => {
|
||||
function Ts3Get(
|
||||
@@ -28,8 +28,9 @@ const nodeInit: NodeInitializer = (RED): void => {
|
||||
this.on("input", async (msg,send,done) => {
|
||||
const client = await ts3Config.getConnection()
|
||||
|
||||
let payload = await handleGet(GetFunctions.CLIENTS_LIST,client,msg.payload)
|
||||
|
||||
let payload = await handleGet(config.selection,client,msg.payload)
|
||||
//let payload = await client.whoami()
|
||||
|
||||
msg.payload = payload
|
||||
|
||||
send(msg)
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { NodeDef, Node, EditorNodeProperties } from "node-red";
|
||||
import { Ts3ConfigNode } from "../ts3-config/types";
|
||||
|
||||
export interface Ts3GetProps {
|
||||
configid: string
|
||||
@@ -14,7 +13,3 @@ export interface Ts3GetConfig extends NodeDef, Ts3GetProps { }
|
||||
export interface Ts3GetNode extends Node, Ts3GetData {}
|
||||
|
||||
export interface Ts3GetEditorNodeProperties extends EditorNodeProperties,Ts3GetProps {}
|
||||
|
||||
export enum GetFunctions {
|
||||
CLIENTS_LIST,
|
||||
}
|
||||
|
||||
@@ -9,6 +9,71 @@
|
||||
<div class="form-row">
|
||||
<label for="node-input-configid"><i class="fa fa-database"></i> Connection</label>
|
||||
<select class="form-select" id="node-input-selection">
|
||||
<option selected>Open this select menu</option>
|
||||
<option value="version" selected>version</option>
|
||||
<option value="apiKeyList">apiKeyList</option>
|
||||
<option value="hostInfo">hostInfo</option>
|
||||
<option value="instanceInfo">instanceInfo</option>
|
||||
<option value="bindingList">bindingList</option>
|
||||
<option value="whoami">whoami</option>
|
||||
<option value="serverInfo">serverInfo</option>
|
||||
<option value="serverIdGetByPort">serverIdGetByPort</option>
|
||||
<option value="connectionInfo">connectionInfo</option>
|
||||
<option value="serverGroupClientList">serverGroupClientList</option>
|
||||
<option value="serverGroupsByClientId">serverGroupsByClientId</option>
|
||||
<option value="serverGroupPermList">serverGroupPermList</option>
|
||||
<option value="serverTempPasswordList">serverTempPasswordList</option>
|
||||
<option value="getChannelById">getChannelById</option>
|
||||
<option value="channelPermList">channelPermList</option>
|
||||
<option value="getClientById">getClientById</option>
|
||||
<option value="getChannelByName">getChannelByName</option>
|
||||
<option value="channelFind">channelFind</option>
|
||||
<option value="channelInfo">channelInfo</option>
|
||||
<option value="getClientByDbid">getClientByDbid</option>
|
||||
<option value="getClientByUid">getClientByUid</option>
|
||||
<option value="getClientByName">getClientByName</option>
|
||||
<option value="clientInfo">clientInfo</option>
|
||||
<option value="clientDbList">clientDbList</option>
|
||||
<option value="clientDbInfo">clientDbInfo</option>
|
||||
<option value="clientPermList">clientPermList</option>
|
||||
<option value="customSearch">customSearch</option>
|
||||
<option value="customInfo">customInfo</option>
|
||||
<option value="getServerGroupById">getServerGroupById</option>
|
||||
<option value="getServerGroupByName">getServerGroupByName</option>
|
||||
<option value="getChannelGroupById">getChannelGroupById</option>
|
||||
<option value="getChannelGroupByName">getChannelGroupByName</option>
|
||||
<option value="setClientChannelGroup">setClientChannelGroup</option>
|
||||
<option value="channelGroupPermList">channelGroupPermList</option>
|
||||
<option value="channelGroupClientList">channelGroupClientList</option>
|
||||
<option value="permOverview">permOverview</option>
|
||||
<option value="permissionList">permissionList</option>
|
||||
<option value="permIdGetByName">permIdGetByName</option>
|
||||
<option value="permIdsGetByName">permIdsGetByName</option>
|
||||
<option value="permGet">permGet</option>
|
||||
<option value="permFind">permFind</option>
|
||||
<option value="privilegeKeyList">privilegeKeyList</option>
|
||||
<option value="messageList">messageList</option>
|
||||
<option value="messageGet">messageGet</option>
|
||||
<option value="complainList">complainList</option>
|
||||
<option value="banList">banList</option>
|
||||
<option value="logView">logView</option>
|
||||
<option value="clientFind">clientFind</option>
|
||||
<option value="clientGetIds">clientGetIds</option>
|
||||
<option value="clientGetDbidFromUid">clientGetDbidFromUid</option>
|
||||
<option value="clientGetNameFromUid">clientGetNameFromUid</option>
|
||||
<option value="clientGetUidFromClid">clientGetUidFromClid</option>
|
||||
<option value="clientGetNameFromDbid">clientGetNameFromDbid</option>
|
||||
<option value="clientDbFind">clientDbFind</option>
|
||||
<option value="serverList">serverList</option>
|
||||
<option value="channelClientPermList">channelClientPermList</option>
|
||||
<option value="channelGroupList">channelGroupList</option>
|
||||
<option value="serverGroupList">serverGroupList</option>
|
||||
<option value="channelList">channelList</option>
|
||||
<option value="clientList">clientList</option>
|
||||
<option value="ftList">ftList</option>
|
||||
<option value="ftGetFileList">ftGetFileList</option>
|
||||
<option value="ftGetFileInfo">ftGetFileInfo</option>
|
||||
<option value="downloadFile">downloadFile</option>
|
||||
<option value="downloadIcon">downloadIcon</option>
|
||||
<option value="getIconId">getIconId</option>
|
||||
</select>
|
||||
</div>
|
||||
Reference in New Issue
Block a user