修复添加ck和cron未更新列表

This commit is contained in:
whyour
2021-04-10 13:48:44 +08:00
parent fb98bc44e4
commit f9c299cfbe
6 changed files with 107 additions and 31 deletions
+35 -4
View File
@@ -22,21 +22,52 @@ export default class CronService {
return this.cronDb;
}
public async create(payload: Crontab): Promise<void> {
public async create(payload: Crontab): Promise<Crontab> {
const tab = new Crontab(payload);
tab.created = new Date().valueOf();
tab.saved = false;
this.cronDb.insert(tab);
const doc = await this.insert(tab);
await this.set_crontab();
return doc;
}
public async update(payload: Crontab): Promise<void> {
public async insert(payload: Crontab): Promise<Crontab> {
return new Promise((resolve) => {
this.cronDb.insert(payload, (err, docs) => {
if (err) {
this.logger.error(err);
} else {
resolve(docs);
}
});
});
}
public async update(payload: Crontab): Promise<Crontab> {
const { _id, ...other } = payload;
const doc = await this.get(_id);
const tab = new Crontab({ ...doc, ...other });
tab.saved = false;
this.cronDb.update({ _id }, tab, { returnUpdatedDocs: true });
const newDoc = await this.update(tab);
await this.set_crontab();
return newDoc;
}
public async updateDb(payload: Crontab): Promise<Crontab> {
return new Promise((resolve) => {
this.cronDb.update(
{ _id: payload._id },
payload,
{ returnUpdatedDocs: true },
(err, num, docs: any) => {
if (err) {
this.logger.error(err);
} else {
resolve(docs);
}
},
);
});
}
public async status(_id: string, stopped: boolean) {