idk
This commit is contained in:
@@ -1,13 +1,23 @@
|
|||||||
import { NodeMessageInFlow } from "node-red";
|
|
||||||
import { TeamSpeak } from "ts3-nodejs-library";
|
import { TeamSpeak } from "ts3-nodejs-library";
|
||||||
import { GetFunctions } from "./types";
|
|
||||||
|
|
||||||
export default async function handleGet(func: GetFunctions, client: TeamSpeak, options: any): Promise<any>{
|
export default function handleGet(func: string, client: TeamSpeak, options: any): Promise<any>{
|
||||||
switch (func) {
|
const member: any = client[func as keyof TeamSpeak]
|
||||||
case GetFunctions.CLIENTS_LIST:
|
|
||||||
return client.clientList(options)
|
if (typeof member === "function"){
|
||||||
|
let rtn;
|
||||||
|
|
||||||
default:
|
if (options instanceof Array){
|
||||||
break;
|
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 { NodeInitializer } from "node-red";
|
||||||
import { Ts3ConfigNode } from "../ts3-config/types";
|
import { Ts3ConfigNode } from "../ts3-config/types";
|
||||||
import handleGet from "./handleGet";
|
import handleGet from "./handleGet";
|
||||||
import { GetFunctions, Ts3GetConfig, Ts3GetNode } from "./types";
|
import { Ts3GetConfig, Ts3GetNode } from "./types";
|
||||||
|
|
||||||
const nodeInit: NodeInitializer = (RED): void => {
|
const nodeInit: NodeInitializer = (RED): void => {
|
||||||
function Ts3Get(
|
function Ts3Get(
|
||||||
@@ -28,8 +28,9 @@ const nodeInit: NodeInitializer = (RED): void => {
|
|||||||
this.on("input", async (msg,send,done) => {
|
this.on("input", async (msg,send,done) => {
|
||||||
const client = await ts3Config.getConnection()
|
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
|
msg.payload = payload
|
||||||
|
|
||||||
send(msg)
|
send(msg)
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import { NodeDef, Node, EditorNodeProperties } from "node-red";
|
import { NodeDef, Node, EditorNodeProperties } from "node-red";
|
||||||
import { Ts3ConfigNode } from "../ts3-config/types";
|
|
||||||
|
|
||||||
export interface Ts3GetProps {
|
export interface Ts3GetProps {
|
||||||
configid: string
|
configid: string
|
||||||
@@ -14,7 +13,3 @@ export interface Ts3GetConfig extends NodeDef, Ts3GetProps { }
|
|||||||
export interface Ts3GetNode extends Node, Ts3GetData {}
|
export interface Ts3GetNode extends Node, Ts3GetData {}
|
||||||
|
|
||||||
export interface Ts3GetEditorNodeProperties extends EditorNodeProperties,Ts3GetProps {}
|
export interface Ts3GetEditorNodeProperties extends EditorNodeProperties,Ts3GetProps {}
|
||||||
|
|
||||||
export enum GetFunctions {
|
|
||||||
CLIENTS_LIST,
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -9,6 +9,71 @@
|
|||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<label for="node-input-configid"><i class="fa fa-database"></i> Connection</label>
|
<label for="node-input-configid"><i class="fa fa-database"></i> Connection</label>
|
||||||
<select class="form-select" id="node-input-selection">
|
<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>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
Reference in New Issue
Block a user