@autofleet/sadot 1.4.26 → 1.5.0
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/api/v1/definition/validations.cjs +1 -1
- package/dist/api/v1/definition/validations.cjs.map +1 -1
- package/dist/api/v1/definition/validations.js +1 -1
- package/dist/api/v1/definition/validations.js.map +1 -1
- package/dist/utils/constants/index.cjs +1 -1
- package/dist/utils/constants/index.cjs.map +1 -1
- package/dist/utils/constants/index.d.cts +2 -0
- package/dist/utils/constants/index.d.ts +2 -0
- package/dist/utils/constants/index.js +1 -1
- package/dist/utils/constants/index.js.map +1 -1
- package/dist/utils/validations/validators/index.cjs +1 -1
- package/dist/utils/validations/validators/index.cjs.map +1 -1
- package/dist/utils/validations/validators/index.js +1 -1
- package/dist/utils/validations/validators/index.js.map +1 -1
- package/dist/utils/validations/validators/multi-select-dropdown.validator.cjs +2 -0
- package/dist/utils/validations/validators/multi-select-dropdown.validator.cjs.map +1 -0
- package/dist/utils/validations/validators/multi-select-dropdown.validator.js +2 -0
- package/dist/utils/validations/validators/multi-select-dropdown.validator.js.map +1 -0
- package/dist/utils/validations/validators/multi-select-status.validator.cjs +2 -0
- package/dist/utils/validations/validators/multi-select-status.validator.cjs.map +1 -0
- package/dist/utils/validations/validators/multi-select-status.validator.js +2 -0
- package/dist/utils/validations/validators/multi-select-status.validator.js.map +1 -0
- package/dist/utils/validations/validators/multi-select.helpers.cjs +2 -0
- package/dist/utils/validations/validators/multi-select.helpers.cjs.map +1 -0
- package/dist/utils/validations/validators/multi-select.helpers.js +2 -0
- package/dist/utils/validations/validators/multi-select.helpers.js.map +1 -0
- package/dist/utils/validations/validators/status.validator.cjs.map +1 -1
- package/dist/utils/validations/validators/status.validator.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
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.
|
|
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
2
|
//# sourceMappingURL=validations.cjs.map
|
|
@@ -1 +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/**\n * Schema for the validation of custom field definition\n * The only custom validation is for\n * {@link CustomFieldDefinitionType.SELECT SELECT}
|
|
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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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{CustomFieldDefinitionType as e}from"../../../utils/constants/index.js";import t from"joi";const n=t.object({name:t.string().required(),type:t.string(),size:t.string(),addedBy:t.string().uuid()}),r=t.object({value:t.string().required(),color:t.string().required()}),i=t.
|
|
1
|
+
import{CustomFieldDefinitionType as e}from"../../../utils/constants/index.js";import t from"joi";const n=t.object({name:t.string().required(),type:t.string(),size:t.string(),addedBy:t.string().uuid()}),r=t.object({value:t.string().required(),color:t.string().required()}),i=t.array().required().items(t.string()).min(1).unique(),a=t.array().required().items(r).min(1).unique(`value`),o=t.when(`fieldType`,{switch:[{is:e.SELECT,then:i},{is:e.MULTI_SELECT_DROPDOWN,then:i},{is:e.STATUS,then:a},{is:e.MULTI_SELECT_STATUS,then:a}],otherwise:t.forbidden()}),s=t.array().items(t.string()).unique().allow(null),c=t.when(`fieldType`,{switch:[{is:e.BOOLEAN,then:t.boolean().allow(null)},{is:e.DATE,then:t.date().allow(null)},{is:e.DATETIME,then:t.date().allow(null)},{is:e.FILE,then:t.array().items(n).allow(null)},{is:e.IMAGE,then:t.array().items(t.string().uri()).allow(null)},{is:e.NUMBER,then:t.number().allow(null)},{is:e.SELECT,then:t.string().allow(null)},{is:e.STATUS,then:t.string().allow(null)},{is:e.TEXT,then:t.string().allow(null)},{is:e.MULTI_SELECT_STATUS,then:s},{is:e.MULTI_SELECT_DROPDOWN,then:s}]}),l=t.object({name:t.string().required(),displayName:t.string().required(),validation:o,defaultValue:c,fieldType:t.string().valid(...Object.values(e)).required(),entityId:t.string().guid().required(),entityType:t.string().required(),description:t.string(),required:t.boolean(),disabled:t.boolean(),blockEditingFromUI:t.boolean(),modelTypeIds:t.array().items(t.string().guid())}).oxor(`required`,`blockEditingFromUI`,{isPresent:e=>e===!0}),u=t.object({displayName:t.string(),validation:o,defaultValue:c,fieldType:t.string().valid(...Object.values(e)),description:t.string().allow(null),required:t.boolean(),disabled:t.boolean(),blockEditingFromUI:t.boolean(),modelTypeIds:t.array().items(t.string().guid())}).oxor(`required`,`blockEditingFromUI`,{isPresent:e=>e===!0}),d=e=>l.validateAsync(e,{abortEarly:!1}),f=e=>u.validateAsync(e,{abortEarly:!1});export{d as validateCustomFieldDefinitionCreation,f as validateCustomFieldDefinitionUpdate};
|
|
2
2
|
//# sourceMappingURL=validations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validations.js","names":[],"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/**\n * Schema for the validation of custom field definition\n * The only custom validation is for\n * {@link CustomFieldDefinitionType.SELECT SELECT}
|
|
1
|
+
{"version":3,"file":"validations.js","names":[],"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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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`../../_virtual/rolldown_runtime.cjs`);let t=require(`@autofleet/common-types`);const n=[`businessModelId`,`fleetId`,`demandSourceId`];let r=function(e){return e.NUMBER=`number`,e.BOOLEAN=`boolean`,e.DATE=`date`,e.DATETIME=`datetime`,e.TEXT=`text`,e.IMAGE=`image`,e.SELECT=`select`,e.STATUS=`status`,e.FILE=`file`,e}({});const i=t.customFields.CUSTOM_FIELDS_FILTER_SCOPE;exports.CUSTOM_FIELDS_FILTER_SCOPE=i,exports.CustomFieldDefinitionType=r,exports.supportedEntities=n;
|
|
1
|
+
const e=require(`../../_virtual/rolldown_runtime.cjs`);let t=require(`@autofleet/common-types`);const n=[`businessModelId`,`fleetId`,`demandSourceId`];let r=function(e){return e.NUMBER=`number`,e.BOOLEAN=`boolean`,e.DATE=`date`,e.DATETIME=`datetime`,e.TEXT=`text`,e.IMAGE=`image`,e.SELECT=`select`,e.STATUS=`status`,e.FILE=`file`,e.MULTI_SELECT_STATUS=`multi-select-status`,e.MULTI_SELECT_DROPDOWN=`multi-select-dropdown`,e}({});const i=t.customFields.CUSTOM_FIELDS_FILTER_SCOPE;exports.CUSTOM_FIELDS_FILTER_SCOPE=i,exports.CustomFieldDefinitionType=r,exports.supportedEntities=n;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["CUSTOM_FIELDS_FILTER_SCOPE: typeof customFields.CUSTOM_FIELDS_FILTER_SCOPE","customFields"],"sources":["../../../src/utils/constants/index.ts"],"sourcesContent":["import { customFields } from '@autofleet/common-types';\n\nexport const supportedEntities = ['businessModelId', 'fleetId', 'demandSourceId'] as const;\n\n/**\n * Supported custom field types\n */\nexport enum CustomFieldDefinitionType {\n NUMBER = 'number',\n BOOLEAN = 'boolean',\n DATE = 'date',\n DATETIME = 'datetime',\n TEXT = 'text',\n IMAGE = 'image',\n SELECT = 'select',\n STATUS = 'status',\n FILE = 'file',\n}\n\nconst CUSTOM_FIELDS_FILTER_SCOPE: typeof customFields.CUSTOM_FIELDS_FILTER_SCOPE = customFields.CUSTOM_FIELDS_FILTER_SCOPE;\n\nexport {\n /** @deprecated Use the value from `@autofleet/common-types` instead */\n CUSTOM_FIELDS_FILTER_SCOPE,\n};\n"],"mappings":"gGAEA,MAAa,EAAoB,CAAC,kBAAmB,UAAW,iBAAiB,CAKjF,IAAY,EAAA,SAAA,EAAL,OACL,GAAA,OAAA,SACA,EAAA,QAAA,UACA,EAAA,KAAA,OACA,EAAA,SAAA,WACA,EAAA,KAAA,OACA,EAAA,MAAA,QACA,EAAA,OAAA,SACA,EAAA,OAAA,SACA,EAAA,KAAA,
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["CUSTOM_FIELDS_FILTER_SCOPE: typeof customFields.CUSTOM_FIELDS_FILTER_SCOPE","customFields"],"sources":["../../../src/utils/constants/index.ts"],"sourcesContent":["import { customFields } from '@autofleet/common-types';\n\nexport const supportedEntities = ['businessModelId', 'fleetId', 'demandSourceId'] as const;\n\n/**\n * Supported custom field types\n */\nexport enum CustomFieldDefinitionType {\n NUMBER = 'number',\n BOOLEAN = 'boolean',\n DATE = 'date',\n DATETIME = 'datetime',\n TEXT = 'text',\n IMAGE = 'image',\n SELECT = 'select',\n STATUS = 'status',\n FILE = 'file',\n MULTI_SELECT_STATUS = 'multi-select-status',\n MULTI_SELECT_DROPDOWN = 'multi-select-dropdown',\n}\n\nconst CUSTOM_FIELDS_FILTER_SCOPE: typeof customFields.CUSTOM_FIELDS_FILTER_SCOPE = customFields.CUSTOM_FIELDS_FILTER_SCOPE;\n\nexport {\n /** @deprecated Use the value from `@autofleet/common-types` instead */\n CUSTOM_FIELDS_FILTER_SCOPE,\n};\n"],"mappings":"gGAEA,MAAa,EAAoB,CAAC,kBAAmB,UAAW,iBAAiB,CAKjF,IAAY,EAAA,SAAA,EAAL,OACL,GAAA,OAAA,SACA,EAAA,QAAA,UACA,EAAA,KAAA,OACA,EAAA,SAAA,WACA,EAAA,KAAA,OACA,EAAA,MAAA,QACA,EAAA,OAAA,SACA,EAAA,OAAA,SACA,EAAA,KAAA,OACA,EAAA,oBAAA,sBACA,EAAA,sBAAA,+BAGF,MAAMA,EAA6EC,EAAAA,aAAa"}
|
|
@@ -15,6 +15,8 @@ declare enum CustomFieldDefinitionType {
|
|
|
15
15
|
SELECT = "select",
|
|
16
16
|
STATUS = "status",
|
|
17
17
|
FILE = "file",
|
|
18
|
+
MULTI_SELECT_STATUS = "multi-select-status",
|
|
19
|
+
MULTI_SELECT_DROPDOWN = "multi-select-dropdown",
|
|
18
20
|
}
|
|
19
21
|
declare const CUSTOM_FIELDS_FILTER_SCOPE: typeof customFields.CUSTOM_FIELDS_FILTER_SCOPE;
|
|
20
22
|
//#endregion
|
|
@@ -15,6 +15,8 @@ declare enum CustomFieldDefinitionType {
|
|
|
15
15
|
SELECT = "select",
|
|
16
16
|
STATUS = "status",
|
|
17
17
|
FILE = "file",
|
|
18
|
+
MULTI_SELECT_STATUS = "multi-select-status",
|
|
19
|
+
MULTI_SELECT_DROPDOWN = "multi-select-dropdown",
|
|
18
20
|
}
|
|
19
21
|
declare const CUSTOM_FIELDS_FILTER_SCOPE: typeof customFields.CUSTOM_FIELDS_FILTER_SCOPE;
|
|
20
22
|
//#endregion
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{customFields as e}from"@autofleet/common-types";const t=[`businessModelId`,`fleetId`,`demandSourceId`];let n=function(e){return e.NUMBER=`number`,e.BOOLEAN=`boolean`,e.DATE=`date`,e.DATETIME=`datetime`,e.TEXT=`text`,e.IMAGE=`image`,e.SELECT=`select`,e.STATUS=`status`,e.FILE=`file`,e}({});const r=e.CUSTOM_FIELDS_FILTER_SCOPE;export{r as CUSTOM_FIELDS_FILTER_SCOPE,n as CustomFieldDefinitionType,t as supportedEntities};
|
|
1
|
+
import{customFields as e}from"@autofleet/common-types";const t=[`businessModelId`,`fleetId`,`demandSourceId`];let n=function(e){return e.NUMBER=`number`,e.BOOLEAN=`boolean`,e.DATE=`date`,e.DATETIME=`datetime`,e.TEXT=`text`,e.IMAGE=`image`,e.SELECT=`select`,e.STATUS=`status`,e.FILE=`file`,e.MULTI_SELECT_STATUS=`multi-select-status`,e.MULTI_SELECT_DROPDOWN=`multi-select-dropdown`,e}({});const r=e.CUSTOM_FIELDS_FILTER_SCOPE;export{r as CUSTOM_FIELDS_FILTER_SCOPE,n as CustomFieldDefinitionType,t as supportedEntities};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["CUSTOM_FIELDS_FILTER_SCOPE: typeof customFields.CUSTOM_FIELDS_FILTER_SCOPE"],"sources":["../../../src/utils/constants/index.ts"],"sourcesContent":["import { customFields } from '@autofleet/common-types';\n\nexport const supportedEntities = ['businessModelId', 'fleetId', 'demandSourceId'] as const;\n\n/**\n * Supported custom field types\n */\nexport enum CustomFieldDefinitionType {\n NUMBER = 'number',\n BOOLEAN = 'boolean',\n DATE = 'date',\n DATETIME = 'datetime',\n TEXT = 'text',\n IMAGE = 'image',\n SELECT = 'select',\n STATUS = 'status',\n FILE = 'file',\n}\n\nconst CUSTOM_FIELDS_FILTER_SCOPE: typeof customFields.CUSTOM_FIELDS_FILTER_SCOPE = customFields.CUSTOM_FIELDS_FILTER_SCOPE;\n\nexport {\n /** @deprecated Use the value from `@autofleet/common-types` instead */\n CUSTOM_FIELDS_FILTER_SCOPE,\n};\n"],"mappings":"uDAEA,MAAa,EAAoB,CAAC,kBAAmB,UAAW,iBAAiB,CAKjF,IAAY,EAAA,SAAA,EAAL,OACL,GAAA,OAAA,SACA,EAAA,QAAA,UACA,EAAA,KAAA,OACA,EAAA,SAAA,WACA,EAAA,KAAA,OACA,EAAA,MAAA,QACA,EAAA,OAAA,SACA,EAAA,OAAA,SACA,EAAA,KAAA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["CUSTOM_FIELDS_FILTER_SCOPE: typeof customFields.CUSTOM_FIELDS_FILTER_SCOPE"],"sources":["../../../src/utils/constants/index.ts"],"sourcesContent":["import { customFields } from '@autofleet/common-types';\n\nexport const supportedEntities = ['businessModelId', 'fleetId', 'demandSourceId'] as const;\n\n/**\n * Supported custom field types\n */\nexport enum CustomFieldDefinitionType {\n NUMBER = 'number',\n BOOLEAN = 'boolean',\n DATE = 'date',\n DATETIME = 'datetime',\n TEXT = 'text',\n IMAGE = 'image',\n SELECT = 'select',\n STATUS = 'status',\n FILE = 'file',\n MULTI_SELECT_STATUS = 'multi-select-status',\n MULTI_SELECT_DROPDOWN = 'multi-select-dropdown',\n}\n\nconst CUSTOM_FIELDS_FILTER_SCOPE: typeof customFields.CUSTOM_FIELDS_FILTER_SCOPE = customFields.CUSTOM_FIELDS_FILTER_SCOPE;\n\nexport {\n /** @deprecated Use the value from `@autofleet/common-types` instead */\n CUSTOM_FIELDS_FILTER_SCOPE,\n};\n"],"mappings":"uDAEA,MAAa,EAAoB,CAAC,kBAAmB,UAAW,iBAAiB,CAKjF,IAAY,EAAA,SAAA,EAAL,OACL,GAAA,OAAA,SACA,EAAA,QAAA,UACA,EAAA,KAAA,OACA,EAAA,SAAA,WACA,EAAA,KAAA,OACA,EAAA,MAAA,QACA,EAAA,OAAA,SACA,EAAA,OAAA,SACA,EAAA,KAAA,OACA,EAAA,oBAAA,sBACA,EAAA,sBAAA,+BAGF,MAAMA,EAA6E,EAAa"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`../../../_virtual/rolldown_runtime.cjs`),t=require(`../../constants/index.cjs`),n=require(`./select.validator.cjs`),r=require(`./status.validator.cjs`);let
|
|
1
|
+
const e=require(`../../../_virtual/rolldown_runtime.cjs`),t=require(`../../constants/index.cjs`),n=require(`./select.validator.cjs`),r=require(`./status.validator.cjs`),i=require(`./multi-select-status.validator.cjs`),a=require(`./multi-select-dropdown.validator.cjs`);let o=require(`joi`);o=e.__toESM(o);const s={[t.CustomFieldDefinitionType.SELECT]:t.CustomFieldDefinitionType.SELECT,[t.CustomFieldDefinitionType.STATUS]:t.CustomFieldDefinitionType.STATUS,[t.CustomFieldDefinitionType.MULTI_SELECT_STATUS]:t.CustomFieldDefinitionType.MULTI_SELECT_STATUS,[t.CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN]:t.CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN},c={[t.CustomFieldDefinitionType.SELECT]:n.validateSelect,[t.CustomFieldDefinitionType.STATUS]:r.validateStatus,[t.CustomFieldDefinitionType.MULTI_SELECT_STATUS]:i.validateMultiSelectStatus,[t.CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN]:a.validateMultiSelectDropdown,[t.CustomFieldDefinitionType.TEXT]:e=>o.default.string().min(0).validate(e),[t.CustomFieldDefinitionType.NUMBER]:e=>o.default.number().strict(!0).validate(e),[t.CustomFieldDefinitionType.BOOLEAN]:e=>o.default.boolean().strict().validate(e),[t.CustomFieldDefinitionType.DATE]:e=>o.default.date().validate(e),[t.CustomFieldDefinitionType.DATETIME]:e=>o.default.date().validate(e),[t.CustomFieldDefinitionType.IMAGE]:e=>o.default.array().min(1).unique().items(o.default.string().uri()).validate(e),[t.CustomFieldDefinitionType.FILE]:e=>o.default.array().min(1).unique().items(o.default.object({name:o.default.string().required(),type:o.default.string(),size:o.default.string(),addedBy:o.default.string().uuid()})).validate(e)};exports.CustomValidationTypes=s,exports.validators=c;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["CustomValidationTypes: Record<
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["CustomValidationTypes: Record<CustomValidationTypes, CustomFieldDefinitionType>","CustomFieldDefinitionType","validators: Validators","validateSelect","validateStatus","validateMultiSelectStatus","validateMultiSelectDropdown","Joi"],"sources":["../../../../src/utils/validations/validators/index.ts"],"sourcesContent":["import Joi from 'joi';\nimport { CustomFieldDefinitionType } from '../../constants';\nimport type { Validator, Validators } from '../type';\nimport { validateSelect } from './select.validator';\nimport { validateStatus } from './status.validator';\nimport { validateMultiSelectStatus } from './multi-select-status.validator';\nimport { validateMultiSelectDropdown } from './multi-select-dropdown.validator';\n\ntype CustomValidationTypes = Extract<CustomFieldDefinitionType, 'select' | 'status' | 'multi-select-status' | 'multi-select-dropdown'>;\n/**\n * Custom field types that must have custom validation.\n * TODO: remove this after moving to schema-based validation\n */\nexport const CustomValidationTypes: Record<CustomValidationTypes, CustomFieldDefinitionType> = {\n [CustomFieldDefinitionType.SELECT]: CustomFieldDefinitionType.SELECT,\n [CustomFieldDefinitionType.STATUS]: CustomFieldDefinitionType.STATUS,\n [CustomFieldDefinitionType.MULTI_SELECT_STATUS]: CustomFieldDefinitionType.MULTI_SELECT_STATUS,\n [CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN]: CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN,\n} as const;\n\n/**\n * Validators for custom fields\n */\nexport const validators: Validators = {\n [CustomFieldDefinitionType.SELECT]: validateSelect as Validator<unknown, unknown>,\n [CustomFieldDefinitionType.STATUS]: validateStatus as Validator<unknown, unknown>,\n [CustomFieldDefinitionType.MULTI_SELECT_STATUS]: validateMultiSelectStatus as Validator<unknown, unknown>,\n [CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN]: validateMultiSelectDropdown as Validator<unknown, unknown>,\n [CustomFieldDefinitionType.TEXT]: value => Joi.string().min(0).validate(value),\n [CustomFieldDefinitionType.NUMBER]: value => Joi.number().strict(true).validate(value),\n [CustomFieldDefinitionType.BOOLEAN]: value => Joi.boolean().strict().validate(value),\n [CustomFieldDefinitionType.DATE]: value => Joi.date().validate(value),\n [CustomFieldDefinitionType.DATETIME]: value => Joi.date().validate(value),\n [CustomFieldDefinitionType.IMAGE]: value => Joi.array().min(1).unique()\n .items(Joi.string().uri())\n .validate(value),\n [CustomFieldDefinitionType.FILE]: value => Joi.array().min(1).unique().items(Joi.object({\n name: Joi.string().required(),\n type: Joi.string(),\n size: Joi.string(),\n addedBy: Joi.string().uuid(),\n }))\n .validate(value),\n};\n"],"mappings":"iTAaA,MAAaA,EAAkF,EAC5FC,EAAAA,0BAA0B,QAASA,EAAAA,0BAA0B,QAC7DA,EAAAA,0BAA0B,QAASA,EAAAA,0BAA0B,QAC7DA,EAAAA,0BAA0B,qBAAsBA,EAAAA,0BAA0B,qBAC1EA,EAAAA,0BAA0B,uBAAwBA,EAAAA,0BAA0B,sBAC9E,CAKYC,EAAyB,EACnCD,EAAAA,0BAA0B,QAASE,EAAAA,gBACnCF,EAAAA,0BAA0B,QAASG,EAAAA,gBACnCH,EAAAA,0BAA0B,qBAAsBI,EAAAA,2BAChDJ,EAAAA,0BAA0B,uBAAwBK,EAAAA,6BAClDL,EAAAA,0BAA0B,MAAO,GAASM,EAAAA,QAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,EAAM,EAC7EN,EAAAA,0BAA0B,QAAS,GAASM,EAAAA,QAAI,QAAQ,CAAC,OAAO,GAAK,CAAC,SAAS,EAAM,EACrFN,EAAAA,0BAA0B,SAAU,GAASM,EAAAA,QAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAM,EACnFN,EAAAA,0BAA0B,MAAO,GAASM,EAAAA,QAAI,MAAM,CAAC,SAAS,EAAM,EACpEN,EAAAA,0BAA0B,UAAW,GAASM,EAAAA,QAAI,MAAM,CAAC,SAAS,EAAM,EACxEN,EAAAA,0BAA0B,OAAQ,GAASM,EAAAA,QAAI,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CACpE,MAAMA,EAAAA,QAAI,QAAQ,CAAC,KAAK,CAAC,CACzB,SAAS,EAAM,EACjBN,EAAAA,0BAA0B,MAAO,GAASM,EAAAA,QAAI,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAMA,EAAAA,QAAI,OAAO,CACtF,KAAMA,EAAAA,QAAI,QAAQ,CAAC,UAAU,CAC7B,KAAMA,EAAAA,QAAI,QAAQ,CAClB,KAAMA,EAAAA,QAAI,QAAQ,CAClB,QAASA,EAAAA,QAAI,QAAQ,CAAC,MAAM,CAC7B,CAAC,CAAC,CACA,SAAS,EAAM,CACnB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{CustomFieldDefinitionType as e}from"../../constants/index.js";import{validateSelect as t}from"./select.validator.js";import{validateStatus as n}from"./status.validator.js";import r from"joi";const
|
|
1
|
+
import{CustomFieldDefinitionType as e}from"../../constants/index.js";import{validateSelect as t}from"./select.validator.js";import{validateStatus as n}from"./status.validator.js";import{validateMultiSelectStatus as r}from"./multi-select-status.validator.js";import{validateMultiSelectDropdown as i}from"./multi-select-dropdown.validator.js";import a from"joi";const o={[e.SELECT]:e.SELECT,[e.STATUS]:e.STATUS,[e.MULTI_SELECT_STATUS]:e.MULTI_SELECT_STATUS,[e.MULTI_SELECT_DROPDOWN]:e.MULTI_SELECT_DROPDOWN},s={[e.SELECT]:t,[e.STATUS]:n,[e.MULTI_SELECT_STATUS]:r,[e.MULTI_SELECT_DROPDOWN]:i,[e.TEXT]:e=>a.string().min(0).validate(e),[e.NUMBER]:e=>a.number().strict(!0).validate(e),[e.BOOLEAN]:e=>a.boolean().strict().validate(e),[e.DATE]:e=>a.date().validate(e),[e.DATETIME]:e=>a.date().validate(e),[e.IMAGE]:e=>a.array().min(1).unique().items(a.string().uri()).validate(e),[e.FILE]:e=>a.array().min(1).unique().items(a.object({name:a.string().required(),type:a.string(),size:a.string(),addedBy:a.string().uuid()})).validate(e)};export{o as CustomValidationTypes,s as validators};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["CustomValidationTypes: Record<
|
|
1
|
+
{"version":3,"file":"index.js","names":["CustomValidationTypes: Record<CustomValidationTypes, CustomFieldDefinitionType>","validators: Validators"],"sources":["../../../../src/utils/validations/validators/index.ts"],"sourcesContent":["import Joi from 'joi';\nimport { CustomFieldDefinitionType } from '../../constants';\nimport type { Validator, Validators } from '../type';\nimport { validateSelect } from './select.validator';\nimport { validateStatus } from './status.validator';\nimport { validateMultiSelectStatus } from './multi-select-status.validator';\nimport { validateMultiSelectDropdown } from './multi-select-dropdown.validator';\n\ntype CustomValidationTypes = Extract<CustomFieldDefinitionType, 'select' | 'status' | 'multi-select-status' | 'multi-select-dropdown'>;\n/**\n * Custom field types that must have custom validation.\n * TODO: remove this after moving to schema-based validation\n */\nexport const CustomValidationTypes: Record<CustomValidationTypes, CustomFieldDefinitionType> = {\n [CustomFieldDefinitionType.SELECT]: CustomFieldDefinitionType.SELECT,\n [CustomFieldDefinitionType.STATUS]: CustomFieldDefinitionType.STATUS,\n [CustomFieldDefinitionType.MULTI_SELECT_STATUS]: CustomFieldDefinitionType.MULTI_SELECT_STATUS,\n [CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN]: CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN,\n} as const;\n\n/**\n * Validators for custom fields\n */\nexport const validators: Validators = {\n [CustomFieldDefinitionType.SELECT]: validateSelect as Validator<unknown, unknown>,\n [CustomFieldDefinitionType.STATUS]: validateStatus as Validator<unknown, unknown>,\n [CustomFieldDefinitionType.MULTI_SELECT_STATUS]: validateMultiSelectStatus as Validator<unknown, unknown>,\n [CustomFieldDefinitionType.MULTI_SELECT_DROPDOWN]: validateMultiSelectDropdown as Validator<unknown, unknown>,\n [CustomFieldDefinitionType.TEXT]: value => Joi.string().min(0).validate(value),\n [CustomFieldDefinitionType.NUMBER]: value => Joi.number().strict(true).validate(value),\n [CustomFieldDefinitionType.BOOLEAN]: value => Joi.boolean().strict().validate(value),\n [CustomFieldDefinitionType.DATE]: value => Joi.date().validate(value),\n [CustomFieldDefinitionType.DATETIME]: value => Joi.date().validate(value),\n [CustomFieldDefinitionType.IMAGE]: value => Joi.array().min(1).unique()\n .items(Joi.string().uri())\n .validate(value),\n [CustomFieldDefinitionType.FILE]: value => Joi.array().min(1).unique().items(Joi.object({\n name: Joi.string().required(),\n type: Joi.string(),\n size: Joi.string(),\n addedBy: Joi.string().uuid(),\n }))\n .validate(value),\n};\n"],"mappings":"wWAaA,MAAaA,EAAkF,EAC5F,EAA0B,QAAS,EAA0B,QAC7D,EAA0B,QAAS,EAA0B,QAC7D,EAA0B,qBAAsB,EAA0B,qBAC1E,EAA0B,uBAAwB,EAA0B,sBAC9E,CAKYC,EAAyB,EACnC,EAA0B,QAAS,GACnC,EAA0B,QAAS,GACnC,EAA0B,qBAAsB,GAChD,EAA0B,uBAAwB,GAClD,EAA0B,MAAO,GAAS,EAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,EAAM,EAC7E,EAA0B,QAAS,GAAS,EAAI,QAAQ,CAAC,OAAO,GAAK,CAAC,SAAS,EAAM,EACrF,EAA0B,SAAU,GAAS,EAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAM,EACnF,EAA0B,MAAO,GAAS,EAAI,MAAM,CAAC,SAAS,EAAM,EACpE,EAA0B,UAAW,GAAS,EAAI,MAAM,CAAC,SAAS,EAAM,EACxE,EAA0B,OAAQ,GAAS,EAAI,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CACpE,MAAM,EAAI,QAAQ,CAAC,KAAK,CAAC,CACzB,SAAS,EAAM,EACjB,EAA0B,MAAO,GAAS,EAAI,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAI,OAAO,CACtF,KAAM,EAAI,QAAQ,CAAC,UAAU,CAC7B,KAAM,EAAI,QAAQ,CAClB,KAAM,EAAI,QAAQ,CAClB,QAAS,EAAI,QAAQ,CAAC,MAAM,CAC7B,CAAC,CAAC,CACA,SAAS,EAAM,CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-select-dropdown.validator.cjs","names":["validateMultiSelectDropdown: Validator<string[], string[]>","validateMultiSelect"],"sources":["../../../../src/utils/validations/validators/multi-select-dropdown.validator.ts"],"sourcesContent":["import type { Validator } from '../type';\nimport { validateMultiSelect } from './multi-select.helpers';\n\nexport const validateMultiSelectDropdown: Validator<string[], string[]> = (value, options) =>\n validateMultiSelect(value, options ?? []);\n"],"mappings":"8CAGaA,GAA8D,EAAO,IAChFC,EAAAA,oBAAoB,EAAO,GAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-select-dropdown.validator.js","names":["validateMultiSelectDropdown: Validator<string[], string[]>"],"sources":["../../../../src/utils/validations/validators/multi-select-dropdown.validator.ts"],"sourcesContent":["import type { Validator } from '../type';\nimport { validateMultiSelect } from './multi-select.helpers';\n\nexport const validateMultiSelectDropdown: Validator<string[], string[]> = (value, options) =>\n validateMultiSelect(value, options ?? []);\n"],"mappings":"gEAGA,MAAaA,GAA8D,EAAO,IAChF,EAAoB,EAAO,GAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-select-status.validator.cjs","names":["validateMultiSelectStatus: Validator<string[], StatusOption[]>","validateMultiSelect"],"sources":["../../../../src/utils/validations/validators/multi-select-status.validator.ts"],"sourcesContent":["import type { Validator } from '../type';\nimport type { StatusOption } from './status.validator';\nimport { validateMultiSelect } from './multi-select.helpers';\n\n/**\n * Validate that the value is an array containing only the allowed multi-select values\n */\nexport const validateMultiSelectStatus: Validator<string[], StatusOption[]> = (value, multiSelectOptions) =>\n validateMultiSelect(value, (multiSelectOptions ?? []).map(option => option.value));\n"],"mappings":"8CAOaA,GAAkE,EAAO,IACpFC,EAAAA,oBAAoB,GAAQ,GAAsB,EAAE,EAAE,IAAI,GAAU,EAAO,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-select-status.validator.js","names":["validateMultiSelectStatus: Validator<string[], StatusOption[]>"],"sources":["../../../../src/utils/validations/validators/multi-select-status.validator.ts"],"sourcesContent":["import type { Validator } from '../type';\nimport type { StatusOption } from './status.validator';\nimport { validateMultiSelect } from './multi-select.helpers';\n\n/**\n * Validate that the value is an array containing only the allowed multi-select values\n */\nexport const validateMultiSelectStatus: Validator<string[], StatusOption[]> = (value, multiSelectOptions) =>\n validateMultiSelect(value, (multiSelectOptions ?? []).map(option => option.value));\n"],"mappings":"gEAOA,MAAaA,GAAkE,EAAO,IACpF,EAAoB,GAAQ,GAAsB,EAAE,EAAE,IAAI,GAAU,EAAO,MAAM,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`../../../_virtual/rolldown_runtime.cjs`);let t=require(`joi`);t=e.__toESM(t);const n=(e,n)=>n.length?t.default.array().allow(null).items(t.default.string().valid(...n)).unique().validate(e):t.default.valid(null).messages({"any.only":`custom field definition has no allowed values`}).validate(e);exports.validateMultiSelect=n;
|
|
2
|
+
//# sourceMappingURL=multi-select.helpers.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-select.helpers.cjs","names":["Joi"],"sources":["../../../../src/utils/validations/validators/multi-select.helpers.ts"],"sourcesContent":["import Joi from 'joi';\nimport type { ValidationResult } from 'joi';\n\nexport const validateMultiSelect = (value: unknown, allowedValues: string[]): ValidationResult => {\n if (!allowedValues.length) {\n return Joi.valid(null)\n .messages({ 'any.only': 'custom field definition has no allowed values' })\n .validate(value);\n }\n\n return Joi.array()\n .allow(null)\n .items(Joi.string().valid(...allowedValues))\n .unique()\n .validate(value);\n};\n"],"mappings":"8FAGA,MAAa,GAAuB,EAAgB,IAC7C,EAAc,OAMZA,EAAAA,QAAI,OAAO,CACf,MAAM,KAAK,CACX,MAAMA,EAAAA,QAAI,QAAQ,CAAC,MAAM,GAAG,EAAc,CAAC,CAC3C,QAAQ,CACR,SAAS,EAAM,CATTA,EAAAA,QAAI,MAAM,KAAK,CACnB,SAAS,CAAE,WAAY,gDAAiD,CAAC,CACzE,SAAS,EAAM"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"joi";const t=(t,n)=>n.length?e.array().allow(null).items(e.string().valid(...n)).unique().validate(t):e.valid(null).messages({"any.only":`custom field definition has no allowed values`}).validate(t);export{t as validateMultiSelect};
|
|
2
|
+
//# sourceMappingURL=multi-select.helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-select.helpers.js","names":[],"sources":["../../../../src/utils/validations/validators/multi-select.helpers.ts"],"sourcesContent":["import Joi from 'joi';\nimport type { ValidationResult } from 'joi';\n\nexport const validateMultiSelect = (value: unknown, allowedValues: string[]): ValidationResult => {\n if (!allowedValues.length) {\n return Joi.valid(null)\n .messages({ 'any.only': 'custom field definition has no allowed values' })\n .validate(value);\n }\n\n return Joi.array()\n .allow(null)\n .items(Joi.string().valid(...allowedValues))\n .unique()\n .validate(value);\n};\n"],"mappings":"mBAGA,MAAa,GAAuB,EAAgB,IAC7C,EAAc,OAMZ,EAAI,OAAO,CACf,MAAM,KAAK,CACX,MAAM,EAAI,QAAQ,CAAC,MAAM,GAAG,EAAc,CAAC,CAC3C,QAAQ,CACR,SAAS,EAAM,CATT,EAAI,MAAM,KAAK,CACnB,SAAS,CAAE,WAAY,gDAAiD,CAAC,CACzE,SAAS,EAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.validator.cjs","names":["validateStatus: Validator<StatusValue, StatusOption[]>","Joi"],"sources":["../../../../src/utils/validations/validators/status.validator.ts"],"sourcesContent":["import Joi from 'joi';\nimport type { Validator } from '../type';\n\
|
|
1
|
+
{"version":3,"file":"status.validator.cjs","names":["validateStatus: Validator<StatusValue, StatusOption[]>","Joi"],"sources":["../../../../src/utils/validations/validators/status.validator.ts"],"sourcesContent":["import Joi from 'joi';\nimport type { Validator } from '../type';\n\nexport type StatusColor = string | null; // TODO: Takes from @autofleet/colors ?\nexport type StatusValue = string;\nexport interface StatusOption {\n value: StatusValue;\n color: StatusColor;\n}\n\n/**\n* Validate that the value is one of the status values\n*/\nexport const validateStatus: Validator<StatusValue, StatusOption[]> = (\n value,\n statusValues,\n) => (\n Joi.string()\n .allow(null)\n .valid(...statusValues!.map(statusValue => statusValue.value))\n .validate(value)\n);\n"],"mappings":"8FAaA,MAAaA,GACX,EACA,IAEAC,EAAAA,QAAI,QAAQ,CACT,MAAM,KAAK,CACX,MAAM,GAAG,EAAc,IAAI,GAAe,EAAY,MAAM,CAAC,CAC7D,SAAS,EAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.validator.js","names":["validateStatus: Validator<StatusValue, StatusOption[]>"],"sources":["../../../../src/utils/validations/validators/status.validator.ts"],"sourcesContent":["import Joi from 'joi';\nimport type { Validator } from '../type';\n\
|
|
1
|
+
{"version":3,"file":"status.validator.js","names":["validateStatus: Validator<StatusValue, StatusOption[]>"],"sources":["../../../../src/utils/validations/validators/status.validator.ts"],"sourcesContent":["import Joi from 'joi';\nimport type { Validator } from '../type';\n\nexport type StatusColor = string | null; // TODO: Takes from @autofleet/colors ?\nexport type StatusValue = string;\nexport interface StatusOption {\n value: StatusValue;\n color: StatusColor;\n}\n\n/**\n* Validate that the value is one of the status values\n*/\nexport const validateStatus: Validator<StatusValue, StatusOption[]> = (\n value,\n statusValues,\n) => (\n Joi.string()\n .allow(null)\n .valid(...statusValues!.map(statusValue => statusValue.value))\n .validate(value)\n);\n"],"mappings":"mBAaA,MAAaA,GACX,EACA,IAEA,EAAI,QAAQ,CACT,MAAM,KAAK,CACX,MAAM,GAAG,EAAc,IAAI,GAAe,EAAY,MAAM,CAAC,CAC7D,SAAS,EAAM"}
|