Adds publish/subscribe pattern to allow plugins and projects to hook into events (#55)

Also adds CLI to ease development.
This commit is contained in:
Sebastian Rindom authored and GitHub committed 2020-05-07 13:47:27 +02:00
1 parent 6a78df1ecd
commit 4c2aec2838
39 files changed
+6974 -444

No files matched your search

+5 -3
View File
@@ -19,8 +19,8 @@
"devDependencies": {
"@babel/cli": "^7.7.5",
"@babel/core": "^7.7.5",
"@babel/plugin-transform-classes": "^7.9.5",
"@babel/plugin-proposal-class-properties": "^7.7.4",
"@babel/plugin-transform-classes": "^7.9.5",
"@babel/plugin-transform-instanceof": "^7.8.3",
"@babel/plugin-transform-runtime": "^7.7.6",
"@babel/preset-env": "^7.7.5",
@@ -30,9 +30,11 @@
"jest": "^25.5.2",
"prettier": "^1.19.1"
},
"peerDependencies": {
"mongoose": "5.x"
},
"dependencies": {
"medusa-core-utils": "^0.3.0",
"mongoose": "^5.8.0"
"medusa-core-utils": "^0.3.0"
},
"gitHead": "35e0930650d5f4aedf2610749cd131ae8b7e17cc"
}
+4 -3
View File
@@ -8,7 +8,7 @@ import mongoose from "mongoose"
class BaseModel {
constructor() {
/** @const the underlying mongoose model used for queries */
this.mongooseModel_ = this.createMongooseModel_(this.schema)
this.mongooseModel_ = this.createMongooseModel_()
}
/**
@@ -72,8 +72,9 @@ class BaseModel {
* @param options {?object=} mongoose options
* @return {object} mongoose result
*/
updateOne(query, update, options) {
return this.mongooseModel_.updateOne(query, update, options)
updateOne(query, update, options = {}) {
options.new = true
return this.mongooseModel_.findOneAndUpdate(query, update, options)
}
/**