d2f39f106f788fe2dd1fecd3bc82b54fae7d6501
[motion2.git] / server / api / cmCustomField / cmCustomField.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 _0xcc6c=['status','end','json','count','offset','set','Content-Range','apply','reject','then','destroy','error','stack','name','send','index','map','CmCustomField','rawAttributes','fieldName','key','model','differenceBy','query','filters','intersection','attributes','fields','length','limit','order','sort','pick','where','merge','filter','options','includeAll','include','findAll','rows','catch','show','params','keys','body','find','create','sequelize','transaction','text','Sequelize','number','type','INTEGER','switch','BOOLEAN','defaultValue','queryInterface','addColumn','format','html-pdf','eml-format','rimraf','moment','util','path','sox','to-csv','ejs','lodash','squel','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb'];(function(_0x56c8ee,_0x433371){var _0xbc7aa2=function(_0x4a79a9){while(--_0x4a79a9){_0x56c8ee['push'](_0x56c8ee['shift']());}};_0xbc7aa2(++_0x433371);}(_0xcc6c,0x133));var _0xccc6=function(_0x4ad7c7,_0x3221cf){_0x4ad7c7=_0x4ad7c7-0x0;var _0x1850dd=_0xcc6c[_0x4ad7c7];return _0x1850dd;};'use strict';var pdf=require(_0xccc6('0x0'));var emlformat=require(_0xccc6('0x1'));var rimraf=require(_0xccc6('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xccc6('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xccc6('0x4'));var path=require(_0xccc6('0x5'));var sox=require(_0xccc6('0x6'));var csv=require(_0xccc6('0x7'));var ejs=require(_0xccc6('0x8'));var fs=require('fs');var _=require(_0xccc6('0x9'));var squel=require(_0xccc6('0xa'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xccc6('0x7'));var querystring=require(_0xccc6('0xb'));var Papa=require(_0xccc6('0xc'));var Redis=require(_0xccc6('0xd'));var authService=require('../../components/auth/service');var qs=require(_0xccc6('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xccc6('0xf'));var logger=require(_0xccc6('0x10'))('api');var utils=require(_0xccc6('0x11'));var config=require(_0xccc6('0x12'));var licenseUtil=require(_0xccc6('0x13'));var db=require(_0xccc6('0x14'))['db'];function respondWithStatusCode(_0x10fb80,_0x34346c){_0x34346c=_0x34346c||0xcc;return function(_0x5a91d0){if(_0x5a91d0){return _0x10fb80['sendStatus'](_0x34346c);}return _0x10fb80[_0xccc6('0x15')](_0x34346c)[_0xccc6('0x16')]();};}function respondWithResult(_0x56010c,_0x24ceae){_0x24ceae=_0x24ceae||0xc8;return function(_0x115b3e){if(_0x115b3e){return _0x56010c[_0xccc6('0x15')](_0x24ceae)[_0xccc6('0x17')](_0x115b3e);}};}function respondWithFilteredResult(_0x4d85d0,_0x252034){return function(_0x580e7c){if(_0x580e7c){var _0x4a5e26=_0x580e7c[_0xccc6('0x18')],_0x8f2363=_0x252034[_0xccc6('0x19')],_0x386bb3=_0x252034[_0xccc6('0x19')]+_0x252034['limit'],_0x592ecc;if(_0x386bb3>=_0x4a5e26){_0x386bb3=_0x4a5e26;_0x592ecc=0xc8;}else{_0x592ecc=0xce;}_0x4d85d0[_0xccc6('0x15')](_0x592ecc);return _0x4d85d0[_0xccc6('0x1a')](_0xccc6('0x1b'),_0x8f2363+'-'+_0x386bb3+'/'+_0x4a5e26)[_0xccc6('0x17')](_0x580e7c);}return null;};}function patchUpdates(_0x284d28){return function(_0x349df0){try{jsonpatch[_0xccc6('0x1c')](_0x349df0,_0x284d28,!![]);}catch(_0x42aa07){return BPromise[_0xccc6('0x1d')](_0x42aa07);}return _0x349df0['save']();};}function saveUpdates(_0xb9867,_0x7cd596){return function(_0x4a240e){if(_0x4a240e){return _0x4a240e['update'](_0xb9867)[_0xccc6('0x1e')](function(_0x4d459d){return _0x4d459d;});}return null;};}function removeEntity(_0x48041a,_0x26df39){return function(_0x1f15eb){if(_0x1f15eb){return _0x1f15eb[_0xccc6('0x1f')]()[_0xccc6('0x1e')](function(){_0x48041a[_0xccc6('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0x298a07,_0x519a84){return function(_0x57d56e){if(!_0x57d56e){_0x298a07['sendStatus'](0x194);}return _0x57d56e;};}function handleError(_0x5a26c6,_0x2ec913){_0x2ec913=_0x2ec913||0x1f4;return function(_0x240639){logger[_0xccc6('0x20')](_0x240639[_0xccc6('0x21')]);if(_0x240639[_0xccc6('0x22')]){delete _0x240639['name'];}_0x5a26c6['status'](_0x2ec913)[_0xccc6('0x23')](_0x240639);};}exports[_0xccc6('0x24')]=function(_0x59332f,_0x75a2fa){var _0x1ba9a3={},_0x20dd61={},_0x4f369c={'count':0x0,'rows':[]};var _0x441754=_[_0xccc6('0x25')](db[_0xccc6('0x26')][_0xccc6('0x27')],function(_0x6ab425){return{'name':_0x6ab425[_0xccc6('0x28')],'type':_0x6ab425['type'][_0xccc6('0x29')]};});_0x20dd61[_0xccc6('0x2a')]=_[_0xccc6('0x2b')](_[_0xccc6('0x25')](_0x441754,_0xccc6('0x22')),['name']);_0x20dd61[_0xccc6('0x2c')]=_['keys'](_0x59332f[_0xccc6('0x2c')]);_0x20dd61[_0xccc6('0x2d')]=_[_0xccc6('0x2e')](_0x20dd61['model'],_0x20dd61[_0xccc6('0x2c')]);_0x1ba9a3[_0xccc6('0x2f')]=_[_0xccc6('0x2e')](_0x20dd61[_0xccc6('0x2a')],qs[_0xccc6('0x30')](_0x59332f[_0xccc6('0x2c')][_0xccc6('0x30')]));_0x1ba9a3['attributes']=_0x1ba9a3[_0xccc6('0x2f')][_0xccc6('0x31')]?_0x1ba9a3[_0xccc6('0x2f')]:_0x20dd61['model'];if(!_0x59332f[_0xccc6('0x2c')]['hasOwnProperty']('nolimit')){_0x1ba9a3[_0xccc6('0x32')]=qs[_0xccc6('0x32')](_0x59332f[_0xccc6('0x2c')][_0xccc6('0x32')]);_0x1ba9a3[_0xccc6('0x19')]=qs['offset'](_0x59332f[_0xccc6('0x2c')][_0xccc6('0x19')]);}_0x1ba9a3[_0xccc6('0x33')]=qs[_0xccc6('0x34')](_0x59332f[_0xccc6('0x2c')][_0xccc6('0x34')]);_0x1ba9a3['where']=qs[_0xccc6('0x2d')](_[_0xccc6('0x35')](_0x59332f[_0xccc6('0x2c')],_0x20dd61[_0xccc6('0x2d')]),_0x441754);if(_0x59332f[_0xccc6('0x2c')]['filter']){_0x1ba9a3[_0xccc6('0x36')]=_[_0xccc6('0x37')](_0x1ba9a3[_0xccc6('0x36')],{'$or':_[_0xccc6('0x25')](_0x441754,function(_0x5a10f9){if(_0x5a10f9['type']!=='VIRTUAL'){var _0x253db={};_0x253db[_0x5a10f9['name']]={'$like':'%'+_0x59332f[_0xccc6('0x2c')][_0xccc6('0x38')]+'%'};return _0x253db;}})});}_0x1ba9a3=_[_0xccc6('0x37')]({},_0x1ba9a3,_0x59332f[_0xccc6('0x39')]);var _0x4ab313={'where':_0x1ba9a3[_0xccc6('0x36')]};return db[_0xccc6('0x26')][_0xccc6('0x18')](_0x4ab313)[_0xccc6('0x1e')](function(_0x59f009){_0x4f369c[_0xccc6('0x18')]=_0x59f009;if(_0x59332f['query'][_0xccc6('0x3a')]){_0x1ba9a3[_0xccc6('0x3b')]=[{'all':!![]}];}return db['CmCustomField'][_0xccc6('0x3c')](_0x1ba9a3);})['then'](function(_0x53197e){_0x4f369c[_0xccc6('0x3d')]=_0x53197e;return _0x4f369c;})[_0xccc6('0x1e')](respondWithFilteredResult(_0x75a2fa,_0x1ba9a3))[_0xccc6('0x3e')](handleError(_0x75a2fa,null));};exports[_0xccc6('0x3f')]=function(_0x4f0d40,_0x2df9de){var _0x5ce012={'raw':!![],'where':{'id':_0x4f0d40[_0xccc6('0x40')]['id']}},_0x9252d={};_0x9252d[_0xccc6('0x2a')]=_['keys'](db[_0xccc6('0x26')][_0xccc6('0x27')]);_0x9252d[_0xccc6('0x2c')]=_[_0xccc6('0x41')](_0x4f0d40[_0xccc6('0x2c')]);_0x9252d[_0xccc6('0x2d')]=_[_0xccc6('0x2e')](_0x9252d[_0xccc6('0x2a')],_0x9252d[_0xccc6('0x2c')]);_0x5ce012[_0xccc6('0x2f')]=_['intersection'](_0x9252d[_0xccc6('0x2a')],qs[_0xccc6('0x30')](_0x4f0d40[_0xccc6('0x2c')][_0xccc6('0x30')]));_0x5ce012[_0xccc6('0x2f')]=_0x5ce012[_0xccc6('0x2f')]['length']?_0x5ce012[_0xccc6('0x2f')]:_0x9252d[_0xccc6('0x2a')];if(_0x4f0d40[_0xccc6('0x2c')]['includeAll']){_0x5ce012[_0xccc6('0x3b')]=[{'all':!![]}];}_0x5ce012=_[_0xccc6('0x37')]({},_0x5ce012,_0x4f0d40[_0xccc6('0x39')]);return db['CmCustomField']['find'](_0x5ce012)[_0xccc6('0x1e')](handleEntityNotFound(_0x2df9de,null))[_0xccc6('0x1e')](respondWithResult(_0x2df9de,null))['catch'](handleError(_0x2df9de,null));};exports['update']=function(_0x1f5788,_0x1bec3f){if(_0x1f5788[_0xccc6('0x42')]['id']){delete _0x1f5788[_0xccc6('0x42')]['id'];}return db[_0xccc6('0x26')]['find']({'where':{'id':_0x1f5788[_0xccc6('0x40')]['id']}})[_0xccc6('0x1e')](handleEntityNotFound(_0x1bec3f,null))[_0xccc6('0x1e')](saveUpdates(_0x1f5788[_0xccc6('0x42')],null))[_0xccc6('0x1e')](respondWithResult(_0x1bec3f,null))[_0xccc6('0x3e')](handleError(_0x1bec3f,null));};exports[_0xccc6('0x1f')]=function(_0x323cca,_0x2637c1){return db[_0xccc6('0x26')][_0xccc6('0x43')]({'where':{'id':_0x323cca[_0xccc6('0x40')]['id']}})[_0xccc6('0x1e')](handleEntityNotFound(_0x2637c1,null))['then'](removeEntity(_0x2637c1,null))[_0xccc6('0x3e')](handleError(_0x2637c1,null));};exports[_0xccc6('0x44')]=function(_0x2915cd,_0x541fb0){var _0x246bc7;return db[_0xccc6('0x45')][_0xccc6('0x46')](function(_0x4087a6){return db[_0xccc6('0x26')]['create'](_0x2915cd[_0xccc6('0x42')],{'transaction':_0x4087a6})[_0xccc6('0x1e')](function(_0x574804){_0x246bc7=_0x574804;var _0x2ab025={'type':db['Sequelize']['TEXT'],'transaction':_0x4087a6};switch(_0x2915cd[_0xccc6('0x42')]['type']){case _0xccc6('0x47'):_0x2ab025['type']=db[_0xccc6('0x48')]['TEXT'];break;case _0xccc6('0x49'):_0x2ab025[_0xccc6('0x4a')]=db[_0xccc6('0x48')][_0xccc6('0x4b')];break;case _0xccc6('0x4c'):_0x2ab025[_0xccc6('0x4a')]=db[_0xccc6('0x48')][_0xccc6('0x4d')];_0x2ab025[_0xccc6('0x4e')]=![];break;default:}return db[_0xccc6('0x45')][_0xccc6('0x4f')][_0xccc6('0x50')]('cm_contacts',util[_0xccc6('0x51')]('cf_%d',_0x246bc7['id']),_0x2ab025);})['then'](function(){return _0x246bc7;});})[_0xccc6('0x1e')](respondWithResult(_0x541fb0,0xc9))[_0xccc6('0x3e')](handleError(_0x541fb0,null));};