Built motion from commit ede67897.|2.6.29
[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 _0xd93d=['INTEGER','switch','BOOLEAN','queryInterface','cm_contacts','format','cf_%d','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','fs-extra','lodash','crypto','jsforce','desk.js','to-csv','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','sendStatus','end','status','offset','limit','undefined','count','set','Content-Range','reject','then','destroy','error','stack','send','index','map','CmCustomField','type','key','model','differenceBy','name','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','catch','show','keys','find','body','params','create','sequelize','transaction','TEXT','text','Sequelize','number'];(function(_0x581ce9,_0x5a146c){var _0x19b3aa=function(_0x45d68f){while(--_0x45d68f){_0x581ce9['push'](_0x581ce9['shift']());}};_0x19b3aa(++_0x5a146c);}(_0xd93d,0x1ab));var _0xdd93=function(_0x2fec78,_0x3071c2){_0x2fec78=_0x2fec78-0x0;var _0x18dff4=_0xd93d[_0x2fec78];return _0x18dff4;};'use strict';var emlformat=require(_0xdd93('0x0'));var rimraf=require(_0xdd93('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xdd93('0x2'));var rp=require(_0xdd93('0x3'));var moment=require(_0xdd93('0x4'));var BPromise=require(_0xdd93('0x5'));var Mustache=require(_0xdd93('0x6'));var util=require('util');var path=require(_0xdd93('0x7'));var sox=require(_0xdd93('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xdd93('0x9'));var _=require(_0xdd93('0xa'));var squel=require('squel');var crypto=require(_0xdd93('0xb'));var jsforce=require(_0xdd93('0xc'));var deskjs=require(_0xdd93('0xd'));var toCsv=require(_0xdd93('0xe'));var querystring=require(_0xdd93('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xdd93('0x10'));var qs=require(_0xdd93('0x11'));var as=require(_0xdd93('0x12'));var hardwareService=require(_0xdd93('0x13'));var logger=require('../../config/logger')(_0xdd93('0x14'));var utils=require('../../config/utils');var config=require(_0xdd93('0x15'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x57a9f4,_0x273ce9){_0x273ce9=_0x273ce9||0xcc;return function(_0x5d82ae){if(_0x5d82ae){return _0x57a9f4[_0xdd93('0x16')](_0x273ce9);}return _0x57a9f4['status'](_0x273ce9)[_0xdd93('0x17')]();};}function respondWithResult(_0x44ea07,_0x43d82f){_0x43d82f=_0x43d82f||0xc8;return function(_0xbcf0a1){if(_0xbcf0a1){return _0x44ea07[_0xdd93('0x18')](_0x43d82f)['json'](_0xbcf0a1);}};}function respondWithFilteredResult(_0x57ffd6,_0x83b7b3){return function(_0x30bf60){if(_0x30bf60){var _0x245468=typeof _0x83b7b3[_0xdd93('0x19')]==='undefined'&&typeof _0x83b7b3[_0xdd93('0x1a')]===_0xdd93('0x1b');var _0x59d793=_0x30bf60['count'];var _0x106bdb=_0x245468?0x0:_0x83b7b3[_0xdd93('0x19')];var _0x5f193a=_0x245468?_0x30bf60[_0xdd93('0x1c')]:_0x83b7b3[_0xdd93('0x19')]+_0x83b7b3['limit'];var _0x1f1908;if(_0x5f193a>=_0x59d793){_0x5f193a=_0x59d793;_0x1f1908=0xc8;}else{_0x1f1908=0xce;}_0x57ffd6[_0xdd93('0x18')](_0x1f1908);return _0x57ffd6[_0xdd93('0x1d')](_0xdd93('0x1e'),_0x106bdb+'-'+_0x5f193a+'/'+_0x59d793)['json'](_0x30bf60);}return null;};}function patchUpdates(_0x5919df){return function(_0x49efd0){try{jsonpatch['apply'](_0x49efd0,_0x5919df,!![]);}catch(_0x1eb4a7){return BPromise[_0xdd93('0x1f')](_0x1eb4a7);}return _0x49efd0['save']();};}function saveUpdates(_0x2cfee9,_0x452c24){return function(_0x56a4ac){if(_0x56a4ac){return _0x56a4ac['update'](_0x2cfee9)[_0xdd93('0x20')](function(_0x25a0e6){return _0x25a0e6;});}return null;};}function removeEntity(_0x3b64cf,_0x564119){return function(_0x3ddf15){if(_0x3ddf15){return _0x3ddf15[_0xdd93('0x21')]()[_0xdd93('0x20')](function(){_0x3b64cf[_0xdd93('0x18')](0xcc)[_0xdd93('0x17')]();});}};}function handleEntityNotFound(_0x3685b9,_0x2ff348){return function(_0x5b0c79){if(!_0x5b0c79){_0x3685b9[_0xdd93('0x16')](0x194);}return _0x5b0c79;};}function handleError(_0x4017ae,_0x85278a){_0x85278a=_0x85278a||0x1f4;return function(_0x366f75){logger[_0xdd93('0x22')](_0x366f75[_0xdd93('0x23')]);if(_0x366f75['name']){delete _0x366f75['name'];}_0x4017ae[_0xdd93('0x18')](_0x85278a)[_0xdd93('0x24')](_0x366f75);};}exports[_0xdd93('0x25')]=function(_0x3df8a7,_0x308cad){var _0x55067d={},_0xe97c2a={},_0x21574b={'count':0x0,'rows':[]};var _0x48fd11=_[_0xdd93('0x26')](db[_0xdd93('0x27')]['rawAttributes'],function(_0x2302f6){return{'name':_0x2302f6['fieldName'],'type':_0x2302f6[_0xdd93('0x28')][_0xdd93('0x29')]};});_0xe97c2a[_0xdd93('0x2a')]=_[_0xdd93('0x2b')](_[_0xdd93('0x26')](_0x48fd11,_0xdd93('0x2c')),[_0xdd93('0x2c')]);_0xe97c2a[_0xdd93('0x2d')]=_['keys'](_0x3df8a7[_0xdd93('0x2d')]);_0xe97c2a[_0xdd93('0x2e')]=_[_0xdd93('0x2f')](_0xe97c2a[_0xdd93('0x2a')],_0xe97c2a[_0xdd93('0x2d')]);_0x55067d[_0xdd93('0x30')]=_['intersection'](_0xe97c2a[_0xdd93('0x2a')],qs[_0xdd93('0x31')](_0x3df8a7['query'][_0xdd93('0x31')]));_0x55067d[_0xdd93('0x30')]=_0x55067d[_0xdd93('0x30')][_0xdd93('0x32')]?_0x55067d[_0xdd93('0x30')]:_0xe97c2a['model'];if(!_0x3df8a7[_0xdd93('0x2d')][_0xdd93('0x33')](_0xdd93('0x34'))){_0x55067d['limit']=qs[_0xdd93('0x1a')](_0x3df8a7[_0xdd93('0x2d')][_0xdd93('0x1a')]);_0x55067d['offset']=qs['offset'](_0x3df8a7['query']['offset']);}_0x55067d[_0xdd93('0x35')]=qs[_0xdd93('0x36')](_0x3df8a7[_0xdd93('0x2d')][_0xdd93('0x36')]);_0x55067d[_0xdd93('0x37')]=qs[_0xdd93('0x2e')](_[_0xdd93('0x38')](_0x3df8a7[_0xdd93('0x2d')],_0xe97c2a['filters']),_0x48fd11);if(_0x3df8a7[_0xdd93('0x2d')][_0xdd93('0x39')]){_0x55067d['where']=_[_0xdd93('0x3a')](_0x55067d[_0xdd93('0x37')],{'$or':_['map'](_0x48fd11,function(_0x5db7af){if(_0x5db7af['type']!==_0xdd93('0x3b')){var _0x13ac73={};_0x13ac73[_0x5db7af[_0xdd93('0x2c')]]={'$like':'%'+_0x3df8a7[_0xdd93('0x2d')][_0xdd93('0x39')]+'%'};return _0x13ac73;}})});}_0x55067d=_[_0xdd93('0x3a')]({},_0x55067d,_0x3df8a7[_0xdd93('0x3c')]);var _0x4c9177={'where':_0x55067d[_0xdd93('0x37')]};return db[_0xdd93('0x27')][_0xdd93('0x1c')](_0x4c9177)[_0xdd93('0x20')](function(_0x5b909c){_0x21574b[_0xdd93('0x1c')]=_0x5b909c;if(_0x3df8a7[_0xdd93('0x2d')][_0xdd93('0x3d')]){_0x55067d[_0xdd93('0x3e')]=[{'all':!![]}];}return db[_0xdd93('0x27')][_0xdd93('0x3f')](_0x55067d);})['then'](function(_0x1b4ffd){_0x21574b['rows']=_0x1b4ffd;return _0x21574b;})[_0xdd93('0x20')](respondWithFilteredResult(_0x308cad,_0x55067d))[_0xdd93('0x40')](handleError(_0x308cad,null));};exports[_0xdd93('0x41')]=function(_0x5ecdfe,_0x12be22){var _0x11862d={'raw':!![],'where':{'id':_0x5ecdfe['params']['id']}},_0x78a3b4={};_0x78a3b4[_0xdd93('0x2a')]=_[_0xdd93('0x42')](db[_0xdd93('0x27')]['rawAttributes']);_0x78a3b4[_0xdd93('0x2d')]=_[_0xdd93('0x42')](_0x5ecdfe[_0xdd93('0x2d')]);_0x78a3b4[_0xdd93('0x2e')]=_['intersection'](_0x78a3b4[_0xdd93('0x2a')],_0x78a3b4[_0xdd93('0x2d')]);_0x11862d[_0xdd93('0x30')]=_[_0xdd93('0x2f')](_0x78a3b4[_0xdd93('0x2a')],qs[_0xdd93('0x31')](_0x5ecdfe[_0xdd93('0x2d')][_0xdd93('0x31')]));_0x11862d['attributes']=_0x11862d[_0xdd93('0x30')]['length']?_0x11862d[_0xdd93('0x30')]:_0x78a3b4[_0xdd93('0x2a')];if(_0x5ecdfe[_0xdd93('0x2d')][_0xdd93('0x3d')]){_0x11862d[_0xdd93('0x3e')]=[{'all':!![]}];}_0x11862d=_['merge']({},_0x11862d,_0x5ecdfe[_0xdd93('0x3c')]);return db['CmCustomField'][_0xdd93('0x43')](_0x11862d)[_0xdd93('0x20')](handleEntityNotFound(_0x12be22,null))[_0xdd93('0x20')](respondWithResult(_0x12be22,null))[_0xdd93('0x40')](handleError(_0x12be22,null));};exports['update']=function(_0x29fbea,_0xa02635){if(_0x29fbea[_0xdd93('0x44')]['id']){delete _0x29fbea[_0xdd93('0x44')]['id'];}return db[_0xdd93('0x27')][_0xdd93('0x43')]({'where':{'id':_0x29fbea[_0xdd93('0x45')]['id']}})['then'](handleEntityNotFound(_0xa02635,null))[_0xdd93('0x20')](saveUpdates(_0x29fbea['body'],null))[_0xdd93('0x20')](respondWithResult(_0xa02635,null))[_0xdd93('0x40')](handleError(_0xa02635,null));};exports[_0xdd93('0x21')]=function(_0x19299a,_0x5a3e9c){return db[_0xdd93('0x27')][_0xdd93('0x43')]({'where':{'id':_0x19299a[_0xdd93('0x45')]['id']}})['then'](handleEntityNotFound(_0x5a3e9c,null))[_0xdd93('0x20')](removeEntity(_0x5a3e9c,null))['catch'](handleError(_0x5a3e9c,null));};exports[_0xdd93('0x46')]=function(_0x27951e,_0xdccef8){var _0x44832c;return db[_0xdd93('0x47')][_0xdd93('0x48')](function(_0x1aac78){return db[_0xdd93('0x27')][_0xdd93('0x46')](_0x27951e[_0xdd93('0x44')],{'transaction':_0x1aac78})[_0xdd93('0x20')](function(_0x210c6e){_0x44832c=_0x210c6e;var _0x2a5ec5={'type':db['Sequelize'][_0xdd93('0x49')],'transaction':_0x1aac78};switch(_0x27951e[_0xdd93('0x44')][_0xdd93('0x28')]){case _0xdd93('0x4a'):_0x2a5ec5[_0xdd93('0x28')]=db[_0xdd93('0x4b')]['TEXT'];break;case _0xdd93('0x4c'):_0x2a5ec5[_0xdd93('0x28')]=db['Sequelize'][_0xdd93('0x4d')];break;case _0xdd93('0x4e'):_0x2a5ec5[_0xdd93('0x28')]=db[_0xdd93('0x4b')][_0xdd93('0x4f')];_0x2a5ec5['defaultValue']=![];break;default:}return db[_0xdd93('0x47')][_0xdd93('0x50')]['addColumn'](_0xdd93('0x51'),util[_0xdd93('0x52')](_0xdd93('0x53'),_0x44832c['id']),_0x2a5ec5);})[_0xdd93('0x20')](function(){return _0x44832c;});})[_0xdd93('0x20')](respondWithResult(_0xdccef8,0xc9))['catch'](handleError(_0xdccef8,null));};