From 670237b397d996f91f3821eb48304152652ebd6a Mon Sep 17 00:00:00 2001 From: Pavel Tiunov Date: Fri, 12 Apr 2019 14:13:11 +0300 Subject: [PATCH] feat(api-gateway): Order support --- packages/cubejs-api-gateway/index.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/cubejs-api-gateway/index.js b/packages/cubejs-api-gateway/index.js index fb3a29b113e0f..996934830766c 100644 --- a/packages/cubejs-api-gateway/index.js +++ b/packages/cubejs-api-gateway/index.js @@ -117,6 +117,7 @@ const querySchema = Joi.object().keys({ Joi.string() ] })), + order: Joi.object().pattern(id, Joi.valid('asc', 'desc')), segments: Joi.array().items(id), timezone: Joi.string(), limit: Joi.number().integer().min(1).max(50000) @@ -165,10 +166,15 @@ const normalizeQuery = (query) => { granularity: d.split('.')[2] })); const timezone = query.timezone || 'UTC'; + const order = query.order && Object.keys(query.order).map(k => ({ + id: k, + desc: query.order[k] === 'desc' + })); return { ...query, rowLimit: query.rowLimit || query.limit, timezone, + order, dimensions: (query.dimensions || []).filter(d => d.split('.').length !== 3), timeDimensions: (query.timeDimensions || []).map(td => { let dateRange;