9a3472493495668fa7435c49953c36c5ce0ae074
[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 _0x67d5=['CmCustomField','rawAttributes','type','model','differenceBy','map','query','keys','intersection','attributes','fields','nolimit','limit','order','sort','where','filters','filter','merge','VIRTUAL','options','includeAll','include','findAll','catch','length','find','update','body','params','create','sequelize','Sequelize','TEXT','text','number','INTEGER','switch','defaultValue','queryInterface','addColumn','cm_contacts','format','cf_%d','rimraf','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','offset','undefined','count','save','then','destroy','end','error','stack','name','index'];(function(_0x36e1a2,_0x67de6c){var _0x2aa224=function(_0x9db573){while(--_0x9db573){_0x36e1a2['push'](_0x36e1a2['shift']());}};_0x2aa224(++_0x67de6c);}(_0x67d5,0x16c));var _0x567d=function(_0x376ce7,_0x39c7d7){_0x376ce7=_0x376ce7-0x0;var _0x497c1e=_0x67d5[_0x376ce7];return _0x497c1e;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x567d('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x567d('0x1'));var moment=require(_0x567d('0x2'));var BPromise=require(_0x567d('0x3'));var Mustache=require(_0x567d('0x4'));var util=require('util');var path=require(_0x567d('0x5'));var sox=require(_0x567d('0x6'));var csv=require(_0x567d('0x7'));var ejs=require(_0x567d('0x8'));var fs=require('fs');var fs_extra=require(_0x567d('0x9'));var _=require(_0x567d('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x567d('0xb'));var deskjs=require(_0x567d('0xc'));var toCsv=require(_0x567d('0x7'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x567d('0xd'));var authService=require(_0x567d('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0x567d('0xf'));var hardwareService=require(_0x567d('0x10'));var logger=require(_0x567d('0x11'))(_0x567d('0x12'));var utils=require(_0x567d('0x13'));var config=require(_0x567d('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x567d('0x15'))['db'];function respondWithStatusCode(_0x2bb48a,_0x3921c9){_0x3921c9=_0x3921c9||0xcc;return function(_0x5e1093){if(_0x5e1093){return _0x2bb48a[_0x567d('0x16')](_0x3921c9);}return _0x2bb48a[_0x567d('0x17')](_0x3921c9)['end']();};}function respondWithResult(_0x575aa7,_0x3071a1){_0x3071a1=_0x3071a1||0xc8;return function(_0x3acb79){if(_0x3acb79){return _0x575aa7[_0x567d('0x17')](_0x3071a1)[_0x567d('0x18')](_0x3acb79);}};}function respondWithFilteredResult(_0x135315,_0x148bc9){return function(_0x3129b7){if(_0x3129b7){var _0xbb932=typeof _0x148bc9[_0x567d('0x19')]==='undefined'&&typeof _0x148bc9['limit']===_0x567d('0x1a');var _0x587aba=_0x3129b7[_0x567d('0x1b')];var _0x52b075=_0xbb932?0x0:_0x148bc9['offset'];var _0x5a7b1d=_0xbb932?_0x3129b7[_0x567d('0x1b')]:_0x148bc9[_0x567d('0x19')]+_0x148bc9['limit'];var _0x1e29d2;if(_0x5a7b1d>=_0x587aba){_0x5a7b1d=_0x587aba;_0x1e29d2=0xc8;}else{_0x1e29d2=0xce;}_0x135315[_0x567d('0x17')](_0x1e29d2);return _0x135315['set']('Content-Range',_0x52b075+'-'+_0x5a7b1d+'/'+_0x587aba)[_0x567d('0x18')](_0x3129b7);}return null;};}function patchUpdates(_0x296d8b){return function(_0x2d96fb){try{jsonpatch['apply'](_0x2d96fb,_0x296d8b,!![]);}catch(_0x3e6554){return BPromise['reject'](_0x3e6554);}return _0x2d96fb[_0x567d('0x1c')]();};}function saveUpdates(_0xdea105,_0x28b2a5){return function(_0x50247d){if(_0x50247d){return _0x50247d['update'](_0xdea105)[_0x567d('0x1d')](function(_0x2c9eed){return _0x2c9eed;});}return null;};}function removeEntity(_0x3a040a,_0x2752d9){return function(_0x4eb516){if(_0x4eb516){return _0x4eb516[_0x567d('0x1e')]()[_0x567d('0x1d')](function(){_0x3a040a[_0x567d('0x17')](0xcc)[_0x567d('0x1f')]();});}};}function handleEntityNotFound(_0x3caf85,_0x4bd5d9){return function(_0x22bfe8){if(!_0x22bfe8){_0x3caf85['sendStatus'](0x194);}return _0x22bfe8;};}function handleError(_0x4d39ce,_0x3ff2b0){_0x3ff2b0=_0x3ff2b0||0x1f4;return function(_0x178a04){logger[_0x567d('0x20')](_0x178a04[_0x567d('0x21')]);if(_0x178a04[_0x567d('0x22')]){delete _0x178a04[_0x567d('0x22')];}_0x4d39ce[_0x567d('0x17')](_0x3ff2b0)['send'](_0x178a04);};}exports[_0x567d('0x23')]=function(_0xe9d55,_0x856dc){var _0xafb313={},_0x27191d={},_0x2f6ea9={'count':0x0,'rows':[]};var _0x241c87=_['map'](db[_0x567d('0x24')][_0x567d('0x25')],function(_0x3e6660){return{'name':_0x3e6660['fieldName'],'type':_0x3e6660[_0x567d('0x26')]['key']};});_0x27191d[_0x567d('0x27')]=_[_0x567d('0x28')](_[_0x567d('0x29')](_0x241c87,_0x567d('0x22')),[_0x567d('0x22')]);_0x27191d[_0x567d('0x2a')]=_[_0x567d('0x2b')](_0xe9d55[_0x567d('0x2a')]);_0x27191d['filters']=_[_0x567d('0x2c')](_0x27191d[_0x567d('0x27')],_0x27191d[_0x567d('0x2a')]);_0xafb313[_0x567d('0x2d')]=_[_0x567d('0x2c')](_0x27191d['model'],qs[_0x567d('0x2e')](_0xe9d55['query'][_0x567d('0x2e')]));_0xafb313[_0x567d('0x2d')]=_0xafb313[_0x567d('0x2d')]['length']?_0xafb313[_0x567d('0x2d')]:_0x27191d[_0x567d('0x27')];if(!_0xe9d55[_0x567d('0x2a')]['hasOwnProperty'](_0x567d('0x2f'))){_0xafb313[_0x567d('0x30')]=qs[_0x567d('0x30')](_0xe9d55[_0x567d('0x2a')][_0x567d('0x30')]);_0xafb313[_0x567d('0x19')]=qs[_0x567d('0x19')](_0xe9d55[_0x567d('0x2a')][_0x567d('0x19')]);}_0xafb313[_0x567d('0x31')]=qs[_0x567d('0x32')](_0xe9d55['query'][_0x567d('0x32')]);_0xafb313[_0x567d('0x33')]=qs[_0x567d('0x34')](_['pick'](_0xe9d55[_0x567d('0x2a')],_0x27191d[_0x567d('0x34')]),_0x241c87);if(_0xe9d55[_0x567d('0x2a')][_0x567d('0x35')]){_0xafb313[_0x567d('0x33')]=_[_0x567d('0x36')](_0xafb313[_0x567d('0x33')],{'$or':_[_0x567d('0x29')](_0x241c87,function(_0xd15e76){if(_0xd15e76[_0x567d('0x26')]!==_0x567d('0x37')){var _0xc90c2b={};_0xc90c2b[_0xd15e76[_0x567d('0x22')]]={'$like':'%'+_0xe9d55[_0x567d('0x2a')]['filter']+'%'};return _0xc90c2b;}})});}_0xafb313=_[_0x567d('0x36')]({},_0xafb313,_0xe9d55[_0x567d('0x38')]);var _0x1f53e8={'where':_0xafb313[_0x567d('0x33')]};return db['CmCustomField']['count'](_0x1f53e8)[_0x567d('0x1d')](function(_0x64bfa3){_0x2f6ea9[_0x567d('0x1b')]=_0x64bfa3;if(_0xe9d55['query'][_0x567d('0x39')]){_0xafb313[_0x567d('0x3a')]=[{'all':!![]}];}return db[_0x567d('0x24')][_0x567d('0x3b')](_0xafb313);})[_0x567d('0x1d')](function(_0x3d191d){_0x2f6ea9['rows']=_0x3d191d;return _0x2f6ea9;})[_0x567d('0x1d')](respondWithFilteredResult(_0x856dc,_0xafb313))[_0x567d('0x3c')](handleError(_0x856dc,null));};exports['show']=function(_0x315d6a,_0x5c0ac2){var _0x126039={'raw':!![],'where':{'id':_0x315d6a['params']['id']}},_0x41ce35={};_0x41ce35[_0x567d('0x27')]=_[_0x567d('0x2b')](db[_0x567d('0x24')][_0x567d('0x25')]);_0x41ce35[_0x567d('0x2a')]=_[_0x567d('0x2b')](_0x315d6a['query']);_0x41ce35[_0x567d('0x34')]=_[_0x567d('0x2c')](_0x41ce35[_0x567d('0x27')],_0x41ce35[_0x567d('0x2a')]);_0x126039[_0x567d('0x2d')]=_[_0x567d('0x2c')](_0x41ce35[_0x567d('0x27')],qs[_0x567d('0x2e')](_0x315d6a['query'][_0x567d('0x2e')]));_0x126039[_0x567d('0x2d')]=_0x126039[_0x567d('0x2d')][_0x567d('0x3d')]?_0x126039[_0x567d('0x2d')]:_0x41ce35[_0x567d('0x27')];if(_0x315d6a[_0x567d('0x2a')][_0x567d('0x39')]){_0x126039[_0x567d('0x3a')]=[{'all':!![]}];}_0x126039=_['merge']({},_0x126039,_0x315d6a[_0x567d('0x38')]);return db[_0x567d('0x24')][_0x567d('0x3e')](_0x126039)[_0x567d('0x1d')](handleEntityNotFound(_0x5c0ac2,null))['then'](respondWithResult(_0x5c0ac2,null))['catch'](handleError(_0x5c0ac2,null));};exports[_0x567d('0x3f')]=function(_0x27821d,_0x1a16d1){if(_0x27821d[_0x567d('0x40')]['id']){delete _0x27821d['body']['id'];}return db[_0x567d('0x24')][_0x567d('0x3e')]({'where':{'id':_0x27821d[_0x567d('0x41')]['id']}})[_0x567d('0x1d')](handleEntityNotFound(_0x1a16d1,null))['then'](saveUpdates(_0x27821d['body'],null))[_0x567d('0x1d')](respondWithResult(_0x1a16d1,null))[_0x567d('0x3c')](handleError(_0x1a16d1,null));};exports[_0x567d('0x1e')]=function(_0x6a4f18,_0x3671f6){return db[_0x567d('0x24')][_0x567d('0x3e')]({'where':{'id':_0x6a4f18[_0x567d('0x41')]['id']}})[_0x567d('0x1d')](handleEntityNotFound(_0x3671f6,null))[_0x567d('0x1d')](removeEntity(_0x3671f6,null))['catch'](handleError(_0x3671f6,null));};exports[_0x567d('0x42')]=function(_0x2ccec5,_0x2c8893){var _0x453eb9;return db[_0x567d('0x43')]['transaction'](function(_0x55fbc7){return db[_0x567d('0x24')]['create'](_0x2ccec5[_0x567d('0x40')],{'transaction':_0x55fbc7})[_0x567d('0x1d')](function(_0x4317cf){_0x453eb9=_0x4317cf;var _0x1c40e6={'type':db[_0x567d('0x44')][_0x567d('0x45')],'transaction':_0x55fbc7};switch(_0x2ccec5[_0x567d('0x40')][_0x567d('0x26')]){case _0x567d('0x46'):_0x1c40e6[_0x567d('0x26')]=db[_0x567d('0x44')][_0x567d('0x45')];break;case _0x567d('0x47'):_0x1c40e6[_0x567d('0x26')]=db[_0x567d('0x44')][_0x567d('0x48')];break;case _0x567d('0x49'):_0x1c40e6[_0x567d('0x26')]=db[_0x567d('0x44')]['BOOLEAN'];_0x1c40e6[_0x567d('0x4a')]=![];break;default:}return db['sequelize'][_0x567d('0x4b')][_0x567d('0x4c')](_0x567d('0x4d'),util[_0x567d('0x4e')](_0x567d('0x4f'),_0x453eb9['id']),_0x1c40e6);})[_0x567d('0x1d')](function(){return _0x453eb9;});})[_0x567d('0x1d')](respondWithResult(_0x2c8893,0xc9))['catch'](handleError(_0x2c8893,null));};