@certd/pipeline 1.25.8 → 1.25.9

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,10 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.25.9](https://github.com/certd/certd/compare/v1.25.8...v1.25.9) (2024-10-01)
7
+
8
+ **Note:** Version bump only for package @certd/pipeline
9
+
6
10
  ## [1.25.8](https://github.com/certd/certd/compare/v1.25.7...v1.25.8) (2024-09-30)
7
11
 
8
12
  **Note:** Version bump only for package @certd/pipeline
@@ -1,5 +1,7 @@
1
1
  import { Registrable } from "../registry/index.js";
2
2
  import { FormItemProps } from "../dt/index.js";
3
+ import { HttpClient, ILogger, utils } from "../utils/index.js";
4
+ import { AccessRequestHandleReq } from "../core";
3
5
  export type AccessInputDefine = FormItemProps & {
4
6
  title: string;
5
7
  required?: boolean;
@@ -14,4 +16,15 @@ export interface IAccessService {
14
16
  getById<T = any>(id: any): Promise<T>;
15
17
  }
16
18
  export interface IAccess {
19
+ ctx: AccessContext;
20
+ [key: string]: any;
21
+ }
22
+ export type AccessContext = {
23
+ http: HttpClient;
24
+ logger: ILogger;
25
+ utils: typeof utils;
26
+ };
27
+ export declare abstract class BaseAccess implements IAccess {
28
+ ctx: AccessContext;
29
+ onRequest(req: AccessRequestHandleReq): Promise<any>;
17
30
  }
@@ -1,2 +1,21 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjY2Vzcy9hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
1
+ import _ from "lodash-es";
2
+ export class BaseAccess {
3
+ ctx;
4
+ async onRequest(req) {
5
+ if (!req.action) {
6
+ throw new Error("action is required");
7
+ }
8
+ let methodName = req.action;
9
+ if (!req.action.startsWith("on")) {
10
+ methodName = `on${_.upperFirst(req.action)}`;
11
+ }
12
+ // @ts-ignore
13
+ const method = this[methodName];
14
+ if (method) {
15
+ // @ts-ignore
16
+ return await this[methodName](req.data);
17
+ }
18
+ throw new Error(`action ${req.action} not found`);
19
+ }
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjY2Vzcy9hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxDQUFDLE1BQU0sV0FBVyxDQUFDO0FBNEIxQixNQUFNLE9BQWdCLFVBQVU7SUFDOUIsR0FBRyxDQUFpQjtJQUVwQixLQUFLLENBQUMsU0FBUyxDQUFDLEdBQTJCO1FBQ3pDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFFRCxJQUFJLFVBQVUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2pDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDL0MsQ0FBQztRQUVELGFBQWE7UUFDYixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLGFBQWE7WUFDYixPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLEdBQUcsQ0FBQyxNQUFNLFlBQVksQ0FBQyxDQUFDO0lBQ3BELENBQUM7Q0FDRiJ9
@@ -1,5 +1,6 @@
1
- import { AccessDefine, AccessInputDefine } from "./api.js";
1
+ import { AccessContext, AccessDefine, AccessInputDefine } from "./api.js";
2
2
  export declare const ACCESS_CLASS_KEY = "pipeline:access";
3
3
  export declare const ACCESS_INPUT_KEY = "pipeline:access:input";
4
4
  export declare function IsAccess(define: AccessDefine): ClassDecorator;
5
5
  export declare function AccessInput(input?: AccessInputDefine): PropertyDecorator;
6
+ export declare function newAccess(type: string, input: any, ctx?: AccessContext): any;
@@ -1,6 +1,7 @@
1
1
  import { Decorator } from "../decorator/index.js";
2
2
  import _ from "lodash-es";
3
3
  import { accessRegistry } from "./registry.js";
4
+ import { http, logger, utils } from "../utils/index.js";
4
5
  // 提供一个唯一 key
5
6
  export const ACCESS_CLASS_KEY = "pipeline:access";
6
7
  export const ACCESS_INPUT_KEY = "pipeline:access:input";
@@ -31,4 +32,24 @@ export function AccessInput(input) {
31
32
  Reflect.defineMetadata(ACCESS_INPUT_KEY, input, target, propertyKey);
32
33
  };
33
34
  }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjY2Vzcy9kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sQ0FBQyxNQUFNLFdBQVcsQ0FBQztBQUMxQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLGFBQWE7QUFDYixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxpQkFBaUIsQ0FBQztBQUNsRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyx1QkFBdUIsQ0FBQztBQUV4RCxNQUFNLFVBQVUsUUFBUSxDQUFDLE1BQW9CO0lBQzNDLE9BQU8sQ0FBQyxNQUFXLEVBQUUsRUFBRTtRQUNyQixNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVsQyxNQUFNLE1BQU0sR0FBUSxFQUFFLENBQUM7UUFDdkIsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hELEtBQUssTUFBTSxRQUFRLElBQUksVUFBVSxFQUFFLENBQUM7WUFDbEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDdEUsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO1FBQ0QsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNuQyxPQUFPLENBQUMsY0FBYyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6RCxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUN2QixjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDbkMsTUFBTTtZQUNOLE1BQU07U0FDUCxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUF5QjtJQUNuRCxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFFO1FBQzdCLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMvQyx5RUFBeUU7UUFDekUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZFLENBQUMsQ0FBQztBQUNKLENBQUMifQ==
35
+ export function newAccess(type, input, ctx) {
36
+ const register = accessRegistry.get(type);
37
+ if (register == null) {
38
+ throw new Error(`access ${type} not found`);
39
+ }
40
+ // @ts-ignore
41
+ const access = new register.target();
42
+ for (const key in input) {
43
+ access[key] = input[key];
44
+ }
45
+ if (!ctx) {
46
+ ctx = {
47
+ http,
48
+ logger,
49
+ utils,
50
+ };
51
+ }
52
+ access.ctx = ctx;
53
+ return access;
54
+ }
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjY2Vzcy9kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sQ0FBQyxNQUFNLFdBQVcsQ0FBQztBQUMxQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXhELGFBQWE7QUFDYixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxpQkFBaUIsQ0FBQztBQUNsRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyx1QkFBdUIsQ0FBQztBQUV4RCxNQUFNLFVBQVUsUUFBUSxDQUFDLE1BQW9CO0lBQzNDLE9BQU8sQ0FBQyxNQUFXLEVBQUUsRUFBRTtRQUNyQixNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVsQyxNQUFNLE1BQU0sR0FBUSxFQUFFLENBQUM7UUFDdkIsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hELEtBQUssTUFBTSxRQUFRLElBQUksVUFBVSxFQUFFLENBQUM7WUFDbEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDdEUsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO1FBQ0QsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNuQyxPQUFPLENBQUMsY0FBYyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6RCxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUN2QixjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDbkMsTUFBTTtZQUNOLE1BQU07U0FDUCxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUF5QjtJQUNuRCxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFFO1FBQzdCLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMvQyx5RUFBeUU7UUFDekUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZFLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLElBQVksRUFBRSxLQUFVLEVBQUUsR0FBbUI7SUFDckUsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxJQUFJLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsSUFBSSxZQUFZLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsYUFBYTtJQUNiLE1BQU0sTUFBTSxHQUFHLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3JDLEtBQUssTUFBTSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFDeEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1QsR0FBRyxHQUFHO1lBQ0osSUFBSTtZQUNKLE1BQU07WUFDTixLQUFLO1NBQ04sQ0FBQztJQUNKLENBQUM7SUFDRCxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNqQixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIn0=
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  export type FileStoreOptions = {
3
4
  rootDir?: string;
4
5
  scope: string;
@@ -1,4 +1,4 @@
1
- import { HttpClient, ILogger, utils } from "../utils";
1
+ import { HttpClient, ILogger, utils } from "../utils/index.js";
2
2
  export type PluginRequestHandleReq<T = any> = {
3
3
  typeName: string;
4
4
  action: string;
@@ -10,12 +10,9 @@ export type AccessRequestHandleReqInput<T = any> = {
10
10
  title?: string;
11
11
  access: T;
12
12
  };
13
- export type AccessRequestHandleReq<T = any> = PluginRequestHandleReq<AccessRequestHandleReqInput<T>>;
14
13
  export type AccessRequestHandleContext = {
15
14
  http: HttpClient;
16
15
  logger: ILogger;
17
16
  utils: typeof utils;
18
17
  };
19
- export declare class AccessRequestHandler<T = any> {
20
- onRequest(req: AccessRequestHandleReq<T>, ctx: AccessRequestHandleContext): Promise<any>;
21
- }
18
+ export type AccessRequestHandleReq<T = any> = PluginRequestHandleReq<AccessRequestHandleReqInput<T>>;
@@ -1,20 +1,2 @@
1
- import _ from "lodash-es";
2
- export class AccessRequestHandler {
3
- async onRequest(req, ctx) {
4
- if (!req.action) {
5
- throw new Error("action is required");
6
- }
7
- let methodName = req.action;
8
- if (!req.action.startsWith("on")) {
9
- methodName = `on${_.upperFirst(req.action)}`;
10
- }
11
- // @ts-ignore
12
- const method = this[methodName];
13
- if (method) {
14
- // @ts-ignore
15
- return await this[methodName](req.data, ctx);
16
- }
17
- throw new Error(`action ${req.action} not found`);
18
- }
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL2hhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxDQUFDLE1BQU0sV0FBVyxDQUFDO0FBdUIxQixNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBOEIsRUFBRSxHQUErQjtRQUM3RSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsSUFBSSxVQUFVLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQy9DLENBQUM7UUFFRCxhQUFhO1FBQ2IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxhQUFhO1lBQ2IsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsR0FBRyxDQUFDLE1BQU0sWUFBWSxDQUFDLENBQUM7SUFDcEQsQ0FBQztDQUNGIn0=
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL2hhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import { Registrable } from "../registry/index.js";
3
4
  import { FileItem, FormItemProps, Pipeline, Runnable, Step } from "../dt/index.js";
4
5
  import { FileStore } from "../core/file-store.js";
@@ -7,7 +8,7 @@ import { IAccessService } from "../access/index.js";
7
8
  import { IEmailService } from "../service/index.js";
8
9
  import { IContext, PluginRequestHandleReq } from "../core/index.js";
9
10
  import { ILogger, utils } from "../utils/index.js";
10
- import { HttpClient } from "../utils/util.request";
11
+ import { HttpClient } from "../utils/util.request.js";
11
12
  export type UserInfo = {
12
13
  role: "admin" | "user";
13
14
  id: any;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@certd/pipeline",
3
3
  "private": false,
4
- "version": "1.25.8",
4
+ "version": "1.25.9",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
@@ -15,7 +15,8 @@
15
15
  "test": "mocha --loader=ts-node/esm"
16
16
  },
17
17
  "dependencies": {
18
- "@certd/plus-core": "^1.25.6",
18
+ "@certd/basic": "^1.25.9",
19
+ "@certd/plus-core": "^1.25.9",
19
20
  "axios": "^1.7.2",
20
21
  "fix-path": "^4.0.0",
21
22
  "http-proxy-agent": "^7.0.2",
@@ -63,5 +64,5 @@
63
64
  "vite": "^4.3.8",
64
65
  "vue-tsc": "^1.6.5"
65
66
  },
66
- "gitHead": "f548fe70117c7b56f40c66a3021e63b6cb264fb3"
67
+ "gitHead": "afa8155fda10f9a32427b351454b460897295a2c"
67
68
  }