@webitel/ui-sdk 3.1.110 → 3.1.111

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webitel/ui-sdk",
3
- "version": "3.1.110",
3
+ "version": "3.1.111",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve-lib": "vue-cli-service serve",
@@ -15,6 +15,7 @@
15
15
  "main": "./dist/@webitel/ui-sdk.common.js",
16
16
  "files": [
17
17
  "dist/*",
18
+ "src/api/*",
18
19
  "src/locale/*",
19
20
  "src/css/*",
20
21
  "src/components/*",
@@ -0,0 +1,11 @@
1
+ import axios from 'axios';
2
+
3
+ // 'X-Webitel-Access' ~ 'X-Access-Token'
4
+ const generateInstance = () => axios.create({
5
+ baseURL: process.env.VUE_APP_API_URL,
6
+ headers: {
7
+ 'X-Webitel-Access': localStorage.getItem('access-token') || '',
8
+ },
9
+ });
10
+
11
+ export default generateInstance;
@@ -0,0 +1,6 @@
1
+ const getDefaultGetListResponse = ({} = {}) => ({
2
+ items: [],
3
+ next: false,
4
+ });
5
+
6
+ export default getDefaultGetListResponse;
@@ -0,0 +1,9 @@
1
+ const getDefaultGetParams = ({
2
+ page = 1,
3
+ size = 10,
4
+ } = {}) => ({
5
+ page,
6
+ size,
7
+ });
8
+
9
+ export default getDefaultGetParams;
@@ -0,0 +1,7 @@
1
+ import getDefaultGetParams from './getDefaultGetParams/getDefaultGetParams';
2
+ import getDefaultGetListResponse from './getDefaultGetListResponse/getDefaultGetListResponse';
3
+
4
+ export {
5
+ getDefaultGetParams,
6
+ getDefaultGetListResponse,
7
+ };
@@ -0,0 +1,8 @@
1
+ const applyTransform = (target, transformers, { debug = false } = {}) => {
2
+ return transformers.reduce((result, transformer, index) => {
3
+ if (debug) console.info(`applyTransform debug on step ${index}`, result);
4
+ return transformer(result);
5
+ }, target);
6
+ };
7
+
8
+ export default applyTransform;
@@ -0,0 +1,4 @@
1
+ import { objCamelToSnake } from '../../../scripts/caseConverters';
2
+
3
+ const camelToSnakeTransformer = (skipKeys) => (obj) => objCamelToSnake(obj, skipKeys);
4
+ export default camelToSnakeTransformer;
@@ -0,0 +1,9 @@
1
+ const handleUnauthorizedTransformer = (error) => {
2
+ if (error.response && error.response.status === 401) {
3
+ console.warn('intercepted 401');
4
+ localStorage.removeItem('access-token');
5
+ }
6
+ return error;
7
+ };
8
+
9
+ export default handleUnauthorizedTransformer;
@@ -0,0 +1,21 @@
1
+ import applyTransform from './applyTransform';
2
+ import log from './log/log.transformer';
3
+ import merge from './merge/merge.transformer';
4
+ import starToSearch from './starToSearch/starToSearch.transformer';
5
+ import camelToSnake from './camelToSnake/camelToSnake.transformer';
6
+ import snakeToCamel from './snakeToCamel/snakeToCamel.transformer';
7
+ import handleUnauthorized from './handleUnauthorized/handleUnauthorized.transformer';
8
+ import notify from './notify/notify.transformer';
9
+ import sanitize from './sanitize/sanitize.transformer';
10
+
11
+ export default applyTransform;
12
+ export {
13
+ log,
14
+ merge,
15
+ notify,
16
+ starToSearch,
17
+ camelToSnake,
18
+ snakeToCamel,
19
+ handleUnauthorized,
20
+ sanitize,
21
+ };
@@ -0,0 +1,6 @@
1
+ const logTransformer = (arg) => {
2
+ console.log(arg);
3
+ return arg;
4
+ };
5
+
6
+ export default logTransformer;
@@ -0,0 +1,5 @@
1
+ import merge from 'deepmerge';
2
+
3
+ const mergeTransformer = (...args) => (main) => merge.all([...args, main]);
4
+
5
+ export default mergeTransformer;
@@ -0,0 +1,13 @@
1
+ import eventBus from '../../../scripts/eventBus';
2
+
3
+ const notifyTransformer = (payload) => {
4
+ if (payload instanceof Error) {
5
+ eventBus.$emit('notification', {
6
+ type: 'error',
7
+ text: payload.response.data.detail || payload.response.data.message,
8
+ });
9
+ }
10
+ return payload;
11
+ };
12
+
13
+ export default notifyTransformer;
@@ -0,0 +1,12 @@
1
+ const sanitizeTransformer = (fieldsToSend) => (item) => {
2
+ return Object.keys(item).reduce((sanitizedItem, key) => {
3
+ if (fieldsToSend.indexOf(key) === -1) return sanitizedItem;
4
+
5
+ return {
6
+ ...sanitizedItem,
7
+ [key]: item[key],
8
+ };
9
+ }, {});
10
+ };
11
+
12
+ export default sanitizeTransformer;
@@ -0,0 +1,4 @@
1
+ import { objSnakeToCamel } from '../../../scripts/caseConverters';
2
+
3
+ const snakeToCamelTransformer = (skipKeys) => (obj) => objSnakeToCamel(obj, skipKeys);
4
+ export default snakeToCamelTransformer;
@@ -0,0 +1,12 @@
1
+ import deepcopy from 'deep-copy';
2
+ import get from 'lodash/get';
3
+ import updateObject from '../../../scripts/updateObject';
4
+
5
+ const starToSearchTransformer = (path = 'search') => (params) => {
6
+ const copy = deepcopy(params);
7
+ const value = get(copy, path);
8
+ if (!value || value.slice(-1) === '*') return copy;
9
+ return updateObject({ obj: copy, path, value: `${value}*` });
10
+ };
11
+
12
+ export default starToSearchTransformer;