@nhtio/lucid-resourceful 0.1.0-master-1570171e → 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.
Files changed (47) hide show
  1. package/{definitions-DgI468dW.cjs → data_type_schemas-BqeljaQB.cjs} +21 -177
  2. package/data_type_schemas-BqeljaQB.cjs.map +1 -0
  3. package/data_type_schemas-Cpco9Zba.js +225 -0
  4. package/data_type_schemas-Cpco9Zba.js.map +1 -0
  5. package/{decorator_utils-U_rZo8tv.cjs → decorator_utils-DSvYjLYD.cjs} +204 -60
  6. package/decorator_utils-DSvYjLYD.cjs.map +1 -0
  7. package/{decorator_utils-YSb1EGJ6.js → decorator_utils-gyymixlk.js} +207 -65
  8. package/decorator_utils-gyymixlk.js.map +1 -0
  9. package/definitions-DcB6B_4d.js +174 -0
  10. package/definitions-DcB6B_4d.js.map +1 -0
  11. package/definitions-DjQRkCeH.cjs +173 -0
  12. package/definitions-DjQRkCeH.cjs.map +1 -0
  13. package/definitions.cjs +1 -1
  14. package/definitions.mjs +11 -11
  15. package/{errors-B1rr67uM.js → errors-C-x5_jRE.js} +162 -27
  16. package/errors-C-x5_jRE.js.map +1 -0
  17. package/{errors-D8jb9VxY.cjs → errors-CNwuNhBV.cjs} +138 -5
  18. package/errors-CNwuNhBV.cjs.map +1 -0
  19. package/errors.cjs +5 -1
  20. package/errors.cjs.map +1 -1
  21. package/errors.d.ts +24 -2
  22. package/errors.mjs +19 -15
  23. package/index.cjs +1471 -771
  24. package/index.cjs.map +1 -1
  25. package/index.mjs +1716 -1016
  26. package/index.mjs.map +1 -1
  27. package/joi.cjs +1854 -3368
  28. package/joi.cjs.map +1 -1
  29. package/joi.mjs +1857 -3371
  30. package/joi.mjs.map +1 -1
  31. package/package.json +1 -1
  32. package/private/decorators.d.ts +8 -8
  33. package/private/lucene_to_lucid_translator.d.ts +21 -175
  34. package/private/mixin.d.ts +68 -5
  35. package/private/services/open_api_schema_service.d.ts +111 -0
  36. package/private/type_guards.d.ts +62 -0
  37. package/private/types.d.ts +1 -1
  38. package/private/utils.d.ts +24 -0
  39. package/utils.cjs +1 -1
  40. package/utils.mjs +2 -2
  41. package/decorator_utils-U_rZo8tv.cjs.map +0 -1
  42. package/decorator_utils-YSb1EGJ6.js.map +0 -1
  43. package/definitions-B88XBTUF.js +0 -381
  44. package/definitions-B88XBTUF.js.map +0 -1
  45. package/definitions-DgI468dW.cjs.map +0 -1
  46. package/errors-B1rr67uM.js.map +0 -1
  47. 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
- //# sourceMappingURL=errors-D8jb9VxY.cjs.map
3130
+ exports.operationCRUDToACL = operationCRUDToACL;
3131
+ exports.prepareFields = prepareFields;
3132
+ exports.stripUndefinedValuesFromObject = stripUndefinedValuesFromObject;
3133
+ //# sourceMappingURL=errors-CNwuNhBV.cjs.map