@nhtio/lucid-resourceful 0.1.0-master-71781cfd → 0.1.0-master-3ec631a4
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/{definitions-DgI468dW.cjs → data_type_schemas-BqeljaQB.cjs} +21 -177
- package/data_type_schemas-BqeljaQB.cjs.map +1 -0
- package/data_type_schemas-Cpco9Zba.js +225 -0
- package/data_type_schemas-Cpco9Zba.js.map +1 -0
- package/{decorator_utils-U_rZo8tv.cjs → decorator_utils-DSvYjLYD.cjs} +204 -60
- package/decorator_utils-DSvYjLYD.cjs.map +1 -0
- package/{decorator_utils-YSb1EGJ6.js → decorator_utils-gyymixlk.js} +207 -65
- package/decorator_utils-gyymixlk.js.map +1 -0
- package/definitions-DcB6B_4d.js +174 -0
- package/definitions-DcB6B_4d.js.map +1 -0
- package/definitions-DjQRkCeH.cjs +173 -0
- package/definitions-DjQRkCeH.cjs.map +1 -0
- package/definitions.cjs +1 -1
- package/definitions.mjs +11 -11
- package/{errors-B1rr67uM.js → errors-C-x5_jRE.js} +162 -27
- package/errors-C-x5_jRE.js.map +1 -0
- package/{errors-D8jb9VxY.cjs → errors-CNwuNhBV.cjs} +138 -5
- package/errors-CNwuNhBV.cjs.map +1 -0
- package/errors.cjs +5 -1
- package/errors.cjs.map +1 -1
- package/errors.d.ts +24 -2
- package/errors.mjs +19 -15
- package/index.cjs +1380 -652
- package/index.cjs.map +1 -1
- package/index.mjs +1624 -896
- package/index.mjs.map +1 -1
- package/joi.cjs +1854 -3368
- package/joi.cjs.map +1 -1
- package/joi.mjs +1857 -3371
- package/joi.mjs.map +1 -1
- package/package.json +1 -1
- package/private/decorators.d.ts +8 -8
- package/private/lucene_to_lucid_translator.d.ts +21 -175
- package/private/mixin.d.ts +68 -5
- package/private/services/open_api_schema_service.d.ts +111 -0
- package/private/type_guards.d.ts +62 -0
- package/private/types.d.ts +1 -1
- package/private/utils.d.ts +24 -0
- package/utils.cjs +1 -1
- package/utils.mjs +2 -2
- package/decorator_utils-U_rZo8tv.cjs.map +0 -1
- package/decorator_utils-YSb1EGJ6.js.map +0 -1
- package/definitions-B88XBTUF.js +0 -381
- package/definitions-B88XBTUF.js.map +0 -1
- package/definitions-DgI468dW.cjs.map +0 -1
- package/errors-B1rr67uM.js.map +0 -1
- package/errors-D8jb9VxY.cjs.map +0 -1
|
@@ -16,6 +16,71 @@ require("path");
|
|
|
16
16
|
require("fs/promises");
|
|
17
17
|
const crypto = require("crypto");
|
|
18
18
|
require("buffer");
|
|
19
|
+
exports.CRUDOperationsEnum = /* @__PURE__ */ ((CRUDOperationsEnum2) => {
|
|
20
|
+
CRUDOperationsEnum2["CREATE"] = "create";
|
|
21
|
+
CRUDOperationsEnum2["READ"] = "read";
|
|
22
|
+
CRUDOperationsEnum2["LIST"] = "list";
|
|
23
|
+
CRUDOperationsEnum2["UPDATE"] = "update";
|
|
24
|
+
CRUDOperationsEnum2["DELETE"] = "delete";
|
|
25
|
+
return CRUDOperationsEnum2;
|
|
26
|
+
})(exports.CRUDOperationsEnum || {});
|
|
27
|
+
exports.ACLOperationsEnum = /* @__PURE__ */ ((ACLOperationsEnum2) => {
|
|
28
|
+
ACLOperationsEnum2["WRITE"] = "write";
|
|
29
|
+
ACLOperationsEnum2["READ"] = "read";
|
|
30
|
+
return ACLOperationsEnum2;
|
|
31
|
+
})(exports.ACLOperationsEnum || {});
|
|
32
|
+
const operationCRUDToACL = (operation) => {
|
|
33
|
+
if (operation === exports.CRUDOperationsEnum.READ || operation === exports.CRUDOperationsEnum.LIST) {
|
|
34
|
+
return exports.ACLOperationsEnum.READ;
|
|
35
|
+
}
|
|
36
|
+
if (operation === exports.CRUDOperationsEnum.CREATE || operation === exports.CRUDOperationsEnum.UPDATE || operation === exports.CRUDOperationsEnum.DELETE) {
|
|
37
|
+
return exports.ACLOperationsEnum.WRITE;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
const isString = (value) => {
|
|
41
|
+
return typeof value === "string";
|
|
42
|
+
};
|
|
43
|
+
const isObject = (value) => {
|
|
44
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
45
|
+
};
|
|
46
|
+
const prepareFields = (fields, primaryKey) => {
|
|
47
|
+
const defaultValue = [primaryKey];
|
|
48
|
+
if (Array.isArray(fields)) {
|
|
49
|
+
return fields.length ? fields : defaultValue;
|
|
50
|
+
}
|
|
51
|
+
if (isString(fields)) {
|
|
52
|
+
return fields.length ? [fields] : defaultValue;
|
|
53
|
+
}
|
|
54
|
+
return defaultValue;
|
|
55
|
+
};
|
|
56
|
+
const stripUndefinedValuesFromObject = (obj) => {
|
|
57
|
+
return Object.fromEntries(Object.entries(obj).filter(([_, value]) => value !== void 0));
|
|
58
|
+
};
|
|
59
|
+
const formatSyntaxError = (source, line, column, offset) => {
|
|
60
|
+
const lines = source.split("\n");
|
|
61
|
+
const errorLine = lines[line - 1];
|
|
62
|
+
if (!errorLine) {
|
|
63
|
+
return `Error at line ${line}, column ${column} (offset ${offset})
|
|
64
|
+
Line not found in source.`;
|
|
65
|
+
}
|
|
66
|
+
const indicator = " ".repeat(Math.max(0, column - 1)) + "^";
|
|
67
|
+
let result = `Syntax Error at line ${line}, column ${column} (offset ${offset}):
|
|
68
|
+
|
|
69
|
+
`;
|
|
70
|
+
if (line > 1 && lines[line - 2]) {
|
|
71
|
+
result += `${(line - 1).toString().padStart(3)} | ${lines[line - 2]}
|
|
72
|
+
`;
|
|
73
|
+
}
|
|
74
|
+
result += `${line.toString().padStart(3)} | ${errorLine}
|
|
75
|
+
`;
|
|
76
|
+
result += `${" ".repeat(3)} | ${indicator}
|
|
77
|
+
`;
|
|
78
|
+
if (line < lines.length && lines[line]) {
|
|
79
|
+
result += `${(line + 1).toString().padStart(3)} | ${lines[line]}
|
|
80
|
+
`;
|
|
81
|
+
}
|
|
82
|
+
return result;
|
|
83
|
+
};
|
|
19
84
|
exports.Exception = class Exception extends Error {
|
|
20
85
|
constructor(message, options) {
|
|
21
86
|
super(message, options);
|
|
@@ -2718,18 +2783,18 @@ class E_INVALID_RESOURCEFUL_MIXIN_OPTIONS extends exports.Exception {
|
|
|
2718
2783
|
__publicField(E_INVALID_RESOURCEFUL_MIXIN_OPTIONS, "status", 500);
|
|
2719
2784
|
__publicField(E_INVALID_RESOURCEFUL_MIXIN_OPTIONS, "code", "E_INVALID_RESOURCEFUL_MIXIN_OPTIONS");
|
|
2720
2785
|
const E_INVALID_PREPARED_VALUE = createError(
|
|
2721
|
-
"E_INVALID_PREPARED_VALUE",
|
|
2722
2786
|
'The value for "%s" is not a valid %s',
|
|
2787
|
+
"E_INVALID_PREPARED_VALUE",
|
|
2723
2788
|
422
|
|
2724
2789
|
);
|
|
2725
2790
|
const E_INVALID_CONSUMED_VALUE = createError(
|
|
2791
|
+
'The value for "%s" (%O) could not be consumed as a valid %s',
|
|
2726
2792
|
"E_INVALID_CONSUMED_VALUE",
|
|
2727
|
-
'The value for "%s" could not be consumed as a valid %s',
|
|
2728
2793
|
500
|
|
2729
2794
|
);
|
|
2730
2795
|
const E_UNCASTABLE = createError(
|
|
2731
|
-
"E_UNCASTABLE",
|
|
2732
2796
|
"The value could not be cast to a valid %s",
|
|
2797
|
+
"E_UNCASTABLE",
|
|
2733
2798
|
500
|
|
2734
2799
|
);
|
|
2735
2800
|
class E_INVALID_RESOURCEFUL_DECORATOR_OPTIONS extends exports.Exception {
|
|
@@ -2822,7 +2887,7 @@ class E_UNEXPECTED_COLUMN_IN_QUERY extends exports.Exception {
|
|
|
2822
2887
|
__publicField(E_UNEXPECTED_COLUMN_IN_QUERY, "status", 400);
|
|
2823
2888
|
__publicField(E_UNEXPECTED_COLUMN_IN_QUERY, "code", "E_UNEXPECTED_COLUMN_IN_QUERY");
|
|
2824
2889
|
class E_LUCENE_SYNTAX_EXCEPTION extends exports.Exception {
|
|
2825
|
-
constructor(original) {
|
|
2890
|
+
constructor(query, original) {
|
|
2826
2891
|
const msg = `${original.message} at line ${original.line}, column ${original.column}, offset ${original.offset}`;
|
|
2827
2892
|
super(msg, {
|
|
2828
2893
|
code: "E_LUCENE_SYNTAX_EXCEPTION",
|
|
@@ -2847,6 +2912,12 @@ class E_LUCENE_SYNTAX_EXCEPTION extends exports.Exception {
|
|
|
2847
2912
|
writable: false,
|
|
2848
2913
|
configurable: false
|
|
2849
2914
|
});
|
|
2915
|
+
Object.defineProperty(this, "details", {
|
|
2916
|
+
value: formatSyntaxError(query, original.line, original.column, original.offset),
|
|
2917
|
+
enumerable: true,
|
|
2918
|
+
writable: false,
|
|
2919
|
+
configurable: false
|
|
2920
|
+
});
|
|
2850
2921
|
}
|
|
2851
2922
|
}
|
|
2852
2923
|
__publicField(E_LUCENE_SYNTAX_EXCEPTION, "status", 422);
|
|
@@ -2953,8 +3024,58 @@ class E_FORBIDDEN_PAYLOAD_EXCEPTION extends exports.Exception {
|
|
|
2953
3024
|
}
|
|
2954
3025
|
__publicField(E_FORBIDDEN_PAYLOAD_EXCEPTION, "status", 403);
|
|
2955
3026
|
__publicField(E_FORBIDDEN_PAYLOAD_EXCEPTION, "code", "E_FORBIDDEN_PAYLOAD_EXCEPTION");
|
|
3027
|
+
class E_INVALID_RELATIONSHIP_EXCEPTION extends exports.Exception {
|
|
3028
|
+
constructor(message) {
|
|
3029
|
+
super(message, {
|
|
3030
|
+
code: "E_INVALID_RELATIONSHIP_EXCEPTION",
|
|
3031
|
+
status: 400
|
|
3032
|
+
});
|
|
3033
|
+
}
|
|
3034
|
+
}
|
|
3035
|
+
__publicField(E_INVALID_RELATIONSHIP_EXCEPTION, "status", 400);
|
|
3036
|
+
__publicField(E_INVALID_RELATIONSHIP_EXCEPTION, "code", "E_INVALID_RELATIONSHIP_EXCEPTION");
|
|
3037
|
+
class E_INVALID_RESOUREFUL_READ_RELATIONSHIP_REQUEST_EXCEPTION extends exports.Exception {
|
|
3038
|
+
constructor(reason) {
|
|
3039
|
+
super(reason.message, {
|
|
3040
|
+
code: "E_INVALID_RESOUREFUL_READ_RELATIONSHIP_REQUEST_EXCEPTION",
|
|
3041
|
+
status: 422,
|
|
3042
|
+
cause: reason.cause
|
|
3043
|
+
});
|
|
3044
|
+
Object.defineProperty(this, "details", {
|
|
3045
|
+
value: reason == null ? void 0 : reason.details,
|
|
3046
|
+
enumerable: true,
|
|
3047
|
+
writable: false,
|
|
3048
|
+
configurable: false
|
|
3049
|
+
});
|
|
3050
|
+
}
|
|
3051
|
+
}
|
|
3052
|
+
__publicField(E_INVALID_RESOUREFUL_READ_RELATIONSHIP_REQUEST_EXCEPTION, "status", 422);
|
|
3053
|
+
__publicField(E_INVALID_RESOUREFUL_READ_RELATIONSHIP_REQUEST_EXCEPTION, "code", "E_INVALID_RESOUREFUL_READ_RELATIONSHIP_REQUEST_EXCEPTION");
|
|
3054
|
+
class E_LUCENE_REGEX_NOT_SUPPORTED extends exports.Exception {
|
|
3055
|
+
constructor() {
|
|
3056
|
+
const msg = `Lucene regex queries are not supported by this database.`;
|
|
3057
|
+
super(msg, {
|
|
3058
|
+
code: "E_LUCENE_REGEX_NOT_SUPPORTED",
|
|
3059
|
+
status: 501
|
|
3060
|
+
});
|
|
3061
|
+
}
|
|
3062
|
+
}
|
|
3063
|
+
__publicField(E_LUCENE_REGEX_NOT_SUPPORTED, "status", 501);
|
|
3064
|
+
__publicField(E_LUCENE_REGEX_NOT_SUPPORTED, "code", "E_LUCENE_REGEX_NOT_SUPPORTED");
|
|
3065
|
+
class E_BULK_UPDATE_SEARCH_UNKNOWN_EXCEPTION extends exports.Exception {
|
|
3066
|
+
constructor() {
|
|
3067
|
+
const msg = `An unknown error occurred during bulk update search operation.`;
|
|
3068
|
+
super(msg, {
|
|
3069
|
+
code: "E_BULK_UPDATE_SEARCH_UNKNOWN_EXCEPTION",
|
|
3070
|
+
status: 500
|
|
3071
|
+
});
|
|
3072
|
+
}
|
|
3073
|
+
}
|
|
3074
|
+
__publicField(E_BULK_UPDATE_SEARCH_UNKNOWN_EXCEPTION, "status", 500);
|
|
3075
|
+
__publicField(E_BULK_UPDATE_SEARCH_UNKNOWN_EXCEPTION, "code", "E_BULK_UPDATE_SEARCH_UNKNOWN_EXCEPTION");
|
|
2956
3076
|
const errors = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2957
3077
|
__proto__: null,
|
|
3078
|
+
E_BULK_UPDATE_SEARCH_UNKNOWN_EXCEPTION,
|
|
2958
3079
|
E_FORBIDDEN,
|
|
2959
3080
|
E_FORBIDDEN_PAYLOAD_EXCEPTION,
|
|
2960
3081
|
E_INVALID_COLUMN_ACCESS,
|
|
@@ -2962,11 +3083,14 @@ const errors = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
|
|
|
2962
3083
|
E_INVALID_LUCENE_QUERY,
|
|
2963
3084
|
E_INVALID_PAYLOAD_EXCEPTION,
|
|
2964
3085
|
E_INVALID_PREPARED_VALUE,
|
|
3086
|
+
E_INVALID_RELATIONSHIP_EXCEPTION,
|
|
2965
3087
|
E_INVALID_RESOURCEFUL_DATA_TYPE_OPTIONS,
|
|
2966
3088
|
E_INVALID_RESOURCEFUL_DECORATOR_OPTIONS,
|
|
2967
3089
|
E_INVALID_RESOURCEFUL_MIXIN_OPTIONS,
|
|
2968
3090
|
E_INVALID_RESOUREFUL_INDEX_REQUEST_EXCEPTION,
|
|
3091
|
+
E_INVALID_RESOUREFUL_READ_RELATIONSHIP_REQUEST_EXCEPTION,
|
|
2969
3092
|
E_LUCENE_INVALID_TYPE,
|
|
3093
|
+
E_LUCENE_REGEX_NOT_SUPPORTED,
|
|
2970
3094
|
E_LUCENE_SYNTAX_EXCEPTION,
|
|
2971
3095
|
E_LUCENE_UNEXPECTED_EXCEPTION,
|
|
2972
3096
|
E_MISSING_PRIMARY_KEY_EXCEPTION,
|
|
@@ -2974,6 +3098,7 @@ const errors = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
|
|
|
2974
3098
|
E_UNCASTABLE,
|
|
2975
3099
|
E_UNEXPECTED_COLUMN_IN_QUERY
|
|
2976
3100
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
3101
|
+
exports.E_BULK_UPDATE_SEARCH_UNKNOWN_EXCEPTION = E_BULK_UPDATE_SEARCH_UNKNOWN_EXCEPTION;
|
|
2977
3102
|
exports.E_FORBIDDEN = E_FORBIDDEN;
|
|
2978
3103
|
exports.E_FORBIDDEN_PAYLOAD_EXCEPTION = E_FORBIDDEN_PAYLOAD_EXCEPTION;
|
|
2979
3104
|
exports.E_INVALID_COLUMN_ACCESS = E_INVALID_COLUMN_ACCESS;
|
|
@@ -2981,11 +3106,14 @@ exports.E_INVALID_CONSUMED_VALUE = E_INVALID_CONSUMED_VALUE;
|
|
|
2981
3106
|
exports.E_INVALID_LUCENE_QUERY = E_INVALID_LUCENE_QUERY;
|
|
2982
3107
|
exports.E_INVALID_PAYLOAD_EXCEPTION = E_INVALID_PAYLOAD_EXCEPTION;
|
|
2983
3108
|
exports.E_INVALID_PREPARED_VALUE = E_INVALID_PREPARED_VALUE;
|
|
3109
|
+
exports.E_INVALID_RELATIONSHIP_EXCEPTION = E_INVALID_RELATIONSHIP_EXCEPTION;
|
|
2984
3110
|
exports.E_INVALID_RESOURCEFUL_DATA_TYPE_OPTIONS = E_INVALID_RESOURCEFUL_DATA_TYPE_OPTIONS;
|
|
2985
3111
|
exports.E_INVALID_RESOURCEFUL_DECORATOR_OPTIONS = E_INVALID_RESOURCEFUL_DECORATOR_OPTIONS;
|
|
2986
3112
|
exports.E_INVALID_RESOURCEFUL_MIXIN_OPTIONS = E_INVALID_RESOURCEFUL_MIXIN_OPTIONS;
|
|
2987
3113
|
exports.E_INVALID_RESOUREFUL_INDEX_REQUEST_EXCEPTION = E_INVALID_RESOUREFUL_INDEX_REQUEST_EXCEPTION;
|
|
3114
|
+
exports.E_INVALID_RESOUREFUL_READ_RELATIONSHIP_REQUEST_EXCEPTION = E_INVALID_RESOUREFUL_READ_RELATIONSHIP_REQUEST_EXCEPTION;
|
|
2988
3115
|
exports.E_LUCENE_INVALID_TYPE = E_LUCENE_INVALID_TYPE;
|
|
3116
|
+
exports.E_LUCENE_REGEX_NOT_SUPPORTED = E_LUCENE_REGEX_NOT_SUPPORTED;
|
|
2989
3117
|
exports.E_LUCENE_SYNTAX_EXCEPTION = E_LUCENE_SYNTAX_EXCEPTION;
|
|
2990
3118
|
exports.E_LUCENE_UNEXPECTED_EXCEPTION = E_LUCENE_UNEXPECTED_EXCEPTION;
|
|
2991
3119
|
exports.E_MISSING_PRIMARY_KEY_EXCEPTION = E_MISSING_PRIMARY_KEY_EXCEPTION;
|
|
@@ -2996,5 +3124,10 @@ exports.createError = createError;
|
|
|
2996
3124
|
exports.defineStaticProperty = defineStaticProperty;
|
|
2997
3125
|
exports.errors = errors;
|
|
2998
3126
|
exports.getDefaultExportFromCjs = getDefaultExportFromCjs;
|
|
3127
|
+
exports.isObject = isObject;
|
|
3128
|
+
exports.isString = isString;
|
|
2999
3129
|
exports.lodash = lodash;
|
|
3000
|
-
|
|
3130
|
+
exports.operationCRUDToACL = operationCRUDToACL;
|
|
3131
|
+
exports.prepareFields = prepareFields;
|
|
3132
|
+
exports.stripUndefinedValuesFromObject = stripUndefinedValuesFromObject;
|
|
3133
|
+
//# sourceMappingURL=errors-CNwuNhBV.cjs.map
|