Built motion from commit (unavailable).|2.4.17
[motion2.git] / server / api / intDeskField / intDeskField.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x61a5=['fields','length','hasOwnProperty','nolimit','limit','order','where','filters','pick','merge','VIRTUAL','name','filter','options','DeskField','includeAll','include','findAll','rows','catch','show','params','body','find','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','set','apply','save','update','then','destroy','error','stack','send','index','map','rawAttributes','type','key','keys','query','intersection','model','attributes'];(function(_0x574de7,_0x24ce60){var _0x568f46=function(_0x516004){while(--_0x516004){_0x574de7['push'](_0x574de7['shift']());}};_0x568f46(++_0x24ce60);}(_0x61a5,0xf0));var _0x561a=function(_0x1b1a3b,_0x52a88a){_0x1b1a3b=_0x1b1a3b-0x0;var _0x385347=_0x61a5[_0x1b1a3b];return _0x385347;};'use strict';var pdf=require(_0x561a('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x561a('0x1'));var zipdir=require(_0x561a('0x2'));var jsonpatch=require(_0x561a('0x3'));var rp=require(_0x561a('0x4'));var moment=require(_0x561a('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x561a('0x6'));var util=require(_0x561a('0x7'));var path=require('path');var sox=require(_0x561a('0x8'));var csv=require(_0x561a('0x9'));var ejs=require(_0x561a('0xa'));var fs=require('fs');var _=require(_0x561a('0xb'));var squel=require(_0x561a('0xc'));var crypto=require(_0x561a('0xd'));var jsforce=require(_0x561a('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x561a('0x9'));var querystring=require('querystring');var Papa=require(_0x561a('0xf'));var Redis=require(_0x561a('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x561a('0x11'));var as=require(_0x561a('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x561a('0x13'))('api');var utils=require(_0x561a('0x14'));var config=require(_0x561a('0x15'));var db=require(_0x561a('0x16'))['db'];function respondWithStatusCode(_0x155d0f,_0x2777c6){_0x2777c6=_0x2777c6||0xcc;return function(_0x3dfa9f){if(_0x3dfa9f){return _0x155d0f[_0x561a('0x17')](_0x2777c6);}return _0x155d0f[_0x561a('0x18')](_0x2777c6)[_0x561a('0x19')]();};}function respondWithResult(_0x4f1e33,_0x2a332e){_0x2a332e=_0x2a332e||0xc8;return function(_0x28638b){if(_0x28638b){return _0x4f1e33['status'](_0x2a332e)[_0x561a('0x1a')](_0x28638b);}};}function respondWithFilteredResult(_0x64498a,_0x1ab5ae){return function(_0xecbcc4){if(_0xecbcc4){var _0xd7f0fb=_0xecbcc4[_0x561a('0x1b')],_0x28ad8b=_0x1ab5ae[_0x561a('0x1c')],_0x3d91be=_0x1ab5ae[_0x561a('0x1c')]+_0x1ab5ae['limit'],_0x14f141;if(_0x3d91be>=_0xd7f0fb){_0x3d91be=_0xd7f0fb;_0x14f141=0xc8;}else{_0x14f141=0xce;}_0x64498a[_0x561a('0x18')](_0x14f141);return _0x64498a[_0x561a('0x1d')]('Content-Range',_0x28ad8b+'-'+_0x3d91be+'/'+_0xd7f0fb)[_0x561a('0x1a')](_0xecbcc4);}return null;};}function patchUpdates(_0x785831){return function(_0x4d9f1b){try{jsonpatch[_0x561a('0x1e')](_0x4d9f1b,_0x785831,!![]);}catch(_0x567399){return BPromise['reject'](_0x567399);}return _0x4d9f1b[_0x561a('0x1f')]();};}function saveUpdates(_0xb023e6,_0x5ca8e9){return function(_0x432b33){if(_0x432b33){return _0x432b33[_0x561a('0x20')](_0xb023e6)[_0x561a('0x21')](function(_0x3cf6c8){return _0x3cf6c8;});}return null;};}function removeEntity(_0x345941,_0x1bb8df){return function(_0x4f9c3a){if(_0x4f9c3a){return _0x4f9c3a[_0x561a('0x22')]()[_0x561a('0x21')](function(){_0x345941[_0x561a('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x58c32f,_0x25b53c){return function(_0x1d29d6){if(!_0x1d29d6){_0x58c32f[_0x561a('0x17')](0x194);}return _0x1d29d6;};}function handleError(_0x1bbb57,_0x234771){_0x234771=_0x234771||0x1f4;return function(_0x23ec64){logger[_0x561a('0x23')](_0x23ec64[_0x561a('0x24')]);if(_0x23ec64['name']){delete _0x23ec64['name'];}_0x1bbb57[_0x561a('0x18')](_0x234771)[_0x561a('0x25')](_0x23ec64);};}exports[_0x561a('0x26')]=function(_0x45dd89,_0x5a0acd){var _0x186862={},_0x3f0789={},_0x44c851={'count':0x0,'rows':[]};var _0x23b489=_[_0x561a('0x27')](db['DeskField'][_0x561a('0x28')],function(_0x1d48d9){return{'name':_0x1d48d9['fieldName'],'type':_0x1d48d9[_0x561a('0x29')][_0x561a('0x2a')]};});_0x3f0789['model']=_[_0x561a('0x27')](_0x23b489,'name');_0x3f0789['query']=_[_0x561a('0x2b')](_0x45dd89[_0x561a('0x2c')]);_0x3f0789['filters']=_[_0x561a('0x2d')](_0x3f0789[_0x561a('0x2e')],_0x3f0789[_0x561a('0x2c')]);_0x186862[_0x561a('0x2f')]=_[_0x561a('0x2d')](_0x3f0789[_0x561a('0x2e')],qs[_0x561a('0x30')](_0x45dd89[_0x561a('0x2c')]['fields']));_0x186862[_0x561a('0x2f')]=_0x186862[_0x561a('0x2f')][_0x561a('0x31')]?_0x186862[_0x561a('0x2f')]:_0x3f0789[_0x561a('0x2e')];if(!_0x45dd89['query'][_0x561a('0x32')](_0x561a('0x33'))){_0x186862[_0x561a('0x34')]=qs[_0x561a('0x34')](_0x45dd89['query'][_0x561a('0x34')]);_0x186862[_0x561a('0x1c')]=qs[_0x561a('0x1c')](_0x45dd89['query']['offset']);}_0x186862[_0x561a('0x35')]=qs['sort'](_0x45dd89['query']['sort']);_0x186862[_0x561a('0x36')]=qs[_0x561a('0x37')](_[_0x561a('0x38')](_0x45dd89[_0x561a('0x2c')],_0x3f0789[_0x561a('0x37')]));if(_0x45dd89[_0x561a('0x2c')]['filter']){_0x186862['where']=_[_0x561a('0x39')](_0x186862[_0x561a('0x36')],{'$or':_[_0x561a('0x27')](_0x23b489,function(_0x4e7d95){if(_0x4e7d95[_0x561a('0x29')]!==_0x561a('0x3a')){var _0x625049={};_0x625049[_0x4e7d95[_0x561a('0x3b')]]={'$like':'%'+_0x45dd89['query'][_0x561a('0x3c')]+'%'};return _0x625049;}})});}_0x186862=_[_0x561a('0x39')]({},_0x186862,_0x45dd89[_0x561a('0x3d')]);var _0x330c8d={'where':_0x186862['where']};return db[_0x561a('0x3e')][_0x561a('0x1b')](_0x330c8d)[_0x561a('0x21')](function(_0x5c59dc){_0x44c851[_0x561a('0x1b')]=_0x5c59dc;if(_0x45dd89[_0x561a('0x2c')][_0x561a('0x3f')]){_0x186862[_0x561a('0x40')]=[{'all':!![]}];}return db[_0x561a('0x3e')][_0x561a('0x41')](_0x186862);})[_0x561a('0x21')](function(_0x51e608){_0x44c851[_0x561a('0x42')]=_0x51e608;return _0x44c851;})[_0x561a('0x21')](respondWithFilteredResult(_0x5a0acd,_0x186862))[_0x561a('0x43')](handleError(_0x5a0acd,null));};exports[_0x561a('0x44')]=function(_0x75c0cf,_0x3b7afc){var _0x51e29e={'raw':!![],'where':{'id':_0x75c0cf[_0x561a('0x45')]['id']}},_0x465376={};_0x465376[_0x561a('0x2e')]=_[_0x561a('0x2b')](db[_0x561a('0x3e')][_0x561a('0x28')]);_0x465376[_0x561a('0x2c')]=_[_0x561a('0x2b')](_0x75c0cf[_0x561a('0x2c')]);_0x465376['filters']=_[_0x561a('0x2d')](_0x465376[_0x561a('0x2e')],_0x465376['query']);_0x51e29e[_0x561a('0x2f')]=_['intersection'](_0x465376[_0x561a('0x2e')],qs[_0x561a('0x30')](_0x75c0cf[_0x561a('0x2c')][_0x561a('0x30')]));_0x51e29e[_0x561a('0x2f')]=_0x51e29e['attributes'][_0x561a('0x31')]?_0x51e29e[_0x561a('0x2f')]:_0x465376[_0x561a('0x2e')];if(_0x75c0cf[_0x561a('0x2c')][_0x561a('0x3f')]){_0x51e29e[_0x561a('0x40')]=[{'all':!![]}];}_0x51e29e=_['merge']({},_0x51e29e,_0x75c0cf['options']);return db[_0x561a('0x3e')]['find'](_0x51e29e)['then'](handleEntityNotFound(_0x3b7afc,null))['then'](respondWithResult(_0x3b7afc,null))['catch'](handleError(_0x3b7afc,null));};exports['create']=function(_0x3e43be,_0xb54cca){return db[_0x561a('0x3e')]['create'](_0x3e43be[_0x561a('0x46')],{})['then'](respondWithResult(_0xb54cca,0xc9))['catch'](handleError(_0xb54cca,null));};exports[_0x561a('0x20')]=function(_0x13a2ad,_0x19d247){if(_0x13a2ad['body']['id']){delete _0x13a2ad[_0x561a('0x46')]['id'];}return db['DeskField'][_0x561a('0x47')]({'where':{'id':_0x13a2ad['params']['id']}})[_0x561a('0x21')](handleEntityNotFound(_0x19d247,null))[_0x561a('0x21')](saveUpdates(_0x13a2ad[_0x561a('0x46')],null))[_0x561a('0x21')](respondWithResult(_0x19d247,null))[_0x561a('0x43')](handleError(_0x19d247,null));};exports[_0x561a('0x22')]=function(_0x355d4f,_0x25aaf6){return db[_0x561a('0x3e')]['find']({'where':{'id':_0x355d4f[_0x561a('0x45')]['id']}})[_0x561a('0x21')](handleEntityNotFound(_0x25aaf6,null))[_0x561a('0x21')](removeEntity(_0x25aaf6,null))['catch'](handleError(_0x25aaf6,null));};