@autofleet/sadot 1.6.18-beta.9 → 1.6.19
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/_virtual/_@oxc-project_runtime@0.103.0/helpers/decorate.cjs +1 -11
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/decorate.js +1 -10
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/decorateMetadata.cjs +1 -8
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/decorateMetadata.js +1 -7
- package/dist/_virtual/rolldown_runtime.cjs +1 -43
- package/dist/_virtual/rolldown_runtime.js +1 -21
- package/dist/api/index.cjs +2 -12
- package/dist/api/index.cjs.map +1 -0
- package/dist/api/index.js +2 -11
- package/dist/api/index.js.map +1 -0
- package/dist/api/v1/definition/index.cjs +2 -113
- package/dist/api/v1/definition/index.cjs.map +1 -0
- package/dist/api/v1/definition/index.js +2 -112
- package/dist/api/v1/definition/index.js.map +1 -0
- package/dist/api/v1/definition/validations.cjs +2 -128
- package/dist/api/v1/definition/validations.cjs.map +1 -0
- package/dist/api/v1/definition/validations.js +2 -125
- package/dist/api/v1/definition/validations.js.map +1 -0
- package/dist/api/v1/errors.cjs +2 -14
- package/dist/api/v1/errors.cjs.map +1 -0
- package/dist/api/v1/errors.js +2 -13
- package/dist/api/v1/errors.js.map +1 -0
- package/dist/api/v1/index.cjs +2 -16
- package/dist/api/v1/index.cjs.map +1 -0
- package/dist/api/v1/index.js +2 -15
- package/dist/api/v1/index.js.map +1 -0
- package/dist/api/v1/validator/index.cjs +2 -115
- package/dist/api/v1/validator/index.cjs.map +1 -0
- package/dist/api/v1/validator/index.js +2 -114
- package/dist/api/v1/validator/index.js.map +1 -0
- package/dist/api/v1/validator/validations.cjs +2 -40
- package/dist/api/v1/validator/validations.cjs.map +1 -0
- package/dist/api/v1/validator/validations.d.cts +2 -1
- package/dist/api/v1/validator/validations.d.ts +2 -1
- package/dist/api/v1/validator/validations.js +2 -38
- package/dist/api/v1/validator/validations.js.map +1 -0
- package/dist/errors/index.cjs +3 -62
- package/dist/errors/index.cjs.map +1 -0
- package/dist/errors/index.js +3 -55
- package/dist/errors/index.js.map +1 -0
- package/dist/events/index.cjs +2 -52
- package/dist/events/index.cjs.map +1 -0
- package/dist/events/index.js +2 -50
- package/dist/events/index.js.map +1 -0
- package/dist/hooks/enrich.cjs +2 -175
- package/dist/hooks/enrich.cjs.map +1 -0
- package/dist/hooks/enrich.js +2 -175
- package/dist/hooks/enrich.js.map +1 -0
- package/dist/hooks/find.cjs +2 -22
- package/dist/hooks/find.cjs.map +1 -0
- package/dist/hooks/find.js +2 -22
- package/dist/hooks/find.js.map +1 -0
- package/dist/hooks/hooks.cjs +2 -310
- package/dist/hooks/hooks.cjs.map +1 -0
- package/dist/hooks/hooks.js +2 -302
- package/dist/hooks/hooks.js.map +1 -0
- package/dist/hooks/index.cjs +1 -3
- package/dist/hooks/index.js +1 -5
- package/dist/hooks/utils/updateInstanceValues.cjs +2 -27
- package/dist/hooks/utils/updateInstanceValues.cjs.map +1 -0
- package/dist/hooks/utils/updateInstanceValues.js +2 -27
- package/dist/hooks/utils/updateInstanceValues.js.map +1 -0
- package/dist/index.cjs +2 -83
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +2 -3
- package/dist/index.js +2 -62
- package/dist/index.js.map +1 -0
- package/dist/init-state.cjs +2 -56
- package/dist/init-state.cjs.map +1 -0
- package/dist/init-state.d.cts +2 -1
- package/dist/init-state.d.ts +2 -1
- package/dist/init-state.js +2 -55
- package/dist/init-state.js.map +1 -0
- package/dist/mat-path-state.cjs +2 -10
- package/dist/mat-path-state.cjs.map +1 -0
- package/dist/mat-path-state.js +2 -9
- package/dist/mat-path-state.js.map +1 -0
- package/dist/migrations/001-create-core-tables.cjs +7 -25
- package/dist/migrations/001-create-core-tables.cjs.map +1 -0
- package/dist/migrations/001-create-core-tables.js +7 -23
- package/dist/migrations/001-create-core-tables.js.map +1 -0
- package/dist/migrations/002-create-custom-field-entries.cjs +4 -16
- package/dist/migrations/002-create-custom-field-entries.cjs.map +1 -0
- package/dist/migrations/002-create-custom-field-entries.js +4 -14
- package/dist/migrations/002-create-custom-field-entries.js.map +1 -0
- package/dist/migrations/003-create-custom-field-model-type-map.cjs +6 -20
- package/dist/migrations/003-create-custom-field-model-type-map.cjs.map +1 -0
- package/dist/migrations/003-create-custom-field-model-type-map.js +6 -18
- package/dist/migrations/003-create-custom-field-model-type-map.js.map +1 -0
- package/dist/migrations/index.cjs +2 -94
- package/dist/migrations/index.cjs.map +1 -0
- package/dist/migrations/index.js +2 -95
- package/dist/migrations/index.js.map +1 -0
- package/dist/models/CustomFieldDefinition.cjs +2 -147
- package/dist/models/CustomFieldDefinition.cjs.map +1 -0
- package/dist/models/CustomFieldDefinition.d.cts +2 -1
- package/dist/models/CustomFieldDefinition.d.ts +2 -1
- package/dist/models/CustomFieldDefinition.js +2 -146
- package/dist/models/CustomFieldDefinition.js.map +1 -0
- package/dist/models/CustomFieldEntries.cjs +2 -71
- package/dist/models/CustomFieldEntries.cjs.map +1 -0
- package/dist/models/CustomFieldEntries.d.cts +2 -1
- package/dist/models/CustomFieldEntries.d.ts +2 -1
- package/dist/models/CustomFieldEntries.js +2 -70
- package/dist/models/CustomFieldEntries.js.map +1 -0
- package/dist/models/CustomFieldModelTypeMap.cjs +2 -62
- package/dist/models/CustomFieldModelTypeMap.cjs.map +1 -0
- package/dist/models/CustomFieldModelTypeMap.d.cts +2 -1
- package/dist/models/CustomFieldModelTypeMap.d.ts +2 -1
- package/dist/models/CustomFieldModelTypeMap.js +2 -61
- package/dist/models/CustomFieldModelTypeMap.js.map +1 -0
- package/dist/models/CustomFieldValue.cjs +2 -109
- package/dist/models/CustomFieldValue.cjs.map +1 -0
- package/dist/models/CustomFieldValue.d.cts +2 -1
- package/dist/models/CustomFieldValue.d.ts +2 -1
- package/dist/models/CustomFieldValue.js +2 -108
- package/dist/models/CustomFieldValue.js.map +1 -0
- package/dist/models/CustomValidator.cjs +2 -68
- package/dist/models/CustomValidator.cjs.map +1 -0
- package/dist/models/CustomValidator.d.cts +2 -1
- package/dist/models/CustomValidator.d.ts +2 -1
- package/dist/models/CustomValidator.js +2 -67
- package/dist/models/CustomValidator.js.map +1 -0
- package/dist/models/index.cjs +2 -163
- package/dist/models/index.cjs.map +1 -0
- package/dist/models/index.d.cts +7 -0
- package/dist/models/index.js +2 -161
- package/dist/models/index.js.map +1 -0
- package/dist/models/tests/AssociatedTestModel.cjs +2 -51
- package/dist/models/tests/AssociatedTestModel.cjs.map +1 -0
- package/dist/models/tests/AssociatedTestModel.js +2 -50
- package/dist/models/tests/AssociatedTestModel.js.map +1 -0
- package/dist/models/tests/TestModel.cjs +2 -43
- package/dist/models/tests/TestModel.cjs.map +1 -0
- package/dist/models/tests/TestModel.js +2 -42
- package/dist/models/tests/TestModel.js.map +1 -0
- package/dist/models/tests/contextAwareModels/ContextAwareTestModel.cjs +2 -35
- package/dist/models/tests/contextAwareModels/ContextAwareTestModel.cjs.map +1 -0
- package/dist/models/tests/contextAwareModels/ContextAwareTestModel.js +2 -34
- package/dist/models/tests/contextAwareModels/ContextAwareTestModel.js.map +1 -0
- package/dist/models/tests/contextAwareModels/ContextTestModel.cjs +2 -33
- package/dist/models/tests/contextAwareModels/ContextTestModel.cjs.map +1 -0
- package/dist/models/tests/contextAwareModels/ContextTestModel.js +2 -32
- package/dist/models/tests/contextAwareModels/ContextTestModel.js.map +1 -0
- package/dist/repository/definition.cjs +2 -221
- package/dist/repository/definition.cjs.map +1 -0
- package/dist/repository/definition.js +2 -212
- package/dist/repository/definition.js.map +1 -0
- package/dist/repository/entries.cjs +2 -69
- package/dist/repository/entries.cjs.map +1 -0
- package/dist/repository/entries.js +2 -67
- package/dist/repository/entries.js.map +1 -0
- package/dist/repository/utils/formatValues.cjs +2 -14
- package/dist/repository/utils/formatValues.cjs.map +1 -0
- package/dist/repository/utils/formatValues.js +2 -14
- package/dist/repository/utils/formatValues.js.map +1 -0
- package/dist/repository/validator.cjs +2 -58
- package/dist/repository/validator.cjs.map +1 -0
- package/dist/repository/validator.js +2 -54
- package/dist/repository/validator.js.map +1 -0
- package/dist/repository/value.cjs +2 -77
- package/dist/repository/value.cjs.map +1 -0
- package/dist/repository/value.js +2 -76
- package/dist/repository/value.js.map +1 -0
- package/dist/scopes/filter.cjs +2 -56
- package/dist/scopes/filter.cjs.map +1 -0
- package/dist/scopes/filter.d.cts +2 -1
- package/dist/scopes/filter.d.ts +2 -1
- package/dist/scopes/filter.js +2 -54
- package/dist/scopes/filter.js.map +1 -0
- package/dist/scopes/helpers/filter.helpers.cjs +25 -131
- package/dist/scopes/helpers/filter.helpers.cjs.map +1 -0
- package/dist/scopes/helpers/filter.helpers.d.cts +2 -1
- package/dist/scopes/helpers/filter.helpers.d.ts +2 -1
- package/dist/scopes/helpers/filter.helpers.js +25 -126
- package/dist/scopes/helpers/filter.helpers.js.map +1 -0
- package/dist/scopes/index.cjs +1 -1
- package/dist/scopes/index.js +1 -3
- package/dist/types/index.d.cts +4 -2
- package/dist/types/index.d.ts +4 -2
- package/dist/utils/constants/index.cjs +2 -32
- package/dist/utils/constants/index.cjs.map +1 -0
- package/dist/utils/constants/index.d.cts +2 -1
- package/dist/utils/constants/index.d.ts +2 -1
- package/dist/utils/constants/index.js +2 -29
- package/dist/utils/constants/index.js.map +1 -0
- package/dist/utils/db/index.cjs +2 -15
- package/dist/utils/db/index.cjs.map +1 -0
- package/dist/utils/db/index.js +2 -14
- package/dist/utils/db/index.js.map +1 -0
- package/dist/utils/helpers/index.cjs +2 -23
- package/dist/utils/helpers/index.cjs.map +1 -0
- package/dist/utils/helpers/index.d.cts +2 -1
- package/dist/utils/helpers/index.d.ts +2 -1
- package/dist/utils/helpers/index.js +2 -21
- package/dist/utils/helpers/index.js.map +1 -0
- package/dist/utils/init.cjs +2 -115
- package/dist/utils/init.cjs.map +1 -0
- package/dist/utils/init.js +2 -111
- package/dist/utils/init.js.map +1 -0
- package/dist/utils/logger/index.cjs +2 -15
- package/dist/utils/logger/index.cjs.map +1 -0
- package/dist/utils/logger/index.js +2 -12
- package/dist/utils/logger/index.js.map +1 -0
- package/dist/utils/scopeAttributes.cjs +2 -12
- package/dist/utils/scopeAttributes.cjs.map +1 -0
- package/dist/utils/scopeAttributes.js +2 -11
- package/dist/utils/scopeAttributes.js.map +1 -0
- package/dist/utils/validations/index.cjs +2 -34
- package/dist/utils/validations/index.cjs.map +1 -0
- package/dist/utils/validations/index.js +2 -32
- package/dist/utils/validations/index.js.map +1 -0
- package/dist/utils/validations/schema/custom-fields.cjs +2 -9
- package/dist/utils/validations/schema/custom-fields.cjs.map +1 -0
- package/dist/utils/validations/schema/custom-fields.d.cts +2 -1
- package/dist/utils/validations/schema/custom-fields.d.ts +2 -1
- package/dist/utils/validations/schema/custom-fields.js +2 -7
- package/dist/utils/validations/schema/custom-fields.js.map +1 -0
- package/dist/utils/validations/schema/validator-schema.cjs +2 -102
- package/dist/utils/validations/schema/validator-schema.cjs.map +1 -0
- package/dist/utils/validations/schema/validator-schema.js +2 -99
- package/dist/utils/validations/schema/validator-schema.js.map +1 -0
- package/dist/utils/validations/validators/index.cjs +2 -45
- package/dist/utils/validations/validators/index.cjs.map +1 -0
- package/dist/utils/validations/validators/index.js +2 -42
- package/dist/utils/validations/validators/index.js.map +1 -0
- package/dist/utils/validations/validators/multi-select-dropdown.validator.cjs +2 -7
- package/dist/utils/validations/validators/multi-select-dropdown.validator.cjs.map +1 -0
- package/dist/utils/validations/validators/multi-select-dropdown.validator.js +2 -7
- package/dist/utils/validations/validators/multi-select-dropdown.validator.js.map +1 -0
- package/dist/utils/validations/validators/multi-select-status.validator.cjs +2 -10
- package/dist/utils/validations/validators/multi-select-status.validator.cjs.map +1 -0
- package/dist/utils/validations/validators/multi-select-status.validator.js +2 -10
- package/dist/utils/validations/validators/multi-select-status.validator.js.map +1 -0
- package/dist/utils/validations/validators/multi-select.helpers.cjs +2 -12
- package/dist/utils/validations/validators/multi-select.helpers.cjs.map +1 -0
- package/dist/utils/validations/validators/multi-select.helpers.js +2 -10
- package/dist/utils/validations/validators/multi-select.helpers.js.map +1 -0
- package/dist/utils/validations/validators/select.validator.cjs +2 -12
- package/dist/utils/validations/validators/select.validator.cjs.map +1 -0
- package/dist/utils/validations/validators/select.validator.js +2 -10
- package/dist/utils/validations/validators/select.validator.js.map +1 -0
- package/dist/utils/validations/validators/status.validator.cjs +2 -12
- package/dist/utils/validations/validators/status.validator.cjs.map +1 -0
- package/dist/utils/validations/validators/status.validator.js +2 -10
- package/dist/utils/validations/validators/status.validator.js.map +1 -0
- package/package.json +23 -23
- package/dist/api/v1/field-policies/index.cjs +0 -86
- package/dist/api/v1/field-policies/index.js +0 -85
- package/dist/migrations/004-create-field-policy-tables.cjs +0 -29
- package/dist/migrations/004-create-field-policy-tables.js +0 -27
- package/dist/migrations/005-add-entity-type-to-field-policies.cjs +0 -20
- package/dist/migrations/005-add-entity-type-to-field-policies.js +0 -18
- package/dist/models/FieldPolicy.cjs +0 -54
- package/dist/models/FieldPolicy.d.cts +0 -25
- package/dist/models/FieldPolicy.d.ts +0 -25
- package/dist/models/FieldPolicy.js +0 -53
- package/dist/repository/field-policy.cjs +0 -47
- package/dist/repository/field-policy.d.cts +0 -34
- package/dist/repository/field-policy.d.ts +0 -34
- package/dist/repository/field-policy.js +0 -38
|
@@ -1,11 +1 @@
|
|
|
1
|
-
|
|
2
|
-
//#region \0@oxc-project+runtime@0.103.0/helpers/decorate.js
|
|
3
|
-
function __decorate(decorators, target, key, desc) {
|
|
4
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
5
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
6
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
7
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
//#endregion
|
|
11
|
-
exports.__decorate = __decorate;
|
|
1
|
+
function e(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}exports.__decorate=e;
|
|
@@ -1,10 +1 @@
|
|
|
1
|
-
|
|
2
|
-
function __decorate(decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
//#endregion
|
|
10
|
-
export { __decorate };
|
|
1
|
+
function e(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}export{e as __decorate};
|
|
@@ -1,8 +1 @@
|
|
|
1
|
-
|
|
2
|
-
//#region \0@oxc-project+runtime@0.103.0/helpers/decorateMetadata.js
|
|
3
|
-
function __decorateMetadata(k, v) {
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
//#endregion
|
|
8
|
-
exports.__decorateMetadata = __decorateMetadata;
|
|
1
|
+
function e(e,t){if(typeof Reflect==`object`&&typeof Reflect.metadata==`function`)return Reflect.metadata(e,t)}exports.__decorateMetadata=e;
|
|
@@ -1,7 +1 @@
|
|
|
1
|
-
|
|
2
|
-
function __decorateMetadata(k, v) {
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
//#endregion
|
|
7
|
-
export { __decorateMetadata };
|
|
1
|
+
function e(e,t){if(typeof Reflect==`object`&&typeof Reflect.metadata==`function`)return Reflect.metadata(e,t)}export{e as __decorateMetadata};
|
|
@@ -1,43 +1 @@
|
|
|
1
|
-
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (all, symbols) => {
|
|
9
|
-
let target = {};
|
|
10
|
-
for (var name in all) {
|
|
11
|
-
__defProp(target, name, {
|
|
12
|
-
get: all[name],
|
|
13
|
-
enumerable: true
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
if (symbols) {
|
|
17
|
-
__defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
18
|
-
}
|
|
19
|
-
return target;
|
|
20
|
-
};
|
|
21
|
-
var __copyProps = (to, from, except, desc) => {
|
|
22
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
23
|
-
for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
24
|
-
key = keys[i];
|
|
25
|
-
if (!__hasOwnProp.call(to, key) && key !== except) {
|
|
26
|
-
__defProp(to, key, {
|
|
27
|
-
get: ((k) => from[k]).bind(null, key),
|
|
28
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return to;
|
|
34
|
-
};
|
|
35
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
36
|
-
value: mod,
|
|
37
|
-
enumerable: true
|
|
38
|
-
}) : target, mod));
|
|
39
|
-
|
|
40
|
-
//#endregion
|
|
41
|
-
|
|
42
|
-
exports.__export = __export;
|
|
43
|
-
exports.__toESM = __toESM;
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));exports.__toESM=s;
|
|
@@ -1,21 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
//#region rolldown:runtime
|
|
4
|
-
var __defProp = Object.defineProperty;
|
|
5
|
-
var __export = (all, symbols) => {
|
|
6
|
-
let target = {};
|
|
7
|
-
for (var name in all) {
|
|
8
|
-
__defProp(target, name, {
|
|
9
|
-
get: all[name],
|
|
10
|
-
enumerable: true
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
if (symbols) {
|
|
14
|
-
__defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
15
|
-
}
|
|
16
|
-
return target;
|
|
17
|
-
};
|
|
18
|
-
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
19
|
-
|
|
20
|
-
//#endregion
|
|
21
|
-
export { __export, __require };
|
|
1
|
+
import{createRequire as e}from"node:module";var t=e(import.meta.url);export{t as __require};
|
package/dist/api/index.cjs
CHANGED
|
@@ -1,12 +1,2 @@
|
|
|
1
|
-
const
|
|
2
|
-
|
|
3
|
-
const require_index$1 = require('./v1/index.cjs');
|
|
4
|
-
let _autofleet_node_common = require("@autofleet/node-common");
|
|
5
|
-
|
|
6
|
-
//#region src/api/index.ts
|
|
7
|
-
const router = (0, _autofleet_node_common.Router)({ logger: require_index.default });
|
|
8
|
-
router.use("/v1", require_index$1.default);
|
|
9
|
-
var api_default = router;
|
|
10
|
-
|
|
11
|
-
//#endregion
|
|
12
|
-
exports.default = api_default;
|
|
1
|
+
const e=require(`../_virtual/rolldown_runtime.cjs`),t=require(`../utils/logger/index.cjs`),n=require(`./v1/index.cjs`);let r=require(`@autofleet/node-common`);const i=(0,r.Router)({logger:t.default});i.use(`/v1`,n.default);var a=i;exports.default=a;
|
|
2
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["router: ReturnType<typeof Router>","v1"],"sources":["../../src/api/index.ts"],"sourcesContent":["// export the api object\nimport { Router } from '@autofleet/node-common';\nimport v1 from './v1';\nimport logger from '../utils/logger';\n\nconst router: ReturnType<typeof Router> = Router({ logger });\n\nrouter.use('/v1', v1);\n\nexport default router;\n"],"mappings":"+JAKA,MAAMA,GAAAA,EAAAA,EAAAA,QAA2C,CAAE,OAAA,EAAA,QAAQ,CAAC,CAE5D,EAAO,IAAI,MAAOC,EAAAA,QAAG,CAErB,IAAA,EAAe"}
|
package/dist/api/index.js
CHANGED
|
@@ -1,11 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { Router } from "@autofleet/node-common";
|
|
4
|
-
|
|
5
|
-
//#region src/api/index.ts
|
|
6
|
-
const router = Router({ logger: logger_default });
|
|
7
|
-
router.use("/v1", v1_default);
|
|
8
|
-
var api_default = router;
|
|
9
|
-
|
|
10
|
-
//#endregion
|
|
11
|
-
export { api_default as default };
|
|
1
|
+
import e from"../utils/logger/index.js";import t from"./v1/index.js";import{Router as n}from"@autofleet/node-common";const r=n({logger:e});r.use(`/v1`,t);var i=r;export{i as default};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["router: ReturnType<typeof Router>","v1"],"sources":["../../src/api/index.ts"],"sourcesContent":["// export the api object\nimport { Router } from '@autofleet/node-common';\nimport v1 from './v1';\nimport logger from '../utils/logger';\n\nconst router: ReturnType<typeof Router> = Router({ logger });\n\nrouter.use('/v1', v1);\n\nexport default router;\n"],"mappings":"qHAKA,MAAMA,EAAoC,EAAO,CAAE,OAAA,EAAQ,CAAC,CAE5D,EAAO,IAAI,MAAOC,EAAG,CAErB,IAAA,EAAe"}
|
|
@@ -1,113 +1,2 @@
|
|
|
1
|
-
const
|
|
2
|
-
|
|
3
|
-
const require_definition = require('../../../repository/definition.cjs');
|
|
4
|
-
const require_errors = require('../errors.cjs');
|
|
5
|
-
const require_validations = require('./validations.cjs');
|
|
6
|
-
const require_mat_path_state = require('../../../mat-path-state.cjs');
|
|
7
|
-
let _autofleet_errors = require("@autofleet/errors");
|
|
8
|
-
let _autofleet_node_common = require("@autofleet/node-common");
|
|
9
|
-
|
|
10
|
-
//#region src/api/v1/definition/index.ts
|
|
11
|
-
const router = (0, _autofleet_node_common.Router)({ logger: require_index.default });
|
|
12
|
-
const ENTITY = "CustomFieldDefinition";
|
|
13
|
-
const toPascalCase = (str) => str.replace(/(^\w|-\w)/g, (subStr) => subStr.replace(/-/, "").toUpperCase());
|
|
14
|
-
/**
|
|
15
|
-
* Create
|
|
16
|
-
*/
|
|
17
|
-
router.post("/", async (req, res) => {
|
|
18
|
-
const { modelName } = req.params;
|
|
19
|
-
const modelType = toPascalCase(modelName);
|
|
20
|
-
try {
|
|
21
|
-
const validatedPayload = await require_validations.validateCustomFieldDefinitionCreation(req.body);
|
|
22
|
-
const customFieldDefinition = await require_definition.create({
|
|
23
|
-
...validatedPayload,
|
|
24
|
-
modelType
|
|
25
|
-
});
|
|
26
|
-
return res.status(201).json(customFieldDefinition);
|
|
27
|
-
} catch (err) {
|
|
28
|
-
require_index.default.error("Failed to create custom field definition", err);
|
|
29
|
-
return require_errors.default(err, res, {
|
|
30
|
-
logger: require_index.default,
|
|
31
|
-
message: `Error in create ${ENTITY} request`
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
/**
|
|
36
|
-
* Get by id
|
|
37
|
-
*/
|
|
38
|
-
router.get("/:customFieldDefinitionId", async (req, res) => {
|
|
39
|
-
const { customFieldDefinitionId } = req.params;
|
|
40
|
-
try {
|
|
41
|
-
const customFieldDefinition = await require_definition.findById(customFieldDefinitionId);
|
|
42
|
-
if (!customFieldDefinition) throw new _autofleet_errors.ResourceNotFoundError();
|
|
43
|
-
return res.json(customFieldDefinition);
|
|
44
|
-
} catch (err) {
|
|
45
|
-
require_index.default.error("Failed to fetch custom field definition", err);
|
|
46
|
-
return require_errors.default(err, res, {
|
|
47
|
-
logger: require_index.default,
|
|
48
|
-
message: `Error in get ${ENTITY} request`
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
/**
|
|
53
|
-
* Get all
|
|
54
|
-
*/
|
|
55
|
-
router.get("/", async (req, res) => {
|
|
56
|
-
const { params: { modelName }, query: { entityIds, modelTypeId } } = req;
|
|
57
|
-
const modelType = toPascalCase(modelName);
|
|
58
|
-
try {
|
|
59
|
-
const applyEntityIdsFilter = !require_mat_path_state.matPathState.isMatPathEnabled?.() && entityIds && entityIds.length > 0;
|
|
60
|
-
if (modelTypeId) {
|
|
61
|
-
const customFieldDefinitions$1 = await require_definition.findByModelTypeId(modelTypeId, {
|
|
62
|
-
withDisabled: true,
|
|
63
|
-
modelType,
|
|
64
|
-
entityIds: applyEntityIdsFilter ? entityIds : void 0
|
|
65
|
-
});
|
|
66
|
-
return res.json(customFieldDefinitions$1);
|
|
67
|
-
}
|
|
68
|
-
const where = {
|
|
69
|
-
modelType,
|
|
70
|
-
...applyEntityIdsFilter && { entityId: entityIds }
|
|
71
|
-
};
|
|
72
|
-
const customFieldDefinitions = await require_definition.findAll(where, {
|
|
73
|
-
withDisabled: true,
|
|
74
|
-
enrichWithModelTypeIds: true
|
|
75
|
-
});
|
|
76
|
-
return res.json(customFieldDefinitions);
|
|
77
|
-
} catch (err) {
|
|
78
|
-
require_index.default.error("Failed to fetch custom field definitions", err);
|
|
79
|
-
return require_errors.default(err, res, {
|
|
80
|
-
logger: require_index.default,
|
|
81
|
-
message: `Error in get all ${ENTITY} request`
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
/**
|
|
86
|
-
* Update
|
|
87
|
-
*/
|
|
88
|
-
router.patch("/:customFieldDefinitionId", async (req, res) => {
|
|
89
|
-
const { customFieldDefinitionId, modelName } = req.params;
|
|
90
|
-
const modelType = toPascalCase(modelName);
|
|
91
|
-
try {
|
|
92
|
-
const validatedPayload = await require_validations.validateCustomFieldDefinitionUpdate(req.body);
|
|
93
|
-
if (!await require_definition.findByWhere({
|
|
94
|
-
id: customFieldDefinitionId,
|
|
95
|
-
modelType
|
|
96
|
-
})) throw new _autofleet_errors.ResourceNotFoundError();
|
|
97
|
-
const updatedCustomFieldDefinition = await require_definition.update(customFieldDefinitionId, {
|
|
98
|
-
...validatedPayload,
|
|
99
|
-
modelType
|
|
100
|
-
});
|
|
101
|
-
return res.status(200).json(updatedCustomFieldDefinition);
|
|
102
|
-
} catch (err) {
|
|
103
|
-
require_index.default.error("Failed to patch custom field definition", err);
|
|
104
|
-
return require_errors.default(err, res, {
|
|
105
|
-
logger: require_index.default,
|
|
106
|
-
message: `Error in update ${ENTITY} request`
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
var definition_default = router;
|
|
111
|
-
|
|
112
|
-
//#endregion
|
|
113
|
-
exports.default = definition_default;
|
|
1
|
+
const e=require(`../../../_virtual/rolldown_runtime.cjs`),t=require(`../../../utils/logger/index.cjs`),n=require(`../../../repository/definition.cjs`),r=require(`../errors.cjs`),i=require(`./validations.cjs`),a=require(`../../../mat-path-state.cjs`);let o=require(`@autofleet/errors`),s=require(`@autofleet/node-common`);const c=(0,s.Router)({logger:t.default}),l=`CustomFieldDefinition`,u=e=>e.replace(/(^\w|-\w)/g,e=>e.replace(/-/,``).toUpperCase());c.post(`/`,async(e,a)=>{let{modelName:o}=e.params,s=u(o);try{let t=await i.validateCustomFieldDefinitionCreation(e.body),r=await n.create({...t,modelType:s});return a.status(201).json(r)}catch(e){return t.default.error(`Failed to create custom field definition`,e),r.default(e,a,{logger:t.default,message:`Error in create ${l} request`})}}),c.get(`/:customFieldDefinitionId`,async(e,i)=>{let{customFieldDefinitionId:a}=e.params;try{let e=await n.findById(a);if(!e)throw new o.ResourceNotFoundError;return i.json(e)}catch(e){return t.default.error(`Failed to fetch custom field definition`,e),r.default(e,i,{logger:t.default,message:`Error in get ${l} request`})}}),c.get(`/`,async(e,i)=>{let{params:{modelName:o},query:{entityIds:s,modelTypeId:c}}=e,d=u(o);try{let e=!a.matPathState.isMatPathEnabled?.()&&s&&s.length>0;if(c){let t=await n.findByModelTypeId(c,{withDisabled:!0,modelType:d,entityIds:e?s:void 0});return i.json(t)}let t={modelType:d,...e&&{entityId:s}},r=await n.findAll(t,{withDisabled:!0,enrichWithModelTypeIds:!0});return i.json(r)}catch(e){return t.default.error(`Failed to fetch custom field definitions`,e),r.default(e,i,{logger:t.default,message:`Error in get all ${l} request`})}}),c.patch(`/:customFieldDefinitionId`,async(e,a)=>{let{customFieldDefinitionId:s,modelName:c}=e.params,d=u(c);try{let t=await i.validateCustomFieldDefinitionUpdate(e.body);if(!await n.findByWhere({id:s,modelType:d}))throw new o.ResourceNotFoundError;let r=await n.update(s,{...t,modelType:d});return a.status(200).json(r)}catch(e){return t.default.error(`Failed to patch custom field definition`,e),r.default(e,a,{logger:t.default,message:`Error in update ${l} request`})}});var d=c;exports.default=d;
|
|
2
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["router: ReturnType<typeof Router>","validatedPayload: CreateCustomFieldDefinition","validateCustomFieldDefinitionCreation","handleError","ResourceNotFoundError","matPathState","customFieldDefinitions","validatedPayload: UpdateCustomFieldDefinition","validateCustomFieldDefinitionUpdate"],"sources":["../../../../src/api/v1/definition/index.ts"],"sourcesContent":["import { ResourceNotFoundError } from '@autofleet/errors';\nimport { Router } from '@autofleet/node-common';\nimport handleError from '../errors';\nimport * as DefinitionRepo from '../../../repository/definition';\nimport type { CreateCustomFieldDefinition, UpdateCustomFieldDefinition } from '../../../types/definition';\nimport { validateCustomFieldDefinitionCreation, validateCustomFieldDefinitionUpdate } from './validations';\nimport logger from '../../../utils/logger';\nimport type { CustomFieldDefinition } from '../../../models';\nimport { matPathState } from '../../../mat-path-state';\n\nconst router: ReturnType<typeof Router> = Router({ logger });\nconst ENTITY = 'CustomFieldDefinition';\n\nconst toPascalCase = (str: string): string => str.replace(/(^\\w|-\\w)/g, subStr => subStr.replace(/-/, '').toUpperCase());\n\n/**\n * Create\n */\nrouter.post<{ modelName: string; }>('/', async (req, res) => {\n const { modelName } = req.params;\n const modelType = toPascalCase(modelName);\n try {\n const validatedPayload: CreateCustomFieldDefinition = await validateCustomFieldDefinitionCreation(req.body);\n\n const customFieldDefinition = await DefinitionRepo.create({\n ...validatedPayload,\n modelType,\n });\n return res.status(201).json(customFieldDefinition);\n } catch (err) {\n logger.error('Failed to create custom field definition', err);\n return handleError(err as Error, res, { logger, message: `Error in create ${ENTITY} request` });\n }\n});\n\n/**\n * Get by id\n */\nrouter.get<{ modelName: string; customFieldDefinitionId: string; }, CustomFieldDefinition>('/:customFieldDefinitionId', async (req, res) => {\n const { customFieldDefinitionId } = req.params;\n try {\n const customFieldDefinition = await DefinitionRepo.findById(customFieldDefinitionId);\n\n if (!customFieldDefinition) {\n throw new ResourceNotFoundError();\n }\n\n return res.json(customFieldDefinition);\n } catch (err) {\n logger.error('Failed to fetch custom field definition', err);\n return handleError(err as Error, res, { logger, message: `Error in get ${ENTITY} request` });\n }\n});\n\n/**\n * Get all\n */\nrouter.get<{ modelName: string; }, CustomFieldDefinition[], never, { entityIds?: string[]; modelTypeId?: string; }>('/', async (req, res) => {\n const { params: { modelName }, query: { entityIds, modelTypeId } } = req;\n\n const modelType = toPascalCase(modelName);\n try {\n // When mat-path is active, drop the explicit `entityId IN (entityIds)` WHERE filter — RLS\n // on `custom_field_definitions` (applied via decorateModelMethods) restricts the result\n // to the caller's visible scope (fleet + ancestor partners). If the WHERE clause kept the\n // requested entityIds, partner CFDs (whose entity_id differs from the requested fleet's\n // entityId) would be filtered out by the WHERE before RLS could include them.\n const applyEntityIdsFilter = !matPathState.isMatPathEnabled?.() && entityIds && entityIds.length > 0;\n\n // If modelTypeId is provided, get definitions applicable to that specific type instance\n if (modelTypeId) {\n const customFieldDefinitions = await DefinitionRepo.findByModelTypeId(modelTypeId, {\n withDisabled: true,\n modelType,\n entityIds: applyEntityIdsFilter ? entityIds : undefined,\n });\n return res.json(customFieldDefinitions);\n }\n\n const where = {\n modelType,\n ...(applyEntityIdsFilter && { entityId: entityIds }),\n };\n const customFieldDefinitions = await DefinitionRepo.findAll(where, { withDisabled: true, enrichWithModelTypeIds: true });\n return res.json(customFieldDefinitions);\n } catch (err) {\n logger.error('Failed to fetch custom field definitions', err);\n return handleError(err as Error, res, { logger, message: `Error in get all ${ENTITY} request` });\n }\n});\n\n/**\n * Update\n */\nrouter.patch<{ modelName: string; customFieldDefinitionId: string; }, CustomFieldDefinition>('/:customFieldDefinitionId', async (req, res) => {\n const { customFieldDefinitionId, modelName } = req.params;\n const modelType = toPascalCase(modelName);\n try {\n const validatedPayload: UpdateCustomFieldDefinition = await validateCustomFieldDefinitionUpdate(req.body);\n\n const customFieldDefinition = await DefinitionRepo.findByWhere({\n id: customFieldDefinitionId,\n modelType,\n });\n\n if (!customFieldDefinition) {\n throw new ResourceNotFoundError();\n }\n\n const updatedCustomFieldDefinition = await DefinitionRepo.update(\n customFieldDefinitionId,\n { ...validatedPayload, modelType },\n );\n\n return res.status(200).json(updatedCustomFieldDefinition);\n } catch (err) {\n logger.error('Failed to patch custom field definition', err);\n return handleError(err as Error, res, { logger, message: `Error in update ${ENTITY} request` });\n }\n});\n\nexport default router;\n"],"mappings":"iUAUA,MAAMA,GAAAA,EAAAA,EAAAA,QAA2C,CAAE,OAAA,EAAA,QAAQ,CAAC,CACtD,EAAS,wBAET,EAAgB,GAAwB,EAAI,QAAQ,aAAc,GAAU,EAAO,QAAQ,IAAK,GAAG,CAAC,aAAa,CAAC,CAKxH,EAAO,KAA6B,IAAK,MAAO,EAAK,IAAQ,CAC3D,GAAM,CAAE,aAAc,EAAI,OACpB,EAAY,EAAa,EAAU,CACzC,GAAI,CACF,IAAMC,EAAgD,MAAMC,EAAAA,sCAAsC,EAAI,KAAK,CAErG,EAAwB,MAAA,EAAA,OAA4B,CACxD,GAAG,EACH,YACD,CAAC,CACF,OAAO,EAAI,OAAO,IAAI,CAAC,KAAK,EAAsB,OAC3C,EAAK,CAEZ,OADA,EAAA,QAAO,MAAM,2CAA4C,EAAI,CACtDC,EAAAA,QAAY,EAAc,EAAK,CAAE,OAAA,EAAA,QAAQ,QAAS,mBAAmB,EAAO,UAAW,CAAC,GAEjG,CAKF,EAAO,IAAoF,4BAA6B,MAAO,EAAK,IAAQ,CAC1I,GAAM,CAAE,2BAA4B,EAAI,OACxC,GAAI,CACF,IAAM,EAAwB,MAAA,EAAA,SAA8B,EAAwB,CAEpF,GAAI,CAAC,EACH,MAAM,IAAIC,EAAAA,sBAGZ,OAAO,EAAI,KAAK,EAAsB,OAC/B,EAAK,CAEZ,OADA,EAAA,QAAO,MAAM,0CAA2C,EAAI,CACrDD,EAAAA,QAAY,EAAc,EAAK,CAAE,OAAA,EAAA,QAAQ,QAAS,gBAAgB,EAAO,UAAW,CAAC,GAE9F,CAKF,EAAO,IAA6G,IAAK,MAAO,EAAK,IAAQ,CAC3I,GAAM,CAAE,OAAQ,CAAE,aAAa,MAAO,CAAE,YAAW,gBAAkB,EAE/D,EAAY,EAAa,EAAU,CACzC,GAAI,CAMF,IAAM,EAAuB,CAACE,EAAAA,aAAa,oBAAoB,EAAI,GAAa,EAAU,OAAS,EAGnG,GAAI,EAAa,CACf,IAAMC,EAAyB,MAAA,EAAA,kBAAuC,EAAa,CACjF,aAAc,GACd,YACA,UAAW,EAAuB,EAAY,IAAA,GAC/C,CAAC,CACF,OAAO,EAAI,KAAKA,EAAuB,CAGzC,IAAM,EAAQ,CACZ,YACA,GAAI,GAAwB,CAAE,SAAU,EAAW,CACpD,CACK,EAAyB,MAAA,EAAA,QAA6B,EAAO,CAAE,aAAc,GAAM,uBAAwB,GAAM,CAAC,CACxH,OAAO,EAAI,KAAK,EAAuB,OAChC,EAAK,CAEZ,OADA,EAAA,QAAO,MAAM,2CAA4C,EAAI,CACtDH,EAAAA,QAAY,EAAc,EAAK,CAAE,OAAA,EAAA,QAAQ,QAAS,oBAAoB,EAAO,UAAW,CAAC,GAElG,CAKF,EAAO,MAAsF,4BAA6B,MAAO,EAAK,IAAQ,CAC5I,GAAM,CAAE,0BAAyB,aAAc,EAAI,OAC7C,EAAY,EAAa,EAAU,CACzC,GAAI,CACF,IAAMI,EAAgD,MAAMC,EAAAA,oCAAoC,EAAI,KAAK,CAOzG,GAAI,CAL0B,MAAA,EAAA,YAAiC,CAC7D,GAAI,EACJ,YACD,CAAC,CAGA,MAAM,IAAIJ,EAAAA,sBAGZ,IAAM,EAA+B,MAAA,EAAA,OACnC,EACA,CAAE,GAAG,EAAkB,YAAW,CACnC,CAED,OAAO,EAAI,OAAO,IAAI,CAAC,KAAK,EAA6B,OAClD,EAAK,CAEZ,OADA,EAAA,QAAO,MAAM,0CAA2C,EAAI,CACrDD,EAAAA,QAAY,EAAc,EAAK,CAAE,OAAA,EAAA,QAAQ,QAAS,mBAAmB,EAAO,UAAW,CAAC,GAEjG,CAEF,IAAA,EAAe"}
|
|
@@ -1,112 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import errors_default from "../errors.js";
|
|
4
|
-
import { validateCustomFieldDefinitionCreation, validateCustomFieldDefinitionUpdate } from "./validations.js";
|
|
5
|
-
import { matPathState } from "../../../mat-path-state.js";
|
|
6
|
-
import { ResourceNotFoundError } from "@autofleet/errors";
|
|
7
|
-
import { Router } from "@autofleet/node-common";
|
|
8
|
-
|
|
9
|
-
//#region src/api/v1/definition/index.ts
|
|
10
|
-
const router = Router({ logger: logger_default });
|
|
11
|
-
const ENTITY = "CustomFieldDefinition";
|
|
12
|
-
const toPascalCase = (str) => str.replace(/(^\w|-\w)/g, (subStr) => subStr.replace(/-/, "").toUpperCase());
|
|
13
|
-
/**
|
|
14
|
-
* Create
|
|
15
|
-
*/
|
|
16
|
-
router.post("/", async (req, res) => {
|
|
17
|
-
const { modelName } = req.params;
|
|
18
|
-
const modelType = toPascalCase(modelName);
|
|
19
|
-
try {
|
|
20
|
-
const validatedPayload = await validateCustomFieldDefinitionCreation(req.body);
|
|
21
|
-
const customFieldDefinition = await create({
|
|
22
|
-
...validatedPayload,
|
|
23
|
-
modelType
|
|
24
|
-
});
|
|
25
|
-
return res.status(201).json(customFieldDefinition);
|
|
26
|
-
} catch (err) {
|
|
27
|
-
logger_default.error("Failed to create custom field definition", err);
|
|
28
|
-
return errors_default(err, res, {
|
|
29
|
-
logger: logger_default,
|
|
30
|
-
message: `Error in create ${ENTITY} request`
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
/**
|
|
35
|
-
* Get by id
|
|
36
|
-
*/
|
|
37
|
-
router.get("/:customFieldDefinitionId", async (req, res) => {
|
|
38
|
-
const { customFieldDefinitionId } = req.params;
|
|
39
|
-
try {
|
|
40
|
-
const customFieldDefinition = await findById(customFieldDefinitionId);
|
|
41
|
-
if (!customFieldDefinition) throw new ResourceNotFoundError();
|
|
42
|
-
return res.json(customFieldDefinition);
|
|
43
|
-
} catch (err) {
|
|
44
|
-
logger_default.error("Failed to fetch custom field definition", err);
|
|
45
|
-
return errors_default(err, res, {
|
|
46
|
-
logger: logger_default,
|
|
47
|
-
message: `Error in get ${ENTITY} request`
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
/**
|
|
52
|
-
* Get all
|
|
53
|
-
*/
|
|
54
|
-
router.get("/", async (req, res) => {
|
|
55
|
-
const { params: { modelName }, query: { entityIds, modelTypeId } } = req;
|
|
56
|
-
const modelType = toPascalCase(modelName);
|
|
57
|
-
try {
|
|
58
|
-
const applyEntityIdsFilter = !matPathState.isMatPathEnabled?.() && entityIds && entityIds.length > 0;
|
|
59
|
-
if (modelTypeId) {
|
|
60
|
-
const customFieldDefinitions$1 = await findByModelTypeId(modelTypeId, {
|
|
61
|
-
withDisabled: true,
|
|
62
|
-
modelType,
|
|
63
|
-
entityIds: applyEntityIdsFilter ? entityIds : void 0
|
|
64
|
-
});
|
|
65
|
-
return res.json(customFieldDefinitions$1);
|
|
66
|
-
}
|
|
67
|
-
const where = {
|
|
68
|
-
modelType,
|
|
69
|
-
...applyEntityIdsFilter && { entityId: entityIds }
|
|
70
|
-
};
|
|
71
|
-
const customFieldDefinitions = await findAll(where, {
|
|
72
|
-
withDisabled: true,
|
|
73
|
-
enrichWithModelTypeIds: true
|
|
74
|
-
});
|
|
75
|
-
return res.json(customFieldDefinitions);
|
|
76
|
-
} catch (err) {
|
|
77
|
-
logger_default.error("Failed to fetch custom field definitions", err);
|
|
78
|
-
return errors_default(err, res, {
|
|
79
|
-
logger: logger_default,
|
|
80
|
-
message: `Error in get all ${ENTITY} request`
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
/**
|
|
85
|
-
* Update
|
|
86
|
-
*/
|
|
87
|
-
router.patch("/:customFieldDefinitionId", async (req, res) => {
|
|
88
|
-
const { customFieldDefinitionId, modelName } = req.params;
|
|
89
|
-
const modelType = toPascalCase(modelName);
|
|
90
|
-
try {
|
|
91
|
-
const validatedPayload = await validateCustomFieldDefinitionUpdate(req.body);
|
|
92
|
-
if (!await findByWhere({
|
|
93
|
-
id: customFieldDefinitionId,
|
|
94
|
-
modelType
|
|
95
|
-
})) throw new ResourceNotFoundError();
|
|
96
|
-
const updatedCustomFieldDefinition = await update(customFieldDefinitionId, {
|
|
97
|
-
...validatedPayload,
|
|
98
|
-
modelType
|
|
99
|
-
});
|
|
100
|
-
return res.status(200).json(updatedCustomFieldDefinition);
|
|
101
|
-
} catch (err) {
|
|
102
|
-
logger_default.error("Failed to patch custom field definition", err);
|
|
103
|
-
return errors_default(err, res, {
|
|
104
|
-
logger: logger_default,
|
|
105
|
-
message: `Error in update ${ENTITY} request`
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
var definition_default = router;
|
|
110
|
-
|
|
111
|
-
//#endregion
|
|
112
|
-
export { definition_default as default };
|
|
1
|
+
import e from"../../../utils/logger/index.js";import{create as t,findAll as n,findById as r,findByModelTypeId as i,findByWhere as a,update as o}from"../../../repository/definition.js";import s from"../errors.js";import{validateCustomFieldDefinitionCreation as c,validateCustomFieldDefinitionUpdate as l}from"./validations.js";import{matPathState as u}from"../../../mat-path-state.js";import{ResourceNotFoundError as d}from"@autofleet/errors";import{Router as f}from"@autofleet/node-common";const p=f({logger:e}),m=`CustomFieldDefinition`,h=e=>e.replace(/(^\w|-\w)/g,e=>e.replace(/-/,``).toUpperCase());p.post(`/`,async(n,r)=>{let{modelName:i}=n.params,a=h(i);try{let e=await t({...await c(n.body),modelType:a});return r.status(201).json(e)}catch(t){return e.error(`Failed to create custom field definition`,t),s(t,r,{logger:e,message:`Error in create ${m} request`})}}),p.get(`/:customFieldDefinitionId`,async(t,n)=>{let{customFieldDefinitionId:i}=t.params;try{let e=await r(i);if(!e)throw new d;return n.json(e)}catch(t){return e.error(`Failed to fetch custom field definition`,t),s(t,n,{logger:e,message:`Error in get ${m} request`})}}),p.get(`/`,async(t,r)=>{let{params:{modelName:a},query:{entityIds:o,modelTypeId:c}}=t,l=h(a);try{let e=!u.isMatPathEnabled?.()&&o&&o.length>0;if(c){let t=await i(c,{withDisabled:!0,modelType:l,entityIds:e?o:void 0});return r.json(t)}let t=await n({modelType:l,...e&&{entityId:o}},{withDisabled:!0,enrichWithModelTypeIds:!0});return r.json(t)}catch(t){return e.error(`Failed to fetch custom field definitions`,t),s(t,r,{logger:e,message:`Error in get all ${m} request`})}}),p.patch(`/:customFieldDefinitionId`,async(t,n)=>{let{customFieldDefinitionId:r,modelName:i}=t.params,c=h(i);try{let e=await l(t.body);if(!await a({id:r,modelType:c}))throw new d;let i=await o(r,{...e,modelType:c});return n.status(200).json(i)}catch(t){return e.error(`Failed to patch custom field definition`,t),s(t,n,{logger:e,message:`Error in update ${m} request`})}});var g=p;export{g as default};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["router: ReturnType<typeof Router>","validatedPayload: CreateCustomFieldDefinition","DefinitionRepo.create","handleError","DefinitionRepo.findById","customFieldDefinitions","DefinitionRepo.findByModelTypeId","DefinitionRepo.findAll","validatedPayload: UpdateCustomFieldDefinition","DefinitionRepo.findByWhere","DefinitionRepo.update"],"sources":["../../../../src/api/v1/definition/index.ts"],"sourcesContent":["import { ResourceNotFoundError } from '@autofleet/errors';\nimport { Router } from '@autofleet/node-common';\nimport handleError from '../errors';\nimport * as DefinitionRepo from '../../../repository/definition';\nimport type { CreateCustomFieldDefinition, UpdateCustomFieldDefinition } from '../../../types/definition';\nimport { validateCustomFieldDefinitionCreation, validateCustomFieldDefinitionUpdate } from './validations';\nimport logger from '../../../utils/logger';\nimport type { CustomFieldDefinition } from '../../../models';\nimport { matPathState } from '../../../mat-path-state';\n\nconst router: ReturnType<typeof Router> = Router({ logger });\nconst ENTITY = 'CustomFieldDefinition';\n\nconst toPascalCase = (str: string): string => str.replace(/(^\\w|-\\w)/g, subStr => subStr.replace(/-/, '').toUpperCase());\n\n/**\n * Create\n */\nrouter.post<{ modelName: string; }>('/', async (req, res) => {\n const { modelName } = req.params;\n const modelType = toPascalCase(modelName);\n try {\n const validatedPayload: CreateCustomFieldDefinition = await validateCustomFieldDefinitionCreation(req.body);\n\n const customFieldDefinition = await DefinitionRepo.create({\n ...validatedPayload,\n modelType,\n });\n return res.status(201).json(customFieldDefinition);\n } catch (err) {\n logger.error('Failed to create custom field definition', err);\n return handleError(err as Error, res, { logger, message: `Error in create ${ENTITY} request` });\n }\n});\n\n/**\n * Get by id\n */\nrouter.get<{ modelName: string; customFieldDefinitionId: string; }, CustomFieldDefinition>('/:customFieldDefinitionId', async (req, res) => {\n const { customFieldDefinitionId } = req.params;\n try {\n const customFieldDefinition = await DefinitionRepo.findById(customFieldDefinitionId);\n\n if (!customFieldDefinition) {\n throw new ResourceNotFoundError();\n }\n\n return res.json(customFieldDefinition);\n } catch (err) {\n logger.error('Failed to fetch custom field definition', err);\n return handleError(err as Error, res, { logger, message: `Error in get ${ENTITY} request` });\n }\n});\n\n/**\n * Get all\n */\nrouter.get<{ modelName: string; }, CustomFieldDefinition[], never, { entityIds?: string[]; modelTypeId?: string; }>('/', async (req, res) => {\n const { params: { modelName }, query: { entityIds, modelTypeId } } = req;\n\n const modelType = toPascalCase(modelName);\n try {\n // When mat-path is active, drop the explicit `entityId IN (entityIds)` WHERE filter — RLS\n // on `custom_field_definitions` (applied via decorateModelMethods) restricts the result\n // to the caller's visible scope (fleet + ancestor partners). If the WHERE clause kept the\n // requested entityIds, partner CFDs (whose entity_id differs from the requested fleet's\n // entityId) would be filtered out by the WHERE before RLS could include them.\n const applyEntityIdsFilter = !matPathState.isMatPathEnabled?.() && entityIds && entityIds.length > 0;\n\n // If modelTypeId is provided, get definitions applicable to that specific type instance\n if (modelTypeId) {\n const customFieldDefinitions = await DefinitionRepo.findByModelTypeId(modelTypeId, {\n withDisabled: true,\n modelType,\n entityIds: applyEntityIdsFilter ? entityIds : undefined,\n });\n return res.json(customFieldDefinitions);\n }\n\n const where = {\n modelType,\n ...(applyEntityIdsFilter && { entityId: entityIds }),\n };\n const customFieldDefinitions = await DefinitionRepo.findAll(where, { withDisabled: true, enrichWithModelTypeIds: true });\n return res.json(customFieldDefinitions);\n } catch (err) {\n logger.error('Failed to fetch custom field definitions', err);\n return handleError(err as Error, res, { logger, message: `Error in get all ${ENTITY} request` });\n }\n});\n\n/**\n * Update\n */\nrouter.patch<{ modelName: string; customFieldDefinitionId: string; }, CustomFieldDefinition>('/:customFieldDefinitionId', async (req, res) => {\n const { customFieldDefinitionId, modelName } = req.params;\n const modelType = toPascalCase(modelName);\n try {\n const validatedPayload: UpdateCustomFieldDefinition = await validateCustomFieldDefinitionUpdate(req.body);\n\n const customFieldDefinition = await DefinitionRepo.findByWhere({\n id: customFieldDefinitionId,\n modelType,\n });\n\n if (!customFieldDefinition) {\n throw new ResourceNotFoundError();\n }\n\n const updatedCustomFieldDefinition = await DefinitionRepo.update(\n customFieldDefinitionId,\n { ...validatedPayload, modelType },\n );\n\n return res.status(200).json(updatedCustomFieldDefinition);\n } catch (err) {\n logger.error('Failed to patch custom field definition', err);\n return handleError(err as Error, res, { logger, message: `Error in update ${ENTITY} request` });\n }\n});\n\nexport default router;\n"],"mappings":"0eAUA,MAAMA,EAAoC,EAAO,CAAE,OAAA,EAAQ,CAAC,CACtD,EAAS,wBAET,EAAgB,GAAwB,EAAI,QAAQ,aAAc,GAAU,EAAO,QAAQ,IAAK,GAAG,CAAC,aAAa,CAAC,CAKxH,EAAO,KAA6B,IAAK,MAAO,EAAK,IAAQ,CAC3D,GAAM,CAAE,aAAc,EAAI,OACpB,EAAY,EAAa,EAAU,CACzC,GAAI,CAGF,IAAM,EAAwB,MAAME,EAAsB,CACxD,GAHoD,MAAM,EAAsC,EAAI,KAAK,CAIzG,YACD,CAAC,CACF,OAAO,EAAI,OAAO,IAAI,CAAC,KAAK,EAAsB,OAC3C,EAAK,CAEZ,OADA,EAAO,MAAM,2CAA4C,EAAI,CACtDC,EAAY,EAAc,EAAK,CAAE,OAAA,EAAQ,QAAS,mBAAmB,EAAO,UAAW,CAAC,GAEjG,CAKF,EAAO,IAAoF,4BAA6B,MAAO,EAAK,IAAQ,CAC1I,GAAM,CAAE,2BAA4B,EAAI,OACxC,GAAI,CACF,IAAM,EAAwB,MAAMC,EAAwB,EAAwB,CAEpF,GAAI,CAAC,EACH,MAAM,IAAI,EAGZ,OAAO,EAAI,KAAK,EAAsB,OAC/B,EAAK,CAEZ,OADA,EAAO,MAAM,0CAA2C,EAAI,CACrDD,EAAY,EAAc,EAAK,CAAE,OAAA,EAAQ,QAAS,gBAAgB,EAAO,UAAW,CAAC,GAE9F,CAKF,EAAO,IAA6G,IAAK,MAAO,EAAK,IAAQ,CAC3I,GAAM,CAAE,OAAQ,CAAE,aAAa,MAAO,CAAE,YAAW,gBAAkB,EAE/D,EAAY,EAAa,EAAU,CACzC,GAAI,CAMF,IAAM,EAAuB,CAAC,EAAa,oBAAoB,EAAI,GAAa,EAAU,OAAS,EAGnG,GAAI,EAAa,CACf,IAAME,EAAyB,MAAMC,EAAiC,EAAa,CACjF,aAAc,GACd,YACA,UAAW,EAAuB,EAAY,IAAA,GAC/C,CAAC,CACF,OAAO,EAAI,KAAKD,EAAuB,CAOzC,IAAM,EAAyB,MAAME,EAJvB,CACZ,YACA,GAAI,GAAwB,CAAE,SAAU,EAAW,CACpD,CACkE,CAAE,aAAc,GAAM,uBAAwB,GAAM,CAAC,CACxH,OAAO,EAAI,KAAK,EAAuB,OAChC,EAAK,CAEZ,OADA,EAAO,MAAM,2CAA4C,EAAI,CACtDJ,EAAY,EAAc,EAAK,CAAE,OAAA,EAAQ,QAAS,oBAAoB,EAAO,UAAW,CAAC,GAElG,CAKF,EAAO,MAAsF,4BAA6B,MAAO,EAAK,IAAQ,CAC5I,GAAM,CAAE,0BAAyB,aAAc,EAAI,OAC7C,EAAY,EAAa,EAAU,CACzC,GAAI,CACF,IAAMK,EAAgD,MAAM,EAAoC,EAAI,KAAK,CAOzG,GAAI,CAL0B,MAAMC,EAA2B,CAC7D,GAAI,EACJ,YACD,CAAC,CAGA,MAAM,IAAI,EAGZ,IAAM,EAA+B,MAAMC,EACzC,EACA,CAAE,GAAG,EAAkB,YAAW,CACnC,CAED,OAAO,EAAI,OAAO,IAAI,CAAC,KAAK,EAA6B,OAClD,EAAK,CAEZ,OADA,EAAO,MAAM,0CAA2C,EAAI,CACrDP,EAAY,EAAc,EAAK,CAAE,OAAA,EAAQ,QAAS,mBAAmB,EAAO,UAAW,CAAC,GAEjG,CAEF,IAAA,EAAe"}
|
|
@@ -1,128 +1,2 @@
|
|
|
1
|
-
const
|
|
2
|
-
|
|
3
|
-
let joi = require("joi");
|
|
4
|
-
joi = require_rolldown_runtime.__toESM(joi);
|
|
5
|
-
|
|
6
|
-
//#region src/api/v1/definition/validations.ts
|
|
7
|
-
const FileValidationSchema = joi.default.object({
|
|
8
|
-
name: joi.default.string().required(),
|
|
9
|
-
type: joi.default.string(),
|
|
10
|
-
size: joi.default.string(),
|
|
11
|
-
addedBy: joi.default.string().uuid()
|
|
12
|
-
});
|
|
13
|
-
const statusValidationObject = joi.default.object({
|
|
14
|
-
value: joi.default.string().required(),
|
|
15
|
-
color: joi.default.string().required()
|
|
16
|
-
});
|
|
17
|
-
const stringOptionsSchema = joi.default.array().required().items(joi.default.string()).min(1).unique();
|
|
18
|
-
const statusOptionsSchema = joi.default.array().required().items(statusValidationObject).min(1).unique("value");
|
|
19
|
-
/**
|
|
20
|
-
* Schema for the validation of custom field definition
|
|
21
|
-
* The only custom validation is for
|
|
22
|
-
* {@link CustomFieldDefinitionType.SELECT SELECT},
|
|
23
|
-
* {@link CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN MULTI_SELECT_DROPDOWN},
|
|
24
|
-
* {@link CustomFieldDefinitionType.STATUS STATUS},
|
|
25
|
-
* and
|
|
26
|
-
* {@link CustomFieldDefinitionType.MULTI_SELECT_STATUS MULTI_SELECT_STATUS}
|
|
27
|
-
* field types.
|
|
28
|
-
* The rest of the field types are validated by Joi
|
|
29
|
-
*/
|
|
30
|
-
const ValidationSchema = joi.default.when("fieldType", {
|
|
31
|
-
switch: [
|
|
32
|
-
{
|
|
33
|
-
is: require_index.CustomFieldDefinitionType.SELECT,
|
|
34
|
-
then: stringOptionsSchema
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
is: require_index.CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN,
|
|
38
|
-
then: stringOptionsSchema
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
is: require_index.CustomFieldDefinitionType.STATUS,
|
|
42
|
-
then: statusOptionsSchema
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
is: require_index.CustomFieldDefinitionType.MULTI_SELECT_STATUS,
|
|
46
|
-
then: statusOptionsSchema
|
|
47
|
-
}
|
|
48
|
-
],
|
|
49
|
-
otherwise: joi.default.forbidden()
|
|
50
|
-
});
|
|
51
|
-
const multiSelectDefaultValueSchema = joi.default.array().items(joi.default.string()).unique().allow(null);
|
|
52
|
-
const DefaultValueSchema = joi.default.when("fieldType", { switch: [
|
|
53
|
-
{
|
|
54
|
-
is: require_index.CustomFieldDefinitionType.BOOLEAN,
|
|
55
|
-
then: joi.default.boolean().allow(null)
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
is: require_index.CustomFieldDefinitionType.DATE,
|
|
59
|
-
then: joi.default.date().allow(null)
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
is: require_index.CustomFieldDefinitionType.DATETIME,
|
|
63
|
-
then: joi.default.date().allow(null)
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
is: require_index.CustomFieldDefinitionType.FILE,
|
|
67
|
-
then: joi.default.array().items(FileValidationSchema).allow(null)
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
is: require_index.CustomFieldDefinitionType.IMAGE,
|
|
71
|
-
then: joi.default.array().items(joi.default.string().uri()).allow(null)
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
is: require_index.CustomFieldDefinitionType.NUMBER,
|
|
75
|
-
then: joi.default.number().allow(null)
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
is: require_index.CustomFieldDefinitionType.SELECT,
|
|
79
|
-
then: joi.default.string().allow(null)
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
is: require_index.CustomFieldDefinitionType.STATUS,
|
|
83
|
-
then: joi.default.string().allow(null)
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
is: require_index.CustomFieldDefinitionType.TEXT,
|
|
87
|
-
then: joi.default.string().allow(null)
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
is: require_index.CustomFieldDefinitionType.MULTI_SELECT_STATUS,
|
|
91
|
-
then: multiSelectDefaultValueSchema
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
is: require_index.CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN,
|
|
95
|
-
then: multiSelectDefaultValueSchema
|
|
96
|
-
}
|
|
97
|
-
] });
|
|
98
|
-
const CustomFieldDefinitionCreationSchema = joi.default.object({
|
|
99
|
-
name: joi.default.string().required(),
|
|
100
|
-
displayName: joi.default.string().required(),
|
|
101
|
-
validation: ValidationSchema,
|
|
102
|
-
defaultValue: DefaultValueSchema,
|
|
103
|
-
fieldType: joi.default.string().valid(...Object.values(require_index.CustomFieldDefinitionType)).required(),
|
|
104
|
-
entityId: joi.default.string().guid().required(),
|
|
105
|
-
entityType: joi.default.string().required(),
|
|
106
|
-
description: joi.default.string(),
|
|
107
|
-
required: joi.default.boolean(),
|
|
108
|
-
disabled: joi.default.boolean(),
|
|
109
|
-
blockEditingFromUI: joi.default.boolean(),
|
|
110
|
-
modelTypeIds: joi.default.array().items(joi.default.string().guid())
|
|
111
|
-
}).oxor("required", "blockEditingFromUI", { isPresent: (value) => value === true });
|
|
112
|
-
const CustomFieldDefinitionUpdateSchema = joi.default.object({
|
|
113
|
-
displayName: joi.default.string(),
|
|
114
|
-
validation: ValidationSchema,
|
|
115
|
-
defaultValue: DefaultValueSchema,
|
|
116
|
-
fieldType: joi.default.string().valid(...Object.values(require_index.CustomFieldDefinitionType)),
|
|
117
|
-
description: joi.default.string().allow(null),
|
|
118
|
-
required: joi.default.boolean(),
|
|
119
|
-
disabled: joi.default.boolean(),
|
|
120
|
-
blockEditingFromUI: joi.default.boolean(),
|
|
121
|
-
modelTypeIds: joi.default.array().items(joi.default.string().guid())
|
|
122
|
-
}).oxor("required", "blockEditingFromUI", { isPresent: (value) => value === true });
|
|
123
|
-
const validateCustomFieldDefinitionCreation = (payload) => CustomFieldDefinitionCreationSchema.validateAsync(payload, { abortEarly: false });
|
|
124
|
-
const validateCustomFieldDefinitionUpdate = (payload) => CustomFieldDefinitionUpdateSchema.validateAsync(payload, { abortEarly: false });
|
|
125
|
-
|
|
126
|
-
//#endregion
|
|
127
|
-
exports.validateCustomFieldDefinitionCreation = validateCustomFieldDefinitionCreation;
|
|
128
|
-
exports.validateCustomFieldDefinitionUpdate = validateCustomFieldDefinitionUpdate;
|
|
1
|
+
const e=require(`../../../_virtual/rolldown_runtime.cjs`),t=require(`../../../utils/constants/index.cjs`);let n=require(`joi`);n=e.__toESM(n);const r=n.default.object({name:n.default.string().required(),type:n.default.string(),size:n.default.string(),addedBy:n.default.string().uuid()}),i=n.default.object({value:n.default.string().required(),color:n.default.string().required()}),a=n.default.array().required().items(n.default.string()).min(1).unique(),o=n.default.array().required().items(i).min(1).unique(`value`),s=n.default.when(`fieldType`,{switch:[{is:t.CustomFieldDefinitionType.SELECT,then:a},{is:t.CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN,then:a},{is:t.CustomFieldDefinitionType.STATUS,then:o},{is:t.CustomFieldDefinitionType.MULTI_SELECT_STATUS,then:o}],otherwise:n.default.forbidden()}),c=n.default.array().items(n.default.string()).unique().allow(null),l=n.default.when(`fieldType`,{switch:[{is:t.CustomFieldDefinitionType.BOOLEAN,then:n.default.boolean().allow(null)},{is:t.CustomFieldDefinitionType.DATE,then:n.default.date().allow(null)},{is:t.CustomFieldDefinitionType.DATETIME,then:n.default.date().allow(null)},{is:t.CustomFieldDefinitionType.FILE,then:n.default.array().items(r).allow(null)},{is:t.CustomFieldDefinitionType.IMAGE,then:n.default.array().items(n.default.string().uri()).allow(null)},{is:t.CustomFieldDefinitionType.NUMBER,then:n.default.number().allow(null)},{is:t.CustomFieldDefinitionType.SELECT,then:n.default.string().allow(null)},{is:t.CustomFieldDefinitionType.STATUS,then:n.default.string().allow(null)},{is:t.CustomFieldDefinitionType.TEXT,then:n.default.string().allow(null)},{is:t.CustomFieldDefinitionType.MULTI_SELECT_STATUS,then:c},{is:t.CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN,then:c}]}),u=n.default.object({name:n.default.string().required(),displayName:n.default.string().required(),validation:s,defaultValue:l,fieldType:n.default.string().valid(...Object.values(t.CustomFieldDefinitionType)).required(),entityId:n.default.string().guid().required(),entityType:n.default.string().required(),description:n.default.string(),required:n.default.boolean(),disabled:n.default.boolean(),blockEditingFromUI:n.default.boolean(),modelTypeIds:n.default.array().items(n.default.string().guid())}).oxor(`required`,`blockEditingFromUI`,{isPresent:e=>e===!0}),d=n.default.object({displayName:n.default.string(),validation:s,defaultValue:l,fieldType:n.default.string().valid(...Object.values(t.CustomFieldDefinitionType)),description:n.default.string().allow(null),required:n.default.boolean(),disabled:n.default.boolean(),blockEditingFromUI:n.default.boolean(),modelTypeIds:n.default.array().items(n.default.string().guid())}).oxor(`required`,`blockEditingFromUI`,{isPresent:e=>e===!0}),f=e=>u.validateAsync(e,{abortEarly:!1}),p=e=>d.validateAsync(e,{abortEarly:!1});exports.validateCustomFieldDefinitionCreation=f,exports.validateCustomFieldDefinitionUpdate=p;
|
|
2
|
+
//# sourceMappingURL=validations.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validations.cjs","names":["Joi","CustomFieldDefinitionType"],"sources":["../../../../src/api/v1/definition/validations.ts"],"sourcesContent":["import Joi from 'joi';\nimport { CustomFieldDefinitionType } from '../../../utils/constants';\nimport type { CreateCustomFieldDefinition, UpdateCustomFieldDefinition } from '../../../types/definition';\n\nconst FileValidationSchema = Joi.object({\n name: Joi.string().required(),\n type: Joi.string(),\n size: Joi.string(),\n addedBy: Joi.string().uuid(),\n});\nconst statusValidationObject = Joi.object({\n value: Joi.string().required(),\n color: Joi.string().required(),\n});\n\nconst stringOptionsSchema = Joi.array().required().items(Joi.string()).min(1)\n .unique();\nconst statusOptionsSchema = Joi.array().required().items(statusValidationObject).min(1)\n .unique('value');\n\n/**\n * Schema for the validation of custom field definition\n * The only custom validation is for\n * {@link CustomFieldDefinitionType.SELECT SELECT},\n * {@link CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN MULTI_SELECT_DROPDOWN},\n * {@link CustomFieldDefinitionType.STATUS STATUS},\n * and\n * {@link CustomFieldDefinitionType.MULTI_SELECT_STATUS MULTI_SELECT_STATUS}\n * field types.\n * The rest of the field types are validated by Joi\n */\nconst ValidationSchema = Joi.when('fieldType', {\n switch: [\n { is: CustomFieldDefinitionType.SELECT, then: stringOptionsSchema },\n { is: CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN, then: stringOptionsSchema },\n { is: CustomFieldDefinitionType.STATUS, then: statusOptionsSchema },\n { is: CustomFieldDefinitionType.MULTI_SELECT_STATUS, then: statusOptionsSchema },\n ],\n otherwise: Joi.forbidden(),\n});\n\nconst multiSelectDefaultValueSchema = Joi.array().items(Joi.string()).unique().allow(null);\n\nconst DefaultValueSchema = Joi.when('fieldType', {\n switch: [\n { is: CustomFieldDefinitionType.BOOLEAN, then: Joi.boolean().allow(null) },\n { is: CustomFieldDefinitionType.DATE, then: Joi.date().allow(null) },\n { is: CustomFieldDefinitionType.DATETIME, then: Joi.date().allow(null) },\n { is: CustomFieldDefinitionType.FILE, then: Joi.array().items(FileValidationSchema).allow(null) },\n { is: CustomFieldDefinitionType.IMAGE, then: Joi.array().items(Joi.string().uri()).allow(null) },\n { is: CustomFieldDefinitionType.NUMBER, then: Joi.number().allow(null) },\n { is: CustomFieldDefinitionType.SELECT, then: Joi.string().allow(null) },\n { is: CustomFieldDefinitionType.STATUS, then: Joi.string().allow(null) },\n { is: CustomFieldDefinitionType.TEXT, then: Joi.string().allow(null) },\n { is: CustomFieldDefinitionType.MULTI_SELECT_STATUS, then: multiSelectDefaultValueSchema },\n { is: CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN, then: multiSelectDefaultValueSchema },\n ],\n});\n\nconst CustomFieldDefinitionCreationSchema = Joi.object({\n name: Joi.string().required(),\n displayName: Joi.string().required(),\n validation: ValidationSchema,\n defaultValue: DefaultValueSchema,\n fieldType: Joi.string().valid(...Object.values(CustomFieldDefinitionType)).required(),\n entityId: Joi.string().guid().required(),\n entityType: Joi.string().required(),\n description: Joi.string(),\n required: Joi.boolean(),\n disabled: Joi.boolean(),\n blockEditingFromUI: Joi.boolean(),\n modelTypeIds: Joi.array().items(Joi.string().guid()),\n}).oxor('required', 'blockEditingFromUI', { isPresent: value => value === true });\n\nconst CustomFieldDefinitionUpdateSchema = Joi.object({\n displayName: Joi.string(),\n validation: ValidationSchema,\n defaultValue: DefaultValueSchema,\n fieldType: Joi.string().valid(...Object.values(CustomFieldDefinitionType)),\n description: Joi.string().allow(null),\n required: Joi.boolean(),\n disabled: Joi.boolean(),\n blockEditingFromUI: Joi.boolean(),\n modelTypeIds: Joi.array().items(Joi.string().guid()),\n}).oxor('required', 'blockEditingFromUI', { isPresent: value => value === true });\n\nexport const validateCustomFieldDefinitionCreation = (payload: unknown): Promise<CreateCustomFieldDefinition> =>\n CustomFieldDefinitionCreationSchema.validateAsync(payload, { abortEarly: false });\n\nexport const validateCustomFieldDefinitionUpdate = (payload: unknown): Promise<UpdateCustomFieldDefinition> =>\n CustomFieldDefinitionUpdateSchema.validateAsync(payload, { abortEarly: false });\n"],"mappings":"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"}
|