Built motion from commit 3e059bc2.|2.5.32
[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 _0x1848=['then','destroy','end','error','stack','send','map','CmCustomField','type','model','differenceBy','name','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','VIRTUAL','merge','options','includeAll','include','rows','catch','body','find','params','create','sequelize','transaction','Sequelize','TEXT','switch','BOOLEAN','defaultValue','cm_contacts','format','cf_%d','rimraf','zip-dir','request-promise','moment','bluebird','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','json','offset','undefined','count','limit','Content-Range','apply','save','update'];(function(_0x4e320d,_0x122cf3){var _0x4031a9=function(_0x1e612b){while(--_0x1e612b){_0x4e320d['push'](_0x4e320d['shift']());}};_0x4031a9(++_0x122cf3);}(_0x1848,0x7d));var _0x8184=function(_0x5a7f18,_0x4b38b7){_0x5a7f18=_0x5a7f18-0x0;var _0x4d722c=_0x1848[_0x5a7f18];return _0x4d722c;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8184('0x0'));var zipdir=require(_0x8184('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x8184('0x2'));var moment=require(_0x8184('0x3'));var BPromise=require(_0x8184('0x4'));var Mustache=require('mustache');var util=require(_0x8184('0x5'));var path=require('path');var sox=require(_0x8184('0x6'));var csv=require(_0x8184('0x7'));var ejs=require(_0x8184('0x8'));var fs=require('fs');var fs_extra=require(_0x8184('0x9'));var _=require(_0x8184('0xa'));var squel=require(_0x8184('0xb'));var crypto=require(_0x8184('0xc'));var jsforce=require(_0x8184('0xd'));var deskjs=require(_0x8184('0xe'));var toCsv=require(_0x8184('0x7'));var querystring=require(_0x8184('0xf'));var Papa=require(_0x8184('0x10'));var Redis=require('ioredis');var authService=require(_0x8184('0x11'));var qs=require(_0x8184('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x8184('0x13'));var logger=require(_0x8184('0x14'))(_0x8184('0x15'));var utils=require(_0x8184('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x8184('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x17c687,_0x5b80cf){_0x5b80cf=_0x5b80cf||0xcc;return function(_0xd642f8){if(_0xd642f8){return _0x17c687[_0x8184('0x18')](_0x5b80cf);}return _0x17c687[_0x8184('0x19')](_0x5b80cf)['end']();};}function respondWithResult(_0x3c9d7a,_0x5597e8){_0x5597e8=_0x5597e8||0xc8;return function(_0x242a8c){if(_0x242a8c){return _0x3c9d7a[_0x8184('0x19')](_0x5597e8)[_0x8184('0x1a')](_0x242a8c);}};}function respondWithFilteredResult(_0xf012d9,_0x3cf0da){return function(_0x1ceedb){if(_0x1ceedb){var _0x39d0e5=typeof _0x3cf0da[_0x8184('0x1b')]===_0x8184('0x1c')&&typeof _0x3cf0da['limit']===_0x8184('0x1c');var _0x11fb4e=_0x1ceedb[_0x8184('0x1d')];var _0x43855f=_0x39d0e5?0x0:_0x3cf0da['offset'];var _0x46acc1=_0x39d0e5?_0x1ceedb[_0x8184('0x1d')]:_0x3cf0da['offset']+_0x3cf0da[_0x8184('0x1e')];var _0x265217;if(_0x46acc1>=_0x11fb4e){_0x46acc1=_0x11fb4e;_0x265217=0xc8;}else{_0x265217=0xce;}_0xf012d9['status'](_0x265217);return _0xf012d9['set'](_0x8184('0x1f'),_0x43855f+'-'+_0x46acc1+'/'+_0x11fb4e)['json'](_0x1ceedb);}return null;};}function patchUpdates(_0x324f81){return function(_0x1ad3e9){try{jsonpatch[_0x8184('0x20')](_0x1ad3e9,_0x324f81,!![]);}catch(_0x5e49ac){return BPromise['reject'](_0x5e49ac);}return _0x1ad3e9[_0x8184('0x21')]();};}function saveUpdates(_0x2a9ac8,_0x380200){return function(_0x3f7624){if(_0x3f7624){return _0x3f7624[_0x8184('0x22')](_0x2a9ac8)[_0x8184('0x23')](function(_0x4c9b05){return _0x4c9b05;});}return null;};}function removeEntity(_0x2abcf6,_0x5eb400){return function(_0x5dbbf6){if(_0x5dbbf6){return _0x5dbbf6[_0x8184('0x24')]()['then'](function(){_0x2abcf6['status'](0xcc)[_0x8184('0x25')]();});}};}function handleEntityNotFound(_0x409ff3,_0xece54e){return function(_0x15ebba){if(!_0x15ebba){_0x409ff3[_0x8184('0x18')](0x194);}return _0x15ebba;};}function handleError(_0x36c3b4,_0x4b266d){_0x4b266d=_0x4b266d||0x1f4;return function(_0x6eee6c){logger[_0x8184('0x26')](_0x6eee6c[_0x8184('0x27')]);if(_0x6eee6c['name']){delete _0x6eee6c['name'];}_0x36c3b4['status'](_0x4b266d)[_0x8184('0x28')](_0x6eee6c);};}exports['index']=function(_0x3c202d,_0x572c1b){var _0x74a409={},_0x2f5f43={},_0x3f1c1a={'count':0x0,'rows':[]};var _0x34fdc3=_[_0x8184('0x29')](db[_0x8184('0x2a')]['rawAttributes'],function(_0x4e41d4){return{'name':_0x4e41d4['fieldName'],'type':_0x4e41d4[_0x8184('0x2b')]['key']};});_0x2f5f43[_0x8184('0x2c')]=_[_0x8184('0x2d')](_[_0x8184('0x29')](_0x34fdc3,_0x8184('0x2e')),[_0x8184('0x2e')]);_0x2f5f43[_0x8184('0x2f')]=_[_0x8184('0x30')](_0x3c202d[_0x8184('0x2f')]);_0x2f5f43[_0x8184('0x31')]=_[_0x8184('0x32')](_0x2f5f43[_0x8184('0x2c')],_0x2f5f43[_0x8184('0x2f')]);_0x74a409[_0x8184('0x33')]=_['intersection'](_0x2f5f43[_0x8184('0x2c')],qs[_0x8184('0x34')](_0x3c202d['query']['fields']));_0x74a409[_0x8184('0x33')]=_0x74a409[_0x8184('0x33')][_0x8184('0x35')]?_0x74a409[_0x8184('0x33')]:_0x2f5f43[_0x8184('0x2c')];if(!_0x3c202d[_0x8184('0x2f')][_0x8184('0x36')]('nolimit')){_0x74a409[_0x8184('0x1e')]=qs['limit'](_0x3c202d[_0x8184('0x2f')]['limit']);_0x74a409[_0x8184('0x1b')]=qs['offset'](_0x3c202d[_0x8184('0x2f')][_0x8184('0x1b')]);}_0x74a409[_0x8184('0x37')]=qs[_0x8184('0x38')](_0x3c202d[_0x8184('0x2f')][_0x8184('0x38')]);_0x74a409[_0x8184('0x39')]=qs['filters'](_[_0x8184('0x3a')](_0x3c202d[_0x8184('0x2f')],_0x2f5f43[_0x8184('0x31')]),_0x34fdc3);if(_0x3c202d[_0x8184('0x2f')]['filter']){_0x74a409['where']=_['merge'](_0x74a409[_0x8184('0x39')],{'$or':_[_0x8184('0x29')](_0x34fdc3,function(_0xce040b){if(_0xce040b[_0x8184('0x2b')]!==_0x8184('0x3b')){var _0x197ba3={};_0x197ba3[_0xce040b[_0x8184('0x2e')]]={'$like':'%'+_0x3c202d[_0x8184('0x2f')]['filter']+'%'};return _0x197ba3;}})});}_0x74a409=_[_0x8184('0x3c')]({},_0x74a409,_0x3c202d[_0x8184('0x3d')]);var _0x19ba5b={'where':_0x74a409[_0x8184('0x39')]};return db[_0x8184('0x2a')]['count'](_0x19ba5b)[_0x8184('0x23')](function(_0x405d2e){_0x3f1c1a[_0x8184('0x1d')]=_0x405d2e;if(_0x3c202d[_0x8184('0x2f')][_0x8184('0x3e')]){_0x74a409[_0x8184('0x3f')]=[{'all':!![]}];}return db[_0x8184('0x2a')]['findAll'](_0x74a409);})['then'](function(_0x26c5b2){_0x3f1c1a[_0x8184('0x40')]=_0x26c5b2;return _0x3f1c1a;})['then'](respondWithFilteredResult(_0x572c1b,_0x74a409))[_0x8184('0x41')](handleError(_0x572c1b,null));};exports['show']=function(_0x91fffc,_0x18fde2){var _0x5012c7={'raw':!![],'where':{'id':_0x91fffc['params']['id']}},_0x39f8f2={};_0x39f8f2[_0x8184('0x2c')]=_[_0x8184('0x30')](db[_0x8184('0x2a')]['rawAttributes']);_0x39f8f2[_0x8184('0x2f')]=_[_0x8184('0x30')](_0x91fffc[_0x8184('0x2f')]);_0x39f8f2[_0x8184('0x31')]=_[_0x8184('0x32')](_0x39f8f2['model'],_0x39f8f2['query']);_0x5012c7['attributes']=_[_0x8184('0x32')](_0x39f8f2[_0x8184('0x2c')],qs[_0x8184('0x34')](_0x91fffc[_0x8184('0x2f')][_0x8184('0x34')]));_0x5012c7[_0x8184('0x33')]=_0x5012c7['attributes'][_0x8184('0x35')]?_0x5012c7[_0x8184('0x33')]:_0x39f8f2[_0x8184('0x2c')];if(_0x91fffc[_0x8184('0x2f')][_0x8184('0x3e')]){_0x5012c7[_0x8184('0x3f')]=[{'all':!![]}];}_0x5012c7=_[_0x8184('0x3c')]({},_0x5012c7,_0x91fffc[_0x8184('0x3d')]);return db['CmCustomField']['find'](_0x5012c7)['then'](handleEntityNotFound(_0x18fde2,null))[_0x8184('0x23')](respondWithResult(_0x18fde2,null))[_0x8184('0x41')](handleError(_0x18fde2,null));};exports[_0x8184('0x22')]=function(_0x3aa674,_0x46ffa2){if(_0x3aa674['body']['id']){delete _0x3aa674[_0x8184('0x42')]['id'];}return db[_0x8184('0x2a')][_0x8184('0x43')]({'where':{'id':_0x3aa674[_0x8184('0x44')]['id']}})[_0x8184('0x23')](handleEntityNotFound(_0x46ffa2,null))[_0x8184('0x23')](saveUpdates(_0x3aa674[_0x8184('0x42')],null))[_0x8184('0x23')](respondWithResult(_0x46ffa2,null))['catch'](handleError(_0x46ffa2,null));};exports[_0x8184('0x24')]=function(_0x66ab4c,_0x1a0159){return db[_0x8184('0x2a')][_0x8184('0x43')]({'where':{'id':_0x66ab4c[_0x8184('0x44')]['id']}})['then'](handleEntityNotFound(_0x1a0159,null))[_0x8184('0x23')](removeEntity(_0x1a0159,null))[_0x8184('0x41')](handleError(_0x1a0159,null));};exports[_0x8184('0x45')]=function(_0x107ece,_0x1487dd){var _0x4aa38d;return db[_0x8184('0x46')][_0x8184('0x47')](function(_0x34ae3b){return db['CmCustomField'][_0x8184('0x45')](_0x107ece[_0x8184('0x42')],{'transaction':_0x34ae3b})[_0x8184('0x23')](function(_0x342e62){_0x4aa38d=_0x342e62;var _0x47f251={'type':db[_0x8184('0x48')][_0x8184('0x49')],'transaction':_0x34ae3b};switch(_0x107ece[_0x8184('0x42')][_0x8184('0x2b')]){case'text':_0x47f251[_0x8184('0x2b')]=db[_0x8184('0x48')][_0x8184('0x49')];break;case'number':_0x47f251['type']=db[_0x8184('0x48')]['INTEGER'];break;case _0x8184('0x4a'):_0x47f251['type']=db[_0x8184('0x48')][_0x8184('0x4b')];_0x47f251[_0x8184('0x4c')]=![];break;default:}return db[_0x8184('0x46')]['queryInterface']['addColumn'](_0x8184('0x4d'),util[_0x8184('0x4e')](_0x8184('0x4f'),_0x4aa38d['id']),_0x47f251);})[_0x8184('0x23')](function(){return _0x4aa38d;});})[_0x8184('0x23')](respondWithResult(_0x1487dd,0xc9))[_0x8184('0x41')](handleError(_0x1487dd,null));};