back to previous names for const methods
[arvados-workbench2.git] / src / common / api / order-builder.ts
index 08d17b18e9d5b3ed7adba85fd36e8074d5abaaae..b5a2e807a0b5cf2538ee91cdceaa5d08ab1beab4 100644 (file)
@@ -3,7 +3,7 @@
 // SPDX-License-Identifier: AGPL-3.0
 
 import * as _ from "lodash";
-import { Resource } from "./common-resource-service";
+import { Resource } from "../../models/resource";
 
 export default class OrderBuilder<T extends Resource = Resource> {
 
@@ -15,23 +15,18 @@ export default class OrderBuilder<T extends Resource = Resource> {
         private order: string[] = [], 
         private prefix = ""){}
 
-    private getRule (direction: string, attribute: keyof T) {
+    private addRule (direction: string, attribute: keyof T) {
         const prefix = this.prefix ? this.prefix + "." : "";
-        return `${prefix}${_.snakeCase(attribute.toString())} ${direction}`;
+        const order = [...this.order, `${prefix}${_.snakeCase(attribute.toString())} ${direction}`];
+        return new OrderBuilder<T>(order, prefix);
     }
 
     addAsc(attribute: keyof T) {
-        return new OrderBuilder<T>(
-            [...this.order, this.getRule("asc", attribute)],
-            this.prefix
-        );
+        return this.addRule("asc", attribute);
     }
 
     addDesc(attribute: keyof T) {
-        return new OrderBuilder<T>(
-            [...this.order, this.getRule("desc", attribute)],
-            this.prefix
-        );
+        return this.addRule("desc", attribute);
     }
 
     concat(orderBuilder: OrderBuilder){