mirror of
https://github.com/certd/certd.git
synced 2026-04-24 04:17:25 +08:00
pref: 日志中加密授权信息输出替换成星号
This commit is contained in:
@@ -57,5 +57,6 @@ export function newAccess(type: string, input: any, ctx?: AccessContext) {
|
||||
};
|
||||
}
|
||||
access.setCtx(ctx);
|
||||
access._type = type;
|
||||
return access;
|
||||
}
|
||||
|
||||
@@ -150,11 +150,11 @@ export class RunnableCollection {
|
||||
pipeline.stages = [];
|
||||
return;
|
||||
}
|
||||
pipeline.stages.forEach((stage) => {
|
||||
pipeline.stages.forEach(stage => {
|
||||
stage.runnableType = "stage";
|
||||
stage.tasks.forEach((task) => {
|
||||
stage.tasks.forEach(task => {
|
||||
task.runnableType = "task";
|
||||
task.steps.forEach((step) => {
|
||||
task.steps.forEach(step => {
|
||||
step.runnableType = "step";
|
||||
});
|
||||
});
|
||||
@@ -162,7 +162,7 @@ export class RunnableCollection {
|
||||
}
|
||||
|
||||
static each<T extends Runnable>(list: T[], exec: (item: Runnable) => void) {
|
||||
list.forEach((item) => {
|
||||
list.forEach(item => {
|
||||
exec(item);
|
||||
if (item.runnableType === "pipeline") {
|
||||
// @ts-ignore
|
||||
@@ -179,7 +179,7 @@ export class RunnableCollection {
|
||||
public toMap(pipeline: Pipeline) {
|
||||
const map: RunnableMap = {};
|
||||
|
||||
RunnableCollection.each(pipeline.stages, (item) => {
|
||||
RunnableCollection.each(pipeline.stages, item => {
|
||||
map[item.id] = item;
|
||||
});
|
||||
return map;
|
||||
@@ -193,7 +193,7 @@ export class RunnableCollection {
|
||||
if (!this.pipeline) {
|
||||
return;
|
||||
}
|
||||
RunnableCollection.each(this.pipeline.stages, (item) => {
|
||||
RunnableCollection.each(this.pipeline.stages, item => {
|
||||
item.status = undefined;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Registrable } from "../registry/index.js";
|
||||
import { FileItem, FormItemProps, Pipeline, Runnable, Step } from "../dt/index.js";
|
||||
import { FileStore } from "../core/file-store.js";
|
||||
import { IAccessService } from "../access/index.js";
|
||||
import { accessRegistry, IAccessService } from "../access/index.js";
|
||||
import { ICnameProxyService, IEmailService, IServiceGetter, IUrlService } from "../service/index.js";
|
||||
import { CancelError, IContext, RunHistory, RunnableCollection } from "../core/index.js";
|
||||
import { HttpRequestConfig, ILogger, logger, utils } from "@certd/basic";
|
||||
@@ -158,14 +158,35 @@ export abstract class AbstractTaskPlugin implements ITaskPlugin {
|
||||
this.http = ctx.http;
|
||||
}
|
||||
|
||||
async getAccess<T = any>(accessId: string) {
|
||||
async getAccess<T = any>(accessId: string | number, isCommon = false) {
|
||||
if (accessId == null) {
|
||||
throw new Error("您还没有配置授权");
|
||||
}
|
||||
const res = await this.ctx.accessService.getById(accessId);
|
||||
let res: any = null;
|
||||
if (isCommon) {
|
||||
res = await this.ctx.accessService.getCommonById(accessId);
|
||||
} else {
|
||||
res = await this.ctx.accessService.getById(accessId);
|
||||
}
|
||||
if (res == null) {
|
||||
throw new Error("授权不存在,可能已被删除,请前往任务配置里面重新选择授权");
|
||||
}
|
||||
// @ts-ignore
|
||||
if (this.logger?.addSecret) {
|
||||
// 隐藏加密信息,不在日志中输出
|
||||
const type = res._type;
|
||||
const plugin = accessRegistry.get(type);
|
||||
const define = plugin.define;
|
||||
// @ts-ignore
|
||||
const input = define.input;
|
||||
for (const key in input) {
|
||||
if (input[key].encrypt) {
|
||||
// @ts-ignore
|
||||
this.logger.addSecret(res[key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return res as T;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user