@n8n/decorators 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ import type { CommandEntry } from './types';
2
+ export declare class CommandMetadata {
3
+ private readonly commands;
4
+ register(name: string, entry: CommandEntry): void;
5
+ get(name: string): CommandEntry | undefined;
6
+ getEntries(): [string, CommandEntry][];
7
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.CommandMetadata = void 0;
10
+ const di_1 = require("@n8n/di");
11
+ let CommandMetadata = class CommandMetadata {
12
+ constructor() {
13
+ this.commands = new Map();
14
+ }
15
+ register(name, entry) {
16
+ this.commands.set(name, entry);
17
+ }
18
+ get(name) {
19
+ return this.commands.get(name);
20
+ }
21
+ getEntries() {
22
+ return [...this.commands.entries()];
23
+ }
24
+ };
25
+ exports.CommandMetadata = CommandMetadata;
26
+ exports.CommandMetadata = CommandMetadata = __decorate([
27
+ (0, di_1.Service)()
28
+ ], CommandMetadata);
29
+ //# sourceMappingURL=command-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-metadata.js","sourceRoot":"","sources":["../../src/command/command-metadata.ts"],"names":[],"mappings":";;;;;;;;;AAAA,gCAAkC;AAK3B,IAAM,eAAe,GAArB,MAAM,eAAe;IAArB;QACW,aAAQ,GAA8B,IAAI,GAAG,EAAE,CAAC;IAalE,CAAC;IAXA,QAAQ,CAAC,IAAY,EAAE,KAAmB;QACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,GAAG,CAAC,IAAY;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,UAAU;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACrC,CAAC;CACD,CAAA;AAdY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,YAAO,GAAE;GACG,eAAe,CAc3B"}
@@ -0,0 +1,2 @@
1
+ import type { CommandOptions } from './types';
2
+ export declare const Command: ({ name, description, examples, flagsSchema }: CommandOptions) => ClassDecorator;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Command = void 0;
4
+ const di_1 = require("@n8n/di");
5
+ const command_metadata_1 = require("./command-metadata");
6
+ const Command = ({ name, description, examples, flagsSchema }) => (target) => {
7
+ const commandClass = target;
8
+ di_1.Container.get(command_metadata_1.CommandMetadata).register(name, {
9
+ description,
10
+ flagsSchema,
11
+ class: commandClass,
12
+ examples,
13
+ });
14
+ return (0, di_1.Service)()(target);
15
+ };
16
+ exports.Command = Command;
17
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/command/command.ts"],"names":[],"mappings":";;;AAAA,gCAA6C;AAE7C,yDAAqD;AAG9C,MAAM,OAAO,GACnB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAkB,EAAkB,EAAE,CACjF,CAAC,MAAM,EAAE,EAAE;IACV,MAAM,YAAY,GAAG,MAAiC,CAAC;IACvD,cAAS,CAAC,GAAG,CAAC,kCAAe,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;QAC7C,WAAW;QACX,WAAW;QACX,KAAK,EAAE,YAAY;QACnB,QAAQ;KACR,CAAC,CAAC;IAEH,OAAO,IAAA,YAAO,GAAE,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC,CAAC;AAZU,QAAA,OAAO,WAYjB"}
@@ -0,0 +1,3 @@
1
+ export { Command } from './command';
2
+ export { CommandMetadata } from './command-metadata';
3
+ export type { ICommand, CommandClass, CommandEntry } from './types';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommandMetadata = exports.Command = void 0;
4
+ var command_1 = require("./command");
5
+ Object.defineProperty(exports, "Command", { enumerable: true, get: function () { return command_1.Command; } });
6
+ var command_metadata_1 = require("./command-metadata");
7
+ Object.defineProperty(exports, "CommandMetadata", { enumerable: true, get: function () { return command_metadata_1.CommandMetadata; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/command/index.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,uDAAqD;AAA5C,mHAAA,eAAe,OAAA"}
@@ -0,0 +1,24 @@
1
+ import type { Constructable } from '@n8n/di';
2
+ import type { ZodObject, ZodTypeAny } from 'zod';
3
+ type FlagsSchema = ZodObject<Record<string, ZodTypeAny>>;
4
+ export type CommandOptions = {
5
+ name: string;
6
+ description: string;
7
+ examples?: string[];
8
+ flagsSchema?: FlagsSchema;
9
+ };
10
+ export type ICommand = {
11
+ flags?: object;
12
+ init?: () => Promise<void>;
13
+ run: () => Promise<void>;
14
+ catch?: (e: Error) => Promise<void>;
15
+ finally?: (e?: Error) => Promise<void>;
16
+ };
17
+ export type CommandClass = Constructable<ICommand>;
18
+ export type CommandEntry = {
19
+ class: CommandClass;
20
+ description: string;
21
+ examples?: string[];
22
+ flagsSchema?: FlagsSchema;
23
+ };
24
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/command/types.ts"],"names":[],"mappings":""}
@@ -4,6 +4,7 @@ interface RouteOptions {
4
4
  middlewares?: RequestHandler[];
5
5
  usesTemplates?: boolean;
6
6
  skipAuth?: boolean;
7
+ allowSkipMFA?: boolean;
7
8
  rateLimit?: boolean | RateLimit;
8
9
  }
9
10
  export declare const Get: (path: `/${string}`, options?: RouteOptions) => MethodDecorator;
@@ -10,6 +10,7 @@ const RouteFactory = (method) => (path, options = {}) => (target, handlerName) =
10
10
  routeMetadata.middlewares = options.middlewares ?? [];
11
11
  routeMetadata.usesTemplates = options.usesTemplates ?? false;
12
12
  routeMetadata.skipAuth = options.skipAuth ?? false;
13
+ routeMetadata.allowSkipMFA = options.allowSkipMFA ?? false;
13
14
  routeMetadata.rateLimit = options.rateLimit;
14
15
  };
15
16
  exports.Get = RouteFactory('get');
@@ -1 +1 @@
1
- {"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/controller/route.ts"],"names":[],"mappings":";;;AAAA,gCAAoC;AAGpC,iFAA4E;AAY5E,MAAM,YAAY,GACjB,CAAC,MAAc,EAAE,EAAE,CACnB,CAAC,IAAkB,EAAE,UAAwB,EAAE,EAAmB,EAAE,CACpE,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;IACvB,MAAM,aAAa,GAAG,cAAS,CAAC,GAAG,CAAC,yDAA0B,CAAC,CAAC,gBAAgB,CAC/E,MAAM,CAAC,WAAyB,EAChC,MAAM,CAAC,WAAW,CAAC,CACnB,CAAC;IACF,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9B,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;IAC1B,aAAa,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;IACtD,aAAa,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;IAC7D,aAAa,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;IACnD,aAAa,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;AAC7C,CAAC,CAAC;AAEU,QAAA,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AAC1B,QAAA,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAC5B,QAAA,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AAC1B,QAAA,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AAC9B,QAAA,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/controller/route.ts"],"names":[],"mappings":";;;AAAA,gCAAoC;AAGpC,iFAA4E;AAc5E,MAAM,YAAY,GACjB,CAAC,MAAc,EAAE,EAAE,CACnB,CAAC,IAAkB,EAAE,UAAwB,EAAE,EAAmB,EAAE,CACpE,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;IACvB,MAAM,aAAa,GAAG,cAAS,CAAC,GAAG,CAAC,yDAA0B,CAAC,CAAC,gBAAgB,CAC/E,MAAM,CAAC,WAAyB,EAChC,MAAM,CAAC,WAAW,CAAC,CACnB,CAAC;IACF,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9B,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;IAC1B,aAAa,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;IACtD,aAAa,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;IAC7D,aAAa,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;IACnD,aAAa,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;IAC3D,aAAa,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;AAC7C,CAAC,CAAC;AAEU,QAAA,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AAC1B,QAAA,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAC5B,QAAA,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AAC1B,QAAA,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AAC9B,QAAA,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC"}
@@ -24,6 +24,7 @@ export interface RouteMetadata {
24
24
  middlewares: RequestHandler[];
25
25
  usesTemplates: boolean;
26
26
  skipAuth: boolean;
27
+ allowSkipMFA: boolean;
27
28
  rateLimit?: boolean | RateLimit;
28
29
  licenseFeature?: BooleanLicenseFeature;
29
30
  accessScope?: AccessScope;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './controller';
2
+ export * from './command';
2
3
  export { Debounce } from './debounce';
3
4
  export * from './execution-lifecycle';
4
5
  export { Memoized } from './memoized';
package/dist/index.js CHANGED
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.Redactable = exports.Memoized = exports.Debounce = void 0;
18
18
  __exportStar(require("./controller"), exports);
19
+ __exportStar(require("./command"), exports);
19
20
  var debounce_1 = require("./debounce");
20
21
  Object.defineProperty(exports, "Debounce", { enumerable: true, get: function () { return debounce_1.Debounce; } });
21
22
  __exportStar(require("./execution-lifecycle"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,wDAAsC;AACtC,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,2CAAyB;AACzB,+CAA6B;AAC7B,2CAAyB;AACzB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,6CAA2B;AAC3B,2DAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,4CAA0B;AAC1B,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,wDAAsC;AACtC,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,2CAAyB;AACzB,+CAA6B;AAC7B,2CAAyB;AACzB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,6CAA2B;AAC3B,2DAAyC"}
@@ -12,7 +12,7 @@ export type EntityClass = new () => BaseEntity;
12
12
  export type ModuleSettings = Record<string, unknown>;
13
13
  export interface ModuleInterface {
14
14
  init?(): Promise<void>;
15
- entities?(): EntityClass[];
15
+ entities?(): Promise<EntityClass[]>;
16
16
  settings?(): Promise<ModuleSettings>;
17
17
  }
18
18
  export type ModuleClass = Constructable<ModuleInterface>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n8n/decorators",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "main": "dist/index.js",
5
5
  "module": "src/index.ts",
6
6
  "types": "dist/index.d.ts",
@@ -12,14 +12,14 @@
12
12
  "devDependencies": {
13
13
  "@types/express": "^5.0.1",
14
14
  "@types/lodash": "^4.17.17",
15
- "@n8n/typescript-config": "1.2.0"
15
+ "@n8n/typescript-config": "1.3.0"
16
16
  },
17
17
  "dependencies": {
18
18
  "lodash": "4.17.21",
19
- "@n8n/constants": "^0.8.0",
20
- "@n8n/permissions": "^0.29.0",
21
- "@n8n/di": "^0.7.0",
22
- "n8n-workflow": "^1.98.0"
19
+ "@n8n/constants": "^0.9.0",
20
+ "@n8n/permissions": "^0.30.0",
21
+ "n8n-workflow": "^1.99.0",
22
+ "@n8n/di": "^0.8.0"
23
23
  },
24
24
  "license": "SEE LICENSE IN LICENSE.md",
25
25
  "homepage": "https://n8n.io",