@autofleet/sheilta 1.3.5 → 1.3.6-hilat-1

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.
@@ -5,6 +5,7 @@ export declare type FormatPayloadOptions = {
5
5
  includeRawPayload?: boolean;
6
6
  literalAttributes?: LiteralAttribute[];
7
7
  DBFormatter?: any;
8
+ skipSearchTermFormat?: boolean;
8
9
  };
9
10
  declare const formatPayload: ({ order, page, perPage, include, query, attributes, searchTerm, }: {
10
11
  order?: any[];
@@ -15,7 +16,9 @@ declare const formatPayload: ({ order, page, perPage, include, query, attributes
15
16
  attributes?: any;
16
17
  searchTerm?: any;
17
18
  }, model?: any, options?: any) => {
18
- attributes: any[];
19
+ attributes: any[] | {
20
+ include: any[];
21
+ };
19
22
  query: {};
20
23
  order: SequelizeOrder[];
21
24
  page: any;
@@ -65,9 +65,9 @@ const formatQuery = (query, associationModels) => {
65
65
  formattedScopeMap.get(CUSTOM_FIELDS_FILTER_SCOPE)[scopeKey] = queryItemValue;
66
66
  return;
67
67
  }
68
- const key = utils_1.isAttributeByAssociation(queryItemKey, associationModels) ?
69
- utils_1.wrapAttributeWithOperator(queryItemKey) :
70
- queryItemKey;
68
+ const key = utils_1.isAttributeByAssociation(queryItemKey, associationModels)
69
+ ? utils_1.wrapAttributeWithOperator(queryItemKey)
70
+ : queryItemKey;
71
71
  formattedQuery[key] = queryItemValue;
72
72
  });
73
73
  const formattedScopes = Array.from(formattedScopeMap.entries()).map(([scopeName, scopeValue]) => {
@@ -98,12 +98,13 @@ const formatPayload = ({ order = [], page = utils_1.PAGE_DEFAULT, perPage = util
98
98
  });
99
99
  const [filteredFormattedOrder, filteredLiteralAttributes] = getAttributeFromOrder(formattedOrder, options);
100
100
  const allAttributes = [...filteredLiteralAttributes, ...(attributes || [])];
101
+ const formattedAttribute = (attributes === null || attributes === void 0 ? void 0 : attributes.length) ? allAttributes : { include: allAttributes };
101
102
  const formattedInclude = formatInclude(include, model === null || model === void 0 ? void 0 : model.associations);
102
103
  const formattedPage = formatPage(page);
103
104
  const formattedPerPage = formatPerPage(perPage);
104
105
  const result = formatQuery(query, associationModels);
105
106
  let { formattedQuery } = result;
106
- if (searchTerm) {
107
+ if (searchTerm && !(options === null || options === void 0 ? void 0 : options.skipSearchTermFormat)) {
107
108
  const attributesToSend = (attributes === null || attributes === void 0 ? void 0 : attributes.length) ? attributes : Object.keys(model.rawAttributes);
108
109
  const queryWithSearchTerm = formatSearchTerm(searchTerm, attributesToSend, model.rawAttributes);
109
110
  formattedQuery = lodash_1.default.isEmpty(formattedQuery) ? queryWithSearchTerm : {
@@ -113,6 +114,6 @@ const formatPayload = ({ order = [], page = utils_1.PAGE_DEFAULT, perPage = util
113
114
  ],
114
115
  };
115
116
  }
116
- return Object.assign({ query: formattedQuery, order: filteredFormattedOrder, page: formattedPage, perPage: formattedPerPage, include: formattedInclude, scopes: result.formattedScopes }, ((allAttributes.length > 0) && { attributes: allAttributes }));
117
+ return Object.assign({ query: formattedQuery, order: filteredFormattedOrder, page: formattedPage, perPage: formattedPerPage, include: formattedInclude, scopes: result.formattedScopes }, (formattedAttribute && { attributes: formattedAttribute }));
117
118
  };
118
119
  exports.default = formatPayload;
@@ -202,7 +202,7 @@ describe('formatting test', () => {
202
202
  });
203
203
  expect(JSON.stringify(order)).toBe(JSON.stringify([[`${literalAttribute.attribute} ASC`], ['id']]));
204
204
  expect(JSON.stringify(attributes))
205
- .toBe(JSON.stringify([literalAttribute.literal]));
205
+ .toBe(JSON.stringify({ include: [literalAttribute.literal] }));
206
206
  });
207
207
  it('by literal field descending', () => {
208
208
  const literalAttribute = { attribute: 'genericField', literal: ['void', 'field'] };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autofleet/sheilta",
3
- "version": "1.3.5",
3
+ "version": "1.3.6-hilat-1",
4
4
  "description": "manage cache",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",