@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
|
@@ -15,6 +15,71 @@ import "path";
|
|
|
15
15
|
import "fs/promises";
|
|
16
16
|
import { randomUUID, randomBytes } from "crypto";
|
|
17
17
|
import "buffer";
|
|
18
|
+
var CRUDOperationsEnum = /* @__PURE__ */ ((CRUDOperationsEnum2) => {
|
|
19
|
+
CRUDOperationsEnum2["CREATE"] = "create";
|
|
20
|
+
CRUDOperationsEnum2["READ"] = "read";
|
|
21
|
+
CRUDOperationsEnum2["LIST"] = "list";
|
|
22
|
+
CRUDOperationsEnum2["UPDATE"] = "update";
|
|
23
|
+
CRUDOperationsEnum2["DELETE"] = "delete";
|
|
24
|
+
return CRUDOperationsEnum2;
|
|
25
|
+
})(CRUDOperationsEnum || {});
|
|
26
|
+
var ACLOperationsEnum = /* @__PURE__ */ ((ACLOperationsEnum2) => {
|
|
27
|
+
ACLOperationsEnum2["WRITE"] = "write";
|
|
28
|
+
ACLOperationsEnum2["READ"] = "read";
|
|
29
|
+
return ACLOperationsEnum2;
|
|
30
|
+
})(ACLOperationsEnum || {});
|
|
31
|
+
const operationCRUDToACL = (operation) => {
|
|
32
|
+
if (operation === CRUDOperationsEnum.READ || operation === CRUDOperationsEnum.LIST) {
|
|
33
|
+
return ACLOperationsEnum.READ;
|
|
34
|
+
}
|
|
35
|
+
if (operation === CRUDOperationsEnum.CREATE || operation === CRUDOperationsEnum.UPDATE || operation === CRUDOperationsEnum.DELETE) {
|
|
36
|
+
return ACLOperationsEnum.WRITE;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const isString = (value) => {
|
|
40
|
+
return typeof value === "string";
|
|
41
|
+
};
|
|
42
|
+
const isObject = (value) => {
|
|
43
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
44
|
+
};
|
|
45
|
+
const prepareFields = (fields, primaryKey) => {
|
|
46
|
+
const defaultValue = [primaryKey];
|
|
47
|
+
if (Array.isArray(fields)) {
|
|
48
|
+
return fields.length ? fields : defaultValue;
|
|
49
|
+
}
|
|
50
|
+
if (isString(fields)) {
|
|
51
|
+
return fields.length ? [fields] : defaultValue;
|
|
52
|
+
}
|
|
53
|
+
return defaultValue;
|
|
54
|
+
};
|
|
55
|
+
const stripUndefinedValuesFromObject = (obj) => {
|
|
56
|
+
return Object.fromEntries(Object.entries(obj).filter(([_, value]) => value !== void 0));
|
|
57
|
+
};
|
|
58
|
+
const formatSyntaxError = (source, line, column, offset) => {
|
|
59
|
+
const lines = source.split("\n");
|
|
60
|
+
const errorLine = lines[line - 1];
|
|
61
|
+
if (!errorLine) {
|
|
62
|
+
return `Error at line ${line}, column ${column} (offset ${offset})
|
|
63
|
+
Line not found in source.`;
|
|
64
|
+
}
|
|
65
|
+
const indicator = " ".repeat(Math.max(0, column - 1)) + "^";
|
|
66
|
+
let result = `Syntax Error at line ${line}, column ${column} (offset ${offset}):
|
|
67
|
+
|
|
68
|
+
`;
|
|
69
|
+
if (line > 1 && lines[line - 2]) {
|
|
70
|
+
result += `${(line - 1).toString().padStart(3)} | ${lines[line - 2]}
|
|
71
|
+
`;
|
|
72
|
+
}
|
|
73
|
+
result += `${line.toString().padStart(3)} | ${errorLine}
|
|
74
|
+
`;
|
|
75
|
+
result += `${" ".repeat(3)} | ${indicator}
|
|
76
|
+
`;
|
|
77
|
+
if (line < lines.length && lines[line]) {
|
|
78
|
+
result += `${(line + 1).toString().padStart(3)} | ${lines[line]}
|
|
79
|
+
`;
|
|
80
|
+
}
|
|
81
|
+
return result;
|
|
82
|
+
};
|
|
18
83
|
var Exception = class extends Error {
|
|
19
84
|
constructor(message, options) {
|
|
20
85
|
super(message, options);
|
|
@@ -2717,18 +2782,18 @@ class E_INVALID_RESOURCEFUL_MIXIN_OPTIONS extends Exception {
|
|
|
2717
2782
|
__publicField(E_INVALID_RESOURCEFUL_MIXIN_OPTIONS, "status", 500);
|
|
2718
2783
|
__publicField(E_INVALID_RESOURCEFUL_MIXIN_OPTIONS, "code", "E_INVALID_RESOURCEFUL_MIXIN_OPTIONS");
|
|
2719
2784
|
const E_INVALID_PREPARED_VALUE = createError(
|
|
2720
|
-
"E_INVALID_PREPARED_VALUE",
|
|
2721
2785
|
'The value for "%s" is not a valid %s',
|
|
2786
|
+
"E_INVALID_PREPARED_VALUE",
|
|
2722
2787
|
422
|
|
2723
2788
|
);
|
|
2724
2789
|
const E_INVALID_CONSUMED_VALUE = createError(
|
|
2790
|
+
'The value for "%s" (%O) could not be consumed as a valid %s',
|
|
2725
2791
|
"E_INVALID_CONSUMED_VALUE",
|
|
2726
|
-
'The value for "%s" could not be consumed as a valid %s',
|
|
2727
2792
|
500
|
|
2728
2793
|
);
|
|
2729
2794
|
const E_UNCASTABLE = createError(
|
|
2730
|
-
"E_UNCASTABLE",
|
|
2731
2795
|
"The value could not be cast to a valid %s",
|
|
2796
|
+
"E_UNCASTABLE",
|
|
2732
2797
|
500
|
|
2733
2798
|
);
|
|
2734
2799
|
class E_INVALID_RESOURCEFUL_DECORATOR_OPTIONS extends Exception {
|
|
@@ -2821,7 +2886,7 @@ class E_UNEXPECTED_COLUMN_IN_QUERY extends Exception {
|
|
|
2821
2886
|
__publicField(E_UNEXPECTED_COLUMN_IN_QUERY, "status", 400);
|
|
2822
2887
|
__publicField(E_UNEXPECTED_COLUMN_IN_QUERY, "code", "E_UNEXPECTED_COLUMN_IN_QUERY");
|
|
2823
2888
|
class E_LUCENE_SYNTAX_EXCEPTION extends Exception {
|
|
2824
|
-
constructor(original) {
|
|
2889
|
+
constructor(query, original) {
|
|
2825
2890
|
const msg = `${original.message} at line ${original.line}, column ${original.column}, offset ${original.offset}`;
|
|
2826
2891
|
super(msg, {
|
|
2827
2892
|
code: "E_LUCENE_SYNTAX_EXCEPTION",
|
|
@@ -2846,6 +2911,12 @@ class E_LUCENE_SYNTAX_EXCEPTION extends Exception {
|
|
|
2846
2911
|
writable: false,
|
|
2847
2912
|
configurable: false
|
|
2848
2913
|
});
|
|
2914
|
+
Object.defineProperty(this, "details", {
|
|
2915
|
+
value: formatSyntaxError(query, original.line, original.column, original.offset),
|
|
2916
|
+
enumerable: true,
|
|
2917
|
+
writable: false,
|
|
2918
|
+
configurable: false
|
|
2919
|
+
});
|
|
2849
2920
|
}
|
|
2850
2921
|
}
|
|
2851
2922
|
__publicField(E_LUCENE_SYNTAX_EXCEPTION, "status", 422);
|
|
@@ -2952,8 +3023,58 @@ class E_FORBIDDEN_PAYLOAD_EXCEPTION extends Exception {
|
|
|
2952
3023
|
}
|
|
2953
3024
|
__publicField(E_FORBIDDEN_PAYLOAD_EXCEPTION, "status", 403);
|
|
2954
3025
|
__publicField(E_FORBIDDEN_PAYLOAD_EXCEPTION, "code", "E_FORBIDDEN_PAYLOAD_EXCEPTION");
|
|
3026
|
+
class E_INVALID_RELATIONSHIP_EXCEPTION extends Exception {
|
|
3027
|
+
constructor(message) {
|
|
3028
|
+
super(message, {
|
|
3029
|
+
code: "E_INVALID_RELATIONSHIP_EXCEPTION",
|
|
3030
|
+
status: 400
|
|
3031
|
+
});
|
|
3032
|
+
}
|
|
3033
|
+
}
|
|
3034
|
+
__publicField(E_INVALID_RELATIONSHIP_EXCEPTION, "status", 400);
|
|
3035
|
+
__publicField(E_INVALID_RELATIONSHIP_EXCEPTION, "code", "E_INVALID_RELATIONSHIP_EXCEPTION");
|
|
3036
|
+
class E_INVALID_RESOUREFUL_READ_RELATIONSHIP_REQUEST_EXCEPTION extends Exception {
|
|
3037
|
+
constructor(reason) {
|
|
3038
|
+
super(reason.message, {
|
|
3039
|
+
code: "E_INVALID_RESOUREFUL_READ_RELATIONSHIP_REQUEST_EXCEPTION",
|
|
3040
|
+
status: 422,
|
|
3041
|
+
cause: reason.cause
|
|
3042
|
+
});
|
|
3043
|
+
Object.defineProperty(this, "details", {
|
|
3044
|
+
value: reason == null ? void 0 : reason.details,
|
|
3045
|
+
enumerable: true,
|
|
3046
|
+
writable: false,
|
|
3047
|
+
configurable: false
|
|
3048
|
+
});
|
|
3049
|
+
}
|
|
3050
|
+
}
|
|
3051
|
+
__publicField(E_INVALID_RESOUREFUL_READ_RELATIONSHIP_REQUEST_EXCEPTION, "status", 422);
|
|
3052
|
+
__publicField(E_INVALID_RESOUREFUL_READ_RELATIONSHIP_REQUEST_EXCEPTION, "code", "E_INVALID_RESOUREFUL_READ_RELATIONSHIP_REQUEST_EXCEPTION");
|
|
3053
|
+
class E_LUCENE_REGEX_NOT_SUPPORTED extends Exception {
|
|
3054
|
+
constructor() {
|
|
3055
|
+
const msg = `Lucene regex queries are not supported by this database.`;
|
|
3056
|
+
super(msg, {
|
|
3057
|
+
code: "E_LUCENE_REGEX_NOT_SUPPORTED",
|
|
3058
|
+
status: 501
|
|
3059
|
+
});
|
|
3060
|
+
}
|
|
3061
|
+
}
|
|
3062
|
+
__publicField(E_LUCENE_REGEX_NOT_SUPPORTED, "status", 501);
|
|
3063
|
+
__publicField(E_LUCENE_REGEX_NOT_SUPPORTED, "code", "E_LUCENE_REGEX_NOT_SUPPORTED");
|
|
3064
|
+
class E_BULK_UPDATE_SEARCH_UNKNOWN_EXCEPTION extends Exception {
|
|
3065
|
+
constructor() {
|
|
3066
|
+
const msg = `An unknown error occurred during bulk update search operation.`;
|
|
3067
|
+
super(msg, {
|
|
3068
|
+
code: "E_BULK_UPDATE_SEARCH_UNKNOWN_EXCEPTION",
|
|
3069
|
+
status: 500
|
|
3070
|
+
});
|
|
3071
|
+
}
|
|
3072
|
+
}
|
|
3073
|
+
__publicField(E_BULK_UPDATE_SEARCH_UNKNOWN_EXCEPTION, "status", 500);
|
|
3074
|
+
__publicField(E_BULK_UPDATE_SEARCH_UNKNOWN_EXCEPTION, "code", "E_BULK_UPDATE_SEARCH_UNKNOWN_EXCEPTION");
|
|
2955
3075
|
const errors = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2956
3076
|
__proto__: null,
|
|
3077
|
+
E_BULK_UPDATE_SEARCH_UNKNOWN_EXCEPTION,
|
|
2957
3078
|
E_FORBIDDEN,
|
|
2958
3079
|
E_FORBIDDEN_PAYLOAD_EXCEPTION,
|
|
2959
3080
|
E_INVALID_COLUMN_ACCESS,
|
|
@@ -2961,11 +3082,14 @@ const errors = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
|
|
|
2961
3082
|
E_INVALID_LUCENE_QUERY,
|
|
2962
3083
|
E_INVALID_PAYLOAD_EXCEPTION,
|
|
2963
3084
|
E_INVALID_PREPARED_VALUE,
|
|
3085
|
+
E_INVALID_RELATIONSHIP_EXCEPTION,
|
|
2964
3086
|
E_INVALID_RESOURCEFUL_DATA_TYPE_OPTIONS,
|
|
2965
3087
|
E_INVALID_RESOURCEFUL_DECORATOR_OPTIONS,
|
|
2966
3088
|
E_INVALID_RESOURCEFUL_MIXIN_OPTIONS,
|
|
2967
3089
|
E_INVALID_RESOUREFUL_INDEX_REQUEST_EXCEPTION,
|
|
3090
|
+
E_INVALID_RESOUREFUL_READ_RELATIONSHIP_REQUEST_EXCEPTION,
|
|
2968
3091
|
E_LUCENE_INVALID_TYPE,
|
|
3092
|
+
E_LUCENE_REGEX_NOT_SUPPORTED,
|
|
2969
3093
|
E_LUCENE_SYNTAX_EXCEPTION,
|
|
2970
3094
|
E_LUCENE_UNEXPECTED_EXCEPTION,
|
|
2971
3095
|
E_MISSING_PRIMARY_KEY_EXCEPTION,
|
|
@@ -2974,31 +3098,42 @@ const errors = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
|
|
|
2974
3098
|
E_UNEXPECTED_COLUMN_IN_QUERY
|
|
2975
3099
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
2976
3100
|
export {
|
|
3101
|
+
ACLOperationsEnum as A,
|
|
3102
|
+
commonjsGlobal as B,
|
|
3103
|
+
CRUDOperationsEnum as C,
|
|
3104
|
+
index_default as D,
|
|
2977
3105
|
E_INVALID_RESOURCEFUL_DATA_TYPE_OPTIONS as E,
|
|
3106
|
+
defineStaticProperty as F,
|
|
3107
|
+
lodash as G,
|
|
3108
|
+
E_INVALID_RESOURCEFUL_DECORATOR_OPTIONS as H,
|
|
3109
|
+
errors as I,
|
|
3110
|
+
E_INVALID_LUCENE_QUERY as J,
|
|
3111
|
+
E_UNEXPECTED_COLUMN_IN_QUERY as K,
|
|
2978
3112
|
E_UNCASTABLE as a,
|
|
2979
3113
|
E_INVALID_PREPARED_VALUE as b,
|
|
2980
3114
|
E_INVALID_CONSUMED_VALUE as c,
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
2984
|
-
|
|
2985
|
-
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
|
|
2991
|
-
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
|
|
2995
|
-
|
|
2996
|
-
|
|
2997
|
-
|
|
2998
|
-
|
|
2999
|
-
|
|
3000
|
-
|
|
3001
|
-
|
|
3002
|
-
|
|
3115
|
+
E_LUCENE_INVALID_TYPE as d,
|
|
3116
|
+
E_LUCENE_REGEX_NOT_SUPPORTED as e,
|
|
3117
|
+
E_LUCENE_SYNTAX_EXCEPTION as f,
|
|
3118
|
+
E_LUCENE_UNEXPECTED_EXCEPTION as g,
|
|
3119
|
+
isObject as h,
|
|
3120
|
+
isString as i,
|
|
3121
|
+
E_INVALID_RESOURCEFUL_MIXIN_OPTIONS as j,
|
|
3122
|
+
E_MISSING_PRIMARY_KEY_EXCEPTION as k,
|
|
3123
|
+
E_FORBIDDEN as l,
|
|
3124
|
+
E_INVALID_COLUMN_ACCESS as m,
|
|
3125
|
+
E_INVALID_RESOUREFUL_INDEX_REQUEST_EXCEPTION as n,
|
|
3126
|
+
operationCRUDToACL as o,
|
|
3127
|
+
prepareFields as p,
|
|
3128
|
+
E_RECORD_NOT_FOUND_EXCEPTION as q,
|
|
3129
|
+
E_INVALID_RELATIONSHIP_EXCEPTION as r,
|
|
3130
|
+
stripUndefinedValuesFromObject as s,
|
|
3131
|
+
E_INVALID_RESOUREFUL_READ_RELATIONSHIP_REQUEST_EXCEPTION as t,
|
|
3132
|
+
E_INVALID_PAYLOAD_EXCEPTION as u,
|
|
3133
|
+
E_FORBIDDEN_PAYLOAD_EXCEPTION as v,
|
|
3134
|
+
E_BULK_UPDATE_SEARCH_UNKNOWN_EXCEPTION as w,
|
|
3135
|
+
createError as x,
|
|
3136
|
+
Exception as y,
|
|
3137
|
+
getDefaultExportFromCjs as z
|
|
3003
3138
|
};
|
|
3004
|
-
//# sourceMappingURL=errors-
|
|
3139
|
+
//# sourceMappingURL=errors-C-x5_jRE.js.map
|