277c972e4f58d6a88a6c445e5f8694341705476f
[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 _0xa663=['../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','Content-Range','reject','then','destroy','sendStatus','error','stack','name','send','CmCustomField','rawAttributes','fieldName','type','key','model','differenceBy','map','query','keys','attributes','intersection','fields','order','sort','where','filters','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','params','length','find','body','create','sequelize','transaction','Sequelize','TEXT','text','INTEGER','switch','BOOLEAN','queryInterface','addColumn','cm_contacts','cf_%d','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs'];(function(_0x2bd429,_0x57a8e0){var _0x1111a5=function(_0x374628){while(--_0x374628){_0x2bd429['push'](_0x2bd429['shift']());}};_0x1111a5(++_0x57a8e0);}(_0xa663,0x9f));var _0x3a66=function(_0x2c9e61,_0x2d13f5){_0x2c9e61=_0x2c9e61-0x0;var _0x4d55d6=_0xa663[_0x2c9e61];return _0x4d55d6;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x3a66('0x0'));var zipdir=require(_0x3a66('0x1'));var jsonpatch=require(_0x3a66('0x2'));var rp=require(_0x3a66('0x3'));var moment=require(_0x3a66('0x4'));var BPromise=require(_0x3a66('0x5'));var Mustache=require(_0x3a66('0x6'));var util=require('util');var path=require(_0x3a66('0x7'));var sox=require(_0x3a66('0x8'));var csv=require(_0x3a66('0x9'));var ejs=require(_0x3a66('0xa'));var fs=require('fs');var fs_extra=require(_0x3a66('0xb'));var _=require(_0x3a66('0xc'));var squel=require(_0x3a66('0xd'));var crypto=require(_0x3a66('0xe'));var jsforce=require(_0x3a66('0xf'));var deskjs=require(_0x3a66('0x10'));var toCsv=require(_0x3a66('0x9'));var querystring=require(_0x3a66('0x11'));var Papa=require(_0x3a66('0x12'));var Redis=require(_0x3a66('0x13'));var authService=require('../../components/auth/service');var qs=require(_0x3a66('0x14'));var as=require(_0x3a66('0x15'));var hardwareService=require(_0x3a66('0x16'));var logger=require(_0x3a66('0x17'))(_0x3a66('0x18'));var utils=require(_0x3a66('0x19'));var config=require(_0x3a66('0x1a'));var licenseUtil=require(_0x3a66('0x1b'));var db=require(_0x3a66('0x1c'))['db'];function respondWithStatusCode(_0x4247f3,_0x2ca5bc){_0x2ca5bc=_0x2ca5bc||0xcc;return function(_0x5b3040){if(_0x5b3040){return _0x4247f3['sendStatus'](_0x2ca5bc);}return _0x4247f3[_0x3a66('0x1d')](_0x2ca5bc)[_0x3a66('0x1e')]();};}function respondWithResult(_0x885e4,_0x354f51){_0x354f51=_0x354f51||0xc8;return function(_0x82e68){if(_0x82e68){return _0x885e4[_0x3a66('0x1d')](_0x354f51)[_0x3a66('0x1f')](_0x82e68);}};}function respondWithFilteredResult(_0x3dc247,_0x4e0163){return function(_0x211f1e){if(_0x211f1e){var _0x5c6aca=typeof _0x4e0163[_0x3a66('0x20')]===_0x3a66('0x21')&&typeof _0x4e0163[_0x3a66('0x22')]==='undefined';var _0x14670d=_0x211f1e[_0x3a66('0x23')];var _0x218951=_0x5c6aca?0x0:_0x4e0163[_0x3a66('0x20')];var _0x59975e=_0x5c6aca?_0x211f1e['count']:_0x4e0163[_0x3a66('0x20')]+_0x4e0163['limit'];var _0xcedd59;if(_0x59975e>=_0x14670d){_0x59975e=_0x14670d;_0xcedd59=0xc8;}else{_0xcedd59=0xce;}_0x3dc247['status'](_0xcedd59);return _0x3dc247['set'](_0x3a66('0x24'),_0x218951+'-'+_0x59975e+'/'+_0x14670d)[_0x3a66('0x1f')](_0x211f1e);}return null;};}function patchUpdates(_0x2ce760){return function(_0x4c51fb){try{jsonpatch['apply'](_0x4c51fb,_0x2ce760,!![]);}catch(_0x315743){return BPromise[_0x3a66('0x25')](_0x315743);}return _0x4c51fb['save']();};}function saveUpdates(_0x38790e,_0x4a0857){return function(_0x5e27dd){if(_0x5e27dd){return _0x5e27dd['update'](_0x38790e)[_0x3a66('0x26')](function(_0x2d2abe){return _0x2d2abe;});}return null;};}function removeEntity(_0x51ff73,_0x4f08ed){return function(_0x37b6d2){if(_0x37b6d2){return _0x37b6d2[_0x3a66('0x27')]()[_0x3a66('0x26')](function(){_0x51ff73['status'](0xcc)[_0x3a66('0x1e')]();});}};}function handleEntityNotFound(_0x2d6fe7,_0x479008){return function(_0x23909c){if(!_0x23909c){_0x2d6fe7[_0x3a66('0x28')](0x194);}return _0x23909c;};}function handleError(_0x58d451,_0x57bce6){_0x57bce6=_0x57bce6||0x1f4;return function(_0x189c00){logger[_0x3a66('0x29')](_0x189c00[_0x3a66('0x2a')]);if(_0x189c00[_0x3a66('0x2b')]){delete _0x189c00['name'];}_0x58d451[_0x3a66('0x1d')](_0x57bce6)[_0x3a66('0x2c')](_0x189c00);};}exports['index']=function(_0x375174,_0x23b418){var _0x321edf={},_0x4af0d3={},_0x5adfe9={'count':0x0,'rows':[]};var _0x3816b3=_['map'](db[_0x3a66('0x2d')][_0x3a66('0x2e')],function(_0x1be370){return{'name':_0x1be370[_0x3a66('0x2f')],'type':_0x1be370[_0x3a66('0x30')][_0x3a66('0x31')]};});_0x4af0d3[_0x3a66('0x32')]=_[_0x3a66('0x33')](_[_0x3a66('0x34')](_0x3816b3,_0x3a66('0x2b')),[_0x3a66('0x2b')]);_0x4af0d3[_0x3a66('0x35')]=_[_0x3a66('0x36')](_0x375174['query']);_0x4af0d3['filters']=_['intersection'](_0x4af0d3['model'],_0x4af0d3[_0x3a66('0x35')]);_0x321edf[_0x3a66('0x37')]=_[_0x3a66('0x38')](_0x4af0d3[_0x3a66('0x32')],qs[_0x3a66('0x39')](_0x375174[_0x3a66('0x35')][_0x3a66('0x39')]));_0x321edf[_0x3a66('0x37')]=_0x321edf[_0x3a66('0x37')]['length']?_0x321edf['attributes']:_0x4af0d3[_0x3a66('0x32')];if(!_0x375174[_0x3a66('0x35')]['hasOwnProperty']('nolimit')){_0x321edf[_0x3a66('0x22')]=qs[_0x3a66('0x22')](_0x375174[_0x3a66('0x35')][_0x3a66('0x22')]);_0x321edf[_0x3a66('0x20')]=qs[_0x3a66('0x20')](_0x375174[_0x3a66('0x35')][_0x3a66('0x20')]);}_0x321edf[_0x3a66('0x3a')]=qs[_0x3a66('0x3b')](_0x375174['query'][_0x3a66('0x3b')]);_0x321edf[_0x3a66('0x3c')]=qs[_0x3a66('0x3d')](_[_0x3a66('0x3e')](_0x375174[_0x3a66('0x35')],_0x4af0d3[_0x3a66('0x3d')]),_0x3816b3);if(_0x375174[_0x3a66('0x35')][_0x3a66('0x3f')]){_0x321edf[_0x3a66('0x3c')]=_['merge'](_0x321edf[_0x3a66('0x3c')],{'$or':_[_0x3a66('0x34')](_0x3816b3,function(_0x914fea){if(_0x914fea[_0x3a66('0x30')]!==_0x3a66('0x40')){var _0x252630={};_0x252630[_0x914fea[_0x3a66('0x2b')]]={'$like':'%'+_0x375174[_0x3a66('0x35')][_0x3a66('0x3f')]+'%'};return _0x252630;}})});}_0x321edf=_[_0x3a66('0x41')]({},_0x321edf,_0x375174[_0x3a66('0x42')]);var _0x1833b5={'where':_0x321edf[_0x3a66('0x3c')]};return db[_0x3a66('0x2d')]['count'](_0x1833b5)[_0x3a66('0x26')](function(_0x2f420){_0x5adfe9[_0x3a66('0x23')]=_0x2f420;if(_0x375174[_0x3a66('0x35')][_0x3a66('0x43')]){_0x321edf[_0x3a66('0x44')]=[{'all':!![]}];}return db[_0x3a66('0x2d')][_0x3a66('0x45')](_0x321edf);})[_0x3a66('0x26')](function(_0x503bd5){_0x5adfe9[_0x3a66('0x46')]=_0x503bd5;return _0x5adfe9;})[_0x3a66('0x26')](respondWithFilteredResult(_0x23b418,_0x321edf))[_0x3a66('0x47')](handleError(_0x23b418,null));};exports[_0x3a66('0x48')]=function(_0x2045d4,_0x290a98){var _0x2cbe5e={'raw':!![],'where':{'id':_0x2045d4[_0x3a66('0x49')]['id']}},_0x5d87e6={};_0x5d87e6[_0x3a66('0x32')]=_[_0x3a66('0x36')](db[_0x3a66('0x2d')]['rawAttributes']);_0x5d87e6[_0x3a66('0x35')]=_['keys'](_0x2045d4[_0x3a66('0x35')]);_0x5d87e6[_0x3a66('0x3d')]=_[_0x3a66('0x38')](_0x5d87e6[_0x3a66('0x32')],_0x5d87e6[_0x3a66('0x35')]);_0x2cbe5e[_0x3a66('0x37')]=_[_0x3a66('0x38')](_0x5d87e6['model'],qs[_0x3a66('0x39')](_0x2045d4[_0x3a66('0x35')][_0x3a66('0x39')]));_0x2cbe5e[_0x3a66('0x37')]=_0x2cbe5e[_0x3a66('0x37')][_0x3a66('0x4a')]?_0x2cbe5e[_0x3a66('0x37')]:_0x5d87e6['model'];if(_0x2045d4['query'][_0x3a66('0x43')]){_0x2cbe5e['include']=[{'all':!![]}];}_0x2cbe5e=_[_0x3a66('0x41')]({},_0x2cbe5e,_0x2045d4[_0x3a66('0x42')]);return db[_0x3a66('0x2d')][_0x3a66('0x4b')](_0x2cbe5e)[_0x3a66('0x26')](handleEntityNotFound(_0x290a98,null))[_0x3a66('0x26')](respondWithResult(_0x290a98,null))[_0x3a66('0x47')](handleError(_0x290a98,null));};exports['update']=function(_0x38f027,_0x1a1014){if(_0x38f027['body']['id']){delete _0x38f027[_0x3a66('0x4c')]['id'];}return db[_0x3a66('0x2d')][_0x3a66('0x4b')]({'where':{'id':_0x38f027['params']['id']}})[_0x3a66('0x26')](handleEntityNotFound(_0x1a1014,null))[_0x3a66('0x26')](saveUpdates(_0x38f027[_0x3a66('0x4c')],null))[_0x3a66('0x26')](respondWithResult(_0x1a1014,null))[_0x3a66('0x47')](handleError(_0x1a1014,null));};exports[_0x3a66('0x27')]=function(_0x5de476,_0x49c2c3){return db[_0x3a66('0x2d')]['find']({'where':{'id':_0x5de476[_0x3a66('0x49')]['id']}})[_0x3a66('0x26')](handleEntityNotFound(_0x49c2c3,null))[_0x3a66('0x26')](removeEntity(_0x49c2c3,null))[_0x3a66('0x47')](handleError(_0x49c2c3,null));};exports[_0x3a66('0x4d')]=function(_0x164a9b,_0xb23c5c){var _0x733210;return db[_0x3a66('0x4e')][_0x3a66('0x4f')](function(_0x41d163){return db[_0x3a66('0x2d')][_0x3a66('0x4d')](_0x164a9b['body'],{'transaction':_0x41d163})['then'](function(_0x36ab95){_0x733210=_0x36ab95;var _0x2dd501={'type':db[_0x3a66('0x50')][_0x3a66('0x51')],'transaction':_0x41d163};switch(_0x164a9b[_0x3a66('0x4c')][_0x3a66('0x30')]){case _0x3a66('0x52'):_0x2dd501[_0x3a66('0x30')]=db['Sequelize']['TEXT'];break;case'number':_0x2dd501[_0x3a66('0x30')]=db['Sequelize'][_0x3a66('0x53')];break;case _0x3a66('0x54'):_0x2dd501[_0x3a66('0x30')]=db[_0x3a66('0x50')][_0x3a66('0x55')];_0x2dd501['defaultValue']=![];break;default:}return db[_0x3a66('0x4e')][_0x3a66('0x56')][_0x3a66('0x57')](_0x3a66('0x58'),util['format'](_0x3a66('0x59'),_0x733210['id']),_0x2dd501);})[_0x3a66('0x26')](function(){return _0x733210;});})[_0x3a66('0x26')](respondWithResult(_0xb23c5c,0xc9))[_0x3a66('0x47')](handleError(_0xb23c5c,null));};