Built motion from commit d1eab355.|2.6.28
[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 _0xaa33=['addColumn','cm_contacts','format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','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','sendStatus','status','end','offset','undefined','count','limit','set','json','apply','reject','save','then','destroy','error','stack','name','send','index','map','CmCustomField','fieldName','differenceBy','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','includeAll','findAll','rows','catch','show','params','rawAttributes','find','body','create','sequelize','transaction','Sequelize','TEXT','text','number','INTEGER','defaultValue','queryInterface'];(function(_0x347411,_0x529032){var _0x25564b=function(_0x287664){while(--_0x287664){_0x347411['push'](_0x347411['shift']());}};_0x25564b(++_0x529032);}(_0xaa33,0x167));var _0x3aa3=function(_0x277154,_0x4feb69){_0x277154=_0x277154-0x0;var _0x1d6b82=_0xaa33[_0x277154];return _0x1d6b82;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x3aa3('0x0'));var jsonpatch=require(_0x3aa3('0x1'));var rp=require(_0x3aa3('0x2'));var moment=require(_0x3aa3('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x3aa3('0x4'));var util=require(_0x3aa3('0x5'));var path=require('path');var sox=require(_0x3aa3('0x6'));var csv=require(_0x3aa3('0x7'));var ejs=require(_0x3aa3('0x8'));var fs=require('fs');var fs_extra=require(_0x3aa3('0x9'));var _=require(_0x3aa3('0xa'));var squel=require(_0x3aa3('0xb'));var crypto=require('crypto');var jsforce=require(_0x3aa3('0xc'));var deskjs=require(_0x3aa3('0xd'));var toCsv=require(_0x3aa3('0x7'));var querystring=require(_0x3aa3('0xe'));var Papa=require(_0x3aa3('0xf'));var Redis=require(_0x3aa3('0x10'));var authService=require(_0x3aa3('0x11'));var qs=require(_0x3aa3('0x12'));var as=require(_0x3aa3('0x13'));var hardwareService=require(_0x3aa3('0x14'));var logger=require(_0x3aa3('0x15'))(_0x3aa3('0x16'));var utils=require('../../config/utils');var config=require(_0x3aa3('0x17'));var licenseUtil=require(_0x3aa3('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x48de22,_0xa09ad8){_0xa09ad8=_0xa09ad8||0xcc;return function(_0xf91f55){if(_0xf91f55){return _0x48de22[_0x3aa3('0x19')](_0xa09ad8);}return _0x48de22[_0x3aa3('0x1a')](_0xa09ad8)[_0x3aa3('0x1b')]();};}function respondWithResult(_0x1b5ba1,_0x3912f9){_0x3912f9=_0x3912f9||0xc8;return function(_0x5ed2a8){if(_0x5ed2a8){return _0x1b5ba1[_0x3aa3('0x1a')](_0x3912f9)['json'](_0x5ed2a8);}};}function respondWithFilteredResult(_0x3799d1,_0x416a68){return function(_0x35a702){if(_0x35a702){var _0x3b9f81=typeof _0x416a68[_0x3aa3('0x1c')]===_0x3aa3('0x1d')&&typeof _0x416a68['limit']===_0x3aa3('0x1d');var _0x2f3ac4=_0x35a702[_0x3aa3('0x1e')];var _0x3c06aa=_0x3b9f81?0x0:_0x416a68[_0x3aa3('0x1c')];var _0x35f7ab=_0x3b9f81?_0x35a702[_0x3aa3('0x1e')]:_0x416a68[_0x3aa3('0x1c')]+_0x416a68[_0x3aa3('0x1f')];var _0x24a666;if(_0x35f7ab>=_0x2f3ac4){_0x35f7ab=_0x2f3ac4;_0x24a666=0xc8;}else{_0x24a666=0xce;}_0x3799d1[_0x3aa3('0x1a')](_0x24a666);return _0x3799d1[_0x3aa3('0x20')]('Content-Range',_0x3c06aa+'-'+_0x35f7ab+'/'+_0x2f3ac4)[_0x3aa3('0x21')](_0x35a702);}return null;};}function patchUpdates(_0xbf9ba5){return function(_0x558c41){try{jsonpatch[_0x3aa3('0x22')](_0x558c41,_0xbf9ba5,!![]);}catch(_0x389258){return BPromise[_0x3aa3('0x23')](_0x389258);}return _0x558c41[_0x3aa3('0x24')]();};}function saveUpdates(_0x17542a,_0x55688b){return function(_0x2f9e47){if(_0x2f9e47){return _0x2f9e47['update'](_0x17542a)[_0x3aa3('0x25')](function(_0x41fcad){return _0x41fcad;});}return null;};}function removeEntity(_0x52ead7,_0x567824){return function(_0x5a6fc3){if(_0x5a6fc3){return _0x5a6fc3[_0x3aa3('0x26')]()[_0x3aa3('0x25')](function(){_0x52ead7[_0x3aa3('0x1a')](0xcc)[_0x3aa3('0x1b')]();});}};}function handleEntityNotFound(_0x5c64a9,_0x4829d7){return function(_0x1e084e){if(!_0x1e084e){_0x5c64a9[_0x3aa3('0x19')](0x194);}return _0x1e084e;};}function handleError(_0x5ea1d9,_0x3f913a){_0x3f913a=_0x3f913a||0x1f4;return function(_0x5e3e9f){logger[_0x3aa3('0x27')](_0x5e3e9f[_0x3aa3('0x28')]);if(_0x5e3e9f[_0x3aa3('0x29')]){delete _0x5e3e9f[_0x3aa3('0x29')];}_0x5ea1d9[_0x3aa3('0x1a')](_0x3f913a)[_0x3aa3('0x2a')](_0x5e3e9f);};}exports[_0x3aa3('0x2b')]=function(_0xba5add,_0x19a8e3){var _0x1a5556={},_0xe1ee89={},_0x30fdc0={'count':0x0,'rows':[]};var _0x5d3086=_[_0x3aa3('0x2c')](db[_0x3aa3('0x2d')]['rawAttributes'],function(_0x3f6af6){return{'name':_0x3f6af6[_0x3aa3('0x2e')],'type':_0x3f6af6['type']['key']};});_0xe1ee89['model']=_[_0x3aa3('0x2f')](_['map'](_0x5d3086,_0x3aa3('0x29')),[_0x3aa3('0x29')]);_0xe1ee89[_0x3aa3('0x30')]=_[_0x3aa3('0x31')](_0xba5add[_0x3aa3('0x30')]);_0xe1ee89[_0x3aa3('0x32')]=_[_0x3aa3('0x33')](_0xe1ee89[_0x3aa3('0x34')],_0xe1ee89[_0x3aa3('0x30')]);_0x1a5556['attributes']=_['intersection'](_0xe1ee89[_0x3aa3('0x34')],qs[_0x3aa3('0x35')](_0xba5add[_0x3aa3('0x30')][_0x3aa3('0x35')]));_0x1a5556['attributes']=_0x1a5556[_0x3aa3('0x36')][_0x3aa3('0x37')]?_0x1a5556['attributes']:_0xe1ee89['model'];if(!_0xba5add[_0x3aa3('0x30')][_0x3aa3('0x38')](_0x3aa3('0x39'))){_0x1a5556[_0x3aa3('0x1f')]=qs[_0x3aa3('0x1f')](_0xba5add[_0x3aa3('0x30')]['limit']);_0x1a5556[_0x3aa3('0x1c')]=qs[_0x3aa3('0x1c')](_0xba5add['query'][_0x3aa3('0x1c')]);}_0x1a5556[_0x3aa3('0x3a')]=qs['sort'](_0xba5add['query'][_0x3aa3('0x3b')]);_0x1a5556[_0x3aa3('0x3c')]=qs[_0x3aa3('0x32')](_[_0x3aa3('0x3d')](_0xba5add[_0x3aa3('0x30')],_0xe1ee89[_0x3aa3('0x32')]),_0x5d3086);if(_0xba5add['query'][_0x3aa3('0x3e')]){_0x1a5556[_0x3aa3('0x3c')]=_[_0x3aa3('0x3f')](_0x1a5556[_0x3aa3('0x3c')],{'$or':_[_0x3aa3('0x2c')](_0x5d3086,function(_0xe5ede){if(_0xe5ede[_0x3aa3('0x40')]!==_0x3aa3('0x41')){var _0x2d293e={};_0x2d293e[_0xe5ede[_0x3aa3('0x29')]]={'$like':'%'+_0xba5add['query'][_0x3aa3('0x3e')]+'%'};return _0x2d293e;}})});}_0x1a5556=_[_0x3aa3('0x3f')]({},_0x1a5556,_0xba5add[_0x3aa3('0x42')]);var _0x935246={'where':_0x1a5556[_0x3aa3('0x3c')]};return db[_0x3aa3('0x2d')][_0x3aa3('0x1e')](_0x935246)[_0x3aa3('0x25')](function(_0x3666ae){_0x30fdc0[_0x3aa3('0x1e')]=_0x3666ae;if(_0xba5add['query'][_0x3aa3('0x43')]){_0x1a5556['include']=[{'all':!![]}];}return db[_0x3aa3('0x2d')][_0x3aa3('0x44')](_0x1a5556);})[_0x3aa3('0x25')](function(_0x436bb2){_0x30fdc0[_0x3aa3('0x45')]=_0x436bb2;return _0x30fdc0;})[_0x3aa3('0x25')](respondWithFilteredResult(_0x19a8e3,_0x1a5556))[_0x3aa3('0x46')](handleError(_0x19a8e3,null));};exports[_0x3aa3('0x47')]=function(_0x1aa89e,_0x48fedc){var _0x466e31={'raw':!![],'where':{'id':_0x1aa89e[_0x3aa3('0x48')]['id']}},_0x4a90e1={};_0x4a90e1[_0x3aa3('0x34')]=_[_0x3aa3('0x31')](db[_0x3aa3('0x2d')][_0x3aa3('0x49')]);_0x4a90e1[_0x3aa3('0x30')]=_['keys'](_0x1aa89e[_0x3aa3('0x30')]);_0x4a90e1['filters']=_[_0x3aa3('0x33')](_0x4a90e1[_0x3aa3('0x34')],_0x4a90e1[_0x3aa3('0x30')]);_0x466e31['attributes']=_['intersection'](_0x4a90e1['model'],qs[_0x3aa3('0x35')](_0x1aa89e['query'][_0x3aa3('0x35')]));_0x466e31[_0x3aa3('0x36')]=_0x466e31['attributes'][_0x3aa3('0x37')]?_0x466e31[_0x3aa3('0x36')]:_0x4a90e1[_0x3aa3('0x34')];if(_0x1aa89e['query'][_0x3aa3('0x43')]){_0x466e31['include']=[{'all':!![]}];}_0x466e31=_['merge']({},_0x466e31,_0x1aa89e['options']);return db['CmCustomField'][_0x3aa3('0x4a')](_0x466e31)[_0x3aa3('0x25')](handleEntityNotFound(_0x48fedc,null))[_0x3aa3('0x25')](respondWithResult(_0x48fedc,null))[_0x3aa3('0x46')](handleError(_0x48fedc,null));};exports['update']=function(_0x90cb7c,_0x1fbd3f){if(_0x90cb7c[_0x3aa3('0x4b')]['id']){delete _0x90cb7c[_0x3aa3('0x4b')]['id'];}return db[_0x3aa3('0x2d')][_0x3aa3('0x4a')]({'where':{'id':_0x90cb7c['params']['id']}})['then'](handleEntityNotFound(_0x1fbd3f,null))['then'](saveUpdates(_0x90cb7c[_0x3aa3('0x4b')],null))[_0x3aa3('0x25')](respondWithResult(_0x1fbd3f,null))[_0x3aa3('0x46')](handleError(_0x1fbd3f,null));};exports[_0x3aa3('0x26')]=function(_0x5b4b00,_0x52f4b3){return db[_0x3aa3('0x2d')][_0x3aa3('0x4a')]({'where':{'id':_0x5b4b00[_0x3aa3('0x48')]['id']}})['then'](handleEntityNotFound(_0x52f4b3,null))['then'](removeEntity(_0x52f4b3,null))['catch'](handleError(_0x52f4b3,null));};exports[_0x3aa3('0x4c')]=function(_0xf9dfd0,_0x2508fb){var _0x1b1ed7;return db[_0x3aa3('0x4d')][_0x3aa3('0x4e')](function(_0x545baf){return db[_0x3aa3('0x2d')][_0x3aa3('0x4c')](_0xf9dfd0['body'],{'transaction':_0x545baf})[_0x3aa3('0x25')](function(_0x86afbf){_0x1b1ed7=_0x86afbf;var _0x3af015={'type':db[_0x3aa3('0x4f')][_0x3aa3('0x50')],'transaction':_0x545baf};switch(_0xf9dfd0['body'][_0x3aa3('0x40')]){case _0x3aa3('0x51'):_0x3af015[_0x3aa3('0x40')]=db[_0x3aa3('0x4f')][_0x3aa3('0x50')];break;case _0x3aa3('0x52'):_0x3af015[_0x3aa3('0x40')]=db[_0x3aa3('0x4f')][_0x3aa3('0x53')];break;case'switch':_0x3af015[_0x3aa3('0x40')]=db[_0x3aa3('0x4f')]['BOOLEAN'];_0x3af015[_0x3aa3('0x54')]=![];break;default:}return db[_0x3aa3('0x4d')][_0x3aa3('0x55')][_0x3aa3('0x56')](_0x3aa3('0x57'),util[_0x3aa3('0x58')]('cf_%d',_0x1b1ed7['id']),_0x3af015);})['then'](function(){return _0x1b1ed7;});})[_0x3aa3('0x25')](respondWithResult(_0x2508fb,0xc9))[_0x3aa3('0x46')](handleError(_0x2508fb,null));};