1
0
Fork 0
mirror of synced 2024-09-20 11:27:56 +12:00

Type search validators

This commit is contained in:
Adria Navarro 2024-08-07 13:56:25 +02:00
parent 0fa1cc6f15
commit d6e1bcb382

View file

@ -1,6 +1,6 @@
import { auth, permissions } from "@budibase/backend-core" import { auth, permissions } from "@budibase/backend-core"
import { DataSourceOperation } from "../../../constants" import { DataSourceOperation } from "../../../constants"
import { Table, WebhookActionType } from "@budibase/types" import { SearchFilters, Table, WebhookActionType } from "@budibase/types"
import Joi, { CustomValidator } from "joi" import Joi, { CustomValidator } from "joi"
import { ValidSnippetNameRegex, helpers } from "@budibase/shared-core" import { ValidSnippetNameRegex, helpers } from "@budibase/shared-core"
import sdk from "../../../sdk" import sdk from "../../../sdk"
@ -84,7 +84,7 @@ export function datasourceValidator() {
} }
function filterObject() { function filterObject() {
return Joi.object({ const filtersValidators: Record<keyof SearchFilters, any> = {
string: Joi.object().optional(), string: Joi.object().optional(),
fuzzy: Joi.object().optional(), fuzzy: Joi.object().optional(),
range: Joi.object().optional(), range: Joi.object().optional(),
@ -96,7 +96,8 @@ function filterObject() {
contains: Joi.object().optional(), contains: Joi.object().optional(),
notContains: Joi.object().optional(), notContains: Joi.object().optional(),
allOr: Joi.boolean().optional(), allOr: Joi.boolean().optional(),
}).unknown(true) }
return Joi.object(filtersValidators).unknown(true)
} }
export function internalSearchValidator() { export function internalSearchValidator() {