@aeriajs/core 0.0.172 → 0.0.174
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/dist/collection/prepareInsert.d.ts +1 -1
- package/dist/collection/reference.d.ts +1 -0
- package/dist/collection/reference.js +27 -10
- package/dist/collection/reference.mjs +30 -13
- package/dist/context.js +7 -4
- package/dist/context.mjs +6 -2
- package/dist/database.js +5 -6
- package/dist/database.mjs +5 -5
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/index.mjs +0 -1
- package/dist/token.d.ts +1 -2
- package/dist/token.js +4 -12
- package/dist/token.mjs +3 -10
- package/package.json +3 -3
- package/dist/use.d.ts +0 -1
- package/dist/use.js +0 -18
- package/dist/use.mjs +0 -15
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { Description } from '@aeriajs/types';
|
|
2
2
|
export declare const prepareCreate: (doc: Record<string, unknown>, description: Description) => Record<string, unknown>;
|
|
3
|
-
export declare const prepareUpdate: (doc: Record<string, unknown>) => Record<
|
|
3
|
+
export declare const prepareUpdate: (doc: Record<string, unknown>) => Record<"$set" | "$unset", Record<string, unknown>>;
|
|
@@ -9,7 +9,7 @@ const getTempName = (path) => {
|
|
|
9
9
|
const referenceMemo = {};
|
|
10
10
|
const lookupMemo = {};
|
|
11
11
|
const getReferences = async (properties, options = {}) => {
|
|
12
|
-
const { depth = 0, maxDepth = 3, memoize, populate, } = options;
|
|
12
|
+
const { depth = 0, maxDepth = 3, memoize, populate, isArrayElement, } = options;
|
|
13
13
|
if (memoize) {
|
|
14
14
|
if (referenceMemo[memoize]) {
|
|
15
15
|
return referenceMemo[memoize];
|
|
@@ -33,6 +33,7 @@ const getReferences = async (properties, options = {}) => {
|
|
|
33
33
|
maxDepth: refProperty.populateDepth || maxDepth,
|
|
34
34
|
memoize: `${memoize}.${propName}`,
|
|
35
35
|
populate: Array.from(refProperty.populate),
|
|
36
|
+
isArrayElement: 'items' in property,
|
|
36
37
|
});
|
|
37
38
|
if (Object.keys(deepReferences).length > 0) {
|
|
38
39
|
reference.deepReferences = deepReferences;
|
|
@@ -68,6 +69,9 @@ const getReferences = async (properties, options = {}) => {
|
|
|
68
69
|
if ('items' in property) {
|
|
69
70
|
reference.isArray = true;
|
|
70
71
|
}
|
|
72
|
+
if (isArrayElement) {
|
|
73
|
+
reference.isArrayElement = true;
|
|
74
|
+
}
|
|
71
75
|
if (depth > 0) {
|
|
72
76
|
reference.isRecursive = true;
|
|
73
77
|
}
|
|
@@ -92,7 +96,7 @@ const recurseSetStage = (reference, path, parentElem, options = {
|
|
|
92
96
|
}) => {
|
|
93
97
|
const refName = path.at(-1);
|
|
94
98
|
let indexOfArray;
|
|
95
|
-
if (reference.isRecursive && !reference.isArrayElement) {
|
|
99
|
+
if (reference.isRecursive && !(reference.isArrayElement && reference.isArray === false)) {
|
|
96
100
|
indexOfArray = {
|
|
97
101
|
$indexOfArray: [
|
|
98
102
|
`$${getTempName(path)}._id`,
|
|
@@ -125,7 +129,6 @@ const recurseSetStage = (reference, path, parentElem, options = {
|
|
|
125
129
|
mapIn = (0, exports.recurseSetStage)({
|
|
126
130
|
...reference,
|
|
127
131
|
isArray: false,
|
|
128
|
-
isArrayElement: true,
|
|
129
132
|
}, path, `$$${newElemName}`);
|
|
130
133
|
}
|
|
131
134
|
else {
|
|
@@ -135,19 +138,33 @@ const recurseSetStage = (reference, path, parentElem, options = {
|
|
|
135
138
|
(0, exports.recurseSetStage)({
|
|
136
139
|
...reference,
|
|
137
140
|
isArray: false,
|
|
138
|
-
isArrayElement: true,
|
|
139
141
|
}, path, `$$${newElemName}`),
|
|
140
142
|
],
|
|
141
143
|
};
|
|
142
144
|
}
|
|
143
145
|
let mapInput = parentElem;
|
|
144
146
|
if (reference.isRecursive) {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
147
|
+
if (reference.isArrayElement) {
|
|
148
|
+
mapInput = {
|
|
149
|
+
$arrayElemAt: [
|
|
150
|
+
`$${getTempName(path.slice(0, -1))}.${refName}`,
|
|
151
|
+
{
|
|
152
|
+
$indexOfArray: [
|
|
153
|
+
`$${getTempName(path.slice(0, -1))}._id`,
|
|
154
|
+
parentElem,
|
|
155
|
+
],
|
|
156
|
+
},
|
|
157
|
+
],
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
mapInput = {
|
|
162
|
+
$arrayElemAt: [
|
|
163
|
+
`$${getTempName(path.slice(0, -1))}.${refName}`,
|
|
164
|
+
indexOfArray,
|
|
165
|
+
],
|
|
166
|
+
};
|
|
167
|
+
}
|
|
151
168
|
}
|
|
152
169
|
return {
|
|
153
170
|
$filter: {
|
|
@@ -11,7 +11,8 @@ export const getReferences = async (properties, options = {}) => {
|
|
|
11
11
|
depth = 0,
|
|
12
12
|
maxDepth = 3,
|
|
13
13
|
memoize,
|
|
14
|
-
populate
|
|
14
|
+
populate,
|
|
15
|
+
isArrayElement
|
|
15
16
|
} = options;
|
|
16
17
|
if (memoize) {
|
|
17
18
|
if (referenceMemo[memoize]) {
|
|
@@ -35,7 +36,8 @@ export const getReferences = async (properties, options = {}) => {
|
|
|
35
36
|
depth: depth + 1,
|
|
36
37
|
maxDepth: refProperty.populateDepth || maxDepth,
|
|
37
38
|
memoize: `${memoize}.${propName}`,
|
|
38
|
-
populate: Array.from(refProperty.populate)
|
|
39
|
+
populate: Array.from(refProperty.populate),
|
|
40
|
+
isArrayElement: "items" in property
|
|
39
41
|
});
|
|
40
42
|
if (Object.keys(deepReferences).length > 0) {
|
|
41
43
|
reference.deepReferences = deepReferences;
|
|
@@ -61,6 +63,9 @@ export const getReferences = async (properties, options = {}) => {
|
|
|
61
63
|
if ("items" in property) {
|
|
62
64
|
reference.isArray = true;
|
|
63
65
|
}
|
|
66
|
+
if (isArrayElement) {
|
|
67
|
+
reference.isArrayElement = true;
|
|
68
|
+
}
|
|
64
69
|
if (depth > 0) {
|
|
65
70
|
reference.isRecursive = true;
|
|
66
71
|
}
|
|
@@ -84,7 +89,7 @@ export const recurseSetStage = (reference, path, parentElem, options = {
|
|
|
84
89
|
}) => {
|
|
85
90
|
const refName = path.at(-1);
|
|
86
91
|
let indexOfArray;
|
|
87
|
-
if (reference.isRecursive && !reference.isArrayElement) {
|
|
92
|
+
if (reference.isRecursive && !(reference.isArrayElement && reference.isArray === false)) {
|
|
88
93
|
indexOfArray = {
|
|
89
94
|
$indexOfArray: [
|
|
90
95
|
`$${getTempName(path)}._id`,
|
|
@@ -115,8 +120,7 @@ export const recurseSetStage = (reference, path, parentElem, options = {
|
|
|
115
120
|
if (reference.referencedCollection) {
|
|
116
121
|
mapIn = recurseSetStage({
|
|
117
122
|
...reference,
|
|
118
|
-
isArray: false
|
|
119
|
-
isArrayElement: true
|
|
123
|
+
isArray: false
|
|
120
124
|
}, path, `$$${newElemName}`);
|
|
121
125
|
} else {
|
|
122
126
|
mapIn = {
|
|
@@ -124,20 +128,33 @@ export const recurseSetStage = (reference, path, parentElem, options = {
|
|
|
124
128
|
`$$${newElemName}`,
|
|
125
129
|
recurseSetStage({
|
|
126
130
|
...reference,
|
|
127
|
-
isArray: false
|
|
128
|
-
isArrayElement: true
|
|
131
|
+
isArray: false
|
|
129
132
|
}, path, `$$${newElemName}`)
|
|
130
133
|
]
|
|
131
134
|
};
|
|
132
135
|
}
|
|
133
136
|
let mapInput = parentElem;
|
|
134
137
|
if (reference.isRecursive) {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
138
|
+
if (reference.isArrayElement) {
|
|
139
|
+
mapInput = {
|
|
140
|
+
$arrayElemAt: [
|
|
141
|
+
`$${getTempName(path.slice(0, -1))}.${refName}`,
|
|
142
|
+
{
|
|
143
|
+
$indexOfArray: [
|
|
144
|
+
`$${getTempName(path.slice(0, -1))}._id`,
|
|
145
|
+
parentElem
|
|
146
|
+
]
|
|
147
|
+
}
|
|
148
|
+
]
|
|
149
|
+
};
|
|
150
|
+
} else {
|
|
151
|
+
mapInput = {
|
|
152
|
+
$arrayElemAt: [
|
|
153
|
+
`$${getTempName(path.slice(0, -1))}.${refName}`,
|
|
154
|
+
indexOfArray
|
|
155
|
+
]
|
|
156
|
+
};
|
|
157
|
+
}
|
|
141
158
|
}
|
|
142
159
|
return {
|
|
143
160
|
$filter: {
|
package/dist/context.js
CHANGED
|
@@ -112,9 +112,7 @@ const createContext = async (_options) => {
|
|
|
112
112
|
message,
|
|
113
113
|
details,
|
|
114
114
|
context: collectionName,
|
|
115
|
-
owner: token.
|
|
116
|
-
? token.sub
|
|
117
|
-
: options.parentContext?.token.sub,
|
|
115
|
+
owner: token.sub,
|
|
118
116
|
created_at: new Date(),
|
|
119
117
|
});
|
|
120
118
|
},
|
|
@@ -131,7 +129,12 @@ const createContext = async (_options) => {
|
|
|
131
129
|
const description = (0, common_1.throwIfError)(await getCollectionAsset(collectionName, 'description'));
|
|
132
130
|
context.description = await (0, preload_js_1.preloadDescription)(description);
|
|
133
131
|
context.collectionName = collectionName;
|
|
134
|
-
|
|
132
|
+
if (!options.calledFunction && parentContext && 'calledFunction' in parentContext) {
|
|
133
|
+
context.calledFunction = parentContext.calledFunction;
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
context.calledFunction = options.calledFunction;
|
|
137
|
+
}
|
|
135
138
|
context.collection = indepthCollection(collectionName, collections, context);
|
|
136
139
|
}
|
|
137
140
|
return context;
|
package/dist/context.mjs
CHANGED
|
@@ -86,7 +86,7 @@ export const createContext = async (_options) => {
|
|
|
86
86
|
message,
|
|
87
87
|
details,
|
|
88
88
|
context: collectionName,
|
|
89
|
-
owner: token.
|
|
89
|
+
owner: token.sub,
|
|
90
90
|
created_at: /* @__PURE__ */ new Date()
|
|
91
91
|
});
|
|
92
92
|
},
|
|
@@ -103,7 +103,11 @@ export const createContext = async (_options) => {
|
|
|
103
103
|
const description = throwIfError(await getCollectionAsset(collectionName, "description"));
|
|
104
104
|
context.description = await preloadDescription(description);
|
|
105
105
|
context.collectionName = collectionName;
|
|
106
|
-
|
|
106
|
+
if (!options.calledFunction && parentContext && "calledFunction" in parentContext) {
|
|
107
|
+
context.calledFunction = parentContext.calledFunction;
|
|
108
|
+
} else {
|
|
109
|
+
context.calledFunction = options.calledFunction;
|
|
110
|
+
}
|
|
107
111
|
context.collection = indepthCollection(collectionName, collections, context);
|
|
108
112
|
}
|
|
109
113
|
return context;
|
package/dist/database.js
CHANGED
|
@@ -25,6 +25,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.getDatabaseCollection = exports.getDatabaseSync = exports.getDatabase = exports.ObjectId = void 0;
|
|
27
27
|
const entrypoint_1 = require("@aeriajs/entrypoint");
|
|
28
|
+
const util_1 = require("util");
|
|
28
29
|
const mongodb_1 = require("mongodb");
|
|
29
30
|
var mongodb_2 = require("mongodb");
|
|
30
31
|
Object.defineProperty(exports, "ObjectId", { enumerable: true, get: function () { return mongodb_2.ObjectId; } });
|
|
@@ -48,12 +49,10 @@ const getDatabase = async () => {
|
|
|
48
49
|
});
|
|
49
50
|
if (logQueries) {
|
|
50
51
|
client.on('commandStarted', (event) => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
console.debug(event);
|
|
56
|
-
}
|
|
52
|
+
console.debug((0, util_1.inspect)(event, {
|
|
53
|
+
colors: true,
|
|
54
|
+
compact: false,
|
|
55
|
+
}));
|
|
57
56
|
});
|
|
58
57
|
}
|
|
59
58
|
dbMemo.client = client;
|
package/dist/database.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
import { getConfig } from "@aeriajs/entrypoint";
|
|
3
|
+
import { inspect } from "util";
|
|
3
4
|
import { MongoClient } from "mongodb";
|
|
4
5
|
export {
|
|
5
6
|
ObjectId
|
|
@@ -24,11 +25,10 @@ export const getDatabase = async () => {
|
|
|
24
25
|
});
|
|
25
26
|
if (logQueries) {
|
|
26
27
|
client.on("commandStarted", (event) => {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
28
|
+
console.debug(inspect(event, {
|
|
29
|
+
colors: true,
|
|
30
|
+
compact: false
|
|
31
|
+
}));
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
34
|
dbMemo.client = client;
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,6 @@ export * from './database.js';
|
|
|
6
6
|
export * from './functions/index.js';
|
|
7
7
|
export * from './endpoints.js';
|
|
8
8
|
export * from './token.js';
|
|
9
|
-
export * from './use.js';
|
|
10
9
|
export * from './functions/index.js';
|
|
11
10
|
export * as functions from './functions/index.js';
|
|
12
11
|
export { ObjectId, } from 'mongodb';
|
package/dist/index.js
CHANGED
|
@@ -35,7 +35,6 @@ __exportStar(require("./database.js"), exports);
|
|
|
35
35
|
__exportStar(require("./functions/index.js"), exports);
|
|
36
36
|
__exportStar(require("./endpoints.js"), exports);
|
|
37
37
|
__exportStar(require("./token.js"), exports);
|
|
38
|
-
__exportStar(require("./use.js"), exports);
|
|
39
38
|
__exportStar(require("./functions/index.js"), exports);
|
|
40
39
|
exports.functions = __importStar(require("./functions/index.js"));
|
|
41
40
|
var mongodb_1 = require("mongodb");
|
package/dist/index.mjs
CHANGED
|
@@ -7,7 +7,6 @@ export * from "./database.mjs";
|
|
|
7
7
|
export * from "./functions/index.mjs";
|
|
8
8
|
export * from "./endpoints.mjs";
|
|
9
9
|
export * from "./token.mjs";
|
|
10
|
-
export * from "./use.mjs";
|
|
11
10
|
export * from "./functions/index.mjs";
|
|
12
11
|
export * as functions from "./functions/index.mjs";
|
|
13
12
|
export {
|
package/dist/token.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { SignOptions } from 'jsonwebtoken';
|
|
2
2
|
export declare const EXPIRES_IN = 36000;
|
|
3
|
-
export declare const signToken: (
|
|
4
|
-
export declare const verifyToken: <TToken>(token: string, secret?: string) => Promise<TToken>;
|
|
3
|
+
export declare const signToken: ({ iat, exp, ...payload }: Record<string, unknown>, secret?: string | null, options?: SignOptions) => Promise<string>;
|
|
5
4
|
export declare const decodeToken: <TToken>(token: string, secret?: string) => Promise<TToken>;
|
package/dist/token.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.decodeToken = exports.
|
|
6
|
+
exports.decodeToken = exports.signToken = exports.EXPIRES_IN = void 0;
|
|
7
7
|
const entrypoint_1 = require("@aeriajs/entrypoint");
|
|
8
8
|
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
|
9
9
|
exports.EXPIRES_IN = 36000;
|
|
@@ -14,21 +14,13 @@ const getApplicationSecret = async () => {
|
|
|
14
14
|
}
|
|
15
15
|
return config.secret;
|
|
16
16
|
};
|
|
17
|
-
const signToken = async (
|
|
18
|
-
|
|
19
|
-
delete payload.iat;
|
|
20
|
-
delete payload.exp;
|
|
21
|
-
const signed = jsonwebtoken_1.default.sign(payload, secret || await getApplicationSecret(), options || {
|
|
17
|
+
const signToken = async ({ iat, exp, ...payload }, secret, options) => {
|
|
18
|
+
return jsonwebtoken_1.default.sign(payload, secret || await getApplicationSecret(), options || {
|
|
22
19
|
expiresIn: exports.EXPIRES_IN,
|
|
23
20
|
});
|
|
24
|
-
return signed;
|
|
25
21
|
};
|
|
26
22
|
exports.signToken = signToken;
|
|
27
|
-
const
|
|
23
|
+
const decodeToken = async (token, secret) => {
|
|
28
24
|
return jsonwebtoken_1.default.verify(token, secret || await getApplicationSecret());
|
|
29
25
|
};
|
|
30
|
-
exports.verifyToken = verifyToken;
|
|
31
|
-
const decodeToken = (token, secret) => {
|
|
32
|
-
return (0, exports.verifyToken)(token, secret);
|
|
33
|
-
};
|
|
34
26
|
exports.decodeToken = decodeToken;
|
package/dist/token.mjs
CHANGED
|
@@ -9,18 +9,11 @@ const getApplicationSecret = async () => {
|
|
|
9
9
|
}
|
|
10
10
|
return config.secret;
|
|
11
11
|
};
|
|
12
|
-
export const signToken = async (
|
|
13
|
-
|
|
14
|
-
delete payload.iat;
|
|
15
|
-
delete payload.exp;
|
|
16
|
-
const signed = jwt.sign(payload, secret || await getApplicationSecret(), options || {
|
|
12
|
+
export const signToken = async ({ iat, exp, ...payload }, secret, options) => {
|
|
13
|
+
return jwt.sign(payload, secret || await getApplicationSecret(), options || {
|
|
17
14
|
expiresIn: EXPIRES_IN
|
|
18
15
|
});
|
|
19
|
-
return signed;
|
|
20
16
|
};
|
|
21
|
-
export const
|
|
17
|
+
export const decodeToken = async (token, secret) => {
|
|
22
18
|
return jwt.verify(token, secret || await getApplicationSecret());
|
|
23
19
|
};
|
|
24
|
-
export const decodeToken = (token, secret) => {
|
|
25
|
-
return verifyToken(token, secret);
|
|
26
|
-
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aeriajs/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.174",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"aeriaMain": "tests/fixtures/aeriaMain.js",
|
|
@@ -42,11 +42,11 @@
|
|
|
42
42
|
"mongodb-memory-server": "^9.2.0"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
|
-
"@aeriajs/builtins": "^0.0.
|
|
45
|
+
"@aeriajs/builtins": "^0.0.174",
|
|
46
46
|
"@aeriajs/common": "^0.0.105",
|
|
47
47
|
"@aeriajs/entrypoint": "^0.0.107",
|
|
48
48
|
"@aeriajs/http": "^0.0.118",
|
|
49
|
-
"@aeriajs/security": "^0.0.
|
|
49
|
+
"@aeriajs/security": "^0.0.174",
|
|
50
50
|
"@aeriajs/types": "^0.0.88",
|
|
51
51
|
"@aeriajs/validation": "^0.0.108"
|
|
52
52
|
},
|
package/dist/use.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const createAeria: () => Promise<import("@aeriajs/types").RouteContext>;
|
package/dist/use.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createAeria = void 0;
|
|
4
|
-
const entrypoint_1 = require("@aeriajs/entrypoint");
|
|
5
|
-
const context_js_1 = require("./context.js");
|
|
6
|
-
const database_js_1 = require("./database.js");
|
|
7
|
-
const createAeria = async () => {
|
|
8
|
-
await (0, database_js_1.getDatabase)();
|
|
9
|
-
const context = await (0, context_js_1.createContext)({
|
|
10
|
-
config: await (0, entrypoint_1.getConfig)(),
|
|
11
|
-
token: {
|
|
12
|
-
authenticated: false,
|
|
13
|
-
sub: null,
|
|
14
|
-
},
|
|
15
|
-
});
|
|
16
|
-
return context;
|
|
17
|
-
};
|
|
18
|
-
exports.createAeria = createAeria;
|
package/dist/use.mjs
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
import { getConfig } from "@aeriajs/entrypoint";
|
|
3
|
-
import { createContext } from "./context.mjs";
|
|
4
|
-
import { getDatabase } from "./database.mjs";
|
|
5
|
-
export const createAeria = async () => {
|
|
6
|
-
await getDatabase();
|
|
7
|
-
const context = await createContext({
|
|
8
|
-
config: await getConfig(),
|
|
9
|
-
token: {
|
|
10
|
-
authenticated: false,
|
|
11
|
-
sub: null
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
return context;
|
|
15
|
-
};
|