1234567891011121314151617181920212223242526 |
- import DataModule from "../DataModule";
- import DataModuleJob from "./DataModuleJob";
- export default abstract class CreateJob extends DataModuleJob {
- protected override async _validate() {
- if (typeof this._payload !== "object" || this._payload === null)
- throw new Error("Payload must be an object");
- if (typeof this._payload.query !== "object")
- throw new Error("Query is not an object");
- if (Object.keys(this._payload.query).length === 0)
- throw new Error("Empty query object provided");
- }
- protected async _execute() {
- const { query } = this._payload;
- const model = await DataModule.getModel(this.getModelName());
- if (model.schema.path("createdBy"))
- query.createdBy = (await this._context.getUser())._id;
- return model.create(query);
- }
- }
|