Built motion from commit 3c2ce842.|2.6.31
[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 _0xb6ce=['hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','includeAll','include','CmCustomField','findAll','rows','catch','options','body','find','params','create','sequelize','transaction','Sequelize','TEXT','text','number','INTEGER','switch','defaultValue','queryInterface','addColumn','cm_contacts','format','cf_%d','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','status','json','offset','limit','undefined','count','set','Content-Range','apply','reject','update','then','destroy','error','name','send','index','map','rawAttributes','type','key','query','keys','intersection','model','fields','attributes'];(function(_0x232795,_0x299c0b){var _0xe03ba2=function(_0x42b7db){while(--_0x42b7db){_0x232795['push'](_0x232795['shift']());}};_0xe03ba2(++_0x299c0b);}(_0xb6ce,0x130));var _0xeb6c=function(_0x7ac34d,_0x44f85b){_0x7ac34d=_0x7ac34d-0x0;var _0x440b94=_0xb6ce[_0x7ac34d];return _0x440b94;};'use strict';var emlformat=require(_0xeb6c('0x0'));var rimraf=require(_0xeb6c('0x1'));var zipdir=require(_0xeb6c('0x2'));var jsonpatch=require(_0xeb6c('0x3'));var rp=require('request-promise');var moment=require(_0xeb6c('0x4'));var BPromise=require(_0xeb6c('0x5'));var Mustache=require('mustache');var util=require(_0xeb6c('0x6'));var path=require(_0xeb6c('0x7'));var sox=require(_0xeb6c('0x8'));var csv=require(_0xeb6c('0x9'));var ejs=require(_0xeb6c('0xa'));var fs=require('fs');var fs_extra=require(_0xeb6c('0xb'));var _=require(_0xeb6c('0xc'));var squel=require('squel');var crypto=require(_0xeb6c('0xd'));var jsforce=require(_0xeb6c('0xe'));var deskjs=require(_0xeb6c('0xf'));var toCsv=require('to-csv');var querystring=require(_0xeb6c('0x10'));var Papa=require(_0xeb6c('0x11'));var Redis=require(_0xeb6c('0x12'));var authService=require(_0xeb6c('0x13'));var qs=require(_0xeb6c('0x14'));var as=require(_0xeb6c('0x15'));var hardwareService=require(_0xeb6c('0x16'));var logger=require(_0xeb6c('0x17'))('api');var utils=require(_0xeb6c('0x18'));var config=require(_0xeb6c('0x19'));var licenseUtil=require(_0xeb6c('0x1a'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x369ccf,_0x4fc0f7){_0x4fc0f7=_0x4fc0f7||0xcc;return function(_0x77046){if(_0x77046){return _0x369ccf[_0xeb6c('0x1b')](_0x4fc0f7);}return _0x369ccf['status'](_0x4fc0f7)[_0xeb6c('0x1c')]();};}function respondWithResult(_0x573af1,_0xfdd00e){_0xfdd00e=_0xfdd00e||0xc8;return function(_0x441761){if(_0x441761){return _0x573af1[_0xeb6c('0x1d')](_0xfdd00e)[_0xeb6c('0x1e')](_0x441761);}};}function respondWithFilteredResult(_0x4f1270,_0x227b1f){return function(_0xd7a88d){if(_0xd7a88d){var _0x2a44a3=typeof _0x227b1f[_0xeb6c('0x1f')]==='undefined'&&typeof _0x227b1f[_0xeb6c('0x20')]===_0xeb6c('0x21');var _0x2e973c=_0xd7a88d[_0xeb6c('0x22')];var _0x1e1ef8=_0x2a44a3?0x0:_0x227b1f[_0xeb6c('0x1f')];var _0x1f6ea8=_0x2a44a3?_0xd7a88d[_0xeb6c('0x22')]:_0x227b1f[_0xeb6c('0x1f')]+_0x227b1f['limit'];var _0x1d690a;if(_0x1f6ea8>=_0x2e973c){_0x1f6ea8=_0x2e973c;_0x1d690a=0xc8;}else{_0x1d690a=0xce;}_0x4f1270[_0xeb6c('0x1d')](_0x1d690a);return _0x4f1270[_0xeb6c('0x23')](_0xeb6c('0x24'),_0x1e1ef8+'-'+_0x1f6ea8+'/'+_0x2e973c)[_0xeb6c('0x1e')](_0xd7a88d);}return null;};}function patchUpdates(_0x35ee05){return function(_0x56bd0d){try{jsonpatch[_0xeb6c('0x25')](_0x56bd0d,_0x35ee05,!![]);}catch(_0x44140f){return BPromise[_0xeb6c('0x26')](_0x44140f);}return _0x56bd0d['save']();};}function saveUpdates(_0x4bbe08,_0x946b13){return function(_0x29cf4c){if(_0x29cf4c){return _0x29cf4c[_0xeb6c('0x27')](_0x4bbe08)[_0xeb6c('0x28')](function(_0x4572d0){return _0x4572d0;});}return null;};}function removeEntity(_0x294b1d,_0x5db40d){return function(_0xe4e8b0){if(_0xe4e8b0){return _0xe4e8b0[_0xeb6c('0x29')]()[_0xeb6c('0x28')](function(){_0x294b1d[_0xeb6c('0x1d')](0xcc)[_0xeb6c('0x1c')]();});}};}function handleEntityNotFound(_0x775d91,_0x1e7e89){return function(_0x7ba3e){if(!_0x7ba3e){_0x775d91['sendStatus'](0x194);}return _0x7ba3e;};}function handleError(_0xb3b686,_0x27d0e7){_0x27d0e7=_0x27d0e7||0x1f4;return function(_0x5588ca){logger[_0xeb6c('0x2a')](_0x5588ca['stack']);if(_0x5588ca[_0xeb6c('0x2b')]){delete _0x5588ca['name'];}_0xb3b686[_0xeb6c('0x1d')](_0x27d0e7)[_0xeb6c('0x2c')](_0x5588ca);};}exports[_0xeb6c('0x2d')]=function(_0x3946b0,_0x1e4cc5){var _0x289d9c={},_0x3deced={},_0x96cdf7={'count':0x0,'rows':[]};var _0x4ca32f=_[_0xeb6c('0x2e')](db['CmCustomField'][_0xeb6c('0x2f')],function(_0x170922){return{'name':_0x170922['fieldName'],'type':_0x170922[_0xeb6c('0x30')][_0xeb6c('0x31')]};});_0x3deced['model']=_['differenceBy'](_[_0xeb6c('0x2e')](_0x4ca32f,_0xeb6c('0x2b')),['name']);_0x3deced[_0xeb6c('0x32')]=_[_0xeb6c('0x33')](_0x3946b0[_0xeb6c('0x32')]);_0x3deced['filters']=_[_0xeb6c('0x34')](_0x3deced[_0xeb6c('0x35')],_0x3deced[_0xeb6c('0x32')]);_0x289d9c['attributes']=_[_0xeb6c('0x34')](_0x3deced[_0xeb6c('0x35')],qs['fields'](_0x3946b0[_0xeb6c('0x32')][_0xeb6c('0x36')]));_0x289d9c[_0xeb6c('0x37')]=_0x289d9c['attributes']['length']?_0x289d9c[_0xeb6c('0x37')]:_0x3deced[_0xeb6c('0x35')];if(!_0x3946b0['query'][_0xeb6c('0x38')](_0xeb6c('0x39'))){_0x289d9c['limit']=qs[_0xeb6c('0x20')](_0x3946b0[_0xeb6c('0x32')][_0xeb6c('0x20')]);_0x289d9c[_0xeb6c('0x1f')]=qs[_0xeb6c('0x1f')](_0x3946b0['query'][_0xeb6c('0x1f')]);}_0x289d9c[_0xeb6c('0x3a')]=qs[_0xeb6c('0x3b')](_0x3946b0[_0xeb6c('0x32')][_0xeb6c('0x3b')]);_0x289d9c[_0xeb6c('0x3c')]=qs[_0xeb6c('0x3d')](_[_0xeb6c('0x3e')](_0x3946b0[_0xeb6c('0x32')],_0x3deced['filters']),_0x4ca32f);if(_0x3946b0[_0xeb6c('0x32')][_0xeb6c('0x3f')]){_0x289d9c[_0xeb6c('0x3c')]=_[_0xeb6c('0x40')](_0x289d9c[_0xeb6c('0x3c')],{'$or':_[_0xeb6c('0x2e')](_0x4ca32f,function(_0x4f9193){if(_0x4f9193[_0xeb6c('0x30')]!=='VIRTUAL'){var _0x5300a8={};_0x5300a8[_0x4f9193[_0xeb6c('0x2b')]]={'$like':'%'+_0x3946b0[_0xeb6c('0x32')][_0xeb6c('0x3f')]+'%'};return _0x5300a8;}})});}_0x289d9c=_['merge']({},_0x289d9c,_0x3946b0['options']);var _0x1c0c27={'where':_0x289d9c[_0xeb6c('0x3c')]};return db['CmCustomField'][_0xeb6c('0x22')](_0x1c0c27)[_0xeb6c('0x28')](function(_0x536894){_0x96cdf7[_0xeb6c('0x22')]=_0x536894;if(_0x3946b0[_0xeb6c('0x32')][_0xeb6c('0x41')]){_0x289d9c[_0xeb6c('0x42')]=[{'all':!![]}];}return db[_0xeb6c('0x43')][_0xeb6c('0x44')](_0x289d9c);})['then'](function(_0x24f4cd){_0x96cdf7[_0xeb6c('0x45')]=_0x24f4cd;return _0x96cdf7;})[_0xeb6c('0x28')](respondWithFilteredResult(_0x1e4cc5,_0x289d9c))[_0xeb6c('0x46')](handleError(_0x1e4cc5,null));};exports['show']=function(_0xd3009f,_0x4cdfca){var _0xdeaa27={'raw':!![],'where':{'id':_0xd3009f['params']['id']}},_0x4207eb={};_0x4207eb[_0xeb6c('0x35')]=_[_0xeb6c('0x33')](db[_0xeb6c('0x43')][_0xeb6c('0x2f')]);_0x4207eb[_0xeb6c('0x32')]=_[_0xeb6c('0x33')](_0xd3009f[_0xeb6c('0x32')]);_0x4207eb['filters']=_['intersection'](_0x4207eb[_0xeb6c('0x35')],_0x4207eb['query']);_0xdeaa27[_0xeb6c('0x37')]=_[_0xeb6c('0x34')](_0x4207eb[_0xeb6c('0x35')],qs['fields'](_0xd3009f[_0xeb6c('0x32')]['fields']));_0xdeaa27['attributes']=_0xdeaa27[_0xeb6c('0x37')]['length']?_0xdeaa27[_0xeb6c('0x37')]:_0x4207eb['model'];if(_0xd3009f['query'][_0xeb6c('0x41')]){_0xdeaa27['include']=[{'all':!![]}];}_0xdeaa27=_[_0xeb6c('0x40')]({},_0xdeaa27,_0xd3009f[_0xeb6c('0x47')]);return db[_0xeb6c('0x43')]['find'](_0xdeaa27)[_0xeb6c('0x28')](handleEntityNotFound(_0x4cdfca,null))['then'](respondWithResult(_0x4cdfca,null))[_0xeb6c('0x46')](handleError(_0x4cdfca,null));};exports['update']=function(_0x1e268c,_0x114e6c){if(_0x1e268c[_0xeb6c('0x48')]['id']){delete _0x1e268c[_0xeb6c('0x48')]['id'];}return db[_0xeb6c('0x43')][_0xeb6c('0x49')]({'where':{'id':_0x1e268c['params']['id']}})[_0xeb6c('0x28')](handleEntityNotFound(_0x114e6c,null))[_0xeb6c('0x28')](saveUpdates(_0x1e268c['body'],null))['then'](respondWithResult(_0x114e6c,null))[_0xeb6c('0x46')](handleError(_0x114e6c,null));};exports[_0xeb6c('0x29')]=function(_0x2dc5d5,_0x5c783a){return db[_0xeb6c('0x43')][_0xeb6c('0x49')]({'where':{'id':_0x2dc5d5[_0xeb6c('0x4a')]['id']}})['then'](handleEntityNotFound(_0x5c783a,null))['then'](removeEntity(_0x5c783a,null))['catch'](handleError(_0x5c783a,null));};exports[_0xeb6c('0x4b')]=function(_0x4171c8,_0x4aff02){var _0x1a9331;return db[_0xeb6c('0x4c')][_0xeb6c('0x4d')](function(_0x8412c7){return db[_0xeb6c('0x43')]['create'](_0x4171c8[_0xeb6c('0x48')],{'transaction':_0x8412c7})[_0xeb6c('0x28')](function(_0x3440f1){_0x1a9331=_0x3440f1;var _0x6cacee={'type':db[_0xeb6c('0x4e')][_0xeb6c('0x4f')],'transaction':_0x8412c7};switch(_0x4171c8[_0xeb6c('0x48')][_0xeb6c('0x30')]){case _0xeb6c('0x50'):_0x6cacee['type']=db[_0xeb6c('0x4e')][_0xeb6c('0x4f')];break;case _0xeb6c('0x51'):_0x6cacee[_0xeb6c('0x30')]=db[_0xeb6c('0x4e')][_0xeb6c('0x52')];break;case _0xeb6c('0x53'):_0x6cacee[_0xeb6c('0x30')]=db[_0xeb6c('0x4e')]['BOOLEAN'];_0x6cacee[_0xeb6c('0x54')]=![];break;default:}return db[_0xeb6c('0x4c')][_0xeb6c('0x55')][_0xeb6c('0x56')](_0xeb6c('0x57'),util[_0xeb6c('0x58')](_0xeb6c('0x59'),_0x1a9331['id']),_0x6cacee);})['then'](function(){return _0x1a9331;});})['then'](respondWithResult(_0x4aff02,0xc9))['catch'](handleError(_0x4aff02,null));};