diff --git a/FlowPlugins/CommunityFlowPlugins/file/deleteFile/1.0.0/index.js b/FlowPlugins/CommunityFlowPlugins/file/deleteFile/1.0.0/index.js new file mode 100644 index 0000000..16d51d4 --- /dev/null +++ b/FlowPlugins/CommunityFlowPlugins/file/deleteFile/1.0.0/index.js @@ -0,0 +1,108 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (g && (g = 0, op[0] && (_ = 0)), _) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.plugin = exports.details = void 0; +var fs_1 = require("fs"); +/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */ +var details = function () { return ({ + name: 'Delete File', + description: 'Delete the working file or original file.', + style: { + borderColor: 'red', + }, + tags: 'video', + isStartPlugin: false, + pType: '', + requiresVersion: '2.11.01', + sidebarPosition: -1, + icon: 'faTrash', + inputs: [ + { + name: 'fileToDelete', + type: 'string', + defaultValue: 'workingFile', + inputUI: { + type: 'dropdown', + options: [ + 'workingFile', + 'originalFile', + ], + }, + tooltip: 'Specify the file to delete', + }, + ], + outputs: [ + { + number: 1, + tooltip: 'Continue to next plugin', + }, + ], +}); }; +exports.details = details; +// eslint-disable-next-line @typescript-eslint/no-unused-vars +var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function () { + var lib, fileToDelete; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + lib = require('../../../../../methods/lib')(); + // eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign + args.inputs = lib.loadDefaultValues(args.inputs, details); + fileToDelete = String(args.inputs.fileToDelete); + if (!(fileToDelete === 'workingFile')) return [3 /*break*/, 2]; + args.jobLog("Deleting working file ".concat(args.inputFileObj._id)); + return [4 /*yield*/, fs_1.promises.unlink(args.inputFileObj._id)]; + case 1: + _a.sent(); + return [3 /*break*/, 4]; + case 2: + if (!(fileToDelete === 'originalFile')) return [3 /*break*/, 4]; + args.jobLog("Deleting original file ".concat(args.originalLibraryFile._id)); + return [4 /*yield*/, fs_1.promises.unlink(args.originalLibraryFile._id)]; + case 3: + _a.sent(); + _a.label = 4; + case 4: return [2 /*return*/, { + outputFileObj: args.inputFileObj, + outputNumber: 1, + variables: args.variables, + }]; + } + }); +}); }; +exports.plugin = plugin; diff --git a/FlowPlugins/CommunityFlowTemplates/video/libraryBasicVideoOrAudioSettings.js b/FlowPlugins/CommunityFlowTemplates/video/libraryBasicVideoOrAudioSettings.js index 6d84586..df1b360 100644 --- a/FlowPlugins/CommunityFlowTemplates/video/libraryBasicVideoOrAudioSettings.js +++ b/FlowPlugins/CommunityFlowTemplates/video/libraryBasicVideoOrAudioSettings.js @@ -26,8 +26,8 @@ var details = function () { return ({ version: '1.0.0', id: 'jiZxqk6Mn', position: { - x: 718.6406249999999, - y: 385.25, + x: 596.6254413959128, + y: 400.40716566510395, }, }, { @@ -38,7 +38,43 @@ var details = function () { return ({ id: '1Ic5EqipX', position: { x: 718.640625, - y: 255.75, + y: 256.50785828325525, + }, + }, + { + name: 'Delete Original File', + sourceRepo: 'Community', + pluginName: 'deleteFile', + version: '1.0.0', + id: 'GFVi2TyC5', + position: { + x: 1023.512757091562, + y: 507.4711636025485, + }, + inputsDB: { + fileToDelete: 'originalFile', + }, + }, + { + name: 'Move To Directory', + sourceRepo: 'Community', + pluginName: 'moveToDirectory', + version: '2.0.0', + id: 'paWDXnDMV', + position: { + x: 831.7746114279963, + y: 397.5817125305445, + }, + }, + { + name: "By default this flow will replace the original file. If you'd like to move the\n file to an output directory and delete the original file then connect the 'Basic Video or Audio\n Settings' plugin to the 'Move To Directory'", + sourceRepo: 'Community', + pluginName: 'comment', + version: '1.0.0', + id: 'CuLcKZmvH', + position: { + x: 934.0854796674475, + y: 187.65496806885437, }, }, ], @@ -57,6 +93,13 @@ var details = function () { return ({ targetHandle: null, id: 'CNPsr76ct', }, + { + source: 'paWDXnDMV', + sourceHandle: '1', + target: 'GFVi2TyC5', + targetHandle: null, + id: 'f2s4CS2H5', + }, ], }); }; exports.details = details; diff --git a/FlowPluginsTs/CommunityFlowPlugins/file/deleteFile/1.0.0/index.ts b/FlowPluginsTs/CommunityFlowPlugins/file/deleteFile/1.0.0/index.ts new file mode 100644 index 0000000..fe53fa5 --- /dev/null +++ b/FlowPluginsTs/CommunityFlowPlugins/file/deleteFile/1.0.0/index.ts @@ -0,0 +1,69 @@ +import { promises as fs } from 'fs'; +import { + IpluginDetails, + IpluginInputArgs, + IpluginOutputArgs, +} from '../../../../FlowHelpers/1.0.0/interfaces/interfaces'; + +/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */ +const details = (): IpluginDetails => ({ + name: 'Delete File', + description: 'Delete the working file or original file.', + style: { + borderColor: 'red', + }, + tags: 'video', + isStartPlugin: false, + pType: '', + requiresVersion: '2.11.01', + sidebarPosition: -1, + icon: 'faTrash', + inputs: [ + { + name: 'fileToDelete', + type: 'string', + defaultValue: 'workingFile', + inputUI: { + type: 'dropdown', + options: [ + 'workingFile', + 'originalFile', + ], + }, + tooltip: 'Specify the file to delete', + }, + ], + outputs: [ + { + number: 1, + tooltip: 'Continue to next plugin', + }, + ], +}); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +const plugin = async (args: IpluginInputArgs): Promise => { + const lib = require('../../../../../methods/lib')(); + // eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign + args.inputs = lib.loadDefaultValues(args.inputs, details); + + const fileToDelete = String(args.inputs.fileToDelete); + + if (fileToDelete === 'workingFile') { + args.jobLog(`Deleting working file ${args.inputFileObj._id}`); + await fs.unlink(args.inputFileObj._id); + } else if (fileToDelete === 'originalFile') { + args.jobLog(`Deleting original file ${args.originalLibraryFile._id}`); + await fs.unlink(args.originalLibraryFile._id); + } + + return { + outputFileObj: args.inputFileObj, + outputNumber: 1, + variables: args.variables, + }; +}; +export { + details, + plugin, +}; diff --git a/FlowPluginsTs/CommunityFlowTemplates/video/libraryBasicVideoOrAudioSettings.ts b/FlowPluginsTs/CommunityFlowTemplates/video/libraryBasicVideoOrAudioSettings.ts index 605afe7..734d6cf 100644 --- a/FlowPluginsTs/CommunityFlowTemplates/video/libraryBasicVideoOrAudioSettings.ts +++ b/FlowPluginsTs/CommunityFlowTemplates/video/libraryBasicVideoOrAudioSettings.ts @@ -27,8 +27,8 @@ const details = () :IflowTemplate => ({ version: '1.0.0', id: 'jiZxqk6Mn', position: { - x: 718.6406249999999, - y: 385.25, + x: 596.6254413959128, + y: 400.40716566510395, }, }, { @@ -39,7 +39,45 @@ const details = () :IflowTemplate => ({ id: '1Ic5EqipX', position: { x: 718.640625, - y: 255.75, + y: 256.50785828325525, + }, + }, + { + name: 'Delete Original File', + sourceRepo: 'Community', + pluginName: 'deleteFile', + version: '1.0.0', + id: 'GFVi2TyC5', + position: { + x: 1023.512757091562, + y: 507.4711636025485, + }, + inputsDB: { + fileToDelete: 'originalFile', + }, + }, + { + name: 'Move To Directory', + sourceRepo: 'Community', + pluginName: 'moveToDirectory', + version: '2.0.0', + id: 'paWDXnDMV', + position: { + x: 831.7746114279963, + y: 397.5817125305445, + }, + }, + { + name: `By default this flow will replace the original file. If you'd like to move the + file to an output directory and delete the original file then connect the 'Basic Video or Audio + Settings' plugin to the 'Move To Directory'`, + sourceRepo: 'Community', + pluginName: 'comment', + version: '1.0.0', + id: 'CuLcKZmvH', + position: { + x: 934.0854796674475, + y: 187.65496806885437, }, }, ], @@ -58,6 +96,13 @@ const details = () :IflowTemplate => ({ targetHandle: null, id: 'CNPsr76ct', }, + { + source: 'paWDXnDMV', + sourceHandle: '1', + target: 'GFVi2TyC5', + targetHandle: null, + id: 'f2s4CS2H5', + }, ], });