export const addStorePlugin = (schema, options) => {
  schema.pre("save", function () {
    // console.log("save", options);
  });
  // schema.pre("save", function (next) {
  //   const err = new Error("something went wrong");
  //   // If you call `next()` with an argument, that argument is assumed to be
  //   // an error.
  //   next(err);
  // });
  schema.post("validate", function (docs, next) {
    if (!docs.store_id) {
      const err = new Error("STORE_NOT_EXISTS");
      console.log("STORE_NOT_EXISTS", docs, options);
      // If you call `next()` with an argument, that argument is assumed to be
      // an error.
      next(err);
    }
    // schema.find({}).then((r) => {
    //   console.log(r);
    // });
    // console.log("VALIDATE", docs, options);
    // if (!Array.isArray(docs)) {
    //   docs = [docs];
    // }

    // if (docs.length > 0) {
    //   // ONE ELEMENT
    //   if (docs[0]._id) {
    //     docs[0].queryTime = Date.now() - this.start;
    //   } else if (docs[0].docs) {
    //     docs[0].docs = docs[0].docs.map((d) => {
    //       return { ...d, queryTime: Date.now() - this.start };
    //     });
    //   }
    // }
    return next();
  });
};
