FindByIdJob.ts 472 B

12345678910111213141516171819
  1. import Joi from "joi";
  2. import DataModule from "../DataModule";
  3. import DataModuleJob from "./DataModuleJob";
  4. export default abstract class FindByIdJob extends DataModuleJob {
  5. protected static _payloadSchema = Joi.object({
  6. _id: Joi.string()
  7. .pattern(/^[0-9a-fA-F]{24}$/)
  8. .required()
  9. });
  10. protected async _execute() {
  11. const model = await DataModule.getModel(this.getModelName());
  12. const query = model.findById(this._payload._id);
  13. return query.exec();
  14. }
  15. }