Built motion from commit b5996064.|2.6.21
[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 _0xd487=['desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','sendStatus','end','json','offset','undefined','limit','count','status','Content-Range','reject','save','update','then','destroy','error','stack','name','send','CmCustomField','fieldName','type','key','map','query','keys','filters','intersection','model','attributes','fields','length','order','sort','where','pick','filter','merge','options','includeAll','findAll','rows','catch','show','params','rawAttributes','include','find','body','create','sequelize','transaction','Sequelize','TEXT','text','INTEGER','BOOLEAN','queryInterface','addColumn','cm_contacts','format','cf_%d','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','sox','to-csv','fs-extra','lodash','jsforce'];(function(_0x27a5bb,_0x3f4cfb){var _0x2e17ea=function(_0x22912d){while(--_0x22912d){_0x27a5bb['push'](_0x27a5bb['shift']());}};_0x2e17ea(++_0x3f4cfb);}(_0xd487,0xec));var _0x7d48=function(_0x7b5cdd,_0x8c88d8){_0x7b5cdd=_0x7b5cdd-0x0;var _0x3a29ae=_0xd487[_0x7b5cdd];return _0x3a29ae;};'use strict';var emlformat=require(_0x7d48('0x0'));var rimraf=require(_0x7d48('0x1'));var zipdir=require(_0x7d48('0x2'));var jsonpatch=require(_0x7d48('0x3'));var rp=require('request-promise');var moment=require(_0x7d48('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x7d48('0x5'));var util=require(_0x7d48('0x6'));var path=require(_0x7d48('0x7'));var sox=require(_0x7d48('0x8'));var csv=require(_0x7d48('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x7d48('0xa'));var _=require(_0x7d48('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x7d48('0xc'));var deskjs=require(_0x7d48('0xd'));var toCsv=require(_0x7d48('0x9'));var querystring=require(_0x7d48('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x7d48('0xf'));var qs=require(_0x7d48('0x10'));var as=require(_0x7d48('0x11'));var hardwareService=require(_0x7d48('0x12'));var logger=require(_0x7d48('0x13'))('api');var utils=require(_0x7d48('0x14'));var config=require(_0x7d48('0x15'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x58103b,_0x4e46e6){_0x4e46e6=_0x4e46e6||0xcc;return function(_0x280a1a){if(_0x280a1a){return _0x58103b[_0x7d48('0x16')](_0x4e46e6);}return _0x58103b['status'](_0x4e46e6)[_0x7d48('0x17')]();};}function respondWithResult(_0x3ac1a2,_0x2b259e){_0x2b259e=_0x2b259e||0xc8;return function(_0x56b365){if(_0x56b365){return _0x3ac1a2['status'](_0x2b259e)[_0x7d48('0x18')](_0x56b365);}};}function respondWithFilteredResult(_0xc47e1,_0x50d178){return function(_0x2b538f){if(_0x2b538f){var _0x33e7e1=typeof _0x50d178[_0x7d48('0x19')]===_0x7d48('0x1a')&&typeof _0x50d178[_0x7d48('0x1b')]===_0x7d48('0x1a');var _0x5bf2a9=_0x2b538f[_0x7d48('0x1c')];var _0x5cff98=_0x33e7e1?0x0:_0x50d178[_0x7d48('0x19')];var _0x32a5ba=_0x33e7e1?_0x2b538f[_0x7d48('0x1c')]:_0x50d178[_0x7d48('0x19')]+_0x50d178[_0x7d48('0x1b')];var _0x582878;if(_0x32a5ba>=_0x5bf2a9){_0x32a5ba=_0x5bf2a9;_0x582878=0xc8;}else{_0x582878=0xce;}_0xc47e1[_0x7d48('0x1d')](_0x582878);return _0xc47e1['set'](_0x7d48('0x1e'),_0x5cff98+'-'+_0x32a5ba+'/'+_0x5bf2a9)['json'](_0x2b538f);}return null;};}function patchUpdates(_0x2f89a8){return function(_0x564254){try{jsonpatch['apply'](_0x564254,_0x2f89a8,!![]);}catch(_0x3fa48a){return BPromise[_0x7d48('0x1f')](_0x3fa48a);}return _0x564254[_0x7d48('0x20')]();};}function saveUpdates(_0x32914f,_0x37b88b){return function(_0x28c7b2){if(_0x28c7b2){return _0x28c7b2[_0x7d48('0x21')](_0x32914f)[_0x7d48('0x22')](function(_0x54d556){return _0x54d556;});}return null;};}function removeEntity(_0x10dcd7,_0x35c83d){return function(_0x1b0b07){if(_0x1b0b07){return _0x1b0b07[_0x7d48('0x23')]()['then'](function(){_0x10dcd7[_0x7d48('0x1d')](0xcc)[_0x7d48('0x17')]();});}};}function handleEntityNotFound(_0x5ec191,_0x26510e){return function(_0x555f25){if(!_0x555f25){_0x5ec191[_0x7d48('0x16')](0x194);}return _0x555f25;};}function handleError(_0xe8d948,_0x5ec462){_0x5ec462=_0x5ec462||0x1f4;return function(_0x231941){logger[_0x7d48('0x24')](_0x231941[_0x7d48('0x25')]);if(_0x231941['name']){delete _0x231941[_0x7d48('0x26')];}_0xe8d948[_0x7d48('0x1d')](_0x5ec462)[_0x7d48('0x27')](_0x231941);};}exports['index']=function(_0x411717,_0x465293){var _0x352253={},_0x2c77fe={},_0x1b926f={'count':0x0,'rows':[]};var _0x2d2836=_['map'](db[_0x7d48('0x28')]['rawAttributes'],function(_0x5ccec6){return{'name':_0x5ccec6[_0x7d48('0x29')],'type':_0x5ccec6[_0x7d48('0x2a')][_0x7d48('0x2b')]};});_0x2c77fe['model']=_['differenceBy'](_[_0x7d48('0x2c')](_0x2d2836,_0x7d48('0x26')),[_0x7d48('0x26')]);_0x2c77fe[_0x7d48('0x2d')]=_[_0x7d48('0x2e')](_0x411717[_0x7d48('0x2d')]);_0x2c77fe[_0x7d48('0x2f')]=_[_0x7d48('0x30')](_0x2c77fe[_0x7d48('0x31')],_0x2c77fe['query']);_0x352253[_0x7d48('0x32')]=_[_0x7d48('0x30')](_0x2c77fe['model'],qs[_0x7d48('0x33')](_0x411717[_0x7d48('0x2d')][_0x7d48('0x33')]));_0x352253[_0x7d48('0x32')]=_0x352253['attributes'][_0x7d48('0x34')]?_0x352253[_0x7d48('0x32')]:_0x2c77fe[_0x7d48('0x31')];if(!_0x411717[_0x7d48('0x2d')]['hasOwnProperty']('nolimit')){_0x352253[_0x7d48('0x1b')]=qs[_0x7d48('0x1b')](_0x411717[_0x7d48('0x2d')][_0x7d48('0x1b')]);_0x352253['offset']=qs[_0x7d48('0x19')](_0x411717[_0x7d48('0x2d')][_0x7d48('0x19')]);}_0x352253[_0x7d48('0x35')]=qs[_0x7d48('0x36')](_0x411717[_0x7d48('0x2d')]['sort']);_0x352253[_0x7d48('0x37')]=qs['filters'](_[_0x7d48('0x38')](_0x411717[_0x7d48('0x2d')],_0x2c77fe[_0x7d48('0x2f')]),_0x2d2836);if(_0x411717['query'][_0x7d48('0x39')]){_0x352253[_0x7d48('0x37')]=_[_0x7d48('0x3a')](_0x352253[_0x7d48('0x37')],{'$or':_[_0x7d48('0x2c')](_0x2d2836,function(_0x4c6a48){if(_0x4c6a48['type']!=='VIRTUAL'){var _0x4bd17e={};_0x4bd17e[_0x4c6a48[_0x7d48('0x26')]]={'$like':'%'+_0x411717[_0x7d48('0x2d')][_0x7d48('0x39')]+'%'};return _0x4bd17e;}})});}_0x352253=_[_0x7d48('0x3a')]({},_0x352253,_0x411717[_0x7d48('0x3b')]);var _0x1bdeb6={'where':_0x352253[_0x7d48('0x37')]};return db[_0x7d48('0x28')][_0x7d48('0x1c')](_0x1bdeb6)[_0x7d48('0x22')](function(_0x2dee44){_0x1b926f['count']=_0x2dee44;if(_0x411717['query'][_0x7d48('0x3c')]){_0x352253['include']=[{'all':!![]}];}return db[_0x7d48('0x28')][_0x7d48('0x3d')](_0x352253);})['then'](function(_0x2fcf53){_0x1b926f[_0x7d48('0x3e')]=_0x2fcf53;return _0x1b926f;})[_0x7d48('0x22')](respondWithFilteredResult(_0x465293,_0x352253))[_0x7d48('0x3f')](handleError(_0x465293,null));};exports[_0x7d48('0x40')]=function(_0x40b140,_0x1ba106){var _0x145e30={'raw':!![],'where':{'id':_0x40b140[_0x7d48('0x41')]['id']}},_0x229679={};_0x229679[_0x7d48('0x31')]=_['keys'](db[_0x7d48('0x28')][_0x7d48('0x42')]);_0x229679[_0x7d48('0x2d')]=_[_0x7d48('0x2e')](_0x40b140[_0x7d48('0x2d')]);_0x229679[_0x7d48('0x2f')]=_[_0x7d48('0x30')](_0x229679['model'],_0x229679[_0x7d48('0x2d')]);_0x145e30[_0x7d48('0x32')]=_[_0x7d48('0x30')](_0x229679[_0x7d48('0x31')],qs[_0x7d48('0x33')](_0x40b140['query']['fields']));_0x145e30[_0x7d48('0x32')]=_0x145e30[_0x7d48('0x32')][_0x7d48('0x34')]?_0x145e30[_0x7d48('0x32')]:_0x229679[_0x7d48('0x31')];if(_0x40b140['query']['includeAll']){_0x145e30[_0x7d48('0x43')]=[{'all':!![]}];}_0x145e30=_[_0x7d48('0x3a')]({},_0x145e30,_0x40b140[_0x7d48('0x3b')]);return db[_0x7d48('0x28')][_0x7d48('0x44')](_0x145e30)[_0x7d48('0x22')](handleEntityNotFound(_0x1ba106,null))['then'](respondWithResult(_0x1ba106,null))[_0x7d48('0x3f')](handleError(_0x1ba106,null));};exports[_0x7d48('0x21')]=function(_0x46c02e,_0x40588a){if(_0x46c02e['body']['id']){delete _0x46c02e[_0x7d48('0x45')]['id'];}return db[_0x7d48('0x28')][_0x7d48('0x44')]({'where':{'id':_0x46c02e[_0x7d48('0x41')]['id']}})[_0x7d48('0x22')](handleEntityNotFound(_0x40588a,null))[_0x7d48('0x22')](saveUpdates(_0x46c02e[_0x7d48('0x45')],null))[_0x7d48('0x22')](respondWithResult(_0x40588a,null))[_0x7d48('0x3f')](handleError(_0x40588a,null));};exports[_0x7d48('0x23')]=function(_0x7ff734,_0x22bd4e){return db[_0x7d48('0x28')][_0x7d48('0x44')]({'where':{'id':_0x7ff734[_0x7d48('0x41')]['id']}})[_0x7d48('0x22')](handleEntityNotFound(_0x22bd4e,null))[_0x7d48('0x22')](removeEntity(_0x22bd4e,null))[_0x7d48('0x3f')](handleError(_0x22bd4e,null));};exports[_0x7d48('0x46')]=function(_0x38570a,_0x56be1a){var _0x1b5699;return db[_0x7d48('0x47')][_0x7d48('0x48')](function(_0xeeb80c){return db[_0x7d48('0x28')][_0x7d48('0x46')](_0x38570a[_0x7d48('0x45')],{'transaction':_0xeeb80c})['then'](function(_0x4e89ec){_0x1b5699=_0x4e89ec;var _0x4f418c={'type':db[_0x7d48('0x49')][_0x7d48('0x4a')],'transaction':_0xeeb80c};switch(_0x38570a[_0x7d48('0x45')][_0x7d48('0x2a')]){case _0x7d48('0x4b'):_0x4f418c[_0x7d48('0x2a')]=db[_0x7d48('0x49')][_0x7d48('0x4a')];break;case'number':_0x4f418c[_0x7d48('0x2a')]=db[_0x7d48('0x49')][_0x7d48('0x4c')];break;case'switch':_0x4f418c[_0x7d48('0x2a')]=db[_0x7d48('0x49')][_0x7d48('0x4d')];_0x4f418c['defaultValue']=![];break;default:}return db[_0x7d48('0x47')][_0x7d48('0x4e')][_0x7d48('0x4f')](_0x7d48('0x50'),util[_0x7d48('0x51')](_0x7d48('0x52'),_0x1b5699['id']),_0x4f418c);})[_0x7d48('0x22')](function(){return _0x1b5699;});})[_0x7d48('0x22')](respondWithResult(_0x56be1a,0xc9))[_0x7d48('0x3f')](handleError(_0x56be1a,null));};