@aeriajs/core 0.0.175 → 0.0.176
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/traverseDocument.js +1 -1
- package/dist/collection/traverseDocument.mjs +2 -2
- package/dist/functions/getAll.d.ts +1 -0
- package/dist/functions/getAll.js +4 -1
- package/dist/functions/getAll.mjs +4 -1
- package/dist/functions/insert.d.ts +2 -2
- package/dist/functions/insert.js +7 -2
- package/dist/functions/insert.mjs +9 -4
- package/package.json +8 -8
|
@@ -128,7 +128,7 @@ const autoCast = (value, ctx) => {
|
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
case 'object': {
|
|
131
|
-
if (!value ||
|
|
131
|
+
if (!value || value instanceof mongodb_1.ObjectId) {
|
|
132
132
|
return value;
|
|
133
133
|
}
|
|
134
134
|
if (!('description' in ctx.options) || !ctx.options.recurseDeep) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
import { Result, ACError, ValidationErrorCode, TraverseError } from "@aeriajs/types";
|
|
3
|
-
import { throwIfError, pipe, isReference, getValueFromPath,
|
|
3
|
+
import { throwIfError, pipe, isReference, getValueFromPath, isError } from "@aeriajs/common";
|
|
4
4
|
import { makeValidationError, validateProperty, validateWholeness } from "@aeriajs/validation";
|
|
5
5
|
import { getCollection } from "@aeriajs/entrypoint";
|
|
6
6
|
import { ObjectId } from "mongodb";
|
|
@@ -96,7 +96,7 @@ const autoCast = (value, ctx) => {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
case "object": {
|
|
99
|
-
if (!value ||
|
|
99
|
+
if (!value || value instanceof ObjectId) {
|
|
100
100
|
return value;
|
|
101
101
|
}
|
|
102
102
|
if (!("description" in ctx.options) || !ctx.options.recurseDeep) {
|
|
@@ -2,5 +2,6 @@ import type { Context, SchemaWithId, GetAllPayload } from '@aeriajs/types';
|
|
|
2
2
|
import { Result } from '@aeriajs/types';
|
|
3
3
|
export type GetAllOptions = {
|
|
4
4
|
bypassSecurity?: boolean;
|
|
5
|
+
noDefaultLimit?: boolean;
|
|
5
6
|
};
|
|
6
7
|
export declare const getAll: <TContext extends Context>(payload: GetAllPayload<SchemaWithId<TContext["description"]>> | undefined, context: TContext, options?: GetAllOptions) => Promise<Result.Either<any, any>>;
|
package/dist/functions/getAll.js
CHANGED
|
@@ -6,7 +6,7 @@ const types_1 = require("@aeriajs/types");
|
|
|
6
6
|
const common_1 = require("@aeriajs/common");
|
|
7
7
|
const index_js_1 = require("../collection/index.js");
|
|
8
8
|
const internalGetAll = async (payload, context) => {
|
|
9
|
-
const { limit
|
|
9
|
+
const { limit, sort, project, offset = 0, } = payload;
|
|
10
10
|
const filters = payload.filters
|
|
11
11
|
? Object.assign({}, payload.filters)
|
|
12
12
|
: {};
|
|
@@ -99,6 +99,9 @@ const getAll = async (payload, context, options = {}) => {
|
|
|
99
99
|
if (error) {
|
|
100
100
|
return types_1.Result.error(error);
|
|
101
101
|
}
|
|
102
|
+
if (!options.noDefaultLimit) {
|
|
103
|
+
securedPayload.limit ||= context.config.defaultPaginationLimit;
|
|
104
|
+
}
|
|
102
105
|
return (0, security_1.applyReadMiddlewares)(securedPayload, context, internalGetAll);
|
|
103
106
|
};
|
|
104
107
|
exports.getAll = getAll;
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from "../collection/index.mjs";
|
|
11
11
|
const internalGetAll = async (payload, context) => {
|
|
12
12
|
const {
|
|
13
|
-
limit
|
|
13
|
+
limit,
|
|
14
14
|
sort,
|
|
15
15
|
project,
|
|
16
16
|
offset = 0
|
|
@@ -97,5 +97,8 @@ export const getAll = async (payload, context, options = {}) => {
|
|
|
97
97
|
if (error) {
|
|
98
98
|
return Result.error(error);
|
|
99
99
|
}
|
|
100
|
+
if (!options.noDefaultLimit) {
|
|
101
|
+
securedPayload.limit ||= context.config.defaultPaginationLimit;
|
|
102
|
+
}
|
|
100
103
|
return applyReadMiddlewares(securedPayload, context, internalGetAll);
|
|
101
104
|
};
|
|
@@ -17,10 +17,10 @@ export declare const insertErrorSchema: () => {
|
|
|
17
17
|
readonly required: readonly ["httpStatus", "code"];
|
|
18
18
|
readonly properties: {
|
|
19
19
|
readonly httpStatus: {
|
|
20
|
-
readonly enum: [HTTPStatus.Forbidden, HTTPStatus.NotFound, HTTPStatus.UnprocessableContent];
|
|
20
|
+
readonly enum: [HTTPStatus.Forbidden, HTTPStatus.NotFound, HTTPStatus.UnprocessableContent, HTTPStatus.BadRequest];
|
|
21
21
|
};
|
|
22
22
|
readonly code: {
|
|
23
|
-
readonly enum: [ACError.InsecureOperator, ACError.OwnershipError, ACError.ResourceNotFound, ACError.TargetImmutable, ValidationErrorCode.EmptyTarget, ValidationErrorCode.InvalidProperties, ValidationErrorCode.MissingProperties, TraverseError.InvalidDocumentId, TraverseError.InvalidTempfile];
|
|
23
|
+
readonly enum: [ACError.InsecureOperator, ACError.OwnershipError, ACError.ResourceNotFound, ACError.TargetImmutable, ACError.MalformedInput, ValidationErrorCode.EmptyTarget, ValidationErrorCode.InvalidProperties, ValidationErrorCode.MissingProperties, TraverseError.InvalidDocumentId, TraverseError.InvalidTempfile];
|
|
24
24
|
};
|
|
25
25
|
readonly message: {
|
|
26
26
|
readonly type: "string";
|
package/dist/functions/insert.js
CHANGED
|
@@ -12,12 +12,14 @@ const insertErrorSchema = () => (0, common_1.endpointErrorSchema)({
|
|
|
12
12
|
types_1.HTTPStatus.Forbidden,
|
|
13
13
|
types_1.HTTPStatus.NotFound,
|
|
14
14
|
types_1.HTTPStatus.UnprocessableContent,
|
|
15
|
+
types_1.HTTPStatus.BadRequest,
|
|
15
16
|
],
|
|
16
17
|
code: [
|
|
17
18
|
types_1.ACError.InsecureOperator,
|
|
18
19
|
types_1.ACError.OwnershipError,
|
|
19
20
|
types_1.ACError.ResourceNotFound,
|
|
20
21
|
types_1.ACError.TargetImmutable,
|
|
22
|
+
types_1.ACError.MalformedInput,
|
|
21
23
|
types_1.ValidationErrorCode.EmptyTarget,
|
|
22
24
|
types_1.ValidationErrorCode.InvalidProperties,
|
|
23
25
|
types_1.ValidationErrorCode.MissingProperties,
|
|
@@ -74,13 +76,16 @@ const internalInsert = async (payload, context) => {
|
|
|
74
76
|
...context,
|
|
75
77
|
inherited: true,
|
|
76
78
|
};
|
|
77
|
-
const newDocument =
|
|
79
|
+
const { error: getError, result: newDocument } = await (0, get_js_1.get)({
|
|
78
80
|
filters: {
|
|
79
81
|
_id: newId,
|
|
80
82
|
},
|
|
81
83
|
}, inheritedContext, {
|
|
82
84
|
bypassSecurity: true,
|
|
83
|
-
})
|
|
85
|
+
});
|
|
86
|
+
if (getError) {
|
|
87
|
+
return types_1.Result.error(getError);
|
|
88
|
+
}
|
|
84
89
|
return types_1.Result.result(newDocument);
|
|
85
90
|
};
|
|
86
91
|
const insert = async (payload, context, options = {}) => {
|
|
@@ -2,20 +2,22 @@
|
|
|
2
2
|
import { ObjectId } from "mongodb";
|
|
3
3
|
import { Result, HTTPStatus, ACError, ValidationErrorCode, TraverseError } from "@aeriajs/types";
|
|
4
4
|
import { useSecurity, applyWriteMiddlewares } from "@aeriajs/security";
|
|
5
|
-
import {
|
|
5
|
+
import { endpointErrorSchema } from "@aeriajs/common";
|
|
6
6
|
import { traverseDocument, prepareCreate, prepareUpdate } from "../collection/index.mjs";
|
|
7
7
|
import { get } from "./get.mjs";
|
|
8
8
|
export const insertErrorSchema = () => endpointErrorSchema({
|
|
9
9
|
httpStatus: [
|
|
10
10
|
HTTPStatus.Forbidden,
|
|
11
11
|
HTTPStatus.NotFound,
|
|
12
|
-
HTTPStatus.UnprocessableContent
|
|
12
|
+
HTTPStatus.UnprocessableContent,
|
|
13
|
+
HTTPStatus.BadRequest
|
|
13
14
|
],
|
|
14
15
|
code: [
|
|
15
16
|
ACError.InsecureOperator,
|
|
16
17
|
ACError.OwnershipError,
|
|
17
18
|
ACError.ResourceNotFound,
|
|
18
19
|
ACError.TargetImmutable,
|
|
20
|
+
ACError.MalformedInput,
|
|
19
21
|
ValidationErrorCode.EmptyTarget,
|
|
20
22
|
ValidationErrorCode.InvalidProperties,
|
|
21
23
|
ValidationErrorCode.MissingProperties,
|
|
@@ -66,13 +68,16 @@ const internalInsert = async (payload, context) => {
|
|
|
66
68
|
...context,
|
|
67
69
|
inherited: true
|
|
68
70
|
};
|
|
69
|
-
const newDocument =
|
|
71
|
+
const { error: getError, result: newDocument } = await get({
|
|
70
72
|
filters: {
|
|
71
73
|
_id: newId
|
|
72
74
|
}
|
|
73
75
|
}, inheritedContext, {
|
|
74
76
|
bypassSecurity: true
|
|
75
|
-
})
|
|
77
|
+
});
|
|
78
|
+
if (getError) {
|
|
79
|
+
return Result.error(getError);
|
|
80
|
+
}
|
|
76
81
|
return Result.result(newDocument);
|
|
77
82
|
};
|
|
78
83
|
export const insert = async (payload, context, options = {}) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aeriajs/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.176",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"aeriaMain": "tests/fixtures/aeriaMain.js",
|
|
@@ -42,13 +42,13 @@
|
|
|
42
42
|
"mongodb-memory-server": "^9.2.0"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
|
-
"@aeriajs/builtins": "^0.0.
|
|
46
|
-
"@aeriajs/common": "^0.0.
|
|
47
|
-
"@aeriajs/entrypoint": "^0.0.
|
|
48
|
-
"@aeriajs/http": "^0.0.
|
|
49
|
-
"@aeriajs/security": "^0.0.
|
|
50
|
-
"@aeriajs/types": "^0.0.
|
|
51
|
-
"@aeriajs/validation": "^0.0.
|
|
45
|
+
"@aeriajs/builtins": "^0.0.176",
|
|
46
|
+
"@aeriajs/common": "^0.0.106",
|
|
47
|
+
"@aeriajs/entrypoint": "^0.0.109",
|
|
48
|
+
"@aeriajs/http": "^0.0.120",
|
|
49
|
+
"@aeriajs/security": "^0.0.176",
|
|
50
|
+
"@aeriajs/types": "^0.0.89",
|
|
51
|
+
"@aeriajs/validation": "^0.0.109"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
54
|
"mongodb": "^6.5.0",
|