mirror of
https://github.com/whyour/qinglong.git
synced 2026-06-30 20:35:09 +08:00
支持批量创建同名称环境变量,日志和脚本管理PC页支持宽度拖拽
This commit is contained in:
+7
-5
@@ -25,11 +25,13 @@ export default (app: Router) => {
|
||||
route.post(
|
||||
'/envs',
|
||||
celebrate({
|
||||
body: Joi.object({
|
||||
value: Joi.string().required(),
|
||||
name: Joi.string().required(),
|
||||
remarks: Joi.string().optional(),
|
||||
}),
|
||||
body: Joi.array().items(
|
||||
Joi.object({
|
||||
value: Joi.string().required(),
|
||||
name: Joi.string().required(),
|
||||
remarks: Joi.string().optional().allow(''),
|
||||
}),
|
||||
),
|
||||
}),
|
||||
async (req: Request, res: Response, next: NextFunction) => {
|
||||
const logger: Logger = Container.get('logger');
|
||||
|
||||
+11
-7
@@ -16,25 +16,29 @@ export default class EnvService {
|
||||
});
|
||||
}
|
||||
|
||||
public async create(payload: Env): Promise<Env> {
|
||||
public async create(payloads: Env[]): Promise<Env[]> {
|
||||
const envs = await this.envs();
|
||||
let position = initEnvPosition;
|
||||
if (envs && envs.length > 0 && envs[envs.length - 1].position) {
|
||||
position = envs[envs.length - 1].position;
|
||||
}
|
||||
const tab = new Env({ ...payload, position: position / 2 });
|
||||
const doc = await this.insert(tab);
|
||||
const tabs = payloads.map((x) => {
|
||||
position = position / 2;
|
||||
const tab = new Env({ ...x, position });
|
||||
return tab;
|
||||
});
|
||||
const docs = await this.insert(tabs);
|
||||
await this.set_envs();
|
||||
return doc;
|
||||
return docs;
|
||||
}
|
||||
|
||||
public async insert(payload: Env): Promise<Env> {
|
||||
public async insert(payloads: Env[]): Promise<Env[]> {
|
||||
return new Promise((resolve) => {
|
||||
this.cronDb.insert(payload, (err, doc) => {
|
||||
this.cronDb.insert(payloads, (err, docs) => {
|
||||
if (err) {
|
||||
this.logger.error(err);
|
||||
} else {
|
||||
resolve(doc);
|
||||
resolve(docs);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user