Initial commit
This commit is contained in:
184
Backend/dist/Integrations/buildin/getiyo/publish.js
vendored
Normal file
184
Backend/dist/Integrations/buildin/getiyo/publish.js
vendored
Normal file
@@ -0,0 +1,184 @@
|
||||
// import axios from 'axios';
|
||||
// import { callbackify } from 'util';
|
||||
// import { ConnectionManager_Connection } from '../../../../ConnectionManager';
|
||||
// import { Log } from '../../../../Logger';
|
||||
// import { ActionAPI } from '../../../ActionAPI';
|
||||
// import { EditorAPI, EditorAPI_Field } from '../../../EditorAPI';
|
||||
// module.exports = (actionAPI: ActionAPI) => {
|
||||
// actionAPI.handle(
|
||||
// (properties: Publish_Properties, status: (text: string, type?: 'info' | 'error' | 'warn') => void) => {
|
||||
// var connectionID = properties.connectionID;
|
||||
// var sceneID = properties.sceneID;
|
||||
// var displayIDs = properties.displayIDs;
|
||||
// var connection = actionAPI.getConnection('channel', connectionID);
|
||||
// if (connection && connectionID != undefined && sceneID != undefined && displayIDs != undefined) {
|
||||
// var url = `${getBaseURL(connection)}/scenes/publish/${sceneID}/${displayIDs.join(',')}`;
|
||||
// axios
|
||||
// .get(url)
|
||||
// .then((response) => {
|
||||
// if (response.data != undefined) {
|
||||
// if (response.data.succeed == true) {
|
||||
// status(`Scene ${sceneID} was published to display(s) ${displayIDs.join(', ')}`);
|
||||
// } else status(response.data.error, 'error');
|
||||
// }
|
||||
// })
|
||||
// .catch((error) => {
|
||||
// status('Unable to reach Getiyo server', 'error');
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
// );
|
||||
// var channelSceneCache = {};
|
||||
// actionAPI.onOpenEditor((editorAPI: EditorAPI, properties: Publish_Properties) => {
|
||||
// var connectionID = properties.connectionID != undefined ? properties.connectionID : 'none';
|
||||
// var sceneID = properties.sceneID != undefined ? properties.sceneID : 'none';
|
||||
// var displayIDs = properties.displayIDs != undefined ? properties.displayIDs : [];
|
||||
// var connection: ConnectionManager_Connection = null;
|
||||
// var lastConnectionID: string = connectionID;
|
||||
// editorAPI.onFieldChanges((newFields: EditorAPI_Field[]) => {
|
||||
// var fieldObject = editorAPI.tools.objectifyFieldsValues(newFields);
|
||||
// editorAPI.saveProperties({
|
||||
// connectionID: fieldObject.connection,
|
||||
// sceneID: fieldObject.sceneID,
|
||||
// displayIDs: fieldObject.displayIDs
|
||||
// });
|
||||
// fields[0].value = fieldObject.connection;
|
||||
// if (lastConnectionID != fieldObject.connection) {
|
||||
// getConnection(fieldObject.connection, () => {
|
||||
// editorAPI.setFields(fields);
|
||||
// });
|
||||
// }
|
||||
// });
|
||||
// function getConnection(connectionID: string, callback: () => void) {
|
||||
// var newConnection = actionAPI.getConnection('channel', connectionID);
|
||||
// if (connectionID == 'none') {
|
||||
// fields[1].values = [];
|
||||
// fields[2].values = [];
|
||||
// callback();
|
||||
// } else if (newConnection != null) {
|
||||
// lastConnectionID = connectionID;
|
||||
// connection = newConnection;
|
||||
// updateScenes(() => updateDisplays(callback));
|
||||
// } else callback();
|
||||
// }
|
||||
// function updateScenes(callback: () => void) {
|
||||
// var baseURL = getBaseURL(connection);
|
||||
// if (baseURL) {
|
||||
// axios
|
||||
// .get(`${baseURL}/scenes`)
|
||||
// .then((response) => {
|
||||
// if (response.data != undefined) {
|
||||
// if (response.data.succeed == true) {
|
||||
// var scenes: Channel_Scene[] = response.data.response.map((scene) => {
|
||||
// return { id: scene.id, text: `${scene.id} - ${scene.name}` };
|
||||
// });
|
||||
// fields[1].values = scenes;
|
||||
// channelSceneCache[connection.properties.channel] = scenes;
|
||||
// callback();
|
||||
// } else {
|
||||
// Log('error', response.data.error);
|
||||
// callback();
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
// .catch((error) => {
|
||||
// Log(
|
||||
// 'error',
|
||||
// `Error whilst fetching Getiyo scenes for channel '${connection.properties.channel}'`,
|
||||
// error
|
||||
// );
|
||||
// callback();
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
// function updateDisplays(callback: () => void) {
|
||||
// var baseURL = getBaseURL(connection);
|
||||
// if (baseURL) {
|
||||
// axios
|
||||
// .get(`${baseURL}/displays`)
|
||||
// .then((response) => {
|
||||
// if (response.data != undefined) {
|
||||
// if (response.data.succeed == true) {
|
||||
// var scenes: Channel_Display[] = response.data.response.map((display) => {
|
||||
// return { id: display.id, text: `${display.id} - ${display.name}` };
|
||||
// });
|
||||
// fields[2].values = scenes;
|
||||
// channelSceneCache[connection.properties.channel] = scenes;
|
||||
// callback();
|
||||
// } else {
|
||||
// Log('error', response.data.error);
|
||||
// callback();
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
// .catch((error) => {
|
||||
// Log(
|
||||
// 'error',
|
||||
// `Error whilst fetching Getiyo displays for channel '${connection.properties.channel}'`,
|
||||
// error
|
||||
// );
|
||||
// callback();
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
// var defaultSceneValues = [];
|
||||
// if (connection != null && connection.properties != null) {
|
||||
// if (channelSceneCache[connection.properties.channel] != undefined) {
|
||||
// defaultSceneValues = channelSceneCache[connection.properties.channel];
|
||||
// }
|
||||
// }
|
||||
// var fields: EditorAPI_Field[] = [
|
||||
// {
|
||||
// id: 'connection',
|
||||
// name: 'Connection',
|
||||
// type: 'connection',
|
||||
// value: connectionID,
|
||||
// connectionType: 'channel'
|
||||
// },
|
||||
// {
|
||||
// id: 'sceneID',
|
||||
// name: 'Scene',
|
||||
// type: 'select',
|
||||
// value: sceneID,
|
||||
// values: defaultSceneValues
|
||||
// },
|
||||
// {
|
||||
// id: 'displayIDs',
|
||||
// name: 'Displays',
|
||||
// type: 'select',
|
||||
// multi: true,
|
||||
// value: displayIDs,
|
||||
// values: []
|
||||
// }
|
||||
// ];
|
||||
// getConnection(connectionID, () => editorAPI.setFields(fields));
|
||||
// });
|
||||
// function getBaseURL(connection) {
|
||||
// if (connection != null) {
|
||||
// var addressString = <string>connection.properties.address;
|
||||
// var address =
|
||||
// !addressString.startsWith('http://') && !addressString.startsWith('https://')
|
||||
// ? `https://${addressString}`
|
||||
// : addressString;
|
||||
// var fullQuery = `${address}:${connection.properties.port}/api/v1/${connection.properties.key}/${connection
|
||||
// .properties.channel}`;
|
||||
// return fullQuery;
|
||||
// }
|
||||
// return null;
|
||||
// }
|
||||
// };
|
||||
// interface Publish_Properties {
|
||||
// connectionID: string;
|
||||
// sceneID: string;
|
||||
// displayIDs: string[];
|
||||
// }
|
||||
// interface Channel_Scene {
|
||||
// id: string;
|
||||
// text: string;
|
||||
// }
|
||||
// interface Channel_Display {
|
||||
// id: string;
|
||||
// text: string;
|
||||
// scene: string;
|
||||
// }
|
||||
//# sourceMappingURL=publish.js.map
|
||||
Reference in New Issue
Block a user