@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 +4 -0
- package/dist/access/api.d.ts +13 -0
- package/dist/access/api.js +21 -2
- package/dist/access/decorator.d.ts +2 -1
- package/dist/access/decorator.js +22 -1
- package/dist/core/file-store.d.ts +1 -0
- package/dist/core/handler.d.ts +2 -5
- package/dist/core/handler.js +2 -20
- package/dist/plugin/api.d.ts +2 -1
- package/package.json +4 -3
- package/stats.html +6177 -0
- package/test/{pipeline/pipeline.test.js → echo-plugin.js} +44 -28
- package/test/pipeline/access-service-test.js +65 -65
- package/test/user.secret.ts +4 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/test/cert.fake.test.js +0 -4
- package/test/pipeline/init.test.js +0 -16
- package/test/pipeline/license.test.spec.js +0 -63
- package/test/pipeline/license.test.spec.ts +0 -16
- package/test/pipeline/pipeline.define.js +0 -68
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
|
package/dist/access/api.d.ts
CHANGED
|
@@ -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
|
}
|
package/dist/access/api.js
CHANGED
|
@@ -1,2 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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;
|
package/dist/access/decorator.js
CHANGED
|
@@ -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
|
-
|
|
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=
|
package/dist/core/handler.d.ts
CHANGED
|
@@ -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
|
|
20
|
-
onRequest(req: AccessRequestHandleReq<T>, ctx: AccessRequestHandleContext): Promise<any>;
|
|
21
|
-
}
|
|
18
|
+
export type AccessRequestHandleReq<T = any> = PluginRequestHandleReq<AccessRequestHandleReqInput<T>>;
|
package/dist/core/handler.js
CHANGED
|
@@ -1,20 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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
|
package/dist/plugin/api.d.ts
CHANGED
|
@@ -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.
|
|
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/
|
|
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": "
|
|
67
|
+
"gitHead": "afa8155fda10f9a32427b351454b460897295a2c"
|
|
67
68
|
}
|