Built motion from commit 9e1399f3.|2.5.37
[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 _0x5d2a=['keys','filters','intersection','attributes','model','fields','length','nolimit','sort','where','pick','filter','merge','includeAll','include','rows','catch','show','params','find','body','create','sequelize','transaction','Sequelize','TEXT','text','number','INTEGER','switch','BOOLEAN','defaultValue','queryInterface','addColumn','cm_contacts','format','cf_%d','rimraf','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','error','name','send','index','map','CmCustomField','rawAttributes','fieldName','type','key','differenceBy','query'];(function(_0x3ab83e,_0xe1368f){var _0x379ffc=function(_0x3792b3){while(--_0x3792b3){_0x3ab83e['push'](_0x3ab83e['shift']());}};_0x379ffc(++_0xe1368f);}(_0x5d2a,0x139));var _0xa5d2=function(_0x4850b5,_0x8a6d44){_0x4850b5=_0x4850b5-0x0;var _0x1c8ada=_0x5d2a[_0x4850b5];return _0x1c8ada;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xa5d2('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xa5d2('0x1'));var moment=require(_0xa5d2('0x2'));var BPromise=require(_0xa5d2('0x3'));var Mustache=require(_0xa5d2('0x4'));var util=require(_0xa5d2('0x5'));var path=require(_0xa5d2('0x6'));var sox=require(_0xa5d2('0x7'));var csv=require('to-csv');var ejs=require(_0xa5d2('0x8'));var fs=require('fs');var fs_extra=require(_0xa5d2('0x9'));var _=require(_0xa5d2('0xa'));var squel=require(_0xa5d2('0xb'));var crypto=require(_0xa5d2('0xc'));var jsforce=require(_0xa5d2('0xd'));var deskjs=require(_0xa5d2('0xe'));var toCsv=require('to-csv');var querystring=require(_0xa5d2('0xf'));var Papa=require(_0xa5d2('0x10'));var Redis=require(_0xa5d2('0x11'));var authService=require(_0xa5d2('0x12'));var qs=require(_0xa5d2('0x13'));var as=require(_0xa5d2('0x14'));var hardwareService=require(_0xa5d2('0x15'));var logger=require(_0xa5d2('0x16'))(_0xa5d2('0x17'));var utils=require('../../config/utils');var config=require(_0xa5d2('0x18'));var licenseUtil=require(_0xa5d2('0x19'));var db=require(_0xa5d2('0x1a'))['db'];function respondWithStatusCode(_0x33bdd8,_0x2cc45d){_0x2cc45d=_0x2cc45d||0xcc;return function(_0x1b42c6){if(_0x1b42c6){return _0x33bdd8[_0xa5d2('0x1b')](_0x2cc45d);}return _0x33bdd8[_0xa5d2('0x1c')](_0x2cc45d)[_0xa5d2('0x1d')]();};}function respondWithResult(_0xdaf4b,_0x5875b3){_0x5875b3=_0x5875b3||0xc8;return function(_0x13df58){if(_0x13df58){return _0xdaf4b[_0xa5d2('0x1c')](_0x5875b3)[_0xa5d2('0x1e')](_0x13df58);}};}function respondWithFilteredResult(_0x4d8fb7,_0x5777d4){return function(_0x16bd37){if(_0x16bd37){var _0xfab4b9=typeof _0x5777d4[_0xa5d2('0x1f')]===_0xa5d2('0x20')&&typeof _0x5777d4[_0xa5d2('0x21')]==='undefined';var _0x4f00b9=_0x16bd37['count'];var _0xf94ffa=_0xfab4b9?0x0:_0x5777d4[_0xa5d2('0x1f')];var _0x3d99de=_0xfab4b9?_0x16bd37[_0xa5d2('0x22')]:_0x5777d4[_0xa5d2('0x1f')]+_0x5777d4[_0xa5d2('0x21')];var _0x469ec9;if(_0x3d99de>=_0x4f00b9){_0x3d99de=_0x4f00b9;_0x469ec9=0xc8;}else{_0x469ec9=0xce;}_0x4d8fb7[_0xa5d2('0x1c')](_0x469ec9);return _0x4d8fb7[_0xa5d2('0x23')](_0xa5d2('0x24'),_0xf94ffa+'-'+_0x3d99de+'/'+_0x4f00b9)[_0xa5d2('0x1e')](_0x16bd37);}return null;};}function patchUpdates(_0x24fa24){return function(_0x159d62){try{jsonpatch[_0xa5d2('0x25')](_0x159d62,_0x24fa24,!![]);}catch(_0x48e0c4){return BPromise[_0xa5d2('0x26')](_0x48e0c4);}return _0x159d62[_0xa5d2('0x27')]();};}function saveUpdates(_0xeabe0a,_0x18e135){return function(_0x4c913d){if(_0x4c913d){return _0x4c913d[_0xa5d2('0x28')](_0xeabe0a)[_0xa5d2('0x29')](function(_0x34e68e){return _0x34e68e;});}return null;};}function removeEntity(_0x521ca0,_0x5593f5){return function(_0x142425){if(_0x142425){return _0x142425[_0xa5d2('0x2a')]()[_0xa5d2('0x29')](function(){_0x521ca0[_0xa5d2('0x1c')](0xcc)[_0xa5d2('0x1d')]();});}};}function handleEntityNotFound(_0x347082,_0x29b712){return function(_0x33a19c){if(!_0x33a19c){_0x347082[_0xa5d2('0x1b')](0x194);}return _0x33a19c;};}function handleError(_0x3a4ebe,_0x2a43e5){_0x2a43e5=_0x2a43e5||0x1f4;return function(_0x4d55f5){logger[_0xa5d2('0x2b')](_0x4d55f5['stack']);if(_0x4d55f5[_0xa5d2('0x2c')]){delete _0x4d55f5[_0xa5d2('0x2c')];}_0x3a4ebe['status'](_0x2a43e5)[_0xa5d2('0x2d')](_0x4d55f5);};}exports[_0xa5d2('0x2e')]=function(_0x566d4a,_0x18d9f3){var _0x314af6={},_0x11fa42={},_0x2b90f6={'count':0x0,'rows':[]};var _0x41c9bc=_[_0xa5d2('0x2f')](db[_0xa5d2('0x30')][_0xa5d2('0x31')],function(_0x581246){return{'name':_0x581246[_0xa5d2('0x32')],'type':_0x581246[_0xa5d2('0x33')][_0xa5d2('0x34')]};});_0x11fa42['model']=_[_0xa5d2('0x35')](_['map'](_0x41c9bc,_0xa5d2('0x2c')),[_0xa5d2('0x2c')]);_0x11fa42[_0xa5d2('0x36')]=_[_0xa5d2('0x37')](_0x566d4a[_0xa5d2('0x36')]);_0x11fa42[_0xa5d2('0x38')]=_[_0xa5d2('0x39')](_0x11fa42['model'],_0x11fa42[_0xa5d2('0x36')]);_0x314af6[_0xa5d2('0x3a')]=_['intersection'](_0x11fa42[_0xa5d2('0x3b')],qs[_0xa5d2('0x3c')](_0x566d4a[_0xa5d2('0x36')]['fields']));_0x314af6[_0xa5d2('0x3a')]=_0x314af6[_0xa5d2('0x3a')][_0xa5d2('0x3d')]?_0x314af6[_0xa5d2('0x3a')]:_0x11fa42[_0xa5d2('0x3b')];if(!_0x566d4a['query']['hasOwnProperty'](_0xa5d2('0x3e'))){_0x314af6[_0xa5d2('0x21')]=qs['limit'](_0x566d4a[_0xa5d2('0x36')][_0xa5d2('0x21')]);_0x314af6[_0xa5d2('0x1f')]=qs[_0xa5d2('0x1f')](_0x566d4a[_0xa5d2('0x36')][_0xa5d2('0x1f')]);}_0x314af6['order']=qs['sort'](_0x566d4a[_0xa5d2('0x36')][_0xa5d2('0x3f')]);_0x314af6[_0xa5d2('0x40')]=qs['filters'](_[_0xa5d2('0x41')](_0x566d4a[_0xa5d2('0x36')],_0x11fa42[_0xa5d2('0x38')]),_0x41c9bc);if(_0x566d4a[_0xa5d2('0x36')][_0xa5d2('0x42')]){_0x314af6[_0xa5d2('0x40')]=_[_0xa5d2('0x43')](_0x314af6[_0xa5d2('0x40')],{'$or':_['map'](_0x41c9bc,function(_0x1a4941){if(_0x1a4941[_0xa5d2('0x33')]!=='VIRTUAL'){var _0x3edbbc={};_0x3edbbc[_0x1a4941[_0xa5d2('0x2c')]]={'$like':'%'+_0x566d4a[_0xa5d2('0x36')]['filter']+'%'};return _0x3edbbc;}})});}_0x314af6=_[_0xa5d2('0x43')]({},_0x314af6,_0x566d4a['options']);var _0x4e4756={'where':_0x314af6[_0xa5d2('0x40')]};return db[_0xa5d2('0x30')][_0xa5d2('0x22')](_0x4e4756)[_0xa5d2('0x29')](function(_0x126909){_0x2b90f6[_0xa5d2('0x22')]=_0x126909;if(_0x566d4a[_0xa5d2('0x36')][_0xa5d2('0x44')]){_0x314af6[_0xa5d2('0x45')]=[{'all':!![]}];}return db['CmCustomField']['findAll'](_0x314af6);})[_0xa5d2('0x29')](function(_0x15427f){_0x2b90f6[_0xa5d2('0x46')]=_0x15427f;return _0x2b90f6;})[_0xa5d2('0x29')](respondWithFilteredResult(_0x18d9f3,_0x314af6))[_0xa5d2('0x47')](handleError(_0x18d9f3,null));};exports[_0xa5d2('0x48')]=function(_0x506d3a,_0x1169b2){var _0x2aa1a0={'raw':!![],'where':{'id':_0x506d3a[_0xa5d2('0x49')]['id']}},_0x2de628={};_0x2de628[_0xa5d2('0x3b')]=_['keys'](db[_0xa5d2('0x30')][_0xa5d2('0x31')]);_0x2de628[_0xa5d2('0x36')]=_[_0xa5d2('0x37')](_0x506d3a[_0xa5d2('0x36')]);_0x2de628[_0xa5d2('0x38')]=_[_0xa5d2('0x39')](_0x2de628['model'],_0x2de628[_0xa5d2('0x36')]);_0x2aa1a0[_0xa5d2('0x3a')]=_[_0xa5d2('0x39')](_0x2de628[_0xa5d2('0x3b')],qs[_0xa5d2('0x3c')](_0x506d3a[_0xa5d2('0x36')][_0xa5d2('0x3c')]));_0x2aa1a0['attributes']=_0x2aa1a0[_0xa5d2('0x3a')][_0xa5d2('0x3d')]?_0x2aa1a0[_0xa5d2('0x3a')]:_0x2de628[_0xa5d2('0x3b')];if(_0x506d3a[_0xa5d2('0x36')][_0xa5d2('0x44')]){_0x2aa1a0[_0xa5d2('0x45')]=[{'all':!![]}];}_0x2aa1a0=_[_0xa5d2('0x43')]({},_0x2aa1a0,_0x506d3a['options']);return db[_0xa5d2('0x30')][_0xa5d2('0x4a')](_0x2aa1a0)[_0xa5d2('0x29')](handleEntityNotFound(_0x1169b2,null))['then'](respondWithResult(_0x1169b2,null))[_0xa5d2('0x47')](handleError(_0x1169b2,null));};exports[_0xa5d2('0x28')]=function(_0x2b9c4c,_0x494540){if(_0x2b9c4c[_0xa5d2('0x4b')]['id']){delete _0x2b9c4c[_0xa5d2('0x4b')]['id'];}return db[_0xa5d2('0x30')]['find']({'where':{'id':_0x2b9c4c[_0xa5d2('0x49')]['id']}})[_0xa5d2('0x29')](handleEntityNotFound(_0x494540,null))[_0xa5d2('0x29')](saveUpdates(_0x2b9c4c[_0xa5d2('0x4b')],null))[_0xa5d2('0x29')](respondWithResult(_0x494540,null))[_0xa5d2('0x47')](handleError(_0x494540,null));};exports[_0xa5d2('0x2a')]=function(_0x21179c,_0x1cc1c7){return db['CmCustomField'][_0xa5d2('0x4a')]({'where':{'id':_0x21179c['params']['id']}})['then'](handleEntityNotFound(_0x1cc1c7,null))[_0xa5d2('0x29')](removeEntity(_0x1cc1c7,null))[_0xa5d2('0x47')](handleError(_0x1cc1c7,null));};exports[_0xa5d2('0x4c')]=function(_0x41c8a9,_0x470b8e){var _0x25ddfe;return db[_0xa5d2('0x4d')][_0xa5d2('0x4e')](function(_0x231150){return db[_0xa5d2('0x30')][_0xa5d2('0x4c')](_0x41c8a9[_0xa5d2('0x4b')],{'transaction':_0x231150})['then'](function(_0x310801){_0x25ddfe=_0x310801;var _0x59a5c9={'type':db[_0xa5d2('0x4f')][_0xa5d2('0x50')],'transaction':_0x231150};switch(_0x41c8a9['body'][_0xa5d2('0x33')]){case _0xa5d2('0x51'):_0x59a5c9['type']=db[_0xa5d2('0x4f')][_0xa5d2('0x50')];break;case _0xa5d2('0x52'):_0x59a5c9[_0xa5d2('0x33')]=db[_0xa5d2('0x4f')][_0xa5d2('0x53')];break;case _0xa5d2('0x54'):_0x59a5c9[_0xa5d2('0x33')]=db[_0xa5d2('0x4f')][_0xa5d2('0x55')];_0x59a5c9[_0xa5d2('0x56')]=![];break;default:}return db['sequelize'][_0xa5d2('0x57')][_0xa5d2('0x58')](_0xa5d2('0x59'),util[_0xa5d2('0x5a')](_0xa5d2('0x5b'),_0x25ddfe['id']),_0x59a5c9);})[_0xa5d2('0x29')](function(){return _0x25ddfe;});})['then'](respondWithResult(_0x470b8e,0xc9))[_0xa5d2('0x47')](handleError(_0x470b8e,null));};