From f877bc3d92412e02698ea268f24133acc80d4eb5 Mon Sep 17 00:00:00 2001 From: Vladimir Borovik Date: Thu, 13 Feb 2025 17:02:02 +0300 Subject: [PATCH] feat: allow pass a `ordersVersion` for orders queries --- src/api/fusion-api.ts | 10 +++++----- src/api/index.ts | 1 + src/api/orders/order-api.spec.ts | 2 +- src/api/orders/orders.api.ts | 12 ++++++------ src/api/{version.ts => ordersVersion.ts} | 3 +-- src/api/params.ts | 4 ++-- 6 files changed, 16 insertions(+), 16 deletions(-) rename src/api/{version.ts => ordersVersion.ts} (51%) diff --git a/src/api/fusion-api.ts b/src/api/fusion-api.ts index 7810df8..d63027e 100644 --- a/src/api/fusion-api.ts +++ b/src/api/fusion-api.ts @@ -15,7 +15,7 @@ import { OrderStatusResponse, OrdersByMakerResponse } from './orders' -import {Version} from './version' +import {OrdersVersion} from './ordersVersion' import {AxiosProviderConnector} from '../connector' export class FusionApi { @@ -78,9 +78,9 @@ export class FusionApi { getActiveOrders( params: ActiveOrdersRequest = ActiveOrdersRequest.new(), - version = Version._2_1 + ordersVersion = OrdersVersion._2_1 ): Promise { - return this.ordersApi.getActiveOrders(params, version) + return this.ordersApi.getActiveOrders(params, ordersVersion) } getOrderStatus(params: OrderStatusRequest): Promise { @@ -89,9 +89,9 @@ export class FusionApi { getOrdersByMaker( params: OrdersByMakerRequest, - version = Version._2_1 + ordersVersion = OrdersVersion._2_1 ): Promise { - return this.ordersApi.getOrdersByMaker(params, version) + return this.ordersApi.getOrdersByMaker(params, ordersVersion) } submitOrder(params: RelayerRequest): Promise { diff --git a/src/api/index.ts b/src/api/index.ts index d7fe75f..883acd1 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -5,3 +5,4 @@ export * from './orders/index' export * from './fusion-api' export * from './pagination' export * from './types' +export * from './ordersVersion' diff --git a/src/api/orders/order-api.spec.ts b/src/api/orders/order-api.spec.ts index ebfaec6..3cdc3a0 100644 --- a/src/api/orders/order-api.spec.ts +++ b/src/api/orders/order-api.spec.ts @@ -255,7 +255,7 @@ describe(__filename, () => { expect(response).toEqual(expected) expect(httpProvider.get).toHaveBeenLastCalledWith( - `${url}/orders/v2.0/1/order/status/${orderHash}?version=2.1` + `${url}/orders/v2.0/1/order/status/${orderHash}` ) }) diff --git a/src/api/orders/orders.api.ts b/src/api/orders/orders.api.ts index f8253ee..f0294e9 100644 --- a/src/api/orders/orders.api.ts +++ b/src/api/orders/orders.api.ts @@ -11,7 +11,7 @@ import { } from './types' import {AxiosProviderConnector, HttpProviderConnector} from '../../connector' import {concatQueryParams} from '../params' -import {Version, VERSION} from '../version' +import {OrdersVersion} from '../ordersVersion' export class OrdersApi { private static Version = 'v2.0' @@ -32,7 +32,7 @@ export class OrdersApi { async getActiveOrders( params: ActiveOrdersRequest, - version: Version + ordersVersion: OrdersVersion ): Promise { const err = params.validate() @@ -40,7 +40,7 @@ export class OrdersApi { throw new Error(err) } - const queryParams = concatQueryParams(params.build(), version) + const queryParams = concatQueryParams(params.build(), ordersVersion) const url = `${this.config.url}/${OrdersApi.Version}/${this.config.network}/order/active/${queryParams}` return this.httpClient.get(url) @@ -55,14 +55,14 @@ export class OrdersApi { throw new Error(err) } - const url = `${this.config.url}/${OrdersApi.Version}/${this.config.network}/order/status/${params.orderHash}?version=${VERSION}` + const url = `${this.config.url}/${OrdersApi.Version}/${this.config.network}/order/status/${params.orderHash}` return this.httpClient.get(url) } async getOrdersByMaker( params: OrdersByMakerRequest, - version: Version + ordersVersion: OrdersVersion ): Promise { const err = params.validate() @@ -70,7 +70,7 @@ export class OrdersApi { throw new Error(err) } - const qp = concatQueryParams(params.buildQueryParams(), version) + const qp = concatQueryParams(params.buildQueryParams(), ordersVersion) const url = `${this.config.url}/${OrdersApi.Version}/${this.config.network}/order/maker/${params.address}/${qp}` return this.httpClient.get(url) diff --git a/src/api/version.ts b/src/api/ordersVersion.ts similarity index 51% rename from src/api/version.ts rename to src/api/ordersVersion.ts index f814a93..6c909e3 100644 --- a/src/api/version.ts +++ b/src/api/ordersVersion.ts @@ -1,5 +1,4 @@ -export const VERSION = '2.1' -export enum Version { +export enum OrdersVersion { all = 'all', _2_1 = '2.1', _2_0 = '2.0' diff --git a/src/api/params.ts b/src/api/params.ts index 0347b55..5a5c673 100644 --- a/src/api/params.ts +++ b/src/api/params.ts @@ -1,11 +1,11 @@ -import {Version} from './version' +import {OrdersVersion} from './ordersVersion' /** * Concat all params to query encoded string. if `addVersion` is true, then `version` param is added to this string */ export function concatQueryParams< T extends Record ->(params: T, version: false | Version = false): string { +>(params: T, version: false | OrdersVersion = false): string { if (!params) { return version ? `?version=${version}` : '' }