From 2c070349d9f2b4cc2e57ac1298dd9e23c16e942d Mon Sep 17 00:00:00 2001 From: HaveAGitGat <43864057+HaveAGitGat@users.noreply.github.com> Date: Fri, 17 Nov 2023 08:20:38 +0000 Subject: [PATCH 1/5] Create index.ts --- .../file/deleteFile/1.0.0/index.ts | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 FlowPluginsTs/CommunityFlowPlugins/file/deleteFile/1.0.0/index.ts 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, +}; From 78a6fe798758b66b502223da351740937e640dcc Mon Sep 17 00:00:00 2001 From: HaveAGitGat Date: Fri, 17 Nov 2023 08:23:00 +0000 Subject: [PATCH 2/5] Apply auto-build changes --- .../file/deleteFile/1.0.0/index.js | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 FlowPlugins/CommunityFlowPlugins/file/deleteFile/1.0.0/index.js 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; From d736fd5b996fb91fc2a1d9fc7f281cf57381dc92 Mon Sep 17 00:00:00 2001 From: HaveAGitGat <43864057+HaveAGitGat@users.noreply.github.com> Date: Fri, 17 Nov 2023 08:27:52 +0000 Subject: [PATCH 3/5] Update basic flow template --- .../video/libraryBasicVideoOrAudioSettings.ts | 49 +++++++++++++++++-- 1 file changed, 46 insertions(+), 3 deletions(-) diff --git a/FlowPluginsTs/CommunityFlowTemplates/video/libraryBasicVideoOrAudioSettings.ts b/FlowPluginsTs/CommunityFlowTemplates/video/libraryBasicVideoOrAudioSettings.ts index 605afe7..da11965 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,43 @@ 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 +94,13 @@ const details = () :IflowTemplate => ({ targetHandle: null, id: 'CNPsr76ct', }, + { + source: 'paWDXnDMV', + sourceHandle: '1', + target: 'GFVi2TyC5', + targetHandle: null, + id: 'f2s4CS2H5', + }, ], }); From 221c2b827ac0a79460d8eaf3fc0c2b31fdc3ec0e Mon Sep 17 00:00:00 2001 From: HaveAGitGat <43864057+HaveAGitGat@users.noreply.github.com> Date: Fri, 17 Nov 2023 08:30:16 +0000 Subject: [PATCH 4/5] Format wording --- .../video/libraryBasicVideoOrAudioSettings.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/FlowPluginsTs/CommunityFlowTemplates/video/libraryBasicVideoOrAudioSettings.ts b/FlowPluginsTs/CommunityFlowTemplates/video/libraryBasicVideoOrAudioSettings.ts index da11965..734d6cf 100644 --- a/FlowPluginsTs/CommunityFlowTemplates/video/libraryBasicVideoOrAudioSettings.ts +++ b/FlowPluginsTs/CommunityFlowTemplates/video/libraryBasicVideoOrAudioSettings.ts @@ -68,7 +68,9 @@ const details = () :IflowTemplate => ({ }, }, { - 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'", + 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', From 02c370c092ae891c3721dcab4f3e8a15d76f8ac7 Mon Sep 17 00:00:00 2001 From: HaveAGitGat Date: Fri, 17 Nov 2023 08:32:15 +0000 Subject: [PATCH 5/5] Apply auto-build changes --- .../video/libraryBasicVideoOrAudioSettings.js | 49 +++++++++++++++++-- 1 file changed, 46 insertions(+), 3 deletions(-) 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;