|
|
|
@ -75,59 +75,69 @@ class Pages {
|
|
|
|
|
let isValid = true
|
|
|
|
|
|
|
|
|
|
for (const [key, value] of Object.entries(options.filter)) {
|
|
|
|
|
|
|
|
|
|
// equal
|
|
|
|
|
if (value['_eq'] && result[key] !== value['_eq']) {
|
|
|
|
|
isValid = false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (value['_neq'] && result[key] === value['_eq']) {
|
|
|
|
|
// not equal
|
|
|
|
|
if (value['_neq'] && result[key] === value['_neq']) {
|
|
|
|
|
isValid = false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
// in
|
|
|
|
|
if (value['_in'] && Array.isArray(value['_in'])) {
|
|
|
|
|
|
|
|
|
|
if (value['_in'] && value['_in'].indexOf(result[key]) !== -1) {
|
|
|
|
|
// if result no exists
|
|
|
|
|
if (!result[key]) {
|
|
|
|
|
isValid = false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (value['_nin'] && value['_nin'].indexOf(result[key]) === -1) {
|
|
|
|
|
isValid = false
|
|
|
|
|
}
|
|
|
|
|
if (Array.isArray(result[key])) {
|
|
|
|
|
|
|
|
|
|
if (value['_lt'] && result[key] < value['_lt']) {
|
|
|
|
|
isValid = false
|
|
|
|
|
let found = false
|
|
|
|
|
|
|
|
|
|
result[key].forEach((v, index) => {
|
|
|
|
|
if (value['_in'].indexOf(v) !== -1) {
|
|
|
|
|
found = true
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
if (value['_lte'] && result[key] <= value['_lte']) {
|
|
|
|
|
if (!found) {
|
|
|
|
|
isValid = false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (value['_gt'] && result[key] > value['_gt']) {
|
|
|
|
|
} else {
|
|
|
|
|
if (value['_in'].indexOf(result[key]) === -1) {
|
|
|
|
|
isValid = false
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (value['_gte'] && result[key] >= value['_gt']) {
|
|
|
|
|
if (value['_lt'] && result[key] < value['_lt']) {
|
|
|
|
|
isValid = false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (value['_null'] && result[key]) {
|
|
|
|
|
if (value['_lte'] && result[key] <= value['_lte']) {
|
|
|
|
|
isValid = false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (value['_nnull'] && !result[key]) {
|
|
|
|
|
if (value['_gt'] && result[key] > value['_gt']) {
|
|
|
|
|
isValid = false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (value['_contains'] && !result[key]) {
|
|
|
|
|
if (value['_gte'] && result[key] >= value['_gte']) {
|
|
|
|
|
isValid = false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (value['_ncontains'] && !result[key]) {
|
|
|
|
|
if (value['_null'] && result[key]) {
|
|
|
|
|
isValid = false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (value['_regex'] && result[key].test(value['_regex'])) {
|
|
|
|
|
if (value['_nnull'] && !result[key]) {
|
|
|
|
|
isValid = false
|
|
|
|
|
}*/
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return isValid
|
|
|
|
|