@autofleet/sheilta 1.2.8 → 1.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,7 +4,7 @@ export declare type FormatPayloadOptions = {
4
4
  includeRawPayload?: boolean;
5
5
  };
6
6
  declare const formatPayload: ({ order, page, perPage, include, query, attributes, searchTerm, }: {
7
- order: any;
7
+ order?: any[];
8
8
  page?: number;
9
9
  perPage?: number;
10
10
  include?: any[];
@@ -5,22 +5,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const lodash_1 = __importDefault(require("lodash"));
7
7
  const utils_1 = require("../utils");
8
+ const DEFAULT_ORDER = 'id';
8
9
  const DESCENDING_KEY = 'DESC';
9
- const formatOrder = ({ order = [], associationModels = [], }) => (order.length === 0 ? undefined :
10
- order.map((o) => {
11
- const formattedOrder = [utils_1.extractAttributeNameFromOrder(o, associationModels)];
12
- const isOrderDescOrder = utils_1.isOrderDesc(o);
13
- const isOrderAssociation = utils_1.isAttributeByAssociation(isOrderDescOrder
14
- ? o.split(utils_1.ORDER_PREFIX)[1]
15
- : o, associationModels);
16
- if (isOrderAssociation) {
17
- formattedOrder.push(utils_1.extractAssociatedAttributeNameFromOrder(o));
18
- }
19
- if (isOrderDescOrder) {
20
- formattedOrder.push(DESCENDING_KEY);
21
- }
22
- return formattedOrder;
23
- }));
10
+ const formatOrder = ({ order, associationModels = [], }) => order.map((o) => {
11
+ const formattedOrder = [utils_1.extractAttributeNameFromOrder(o, associationModels)];
12
+ const isOrderDescOrder = utils_1.isOrderDesc(o);
13
+ const isOrderAssociation = utils_1.isAttributeByAssociation(isOrderDescOrder
14
+ ? o.split(utils_1.ORDER_PREFIX)[1]
15
+ : o, associationModels);
16
+ if (isOrderAssociation) {
17
+ formattedOrder.push(utils_1.extractAssociatedAttributeNameFromOrder(o));
18
+ }
19
+ if (isOrderDescOrder) {
20
+ formattedOrder.push(DESCENDING_KEY);
21
+ }
22
+ return formattedOrder;
23
+ });
24
24
  const formatPage = page => page || utils_1.PAGE_DEFAULT;
25
25
  const formatPerPage = perPage => perPage || utils_1.PER_PAGE_DEFAULT;
26
26
  const formatInclude = (include, associationsMap = {}) => {
@@ -39,10 +39,10 @@ const formatSearchTerm = (searchTerm, attributesToSend, rawAttributes) => ({
39
39
  })),
40
40
  })),
41
41
  });
42
- const formatPayload = ({ order, page = utils_1.PAGE_DEFAULT, perPage = utils_1.PER_PAGE_DEFAULT, include = [], query = {}, attributes = null, searchTerm = null, }, model) => {
42
+ const formatPayload = ({ order = [], page = utils_1.PAGE_DEFAULT, perPage = utils_1.PER_PAGE_DEFAULT, include = [], query = {}, attributes = null, searchTerm = null, }, model) => {
43
43
  const associationModels = Object.keys((model === null || model === void 0 ? void 0 : model.associations) || {});
44
44
  const formattedOrder = formatOrder({
45
- order,
45
+ order: [...order, DEFAULT_ORDER],
46
46
  associationModels,
47
47
  });
48
48
  const formattedInclude = formatInclude(include, model === null || model === void 0 ? void 0 : model.associations);
@@ -135,13 +135,13 @@ describe('formatting test', () => {
135
135
  const { order } = _1.default({
136
136
  order: ['startTime', '-endTime'],
137
137
  });
138
- expect(JSON.stringify(order)).toBe(JSON.stringify([['startTime'], ['endTime', 'DESC']]));
138
+ expect(JSON.stringify(order)).toBe(JSON.stringify([['startTime'], ['endTime', 'DESC'], ['id']]));
139
139
  });
140
140
  it('simple check asc', () => {
141
141
  const { order } = _1.default({
142
142
  order: ['startTime', 'endTime'],
143
143
  });
144
- expect(JSON.stringify(order)).toBe(JSON.stringify([['startTime'], ['endTime']]));
144
+ expect(JSON.stringify(order)).toBe(JSON.stringify([['startTime'], ['endTime'], ['id']]));
145
145
  });
146
146
  it('by included model', () => {
147
147
  const { order } = _1.default({
@@ -154,7 +154,7 @@ describe('formatting test', () => {
154
154
  status: {},
155
155
  },
156
156
  });
157
- expect(JSON.stringify(order)).toBe(JSON.stringify([['status', 'name']]));
157
+ expect(JSON.stringify(order)).toBe(JSON.stringify([['status', 'name'], ['id']]));
158
158
  });
159
159
  it('by included model descending', () => {
160
160
  const { order } = _1.default({
@@ -167,7 +167,7 @@ describe('formatting test', () => {
167
167
  status: {},
168
168
  },
169
169
  });
170
- expect(JSON.stringify(order)).toBe(JSON.stringify([['status', 'name', 'DESC']]));
170
+ expect(JSON.stringify(order)).toBe(JSON.stringify([['status', 'name', 'DESC'], ['id']]));
171
171
  });
172
172
  it('by json field', () => {
173
173
  const { order } = _1.default({
@@ -177,7 +177,7 @@ describe('formatting test', () => {
177
177
  startTime: '', endTime: '', currencySymbol: '', currencyCode: '', startStationId: '', json: '',
178
178
  },
179
179
  });
180
- expect(JSON.stringify(order)).toBe(JSON.stringify([['status.name']]));
180
+ expect(JSON.stringify(order)).toBe(JSON.stringify([['status.name'], ['id']]));
181
181
  });
182
182
  it('by json field descending', () => {
183
183
  const { order } = _1.default({
@@ -187,7 +187,7 @@ describe('formatting test', () => {
187
187
  startTime: '', endTime: '', currencySymbol: '', currencyCode: '', startStationId: '', json: '',
188
188
  },
189
189
  });
190
- expect(JSON.stringify(order)).toBe(JSON.stringify([['status.name', 'DESC']]));
190
+ expect(JSON.stringify(order)).toBe(JSON.stringify([['status.name', 'DESC'], ['id']]));
191
191
  });
192
192
  });
193
193
  describe('include formatting', () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autofleet/sheilta",
3
- "version": "1.2.8",
3
+ "version": "1.2.9",
4
4
  "description": "manage cache",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",