730695e826e0922accb0e1d3c68a0109a6295824
[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 _0x002a=['to-csv','ejs','lodash','squel','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../mysqldb','status','end','json','count','offset','limit','set','apply','reject','save','update','then','destroy','sendStatus','error','stack','name','send','CmCustomField','rawAttributes','fieldName','type','key','model','differenceBy','map','query','filters','intersection','fields','attributes','length','hasOwnProperty','sort','where','pick','filter','merge','VIRTUAL','includeAll','findAll','rows','show','keys','include','options','find','catch','body','params','create','Sequelize','text','TEXT','INTEGER','switch','sequelize','addColumn','cm_contacts','format','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','mustache','util'];(function(_0x16cfff,_0x3fc70c){var _0x127aa2=function(_0xd4acdd){while(--_0xd4acdd){_0x16cfff['push'](_0x16cfff['shift']());}};_0x127aa2(++_0x3fc70c);}(_0x002a,0xec));var _0xa002=function(_0xb6765f,_0x59eda7){_0xb6765f=_0xb6765f-0x0;var _0x355196=_0x002a[_0xb6765f];return _0x355196;};'use strict';var pdf=require(_0xa002('0x0'));var emlformat=require(_0xa002('0x1'));var rimraf=require(_0xa002('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xa002('0x3'));var rp=require(_0xa002('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xa002('0x5'));var util=require(_0xa002('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0xa002('0x7'));var ejs=require(_0xa002('0x8'));var fs=require('fs');var _=require(_0xa002('0x9'));var squel=require(_0xa002('0xa'));var crypto=require(_0xa002('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xa002('0xc'));var toCsv=require(_0xa002('0x7'));var querystring=require('querystring');var Papa=require(_0xa002('0xd'));var Redis=require(_0xa002('0xe'));var authService=require(_0xa002('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0xa002('0x10'));var hardwareService=require(_0xa002('0x11'));var logger=require('../../config/logger')('api');var utils=require(_0xa002('0x12'));var config=require(_0xa002('0x13'));var db=require(_0xa002('0x14'))['db'];function respondWithStatusCode(_0x5db3cd,_0x502f30){_0x502f30=_0x502f30||0xcc;return function(_0x220296){if(_0x220296){return _0x5db3cd['sendStatus'](_0x502f30);}return _0x5db3cd[_0xa002('0x15')](_0x502f30)[_0xa002('0x16')]();};}function respondWithResult(_0x47f65a,_0x116499){_0x116499=_0x116499||0xc8;return function(_0xa38089){if(_0xa38089){return _0x47f65a[_0xa002('0x15')](_0x116499)[_0xa002('0x17')](_0xa38089);}};}function respondWithFilteredResult(_0x19fff3,_0x1c6b05){return function(_0x3cd208){if(_0x3cd208){var _0x15c74f=_0x3cd208[_0xa002('0x18')],_0x2b5f24=_0x1c6b05[_0xa002('0x19')],_0x2101cf=_0x1c6b05[_0xa002('0x19')]+_0x1c6b05[_0xa002('0x1a')],_0x130e60;if(_0x2101cf>=_0x15c74f){_0x2101cf=_0x15c74f;_0x130e60=0xc8;}else{_0x130e60=0xce;}_0x19fff3[_0xa002('0x15')](_0x130e60);return _0x19fff3[_0xa002('0x1b')]('Content-Range',_0x2b5f24+'-'+_0x2101cf+'/'+_0x15c74f)['json'](_0x3cd208);}return null;};}function patchUpdates(_0x11994c){return function(_0xa5e750){try{jsonpatch[_0xa002('0x1c')](_0xa5e750,_0x11994c,!![]);}catch(_0x5bb83d){return BPromise[_0xa002('0x1d')](_0x5bb83d);}return _0xa5e750[_0xa002('0x1e')]();};}function saveUpdates(_0x41c10c,_0x35f2fd){return function(_0x12af0c){if(_0x12af0c){return _0x12af0c[_0xa002('0x1f')](_0x41c10c)[_0xa002('0x20')](function(_0x32841b){return _0x32841b;});}return null;};}function removeEntity(_0x31a5b3,_0x361258){return function(_0xd9e36d){if(_0xd9e36d){return _0xd9e36d[_0xa002('0x21')]()[_0xa002('0x20')](function(){_0x31a5b3[_0xa002('0x15')](0xcc)[_0xa002('0x16')]();});}};}function handleEntityNotFound(_0x5960cc,_0xfcc511){return function(_0x18fc4d){if(!_0x18fc4d){_0x5960cc[_0xa002('0x22')](0x194);}return _0x18fc4d;};}function handleError(_0x1038e6,_0x271987){_0x271987=_0x271987||0x1f4;return function(_0xc57600){logger[_0xa002('0x23')](_0xc57600[_0xa002('0x24')]);if(_0xc57600[_0xa002('0x25')]){delete _0xc57600[_0xa002('0x25')];}_0x1038e6['status'](_0x271987)[_0xa002('0x26')](_0xc57600);};}exports['index']=function(_0x35b65c,_0x11f72d){var _0x324733={},_0x5c6e60={},_0x3fbc50={'count':0x0,'rows':[]};var _0x53ccd6=_['map'](db[_0xa002('0x27')][_0xa002('0x28')],function(_0x58bfb1){return{'name':_0x58bfb1[_0xa002('0x29')],'type':_0x58bfb1[_0xa002('0x2a')][_0xa002('0x2b')]};});_0x5c6e60[_0xa002('0x2c')]=_[_0xa002('0x2d')](_[_0xa002('0x2e')](_0x53ccd6,_0xa002('0x25')),[_0xa002('0x25')]);_0x5c6e60[_0xa002('0x2f')]=_['keys'](_0x35b65c['query']);_0x5c6e60[_0xa002('0x30')]=_['intersection'](_0x5c6e60[_0xa002('0x2c')],_0x5c6e60[_0xa002('0x2f')]);_0x324733['attributes']=_[_0xa002('0x31')](_0x5c6e60[_0xa002('0x2c')],qs[_0xa002('0x32')](_0x35b65c['query']['fields']));_0x324733[_0xa002('0x33')]=_0x324733[_0xa002('0x33')][_0xa002('0x34')]?_0x324733[_0xa002('0x33')]:_0x5c6e60[_0xa002('0x2c')];if(!_0x35b65c[_0xa002('0x2f')][_0xa002('0x35')]('nolimit')){_0x324733[_0xa002('0x1a')]=qs[_0xa002('0x1a')](_0x35b65c['query'][_0xa002('0x1a')]);_0x324733['offset']=qs['offset'](_0x35b65c['query'][_0xa002('0x19')]);}_0x324733['order']=qs['sort'](_0x35b65c[_0xa002('0x2f')][_0xa002('0x36')]);_0x324733[_0xa002('0x37')]=qs['filters'](_[_0xa002('0x38')](_0x35b65c[_0xa002('0x2f')],_0x5c6e60[_0xa002('0x30')]));if(_0x35b65c[_0xa002('0x2f')][_0xa002('0x39')]){_0x324733[_0xa002('0x37')]=_[_0xa002('0x3a')](_0x324733['where'],{'$or':_[_0xa002('0x2e')](_0x53ccd6,function(_0x43735d){if(_0x43735d[_0xa002('0x2a')]!==_0xa002('0x3b')){var _0xc1474={};_0xc1474[_0x43735d[_0xa002('0x25')]]={'$like':'%'+_0x35b65c[_0xa002('0x2f')][_0xa002('0x39')]+'%'};return _0xc1474;}})});}_0x324733=_[_0xa002('0x3a')]({},_0x324733,_0x35b65c['options']);var _0x5bf901={'where':_0x324733[_0xa002('0x37')]};return db[_0xa002('0x27')][_0xa002('0x18')](_0x5bf901)[_0xa002('0x20')](function(_0x37b76c){_0x3fbc50[_0xa002('0x18')]=_0x37b76c;if(_0x35b65c[_0xa002('0x2f')][_0xa002('0x3c')]){_0x324733['include']=[{'all':!![]}];}return db['CmCustomField'][_0xa002('0x3d')](_0x324733);})[_0xa002('0x20')](function(_0x293138){_0x3fbc50[_0xa002('0x3e')]=_0x293138;return _0x3fbc50;})[_0xa002('0x20')](respondWithFilteredResult(_0x11f72d,_0x324733))['catch'](handleError(_0x11f72d,null));};exports[_0xa002('0x3f')]=function(_0x1968c4,_0x5726aa){var _0x5e463a={'raw':!![],'where':{'id':_0x1968c4['params']['id']}},_0x114076={};_0x114076[_0xa002('0x2c')]=_[_0xa002('0x40')](db[_0xa002('0x27')][_0xa002('0x28')]);_0x114076['query']=_[_0xa002('0x40')](_0x1968c4[_0xa002('0x2f')]);_0x114076[_0xa002('0x30')]=_['intersection'](_0x114076[_0xa002('0x2c')],_0x114076[_0xa002('0x2f')]);_0x5e463a['attributes']=_[_0xa002('0x31')](_0x114076[_0xa002('0x2c')],qs[_0xa002('0x32')](_0x1968c4[_0xa002('0x2f')][_0xa002('0x32')]));_0x5e463a['attributes']=_0x5e463a['attributes']['length']?_0x5e463a[_0xa002('0x33')]:_0x114076[_0xa002('0x2c')];if(_0x1968c4['query'][_0xa002('0x3c')]){_0x5e463a[_0xa002('0x41')]=[{'all':!![]}];}_0x5e463a=_['merge']({},_0x5e463a,_0x1968c4[_0xa002('0x42')]);return db[_0xa002('0x27')][_0xa002('0x43')](_0x5e463a)['then'](handleEntityNotFound(_0x5726aa,null))['then'](respondWithResult(_0x5726aa,null))[_0xa002('0x44')](handleError(_0x5726aa,null));};exports[_0xa002('0x1f')]=function(_0x363cc6,_0x379590){if(_0x363cc6[_0xa002('0x45')]['id']){delete _0x363cc6['body']['id'];}return db[_0xa002('0x27')][_0xa002('0x43')]({'where':{'id':_0x363cc6[_0xa002('0x46')]['id']}})[_0xa002('0x20')](handleEntityNotFound(_0x379590,null))['then'](saveUpdates(_0x363cc6[_0xa002('0x45')],null))[_0xa002('0x20')](respondWithResult(_0x379590,null))['catch'](handleError(_0x379590,null));};exports[_0xa002('0x21')]=function(_0x11cec6,_0x66e8){return db[_0xa002('0x27')][_0xa002('0x43')]({'where':{'id':_0x11cec6[_0xa002('0x46')]['id']}})[_0xa002('0x20')](handleEntityNotFound(_0x66e8,null))['then'](removeEntity(_0x66e8,null))[_0xa002('0x44')](handleError(_0x66e8,null));};exports['create']=function(_0x1f693b,_0x3cfe28){var _0x1278ef;return db['sequelize']['transaction'](function(_0xa5402f){return db[_0xa002('0x27')][_0xa002('0x47')](_0x1f693b[_0xa002('0x45')],{'transaction':_0xa5402f})[_0xa002('0x20')](function(_0x42e3b2){_0x1278ef=_0x42e3b2;var _0x7abf38={'type':db[_0xa002('0x48')]['TEXT'],'transaction':_0xa5402f};switch(_0x1f693b[_0xa002('0x45')][_0xa002('0x2a')]){case _0xa002('0x49'):_0x7abf38[_0xa002('0x2a')]=db[_0xa002('0x48')][_0xa002('0x4a')];break;case'number':_0x7abf38[_0xa002('0x2a')]=db['Sequelize'][_0xa002('0x4b')];break;case _0xa002('0x4c'):_0x7abf38['type']=db[_0xa002('0x48')]['BOOLEAN'];_0x7abf38['defaultValue']=![];break;default:}return db[_0xa002('0x4d')]['queryInterface'][_0xa002('0x4e')](_0xa002('0x4f'),util[_0xa002('0x50')]('cf_%d',_0x1278ef['id']),_0x7abf38);})[_0xa002('0x20')](function(){return _0x1278ef;});})['then'](respondWithResult(_0x3cfe28,0xc9))[_0xa002('0x44')](handleError(_0x3cfe28,null));};