@aeriajs/core 0.0.173 → 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/reference.d.ts +1 -0
- package/dist/collection/reference.js +27 -10
- package/dist/collection/reference.mjs +30 -13
- 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
|
@@ -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/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
|
-
};
|