Built motion from commit e1760111.|2.6.18
[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 _0xda1c=['offset','json','apply','reject','save','update','then','error','name','send','map','CmCustomField','rawAttributes','fieldName','key','model','query','keys','filters','attributes','fields','length','nolimit','sort','pick','filter','where','merge','type','VIRTUAL','options','count','includeAll','include','findAll','catch','show','intersection','find','body','params','destroy','transaction','create','text','TEXT','number','Sequelize','INTEGER','BOOLEAN','defaultValue','sequelize','queryInterface','addColumn','cm_contacts','cf_%d','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','ejs','lodash','crypto','jsforce','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','undefined','limit'];(function(_0x402896,_0x11e109){var _0x4c1206=function(_0x2b70cf){while(--_0x2b70cf){_0x402896['push'](_0x402896['shift']());}};_0x4c1206(++_0x11e109);}(_0xda1c,0x1d2));var _0xcda1=function(_0x398d59,_0x29b2df){_0x398d59=_0x398d59-0x0;var _0x41bde6=_0xda1c[_0x398d59];return _0x41bde6;};'use strict';var emlformat=require(_0xcda1('0x0'));var rimraf=require(_0xcda1('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xcda1('0x2'));var rp=require(_0xcda1('0x3'));var moment=require(_0xcda1('0x4'));var BPromise=require(_0xcda1('0x5'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xcda1('0x6'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xcda1('0x7'));var squel=require('squel');var crypto=require(_0xcda1('0x8'));var jsforce=require(_0xcda1('0x9'));var deskjs=require('desk.js');var toCsv=require(_0xcda1('0xa'));var querystring=require(_0xcda1('0xb'));var Papa=require('papaparse');var Redis=require(_0xcda1('0xc'));var authService=require(_0xcda1('0xd'));var qs=require(_0xcda1('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xcda1('0xf'));var logger=require(_0xcda1('0x10'))('api');var utils=require(_0xcda1('0x11'));var config=require(_0xcda1('0x12'));var licenseUtil=require(_0xcda1('0x13'));var db=require(_0xcda1('0x14'))['db'];function respondWithStatusCode(_0x2fdd6e,_0x630e29){_0x630e29=_0x630e29||0xcc;return function(_0x22c297){if(_0x22c297){return _0x2fdd6e[_0xcda1('0x15')](_0x630e29);}return _0x2fdd6e[_0xcda1('0x16')](_0x630e29)[_0xcda1('0x17')]();};}function respondWithResult(_0x439551,_0x4a4f96){_0x4a4f96=_0x4a4f96||0xc8;return function(_0x5f340c){if(_0x5f340c){return _0x439551['status'](_0x4a4f96)['json'](_0x5f340c);}};}function respondWithFilteredResult(_0x1ec5dd,_0xa02ce8){return function(_0x238a31){if(_0x238a31){var _0x178ce9=typeof _0xa02ce8['offset']===_0xcda1('0x18')&&typeof _0xa02ce8[_0xcda1('0x19')]===_0xcda1('0x18');var _0x474d4c=_0x238a31['count'];var _0x2c416=_0x178ce9?0x0:_0xa02ce8[_0xcda1('0x1a')];var _0x54d36c=_0x178ce9?_0x238a31['count']:_0xa02ce8['offset']+_0xa02ce8['limit'];var _0x3f159f;if(_0x54d36c>=_0x474d4c){_0x54d36c=_0x474d4c;_0x3f159f=0xc8;}else{_0x3f159f=0xce;}_0x1ec5dd[_0xcda1('0x16')](_0x3f159f);return _0x1ec5dd['set']('Content-Range',_0x2c416+'-'+_0x54d36c+'/'+_0x474d4c)[_0xcda1('0x1b')](_0x238a31);}return null;};}function patchUpdates(_0x5a1c3f){return function(_0x531b80){try{jsonpatch[_0xcda1('0x1c')](_0x531b80,_0x5a1c3f,!![]);}catch(_0x3f2de4){return BPromise[_0xcda1('0x1d')](_0x3f2de4);}return _0x531b80[_0xcda1('0x1e')]();};}function saveUpdates(_0x5c9319,_0x60276e){return function(_0x372a92){if(_0x372a92){return _0x372a92[_0xcda1('0x1f')](_0x5c9319)['then'](function(_0x5eb8d6){return _0x5eb8d6;});}return null;};}function removeEntity(_0x5484fa,_0x2af135){return function(_0xbe2d29){if(_0xbe2d29){return _0xbe2d29['destroy']()[_0xcda1('0x20')](function(){_0x5484fa[_0xcda1('0x16')](0xcc)[_0xcda1('0x17')]();});}};}function handleEntityNotFound(_0x8f9654,_0x3ac376){return function(_0x29dd81){if(!_0x29dd81){_0x8f9654[_0xcda1('0x15')](0x194);}return _0x29dd81;};}function handleError(_0x149e30,_0x3265dd){_0x3265dd=_0x3265dd||0x1f4;return function(_0x488dad){logger[_0xcda1('0x21')](_0x488dad['stack']);if(_0x488dad[_0xcda1('0x22')]){delete _0x488dad[_0xcda1('0x22')];}_0x149e30[_0xcda1('0x16')](_0x3265dd)[_0xcda1('0x23')](_0x488dad);};}exports['index']=function(_0x1b743b,_0x2667f4){var _0x5bf636={},_0x1190ef={},_0x2437bd={'count':0x0,'rows':[]};var _0x9b4d52=_[_0xcda1('0x24')](db[_0xcda1('0x25')][_0xcda1('0x26')],function(_0x39cba2){return{'name':_0x39cba2[_0xcda1('0x27')],'type':_0x39cba2['type'][_0xcda1('0x28')]};});_0x1190ef[_0xcda1('0x29')]=_['differenceBy'](_['map'](_0x9b4d52,'name'),[_0xcda1('0x22')]);_0x1190ef[_0xcda1('0x2a')]=_[_0xcda1('0x2b')](_0x1b743b[_0xcda1('0x2a')]);_0x1190ef[_0xcda1('0x2c')]=_['intersection'](_0x1190ef['model'],_0x1190ef[_0xcda1('0x2a')]);_0x5bf636[_0xcda1('0x2d')]=_['intersection'](_0x1190ef[_0xcda1('0x29')],qs['fields'](_0x1b743b[_0xcda1('0x2a')][_0xcda1('0x2e')]));_0x5bf636[_0xcda1('0x2d')]=_0x5bf636[_0xcda1('0x2d')][_0xcda1('0x2f')]?_0x5bf636[_0xcda1('0x2d')]:_0x1190ef[_0xcda1('0x29')];if(!_0x1b743b[_0xcda1('0x2a')]['hasOwnProperty'](_0xcda1('0x30'))){_0x5bf636[_0xcda1('0x19')]=qs['limit'](_0x1b743b[_0xcda1('0x2a')][_0xcda1('0x19')]);_0x5bf636[_0xcda1('0x1a')]=qs['offset'](_0x1b743b['query'][_0xcda1('0x1a')]);}_0x5bf636['order']=qs['sort'](_0x1b743b[_0xcda1('0x2a')][_0xcda1('0x31')]);_0x5bf636['where']=qs[_0xcda1('0x2c')](_[_0xcda1('0x32')](_0x1b743b[_0xcda1('0x2a')],_0x1190ef[_0xcda1('0x2c')]),_0x9b4d52);if(_0x1b743b[_0xcda1('0x2a')][_0xcda1('0x33')]){_0x5bf636[_0xcda1('0x34')]=_[_0xcda1('0x35')](_0x5bf636[_0xcda1('0x34')],{'$or':_[_0xcda1('0x24')](_0x9b4d52,function(_0x459ee9){if(_0x459ee9[_0xcda1('0x36')]!==_0xcda1('0x37')){var _0x434749={};_0x434749[_0x459ee9[_0xcda1('0x22')]]={'$like':'%'+_0x1b743b[_0xcda1('0x2a')][_0xcda1('0x33')]+'%'};return _0x434749;}})});}_0x5bf636=_[_0xcda1('0x35')]({},_0x5bf636,_0x1b743b[_0xcda1('0x38')]);var _0x400abd={'where':_0x5bf636['where']};return db[_0xcda1('0x25')][_0xcda1('0x39')](_0x400abd)[_0xcda1('0x20')](function(_0x26c79e){_0x2437bd[_0xcda1('0x39')]=_0x26c79e;if(_0x1b743b['query'][_0xcda1('0x3a')]){_0x5bf636[_0xcda1('0x3b')]=[{'all':!![]}];}return db[_0xcda1('0x25')][_0xcda1('0x3c')](_0x5bf636);})[_0xcda1('0x20')](function(_0x280c17){_0x2437bd['rows']=_0x280c17;return _0x2437bd;})[_0xcda1('0x20')](respondWithFilteredResult(_0x2667f4,_0x5bf636))[_0xcda1('0x3d')](handleError(_0x2667f4,null));};exports[_0xcda1('0x3e')]=function(_0x572800,_0x4c20b6){var _0x158e61={'raw':!![],'where':{'id':_0x572800['params']['id']}},_0x4da349={};_0x4da349[_0xcda1('0x29')]=_['keys'](db['CmCustomField'][_0xcda1('0x26')]);_0x4da349[_0xcda1('0x2a')]=_[_0xcda1('0x2b')](_0x572800[_0xcda1('0x2a')]);_0x4da349[_0xcda1('0x2c')]=_[_0xcda1('0x3f')](_0x4da349['model'],_0x4da349[_0xcda1('0x2a')]);_0x158e61[_0xcda1('0x2d')]=_['intersection'](_0x4da349['model'],qs[_0xcda1('0x2e')](_0x572800[_0xcda1('0x2a')][_0xcda1('0x2e')]));_0x158e61[_0xcda1('0x2d')]=_0x158e61[_0xcda1('0x2d')]['length']?_0x158e61[_0xcda1('0x2d')]:_0x4da349[_0xcda1('0x29')];if(_0x572800[_0xcda1('0x2a')][_0xcda1('0x3a')]){_0x158e61[_0xcda1('0x3b')]=[{'all':!![]}];}_0x158e61=_[_0xcda1('0x35')]({},_0x158e61,_0x572800[_0xcda1('0x38')]);return db[_0xcda1('0x25')][_0xcda1('0x40')](_0x158e61)['then'](handleEntityNotFound(_0x4c20b6,null))['then'](respondWithResult(_0x4c20b6,null))[_0xcda1('0x3d')](handleError(_0x4c20b6,null));};exports[_0xcda1('0x1f')]=function(_0x1d25b6,_0x3052fc){if(_0x1d25b6[_0xcda1('0x41')]['id']){delete _0x1d25b6[_0xcda1('0x41')]['id'];}return db[_0xcda1('0x25')]['find']({'where':{'id':_0x1d25b6[_0xcda1('0x42')]['id']}})['then'](handleEntityNotFound(_0x3052fc,null))[_0xcda1('0x20')](saveUpdates(_0x1d25b6[_0xcda1('0x41')],null))['then'](respondWithResult(_0x3052fc,null))['catch'](handleError(_0x3052fc,null));};exports[_0xcda1('0x43')]=function(_0x22bd2a,_0x445536){return db[_0xcda1('0x25')]['find']({'where':{'id':_0x22bd2a[_0xcda1('0x42')]['id']}})[_0xcda1('0x20')](handleEntityNotFound(_0x445536,null))['then'](removeEntity(_0x445536,null))['catch'](handleError(_0x445536,null));};exports['create']=function(_0x17b29f,_0x5bd978){var _0x454cc4;return db['sequelize'][_0xcda1('0x44')](function(_0x53ca02){return db[_0xcda1('0x25')][_0xcda1('0x45')](_0x17b29f[_0xcda1('0x41')],{'transaction':_0x53ca02})[_0xcda1('0x20')](function(_0x3ce9a3){_0x454cc4=_0x3ce9a3;var _0x433685={'type':db['Sequelize']['TEXT'],'transaction':_0x53ca02};switch(_0x17b29f['body'][_0xcda1('0x36')]){case _0xcda1('0x46'):_0x433685[_0xcda1('0x36')]=db['Sequelize'][_0xcda1('0x47')];break;case _0xcda1('0x48'):_0x433685[_0xcda1('0x36')]=db[_0xcda1('0x49')][_0xcda1('0x4a')];break;case'switch':_0x433685[_0xcda1('0x36')]=db[_0xcda1('0x49')][_0xcda1('0x4b')];_0x433685[_0xcda1('0x4c')]=![];break;default:}return db[_0xcda1('0x4d')][_0xcda1('0x4e')][_0xcda1('0x4f')](_0xcda1('0x50'),util['format'](_0xcda1('0x51'),_0x454cc4['id']),_0x433685);})[_0xcda1('0x20')](function(){return _0x454cc4;});})['then'](respondWithResult(_0x5bd978,0xc9))[_0xcda1('0x3d')](handleError(_0x5bd978,null));};