修复定时任务/视图/环境变量更新逻辑

This commit is contained in:
whyour 2023-02-24 23:21:08 +08:00
parent 697bcb5922
commit e1e6261b4f
3 changed files with 12 additions and 8 deletions

View File

@ -18,7 +18,7 @@ import { TASK_PREFIX, QL_PREFIX } from '../config/const';
@Service() @Service()
export default class CronService { export default class CronService {
constructor(@Inject('logger') private logger: winston.Logger) { } constructor(@Inject('logger') private logger: winston.Logger) {}
private isSixCron(cron: Crontab) { private isSixCron(cron: Crontab) {
const { schedule } = cron; const { schedule } = cron;
@ -41,8 +41,9 @@ export default class CronService {
} }
public async update(payload: Crontab): Promise<Crontab> { public async update(payload: Crontab): Promise<Crontab> {
payload.saved = false; const tab = new Crontab(payload);
const newDoc = await this.updateDb(payload); tab.saved = false;
const newDoc = await this.updateDb(tab);
await this.set_crontab(); await this.set_crontab();
return newDoc; return newDoc;
} }
@ -452,7 +453,6 @@ export default class CronService {
} else { } else {
return []; return [];
} }
} }
private make_command(tab: Crontab) { private make_command(tab: Crontab) {

View File

@ -31,7 +31,7 @@ export default class CronViewService {
} }
public async update(payload: CrontabView): Promise<CrontabView> { public async update(payload: CrontabView): Promise<CrontabView> {
const newDoc = await this.updateDb(payload); const newDoc = await this.updateDb(new CrontabView(payload));
return newDoc; return newDoc;
} }

View File

@ -16,7 +16,7 @@ import { Op } from 'sequelize';
@Service() @Service()
export default class EnvService { export default class EnvService {
constructor(@Inject('logger') private logger: winston.Logger) { } constructor(@Inject('logger') private logger: winston.Logger) {}
public async create(payloads: Env[]): Promise<Env[]> { public async create(payloads: Env[]): Promise<Env[]> {
const envs = await this.envs(); const envs = await this.envs();
@ -49,7 +49,7 @@ export default class EnvService {
} }
public async update(payload: Env): Promise<Env> { public async update(payload: Env): Promise<Env> {
const newDoc = await this.updateDb(payload); const newDoc = await this.updateDb(new Env(payload));
await this.set_envs(); await this.set_envs();
return newDoc; return newDoc;
} }
@ -98,7 +98,11 @@ export default class EnvService {
private async checkPosition(position: number, edge: number = 0) { private async checkPosition(position: number, edge: number = 0) {
const precisionPosition = parseFloat(position.toPrecision(16)); const precisionPosition = parseFloat(position.toPrecision(16));
if (precisionPosition < minPosition || precisionPosition > maxPosition || Math.abs(precisionPosition - edge) < minPosition) { if (
precisionPosition < minPosition ||
precisionPosition > maxPosition ||
Math.abs(precisionPosition - edge) < minPosition
) {
const envs = await this.envs(); const envs = await this.envs();
let position = initPosition; let position = initPosition;
for (const env of envs) { for (const env of envs) {