projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
17782: Fixes absolute import paths from '~/somedir/...' to 'somedir/...'
[arvados.git]
/
src
/
services
/
api
/
filter-builder.ts
diff --git
a/src/services/api/filter-builder.ts
b/src/services/api/filter-builder.ts
index 77fcef6fca096bf8a13a406f1b3e0b1bd1a8ed25..d1a4fd08b6aa5b32500c727cb1ea1acbf695fd61 100644
(file)
--- a/
src/services/api/filter-builder.ts
+++ b/
src/services/api/filter-builder.ts
@@
-2,10
+2,8
@@
//
// SPDX-License-Identifier: AGPL-3.0
//
// SPDX-License-Identifier: AGPL-3.0
-import * as _ from "lodash";
-
-export function joinFilters(filters0?: string, filters1?: string) {
- return [filters0, filters1].filter(s => s).join(",");
+export function joinFilters(...filters: string[]) {
+ return filters.filter(s => s).join(",");
}
export class FilterBuilder {
}
export class FilterBuilder {
@@
-15,6
+13,10
@@
export class FilterBuilder {
return this.addCondition(field, "=", value, "", "", resourcePrefix);
}
return this.addCondition(field, "=", value, "", "", resourcePrefix);
}
+ public addDistinct(field: string, value?: string | boolean | null, resourcePrefix?: string) {
+ return this.addCondition(field, "!=", value, "", "", resourcePrefix);
+ }
+
public addLike(field: string, value?: string, resourcePrefix?: string) {
return this.addCondition(field, "like", value, "%", "%", resourcePrefix);
}
public addLike(field: string, value?: string, resourcePrefix?: string) {
return this.addCondition(field, "like", value, "%", "%", resourcePrefix);
}
@@
-23,6
+25,10
@@
export class FilterBuilder {
return this.addCondition(field, "ilike", value, "%", "%", resourcePrefix);
}
return this.addCondition(field, "ilike", value, "%", "%", resourcePrefix);
}
+ public addContains(field: string, value?: string, resourcePrefix?: string) {
+ return this.addCondition(field, "contains", value, "", "", resourcePrefix);
+ }
+
public addIsA(field: string, value?: string | string[], resourcePrefix?: string) {
return this.addCondition(field, "is_a", value, "", "", resourcePrefix);
}
public addIsA(field: string, value?: string | string[], resourcePrefix?: string) {
return this.addCondition(field, "is_a", value, "", "", resourcePrefix);
}
@@
-54,6
+60,9
@@
export class FilterBuilder {
public addExists(value?: string, resourcePrefix?: string) {
return this.addCondition("properties", "exists", value, "", "", resourcePrefix);
}
public addExists(value?: string, resourcePrefix?: string) {
return this.addCondition("properties", "exists", value, "", "", resourcePrefix);
}
+ public addDoesNotExist(field: string, resourcePrefix?: string) {
+ return this.addCondition("properties." + field, "exists", false, "", "", resourcePrefix);
+ }
public addFullTextSearch(value: string) {
const terms = value.trim().split(/(\s+)/);
public addFullTextSearch(value: string) {
const terms = value.trim().split(/(\s+)/);
@@
-83,9
+92,7
@@
export class FilterBuilder {
? resourcePrefix + "."
: "";
? resourcePrefix + "."
: "";
- const fld = field.indexOf('properties.') < 0 ? _.snakeCase(field) : field;
-
- this.filters += `${this.filters ? "," : ""}["${resPrefix}${fld}","${cond}",${value}]`;
+ this.filters += `${this.filters ? "," : ""}["${resPrefix}${field}","${cond}",${value}]`;
}
return this;
}
}
return this;
}