depot/third_party/nixpkgs/pkgs/applications/networking/n8n/fix-permissions.diff
Default email 6d4aeb4377 Project import generated by Copybara.
GitOrigin-RevId: 0f213d0fee84280d8c3a97f7469b988d6fe5fcdf
2023-01-11 08:51:40 +01:00

28 lines
1.5 KiB
Diff

--- a/dist/LoadNodesAndCredentials.js
+++ b/dist/LoadNodesAndCredentials.js
@@ -216,6 +216,7 @@
const { types } = loader;
this.types.nodes = this.types.nodes.concat(types.nodes);
this.types.credentials = this.types.credentials.concat(types.credentials);
+ let seen = new Set();
const iconPromises = Object.entries(types).flatMap(([typeName, typesArr]) => typesArr.map((type) => {
var _a;
if (!((_a = type.icon) === null || _a === void 0 ? void 0 : _a.startsWith('file:')))
@@ -226,7 +227,16 @@
type.iconUrl = iconUrl;
const source = path_1.default.join(dir, icon);
const destination = path_1.default.join(constants_1.GENERATED_STATIC_DIR, iconUrl);
- return (0, promises_1.mkdir)(path_1.default.dirname(destination), { recursive: true }).then(async () => (0, promises_1.copyFile)(source, destination));
+ if (!seen.has(destination)) {
+ seen.add(destination);
+ return (0, promises_1.mkdir)(path_1.default.dirname(destination), { recursive: true }).then(async () => {
+ await (0, promises_1.copyFile)(source, destination);
+ await (0, promises_1.chmod)(destination, 0o644);
+ });
+ }
+ else {
+ return Promise.resolve();
+ }
}));
await Promise.all(iconPromises);
for (const nodeTypeName in loader.nodeTypes) {