monastery 2.2.1 → 2.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog.md +4 -0
- package/docs/assets/imgs/monastery.jpg +0 -0
- package/docs/readme.md +7 -7
- package/lib/index.js +7 -7
- package/lib/model-crud.js +1 -1
- package/lib/model-validate.js +2 -2
- package/lib/model.js +4 -4
- package/lib/rules.js +1 -1
- package/package.json +3 -2
- package/plugins/images/index.js +16 -5
- package/test/blacklisting.js +3 -3
- package/test/crud.js +0 -2
- package/test/monk.js +13 -0
- package/test/plugin-images.js +1 -1
- package/test/test.js +10 -10
- package/test/util.js +1 -1
- package/test/validate.js +1 -2
package/changelog.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [2.2.3](https://github.com/boycce/monastery/compare/2.2.2...2.2.3) (2024-04-28)
|
|
6
|
+
|
|
7
|
+
### [2.2.2](https://github.com/boycce/monastery/compare/2.2.1...2.2.2) (2024-04-07)
|
|
8
|
+
|
|
5
9
|
### [2.2.1](https://github.com/boycce/monastery/compare/2.2.0...2.2.1) (2024-04-07)
|
|
6
10
|
|
|
7
11
|
## [2.2.0](https://github.com/boycce/monastery/compare/2.1.1...2.2.0) (2024-04-07)
|
|
File without changes
|
package/docs/readme.md
CHANGED
|
@@ -65,6 +65,12 @@ db.user.insert({
|
|
|
65
65
|
// }]
|
|
66
66
|
})
|
|
67
67
|
```
|
|
68
|
+
## Versions
|
|
69
|
+
|
|
70
|
+
- Monk: `v7.3.4`
|
|
71
|
+
- MongoDB NodeJS driver: `v3.7.4` ([MongoDB compatibility](https://www.mongodb.com/docs/drivers/node/current/compatibility/#compatibility))
|
|
72
|
+
- MongoDB: [`v5.0.0`](https://www.mongodb.com/docs/v5.0/reference/) [(`v6.0.0` partial support)](https://www.mongodb.com/docs/v6.0/reference/)
|
|
73
|
+
|
|
68
74
|
## Debugging
|
|
69
75
|
|
|
70
76
|
This package uses [debug](https://github.com/visionmedia/debug) which allows you to set different levels of output via the `DEBUG` environment variable. Due to known limations `monastery:warning` and `monastery:error` are forced on, you can however disable these via [manager settings](./manager).
|
|
@@ -101,7 +107,7 @@ Coming soon...
|
|
|
101
107
|
- Global after/before hooks
|
|
102
108
|
- before hooks can receive a data array, remove this
|
|
103
109
|
- docs: Make the implicit ID query conversion more apparent
|
|
104
|
-
- Split away from Monk
|
|
110
|
+
- Split away from Monk so we can update the MongoDB NodeJS Driver version
|
|
105
111
|
- Add a warning if an invalid model is referenced in jthe schema
|
|
106
112
|
- Remove leading forward slashes from custom image paths (AWS adds this as a seperate folder)
|
|
107
113
|
- double check await db.model.remove({ query: idfromparam }) doesnt cause issues for null, undefined or '', but continue to allow {}
|
|
@@ -111,12 +117,6 @@ Coming soon...
|
|
|
111
117
|
- test importing of models
|
|
112
118
|
- Docs: model.methods
|
|
113
119
|
|
|
114
|
-
## Versions
|
|
115
|
-
|
|
116
|
-
- Monk: `v7.3.4`
|
|
117
|
-
- MongoDB NodeJS driver: `v3.2.3` ([compatibility](https://www.mongodb.com/docs/drivers/node/current/compatibility/#compatibility))
|
|
118
|
-
- MongoDB: [`v4.0.0`](https://www.mongodb.com/docs/v4.2/reference/)
|
|
119
|
-
|
|
120
120
|
## Special Thanks
|
|
121
121
|
|
|
122
122
|
[Jerome Gravel-Niquet](https://github.com/jeromegn)
|
package/lib/index.js
CHANGED
|
@@ -2,13 +2,13 @@ let fs = require('fs')
|
|
|
2
2
|
let debug = require('debug')
|
|
3
3
|
let monk = require('monk')
|
|
4
4
|
let path = require('path')
|
|
5
|
-
let rules = require('./rules')
|
|
6
|
-
let util = require('./util')
|
|
5
|
+
let rules = require('./rules.js')
|
|
6
|
+
let util = require('./util.js')
|
|
7
7
|
|
|
8
8
|
// Apply monk monkey patches
|
|
9
|
-
monk.manager.prototype.open = require('./monk-monkey-patches').open
|
|
10
|
-
monk.manager.prototype.then = require('./monk-monkey-patches').then
|
|
11
|
-
monk.Collection.prototype.findOneAndUpdate = require('./monk-monkey-patches').findOneAndUpdate
|
|
9
|
+
monk.manager.prototype.open = require('./monk-monkey-patches.js').open
|
|
10
|
+
monk.manager.prototype.then = require('./monk-monkey-patches.js').then
|
|
11
|
+
monk.Collection.prototype.findOneAndUpdate = require('./monk-monkey-patches.js').findOneAndUpdate
|
|
12
12
|
|
|
13
13
|
module.exports = function(uri, opts, fn) {
|
|
14
14
|
/**
|
|
@@ -49,9 +49,9 @@ module.exports = function(uri, opts, fn) {
|
|
|
49
49
|
// Add monastery properties
|
|
50
50
|
manager.arrayWithSchema = arrayWithSchema
|
|
51
51
|
manager.beforeModel = []
|
|
52
|
-
manager.imagePluginFile = require('../plugins/images')
|
|
52
|
+
manager.imagePluginFile = require('../plugins/images/index.js')
|
|
53
53
|
manager.isId = util.isId.bind(util)
|
|
54
|
-
manager.model = require('./model')
|
|
54
|
+
manager.model = require('./model.js')
|
|
55
55
|
manager.models = models
|
|
56
56
|
manager.parseData = util.parseData.bind(util)
|
|
57
57
|
manager.info = info
|
package/lib/model-crud.js
CHANGED
package/lib/model-validate.js
CHANGED
package/lib/model.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
let crud = require('./model-crud')
|
|
2
|
-
let rules = require('./rules')
|
|
3
|
-
let util = require('./util')
|
|
4
|
-
let validate = require('./model-validate')
|
|
1
|
+
let crud = require('./model-crud.js')
|
|
2
|
+
let rules = require('./rules.js')
|
|
3
|
+
let util = require('./util.js')
|
|
4
|
+
let validate = require('./model-validate.js')
|
|
5
5
|
|
|
6
6
|
let Model = module.exports = function(name, opts, manager) {
|
|
7
7
|
/**
|
package/lib/rules.js
CHANGED
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "monastery",
|
|
3
3
|
"description": "⛪ A straight forward MongoDB ODM built around Monk",
|
|
4
4
|
"author": "Ricky Boyce",
|
|
5
|
-
"version": "2.2.
|
|
5
|
+
"version": "2.2.3",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": "github:boycce/monastery",
|
|
8
8
|
"homepage": "https://boycce.github.io/monastery/",
|
|
@@ -30,11 +30,12 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@aws-sdk/client-s3": "3.549.0",
|
|
33
|
+
"@aws-sdk/lib-storage": "3.549.0",
|
|
33
34
|
"@aws-sdk/s3-request-presigner": "3.549.0",
|
|
34
35
|
"debug": "4.3.4",
|
|
35
36
|
"file-type": "^16.5.4",
|
|
36
|
-
"monk": "7.3.4",
|
|
37
37
|
"mongodb": "^3.2.3",
|
|
38
|
+
"monk": "7.3.4",
|
|
38
39
|
"nanoid": "3.2.0",
|
|
39
40
|
"validator": "13.7.0"
|
|
40
41
|
},
|
package/plugins/images/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// requiring: nanoid, file-type, aws-sdk/clients/s3
|
|
2
2
|
const { getSignedUrl } = require('@aws-sdk/s3-request-presigner')
|
|
3
|
-
const util = require('../../lib/util')
|
|
3
|
+
const util = require('../../lib/util.js')
|
|
4
4
|
|
|
5
5
|
let plugin = module.exports = {
|
|
6
6
|
|
|
@@ -174,11 +174,22 @@ let plugin = module.exports = {
|
|
|
174
174
|
plugin._addImageObjectsToData(filesArr.inputPath, data, image)
|
|
175
175
|
resolve(s3Options)
|
|
176
176
|
} else {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
plugin.
|
|
180
|
-
|
|
177
|
+
const { Upload } = require('@aws-sdk/lib-storage')
|
|
178
|
+
const upload = new Upload({
|
|
179
|
+
client: plugin.getS3Client(),
|
|
180
|
+
params: s3Options,
|
|
181
181
|
})
|
|
182
|
+
// upload.on('httpUploadProgress', (progress) => {
|
|
183
|
+
// console.log(progress)
|
|
184
|
+
// })
|
|
185
|
+
upload.done()
|
|
186
|
+
.then((res) => {
|
|
187
|
+
plugin._addImageObjectsToData(filesArr.inputPath, data, image)
|
|
188
|
+
resolve(s3Options)
|
|
189
|
+
})
|
|
190
|
+
.catch((err) => {
|
|
191
|
+
reject(err)
|
|
192
|
+
})
|
|
182
193
|
}
|
|
183
194
|
})
|
|
184
195
|
}))
|
package/test/blacklisting.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
let bird = require('./mock/blacklisting').bird
|
|
2
|
-
let user = require('./mock/blacklisting').user
|
|
3
|
-
let util = require('../lib/util')
|
|
1
|
+
let bird = require('./mock/blacklisting.js').bird
|
|
2
|
+
let user = require('./mock/blacklisting.js').user
|
|
3
|
+
let util = require('../lib/util.js')
|
|
4
4
|
|
|
5
5
|
module.exports = function(monastery, opendb) {
|
|
6
6
|
|
package/test/crud.js
CHANGED
package/test/monk.js
CHANGED
|
@@ -37,4 +37,17 @@ module.exports = function(monastery, opendb) {
|
|
|
37
37
|
})
|
|
38
38
|
})
|
|
39
39
|
|
|
40
|
+
test('Monk basic operations', async () => {
|
|
41
|
+
let db = monastery('localhost/monastery', { serverSelectionTimeoutMS: 2000 })
|
|
42
|
+
let userCol = db.get('user')
|
|
43
|
+
|
|
44
|
+
// Insert (returns whole document)
|
|
45
|
+
let res1 = await userCol.insert({ woot: 'b' })
|
|
46
|
+
expect(res1).toEqual(expect.objectContaining({ woot: 'b', _id: expect.any(Object) }))
|
|
47
|
+
|
|
48
|
+
// Update (returns whole document)
|
|
49
|
+
let res2 = await userCol.update({ woot: 'b' }, { $set: { woot: 'c' }})
|
|
50
|
+
expect(res2).toEqual(expect.objectContaining({ n: 1, nModified: 1, ok: 1 }))
|
|
51
|
+
})
|
|
52
|
+
|
|
40
53
|
}
|
package/test/plugin-images.js
CHANGED
package/test/test.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
global.oid = require('mongodb').ObjectID
|
|
16
16
|
|
|
17
|
-
let monastery = require('../lib')
|
|
17
|
+
let monastery = require('../lib/index.js')
|
|
18
18
|
let opendb = async function(uri, opts) {
|
|
19
19
|
let db = monastery(
|
|
20
20
|
uri === false? false : (uri || 'localhost/monastery'),
|
|
@@ -27,12 +27,12 @@ let opendb = async function(uri, opts) {
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
/* Run tests sequentially */
|
|
30
|
-
require('./util')(monastery, opendb)
|
|
31
|
-
require('./monk')(monastery, opendb)
|
|
32
|
-
require('./model')(monastery, opendb)
|
|
33
|
-
require('./crud')(monastery, opendb)
|
|
34
|
-
require('./blacklisting')(monastery, opendb)
|
|
35
|
-
require('./populate')(monastery, opendb)
|
|
36
|
-
require('./validate')(monastery, opendb)
|
|
37
|
-
require('./plugin-images')(monastery, opendb)
|
|
38
|
-
require('./virtuals')(monastery, opendb)
|
|
30
|
+
require('./util.js')(monastery, opendb)
|
|
31
|
+
require('./monk.js')(monastery, opendb)
|
|
32
|
+
require('./model.js')(monastery, opendb)
|
|
33
|
+
require('./crud.js')(monastery, opendb)
|
|
34
|
+
require('./blacklisting.js')(monastery, opendb)
|
|
35
|
+
require('./populate.js')(monastery, opendb)
|
|
36
|
+
require('./validate.js')(monastery, opendb)
|
|
37
|
+
require('./plugin-images.js')(monastery, opendb)
|
|
38
|
+
require('./virtuals.js')(monastery, opendb)
|
package/test/util.js
CHANGED