@aeriajs/types 0.0.98 → 0.0.100
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/functionSchemas.d.ts +123 -0
- package/dist/functionSchemas.js +59 -0
- package/dist/functionSchemas.mjs +53 -0
- package/dist/functions.d.ts +7 -8
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3 -0
- package/dist/index.mjs +2 -0
- package/dist/resultSchemas.d.ts +89 -0
- package/dist/resultSchemas.js +105 -0
- package/dist/resultSchemas.mjs +99 -0
- package/package.json +1 -1
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { ACError } from './accessControl.js';
|
|
2
|
+
import { HTTPStatus } from './http.js';
|
|
3
|
+
import { ValidationErrorCode, TraverseError } from './validation.js';
|
|
4
|
+
export declare const insertError: () => {
|
|
5
|
+
readonly type: "object";
|
|
6
|
+
readonly properties: {
|
|
7
|
+
readonly _tag: {
|
|
8
|
+
readonly const: "Error";
|
|
9
|
+
};
|
|
10
|
+
readonly result: {
|
|
11
|
+
readonly const: undefined;
|
|
12
|
+
};
|
|
13
|
+
readonly error: {
|
|
14
|
+
readonly type: "object";
|
|
15
|
+
readonly required: readonly ["httpStatus", "code"];
|
|
16
|
+
readonly properties: {
|
|
17
|
+
readonly httpStatus: {
|
|
18
|
+
readonly enum: [HTTPStatus.Forbidden, HTTPStatus.NotFound, HTTPStatus.UnprocessableContent, HTTPStatus.BadRequest];
|
|
19
|
+
};
|
|
20
|
+
readonly code: {
|
|
21
|
+
readonly enum: [ACError.InsecureOperator, ACError.OwnershipError, ACError.ResourceNotFound, ACError.TargetImmutable, ACError.MalformedInput, ValidationErrorCode.EmptyTarget, ValidationErrorCode.InvalidProperties, ValidationErrorCode.MissingProperties, TraverseError.InvalidDocumentId, TraverseError.InvalidTempfile];
|
|
22
|
+
};
|
|
23
|
+
readonly message: {
|
|
24
|
+
readonly type: "string";
|
|
25
|
+
};
|
|
26
|
+
readonly details: {
|
|
27
|
+
readonly type: "object";
|
|
28
|
+
readonly variable: true;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
export declare const getError: () => {
|
|
35
|
+
readonly type: "object";
|
|
36
|
+
readonly properties: {
|
|
37
|
+
readonly _tag: {
|
|
38
|
+
readonly const: "Error";
|
|
39
|
+
};
|
|
40
|
+
readonly result: {
|
|
41
|
+
readonly const: undefined;
|
|
42
|
+
};
|
|
43
|
+
readonly error: {
|
|
44
|
+
readonly type: "object";
|
|
45
|
+
readonly required: readonly ["httpStatus", "code"];
|
|
46
|
+
readonly properties: {
|
|
47
|
+
readonly httpStatus: {
|
|
48
|
+
readonly enum: [HTTPStatus.Forbidden, HTTPStatus.NotFound, HTTPStatus.BadRequest];
|
|
49
|
+
};
|
|
50
|
+
readonly code: {
|
|
51
|
+
readonly enum: [ACError.ResourceNotFound, ACError.OwnershipError, ACError.InsecureOperator, ACError.MalformedInput];
|
|
52
|
+
};
|
|
53
|
+
readonly message: {
|
|
54
|
+
readonly type: "string";
|
|
55
|
+
};
|
|
56
|
+
readonly details: {
|
|
57
|
+
readonly type: "object";
|
|
58
|
+
readonly variable: true;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
export declare const getAllError: () => {
|
|
65
|
+
readonly type: "object";
|
|
66
|
+
readonly properties: {
|
|
67
|
+
readonly _tag: {
|
|
68
|
+
readonly const: "Error";
|
|
69
|
+
};
|
|
70
|
+
readonly result: {
|
|
71
|
+
readonly const: undefined;
|
|
72
|
+
};
|
|
73
|
+
readonly error: {
|
|
74
|
+
readonly type: "object";
|
|
75
|
+
readonly required: readonly ["httpStatus", "code"];
|
|
76
|
+
readonly properties: {
|
|
77
|
+
readonly httpStatus: {
|
|
78
|
+
readonly enum: [HTTPStatus.Forbidden];
|
|
79
|
+
};
|
|
80
|
+
readonly code: {
|
|
81
|
+
readonly enum: [ACError.OwnershipError, ACError.InsecureOperator, ACError.InvalidLimit];
|
|
82
|
+
};
|
|
83
|
+
readonly message: {
|
|
84
|
+
readonly type: "string";
|
|
85
|
+
};
|
|
86
|
+
readonly details: {
|
|
87
|
+
readonly type: "object";
|
|
88
|
+
readonly variable: true;
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
export declare const countError: () => {
|
|
95
|
+
readonly type: "object";
|
|
96
|
+
readonly properties: {
|
|
97
|
+
readonly _tag: {
|
|
98
|
+
readonly const: "Error";
|
|
99
|
+
};
|
|
100
|
+
readonly result: {
|
|
101
|
+
readonly const: undefined;
|
|
102
|
+
};
|
|
103
|
+
readonly error: {
|
|
104
|
+
readonly type: "object";
|
|
105
|
+
readonly required: readonly ["httpStatus", "code"];
|
|
106
|
+
readonly properties: {
|
|
107
|
+
readonly httpStatus: {
|
|
108
|
+
readonly enum: [HTTPStatus.Forbidden];
|
|
109
|
+
};
|
|
110
|
+
readonly code: {
|
|
111
|
+
readonly enum: [ACError.OwnershipError, ACError.InvalidLimit];
|
|
112
|
+
};
|
|
113
|
+
readonly message: {
|
|
114
|
+
readonly type: "string";
|
|
115
|
+
};
|
|
116
|
+
readonly details: {
|
|
117
|
+
readonly type: "object";
|
|
118
|
+
readonly variable: true;
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.countError = exports.getAllError = exports.getError = exports.insertError = void 0;
|
|
4
|
+
const accessControl_js_1 = require("./accessControl.js");
|
|
5
|
+
const http_js_1 = require("./http.js");
|
|
6
|
+
const resultSchemas_js_1 = require("./resultSchemas.js");
|
|
7
|
+
const validation_js_1 = require("./validation.js");
|
|
8
|
+
const insertError = () => (0, resultSchemas_js_1.endpointErrorSchema)({
|
|
9
|
+
httpStatus: [
|
|
10
|
+
http_js_1.HTTPStatus.Forbidden,
|
|
11
|
+
http_js_1.HTTPStatus.NotFound,
|
|
12
|
+
http_js_1.HTTPStatus.UnprocessableContent,
|
|
13
|
+
http_js_1.HTTPStatus.BadRequest,
|
|
14
|
+
],
|
|
15
|
+
code: [
|
|
16
|
+
accessControl_js_1.ACError.InsecureOperator,
|
|
17
|
+
accessControl_js_1.ACError.OwnershipError,
|
|
18
|
+
accessControl_js_1.ACError.ResourceNotFound,
|
|
19
|
+
accessControl_js_1.ACError.TargetImmutable,
|
|
20
|
+
accessControl_js_1.ACError.MalformedInput,
|
|
21
|
+
validation_js_1.ValidationErrorCode.EmptyTarget,
|
|
22
|
+
validation_js_1.ValidationErrorCode.InvalidProperties,
|
|
23
|
+
validation_js_1.ValidationErrorCode.MissingProperties,
|
|
24
|
+
validation_js_1.TraverseError.InvalidDocumentId,
|
|
25
|
+
validation_js_1.TraverseError.InvalidTempfile,
|
|
26
|
+
],
|
|
27
|
+
});
|
|
28
|
+
exports.insertError = insertError;
|
|
29
|
+
const getError = () => (0, resultSchemas_js_1.endpointErrorSchema)({
|
|
30
|
+
httpStatus: [
|
|
31
|
+
http_js_1.HTTPStatus.Forbidden,
|
|
32
|
+
http_js_1.HTTPStatus.NotFound,
|
|
33
|
+
http_js_1.HTTPStatus.BadRequest,
|
|
34
|
+
],
|
|
35
|
+
code: [
|
|
36
|
+
accessControl_js_1.ACError.ResourceNotFound,
|
|
37
|
+
accessControl_js_1.ACError.OwnershipError,
|
|
38
|
+
accessControl_js_1.ACError.InsecureOperator,
|
|
39
|
+
accessControl_js_1.ACError.MalformedInput,
|
|
40
|
+
],
|
|
41
|
+
});
|
|
42
|
+
exports.getError = getError;
|
|
43
|
+
const getAllError = () => (0, resultSchemas_js_1.endpointErrorSchema)({
|
|
44
|
+
httpStatus: [http_js_1.HTTPStatus.Forbidden],
|
|
45
|
+
code: [
|
|
46
|
+
accessControl_js_1.ACError.OwnershipError,
|
|
47
|
+
accessControl_js_1.ACError.InsecureOperator,
|
|
48
|
+
accessControl_js_1.ACError.InvalidLimit,
|
|
49
|
+
],
|
|
50
|
+
});
|
|
51
|
+
exports.getAllError = getAllError;
|
|
52
|
+
const countError = () => (0, resultSchemas_js_1.endpointErrorSchema)({
|
|
53
|
+
httpStatus: [http_js_1.HTTPStatus.Forbidden],
|
|
54
|
+
code: [
|
|
55
|
+
accessControl_js_1.ACError.OwnershipError,
|
|
56
|
+
accessControl_js_1.ACError.InvalidLimit,
|
|
57
|
+
],
|
|
58
|
+
});
|
|
59
|
+
exports.countError = countError;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import { ACError } from "./accessControl.mjs";
|
|
3
|
+
import { HTTPStatus } from "./http.mjs";
|
|
4
|
+
import { endpointErrorSchema } from "./resultSchemas.mjs";
|
|
5
|
+
import { ValidationErrorCode, TraverseError } from "./validation.mjs";
|
|
6
|
+
export const insertError = () => endpointErrorSchema({
|
|
7
|
+
httpStatus: [
|
|
8
|
+
HTTPStatus.Forbidden,
|
|
9
|
+
HTTPStatus.NotFound,
|
|
10
|
+
HTTPStatus.UnprocessableContent,
|
|
11
|
+
HTTPStatus.BadRequest
|
|
12
|
+
],
|
|
13
|
+
code: [
|
|
14
|
+
ACError.InsecureOperator,
|
|
15
|
+
ACError.OwnershipError,
|
|
16
|
+
ACError.ResourceNotFound,
|
|
17
|
+
ACError.TargetImmutable,
|
|
18
|
+
ACError.MalformedInput,
|
|
19
|
+
ValidationErrorCode.EmptyTarget,
|
|
20
|
+
ValidationErrorCode.InvalidProperties,
|
|
21
|
+
ValidationErrorCode.MissingProperties,
|
|
22
|
+
TraverseError.InvalidDocumentId,
|
|
23
|
+
TraverseError.InvalidTempfile
|
|
24
|
+
]
|
|
25
|
+
});
|
|
26
|
+
export const getError = () => endpointErrorSchema({
|
|
27
|
+
httpStatus: [
|
|
28
|
+
HTTPStatus.Forbidden,
|
|
29
|
+
HTTPStatus.NotFound,
|
|
30
|
+
HTTPStatus.BadRequest
|
|
31
|
+
],
|
|
32
|
+
code: [
|
|
33
|
+
ACError.ResourceNotFound,
|
|
34
|
+
ACError.OwnershipError,
|
|
35
|
+
ACError.InsecureOperator,
|
|
36
|
+
ACError.MalformedInput
|
|
37
|
+
]
|
|
38
|
+
});
|
|
39
|
+
export const getAllError = () => endpointErrorSchema({
|
|
40
|
+
httpStatus: [HTTPStatus.Forbidden],
|
|
41
|
+
code: [
|
|
42
|
+
ACError.OwnershipError,
|
|
43
|
+
ACError.InsecureOperator,
|
|
44
|
+
ACError.InvalidLimit
|
|
45
|
+
]
|
|
46
|
+
});
|
|
47
|
+
export const countError = () => endpointErrorSchema({
|
|
48
|
+
httpStatus: [HTTPStatus.Forbidden],
|
|
49
|
+
code: [
|
|
50
|
+
ACError.OwnershipError,
|
|
51
|
+
ACError.InvalidLimit
|
|
52
|
+
]
|
|
53
|
+
});
|
package/dist/functions.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import type { FilterOperators, StrictFilter as Filter, WithId, ObjectId } from 'mongodb';
|
|
2
2
|
import type { Result, ExtractError } from './result.js';
|
|
3
3
|
import type { EndpointError } from './endpointError.js';
|
|
4
|
-
import type { SchemaWithId, PackReferences } from './schema.js';
|
|
4
|
+
import type { SchemaWithId, InferSchema, PackReferences } from './schema.js';
|
|
5
5
|
import type { JsonSchema } from './property.js';
|
|
6
|
-
import type {
|
|
7
|
-
import type
|
|
8
|
-
import type { HTTPStatus, WithACErrors } from './http.js';
|
|
6
|
+
import type { WithACErrors } from './http.js';
|
|
7
|
+
import type * as functionSchemas from './functionSchemas.js';
|
|
9
8
|
export type UploadAuxProps = {
|
|
10
9
|
parentId: string;
|
|
11
10
|
propName: string;
|
|
@@ -70,10 +69,10 @@ export type RemoveFilePayload = UploadAuxProps & {
|
|
|
70
69
|
_id: ObjectId | string;
|
|
71
70
|
};
|
|
72
71
|
};
|
|
73
|
-
export type InsertReturnType<TDocument> = Result.Either<
|
|
74
|
-
export type GetReturnType<TDocument> = Result.Either<
|
|
75
|
-
export type GetAllReturnType<TDocument> = Result.Either<
|
|
76
|
-
export type CountReturnType = Result.Either<
|
|
72
|
+
export type InsertReturnType<TDocument> = Result.Either<ExtractError<InferSchema<ReturnType<typeof functionSchemas.insertError>>>, TDocument>;
|
|
73
|
+
export type GetReturnType<TDocument> = Result.Either<ExtractError<InferSchema<ReturnType<typeof functionSchemas.getError>>>, TDocument>;
|
|
74
|
+
export type GetAllReturnType<TDocument> = Result.Either<ExtractError<InferSchema<ReturnType<typeof functionSchemas.getAllError>>>, TDocument[]>;
|
|
75
|
+
export type CountReturnType = Result.Either<ExtractError<InferSchema<ReturnType<typeof functionSchemas.countError>>>, number>;
|
|
77
76
|
export type RemoveReturnType<TDocument> = Result.Either<EndpointError, TDocument>;
|
|
78
77
|
export type PaginatedGetAllReturnType<TDocument> = Result.Either<ExtractError<GetAllReturnType<TDocument>>, {
|
|
79
78
|
data: TDocument[];
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * as functionSchemas from './functionSchemas.js';
|
|
1
2
|
export * from './accessControl.js';
|
|
2
3
|
export * from './collection.js';
|
|
3
4
|
export * from './condition.js';
|
|
@@ -10,6 +11,7 @@ export * from './functions.js';
|
|
|
10
11
|
export * from './http.js';
|
|
11
12
|
export * from './property.js';
|
|
12
13
|
export * from './result.js';
|
|
14
|
+
export * from './resultSchemas.js';
|
|
13
15
|
export * from './schema.js';
|
|
14
16
|
export * from './security.js';
|
|
15
17
|
export * from './token.js';
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.functionSchemas = void 0;
|
|
18
|
+
exports.functionSchemas = require("./functionSchemas.js");
|
|
17
19
|
__exportStar(require("./accessControl.js"), exports);
|
|
18
20
|
__exportStar(require("./collection.js"), exports);
|
|
19
21
|
__exportStar(require("./condition.js"), exports);
|
|
@@ -26,6 +28,7 @@ __exportStar(require("./functions.js"), exports);
|
|
|
26
28
|
__exportStar(require("./http.js"), exports);
|
|
27
29
|
__exportStar(require("./property.js"), exports);
|
|
28
30
|
__exportStar(require("./result.js"), exports);
|
|
31
|
+
__exportStar(require("./resultSchemas.js"), exports);
|
|
29
32
|
__exportStar(require("./schema.js"), exports);
|
|
30
33
|
__exportStar(require("./security.js"), exports);
|
|
31
34
|
__exportStar(require("./token.js"), exports);
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
export * as functionSchemas from "./functionSchemas.mjs";
|
|
2
3
|
export * from "./accessControl.mjs";
|
|
3
4
|
export * from "./collection.mjs";
|
|
4
5
|
export * from "./condition.mjs";
|
|
@@ -11,6 +12,7 @@ export * from "./functions.mjs";
|
|
|
11
12
|
export * from "./http.mjs";
|
|
12
13
|
export * from "./property.mjs";
|
|
13
14
|
export * from "./result.mjs";
|
|
15
|
+
export * from "./resultSchemas.mjs";
|
|
14
16
|
export * from "./schema.mjs";
|
|
15
17
|
export * from "./security.mjs";
|
|
16
18
|
export * from "./token.mjs";
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { Property } from './property.js';
|
|
2
|
+
import type { HTTPStatus } from './http.js';
|
|
3
|
+
export declare const errorSchema: <const TError extends Property>(error: TError) => {
|
|
4
|
+
readonly type: "object";
|
|
5
|
+
readonly properties: {
|
|
6
|
+
readonly _tag: {
|
|
7
|
+
readonly const: "Error";
|
|
8
|
+
};
|
|
9
|
+
readonly error: Property;
|
|
10
|
+
readonly result: {
|
|
11
|
+
readonly const: undefined;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export declare const resultSchema: <const TResult extends Property>(result: TResult) => {
|
|
16
|
+
readonly type: "object";
|
|
17
|
+
readonly properties: {
|
|
18
|
+
readonly _tag: {
|
|
19
|
+
readonly const: "Result";
|
|
20
|
+
};
|
|
21
|
+
readonly error: {
|
|
22
|
+
readonly const: undefined;
|
|
23
|
+
};
|
|
24
|
+
readonly result: Property;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export declare const endpointErrorSchema: <const THTTPStatus extends HTTPStatus[], const TCode extends string[]>(error: {
|
|
28
|
+
httpStatus: THTTPStatus;
|
|
29
|
+
code: TCode;
|
|
30
|
+
}) => {
|
|
31
|
+
readonly type: "object";
|
|
32
|
+
readonly properties: {
|
|
33
|
+
readonly _tag: {
|
|
34
|
+
readonly const: "Error";
|
|
35
|
+
};
|
|
36
|
+
readonly result: {
|
|
37
|
+
readonly const: undefined;
|
|
38
|
+
};
|
|
39
|
+
readonly error: {
|
|
40
|
+
readonly type: "object";
|
|
41
|
+
readonly required: readonly ["httpStatus", "code"];
|
|
42
|
+
readonly properties: {
|
|
43
|
+
readonly httpStatus: {
|
|
44
|
+
readonly enum: THTTPStatus;
|
|
45
|
+
};
|
|
46
|
+
readonly code: {
|
|
47
|
+
readonly enum: TCode;
|
|
48
|
+
};
|
|
49
|
+
readonly message: {
|
|
50
|
+
readonly type: "string";
|
|
51
|
+
};
|
|
52
|
+
readonly details: {
|
|
53
|
+
readonly type: "object";
|
|
54
|
+
readonly variable: true;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
export declare const genericEndpointErrorSchema: () => {
|
|
61
|
+
readonly type: "object";
|
|
62
|
+
readonly properties: {
|
|
63
|
+
readonly _tag: {
|
|
64
|
+
readonly const: "Error";
|
|
65
|
+
};
|
|
66
|
+
readonly result: {
|
|
67
|
+
readonly const: undefined;
|
|
68
|
+
};
|
|
69
|
+
readonly error: {
|
|
70
|
+
readonly type: "object";
|
|
71
|
+
readonly required: readonly ["httpStatus", "code"];
|
|
72
|
+
readonly properties: {
|
|
73
|
+
readonly httpStatus: {
|
|
74
|
+
readonly type: "number";
|
|
75
|
+
};
|
|
76
|
+
readonly code: {
|
|
77
|
+
readonly type: "string";
|
|
78
|
+
};
|
|
79
|
+
readonly message: {
|
|
80
|
+
readonly type: "string";
|
|
81
|
+
};
|
|
82
|
+
readonly details: {
|
|
83
|
+
readonly type: "object";
|
|
84
|
+
readonly variable: true;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
};
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.genericEndpointErrorSchema = exports.endpointErrorSchema = exports.resultSchema = exports.errorSchema = void 0;
|
|
4
|
+
const errorSchema = (error) => {
|
|
5
|
+
return {
|
|
6
|
+
type: 'object',
|
|
7
|
+
properties: {
|
|
8
|
+
_tag: {
|
|
9
|
+
const: 'Error',
|
|
10
|
+
},
|
|
11
|
+
error,
|
|
12
|
+
result: {
|
|
13
|
+
const: undefined,
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
exports.errorSchema = errorSchema;
|
|
19
|
+
const resultSchema = (result) => {
|
|
20
|
+
return {
|
|
21
|
+
type: 'object',
|
|
22
|
+
properties: {
|
|
23
|
+
_tag: {
|
|
24
|
+
const: 'Result',
|
|
25
|
+
},
|
|
26
|
+
error: {
|
|
27
|
+
const: undefined,
|
|
28
|
+
},
|
|
29
|
+
result,
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
exports.resultSchema = resultSchema;
|
|
34
|
+
const endpointErrorSchema = (error) => {
|
|
35
|
+
return {
|
|
36
|
+
type: 'object',
|
|
37
|
+
properties: {
|
|
38
|
+
_tag: {
|
|
39
|
+
const: 'Error',
|
|
40
|
+
},
|
|
41
|
+
result: {
|
|
42
|
+
const: undefined,
|
|
43
|
+
},
|
|
44
|
+
error: {
|
|
45
|
+
type: 'object',
|
|
46
|
+
required: [
|
|
47
|
+
'httpStatus',
|
|
48
|
+
'code',
|
|
49
|
+
],
|
|
50
|
+
properties: {
|
|
51
|
+
httpStatus: {
|
|
52
|
+
enum: error.httpStatus,
|
|
53
|
+
},
|
|
54
|
+
code: {
|
|
55
|
+
enum: error.code,
|
|
56
|
+
},
|
|
57
|
+
message: {
|
|
58
|
+
type: 'string',
|
|
59
|
+
},
|
|
60
|
+
details: {
|
|
61
|
+
type: 'object',
|
|
62
|
+
variable: true,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
exports.endpointErrorSchema = endpointErrorSchema;
|
|
70
|
+
const genericEndpointErrorSchema = () => {
|
|
71
|
+
return {
|
|
72
|
+
type: 'object',
|
|
73
|
+
properties: {
|
|
74
|
+
_tag: {
|
|
75
|
+
const: 'Error',
|
|
76
|
+
},
|
|
77
|
+
result: {
|
|
78
|
+
const: undefined,
|
|
79
|
+
},
|
|
80
|
+
error: {
|
|
81
|
+
type: 'object',
|
|
82
|
+
required: [
|
|
83
|
+
'httpStatus',
|
|
84
|
+
'code',
|
|
85
|
+
],
|
|
86
|
+
properties: {
|
|
87
|
+
httpStatus: {
|
|
88
|
+
type: 'number',
|
|
89
|
+
},
|
|
90
|
+
code: {
|
|
91
|
+
type: 'string',
|
|
92
|
+
},
|
|
93
|
+
message: {
|
|
94
|
+
type: 'string',
|
|
95
|
+
},
|
|
96
|
+
details: {
|
|
97
|
+
type: 'object',
|
|
98
|
+
variable: true,
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
exports.genericEndpointErrorSchema = genericEndpointErrorSchema;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
export const errorSchema = (error) => {
|
|
3
|
+
return {
|
|
4
|
+
type: "object",
|
|
5
|
+
properties: {
|
|
6
|
+
_tag: {
|
|
7
|
+
const: "Error"
|
|
8
|
+
},
|
|
9
|
+
error,
|
|
10
|
+
result: {
|
|
11
|
+
const: void 0
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export const resultSchema = (result) => {
|
|
17
|
+
return {
|
|
18
|
+
type: "object",
|
|
19
|
+
properties: {
|
|
20
|
+
_tag: {
|
|
21
|
+
const: "Result"
|
|
22
|
+
},
|
|
23
|
+
error: {
|
|
24
|
+
const: void 0
|
|
25
|
+
},
|
|
26
|
+
result
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export const endpointErrorSchema = (error) => {
|
|
31
|
+
return {
|
|
32
|
+
type: "object",
|
|
33
|
+
properties: {
|
|
34
|
+
_tag: {
|
|
35
|
+
const: "Error"
|
|
36
|
+
},
|
|
37
|
+
result: {
|
|
38
|
+
const: void 0
|
|
39
|
+
},
|
|
40
|
+
error: {
|
|
41
|
+
type: "object",
|
|
42
|
+
required: [
|
|
43
|
+
"httpStatus",
|
|
44
|
+
"code"
|
|
45
|
+
],
|
|
46
|
+
properties: {
|
|
47
|
+
httpStatus: {
|
|
48
|
+
enum: error.httpStatus
|
|
49
|
+
},
|
|
50
|
+
code: {
|
|
51
|
+
enum: error.code
|
|
52
|
+
},
|
|
53
|
+
message: {
|
|
54
|
+
type: "string"
|
|
55
|
+
},
|
|
56
|
+
details: {
|
|
57
|
+
type: "object",
|
|
58
|
+
variable: true
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
export const genericEndpointErrorSchema = () => {
|
|
66
|
+
return {
|
|
67
|
+
type: "object",
|
|
68
|
+
properties: {
|
|
69
|
+
_tag: {
|
|
70
|
+
const: "Error"
|
|
71
|
+
},
|
|
72
|
+
result: {
|
|
73
|
+
const: void 0
|
|
74
|
+
},
|
|
75
|
+
error: {
|
|
76
|
+
type: "object",
|
|
77
|
+
required: [
|
|
78
|
+
"httpStatus",
|
|
79
|
+
"code"
|
|
80
|
+
],
|
|
81
|
+
properties: {
|
|
82
|
+
httpStatus: {
|
|
83
|
+
type: "number"
|
|
84
|
+
},
|
|
85
|
+
code: {
|
|
86
|
+
type: "string"
|
|
87
|
+
},
|
|
88
|
+
message: {
|
|
89
|
+
type: "string"
|
|
90
|
+
},
|
|
91
|
+
details: {
|
|
92
|
+
type: "object",
|
|
93
|
+
variable: true
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
};
|