Built motion from commit eddce310.|2.6.12
[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 _0x85a2=['type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','catch','show','keys','find','body','params','create','sequelize','transaction','Sequelize','TEXT','text','INTEGER','switch','BOOLEAN','queryInterface','addColumn','cm_contacts','format','eml-format','zip-dir','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','count','limit','Content-Range','save','update','then','destroy','error','name','send','index','map','CmCustomField','rawAttributes'];(function(_0x5f3905,_0x43a651){var _0x2923b1=function(_0x3c72d8){while(--_0x3c72d8){_0x5f3905['push'](_0x5f3905['shift']());}};_0x2923b1(++_0x43a651);}(_0x85a2,0x7c));var _0x285a=function(_0x43bd8c,_0x345062){_0x43bd8c=_0x43bd8c-0x0;var _0x214469=_0x85a2[_0x43bd8c];return _0x214469;};'use strict';var emlformat=require(_0x285a('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x285a('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x285a('0x2'));var moment=require(_0x285a('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x285a('0x4'));var util=require(_0x285a('0x5'));var path=require(_0x285a('0x6'));var sox=require(_0x285a('0x7'));var csv=require(_0x285a('0x8'));var ejs=require(_0x285a('0x9'));var fs=require('fs');var fs_extra=require(_0x285a('0xa'));var _=require('lodash');var squel=require(_0x285a('0xb'));var crypto=require(_0x285a('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x285a('0xd'));var toCsv=require(_0x285a('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x285a('0xe'));var authService=require(_0x285a('0xf'));var qs=require(_0x285a('0x10'));var as=require(_0x285a('0x11'));var hardwareService=require(_0x285a('0x12'));var logger=require(_0x285a('0x13'))(_0x285a('0x14'));var utils=require(_0x285a('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x285a('0x16'));var db=require(_0x285a('0x17'))['db'];function respondWithStatusCode(_0x4c1a23,_0x5c9613){_0x5c9613=_0x5c9613||0xcc;return function(_0x125b47){if(_0x125b47){return _0x4c1a23[_0x285a('0x18')](_0x5c9613);}return _0x4c1a23['status'](_0x5c9613)[_0x285a('0x19')]();};}function respondWithResult(_0x2b1324,_0x1ce375){_0x1ce375=_0x1ce375||0xc8;return function(_0x259a7e){if(_0x259a7e){return _0x2b1324[_0x285a('0x1a')](_0x1ce375)[_0x285a('0x1b')](_0x259a7e);}};}function respondWithFilteredResult(_0x2e02ac,_0x6528b1){return function(_0x28f2bc){if(_0x28f2bc){var _0x1174ee=typeof _0x6528b1[_0x285a('0x1c')]===_0x285a('0x1d')&&typeof _0x6528b1['limit']===_0x285a('0x1d');var _0x572cc8=_0x28f2bc[_0x285a('0x1e')];var _0x16e80b=_0x1174ee?0x0:_0x6528b1[_0x285a('0x1c')];var _0x196572=_0x1174ee?_0x28f2bc[_0x285a('0x1e')]:_0x6528b1[_0x285a('0x1c')]+_0x6528b1[_0x285a('0x1f')];var _0x60f256;if(_0x196572>=_0x572cc8){_0x196572=_0x572cc8;_0x60f256=0xc8;}else{_0x60f256=0xce;}_0x2e02ac[_0x285a('0x1a')](_0x60f256);return _0x2e02ac['set'](_0x285a('0x20'),_0x16e80b+'-'+_0x196572+'/'+_0x572cc8)['json'](_0x28f2bc);}return null;};}function patchUpdates(_0x505dec){return function(_0x5ca434){try{jsonpatch['apply'](_0x5ca434,_0x505dec,!![]);}catch(_0x37e943){return BPromise['reject'](_0x37e943);}return _0x5ca434[_0x285a('0x21')]();};}function saveUpdates(_0x28faa9,_0x64c412){return function(_0x319ad8){if(_0x319ad8){return _0x319ad8[_0x285a('0x22')](_0x28faa9)[_0x285a('0x23')](function(_0x25b345){return _0x25b345;});}return null;};}function removeEntity(_0x4da97e,_0x52b596){return function(_0x49ab9c){if(_0x49ab9c){return _0x49ab9c[_0x285a('0x24')]()[_0x285a('0x23')](function(){_0x4da97e[_0x285a('0x1a')](0xcc)[_0x285a('0x19')]();});}};}function handleEntityNotFound(_0x2b75d1,_0x3cf0b5){return function(_0x1fcc60){if(!_0x1fcc60){_0x2b75d1['sendStatus'](0x194);}return _0x1fcc60;};}function handleError(_0x5a14c4,_0x5680dd){_0x5680dd=_0x5680dd||0x1f4;return function(_0x5c1bcf){logger[_0x285a('0x25')](_0x5c1bcf['stack']);if(_0x5c1bcf[_0x285a('0x26')]){delete _0x5c1bcf[_0x285a('0x26')];}_0x5a14c4[_0x285a('0x1a')](_0x5680dd)[_0x285a('0x27')](_0x5c1bcf);};}exports[_0x285a('0x28')]=function(_0x30fdd5,_0x4417e4){var _0x2ac956={},_0x24bb42={},_0x1e58bc={'count':0x0,'rows':[]};var _0x44033c=_[_0x285a('0x29')](db[_0x285a('0x2a')][_0x285a('0x2b')],function(_0xca3a9){return{'name':_0xca3a9['fieldName'],'type':_0xca3a9[_0x285a('0x2c')][_0x285a('0x2d')]};});_0x24bb42[_0x285a('0x2e')]=_['differenceBy'](_['map'](_0x44033c,_0x285a('0x26')),[_0x285a('0x26')]);_0x24bb42['query']=_['keys'](_0x30fdd5[_0x285a('0x2f')]);_0x24bb42[_0x285a('0x30')]=_[_0x285a('0x31')](_0x24bb42[_0x285a('0x2e')],_0x24bb42[_0x285a('0x2f')]);_0x2ac956[_0x285a('0x32')]=_[_0x285a('0x31')](_0x24bb42[_0x285a('0x2e')],qs[_0x285a('0x33')](_0x30fdd5[_0x285a('0x2f')]['fields']));_0x2ac956['attributes']=_0x2ac956['attributes']['length']?_0x2ac956[_0x285a('0x32')]:_0x24bb42['model'];if(!_0x30fdd5['query'][_0x285a('0x34')](_0x285a('0x35'))){_0x2ac956[_0x285a('0x1f')]=qs[_0x285a('0x1f')](_0x30fdd5[_0x285a('0x2f')]['limit']);_0x2ac956[_0x285a('0x1c')]=qs[_0x285a('0x1c')](_0x30fdd5[_0x285a('0x2f')][_0x285a('0x1c')]);}_0x2ac956[_0x285a('0x36')]=qs['sort'](_0x30fdd5[_0x285a('0x2f')][_0x285a('0x37')]);_0x2ac956[_0x285a('0x38')]=qs['filters'](_[_0x285a('0x39')](_0x30fdd5[_0x285a('0x2f')],_0x24bb42['filters']),_0x44033c);if(_0x30fdd5[_0x285a('0x2f')][_0x285a('0x3a')]){_0x2ac956[_0x285a('0x38')]=_[_0x285a('0x3b')](_0x2ac956['where'],{'$or':_[_0x285a('0x29')](_0x44033c,function(_0x11b4c1){if(_0x11b4c1[_0x285a('0x2c')]!==_0x285a('0x3c')){var _0x59d750={};_0x59d750[_0x11b4c1[_0x285a('0x26')]]={'$like':'%'+_0x30fdd5[_0x285a('0x2f')]['filter']+'%'};return _0x59d750;}})});}_0x2ac956=_[_0x285a('0x3b')]({},_0x2ac956,_0x30fdd5[_0x285a('0x3d')]);var _0x3a2aae={'where':_0x2ac956['where']};return db['CmCustomField'][_0x285a('0x1e')](_0x3a2aae)['then'](function(_0x28eabe){_0x1e58bc[_0x285a('0x1e')]=_0x28eabe;if(_0x30fdd5[_0x285a('0x2f')][_0x285a('0x3e')]){_0x2ac956[_0x285a('0x3f')]=[{'all':!![]}];}return db[_0x285a('0x2a')][_0x285a('0x40')](_0x2ac956);})[_0x285a('0x23')](function(_0x17e3c9){_0x1e58bc['rows']=_0x17e3c9;return _0x1e58bc;})[_0x285a('0x23')](respondWithFilteredResult(_0x4417e4,_0x2ac956))[_0x285a('0x41')](handleError(_0x4417e4,null));};exports[_0x285a('0x42')]=function(_0x382c95,_0xf268cf){var _0x510aae={'raw':!![],'where':{'id':_0x382c95['params']['id']}},_0x825f1f={};_0x825f1f[_0x285a('0x2e')]=_['keys'](db[_0x285a('0x2a')][_0x285a('0x2b')]);_0x825f1f[_0x285a('0x2f')]=_[_0x285a('0x43')](_0x382c95[_0x285a('0x2f')]);_0x825f1f[_0x285a('0x30')]=_['intersection'](_0x825f1f[_0x285a('0x2e')],_0x825f1f[_0x285a('0x2f')]);_0x510aae['attributes']=_[_0x285a('0x31')](_0x825f1f['model'],qs[_0x285a('0x33')](_0x382c95[_0x285a('0x2f')]['fields']));_0x510aae[_0x285a('0x32')]=_0x510aae['attributes']['length']?_0x510aae[_0x285a('0x32')]:_0x825f1f['model'];if(_0x382c95[_0x285a('0x2f')]['includeAll']){_0x510aae[_0x285a('0x3f')]=[{'all':!![]}];}_0x510aae=_['merge']({},_0x510aae,_0x382c95['options']);return db['CmCustomField'][_0x285a('0x44')](_0x510aae)[_0x285a('0x23')](handleEntityNotFound(_0xf268cf,null))['then'](respondWithResult(_0xf268cf,null))['catch'](handleError(_0xf268cf,null));};exports[_0x285a('0x22')]=function(_0x8d468c,_0x2547cb){if(_0x8d468c[_0x285a('0x45')]['id']){delete _0x8d468c[_0x285a('0x45')]['id'];}return db[_0x285a('0x2a')]['find']({'where':{'id':_0x8d468c[_0x285a('0x46')]['id']}})['then'](handleEntityNotFound(_0x2547cb,null))['then'](saveUpdates(_0x8d468c[_0x285a('0x45')],null))[_0x285a('0x23')](respondWithResult(_0x2547cb,null))['catch'](handleError(_0x2547cb,null));};exports[_0x285a('0x24')]=function(_0x29e73a,_0x11f86b){return db[_0x285a('0x2a')]['find']({'where':{'id':_0x29e73a[_0x285a('0x46')]['id']}})[_0x285a('0x23')](handleEntityNotFound(_0x11f86b,null))['then'](removeEntity(_0x11f86b,null))['catch'](handleError(_0x11f86b,null));};exports[_0x285a('0x47')]=function(_0xd16446,_0x28247c){var _0x5192e6;return db[_0x285a('0x48')][_0x285a('0x49')](function(_0x5199a8){return db[_0x285a('0x2a')][_0x285a('0x47')](_0xd16446[_0x285a('0x45')],{'transaction':_0x5199a8})[_0x285a('0x23')](function(_0xd40aff){_0x5192e6=_0xd40aff;var _0x440589={'type':db[_0x285a('0x4a')][_0x285a('0x4b')],'transaction':_0x5199a8};switch(_0xd16446[_0x285a('0x45')][_0x285a('0x2c')]){case _0x285a('0x4c'):_0x440589['type']=db[_0x285a('0x4a')][_0x285a('0x4b')];break;case'number':_0x440589[_0x285a('0x2c')]=db['Sequelize'][_0x285a('0x4d')];break;case _0x285a('0x4e'):_0x440589[_0x285a('0x2c')]=db[_0x285a('0x4a')][_0x285a('0x4f')];_0x440589['defaultValue']=![];break;default:}return db['sequelize'][_0x285a('0x50')][_0x285a('0x51')](_0x285a('0x52'),util[_0x285a('0x53')]('cf_%d',_0x5192e6['id']),_0x440589);})[_0x285a('0x23')](function(){return _0x5192e6;});})[_0x285a('0x23')](respondWithResult(_0x28247c,0xc9))[_0x285a('0x41')](handleError(_0x28247c,null));};