Built motion from commit d5e4af8c.|2.6.23
[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 _0x69d3=['save','then','error','stack','name','send','map','CmCustomField','type','key','model','differenceBy','query','keys','filters','attributes','intersection','length','hasOwnProperty','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','findAll','show','rawAttributes','fields','find','update','body','params','destroy','catch','create','transaction','Sequelize','text','TEXT','number','INTEGER','BOOLEAN','defaultValue','sequelize','queryInterface','addColumn','cm_contacts','format','cf_%d','eml-format','zip-dir','fast-json-patch','request-promise','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/license/util','end','status','json','offset','undefined','limit','count','Content-Range'];(function(_0x570a69,_0x3c0304){var _0x2912e6=function(_0x1fd55c){while(--_0x1fd55c){_0x570a69['push'](_0x570a69['shift']());}};_0x2912e6(++_0x3c0304);}(_0x69d3,0x12b));var _0x369d=function(_0x1c77c8,_0x5c109c){_0x1c77c8=_0x1c77c8-0x0;var _0x38de8a=_0x69d3[_0x1c77c8];return _0x38de8a;};'use strict';var emlformat=require(_0x369d('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x369d('0x1'));var jsonpatch=require(_0x369d('0x2'));var rp=require(_0x369d('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x369d('0x4'));var util=require('util');var path=require(_0x369d('0x5'));var sox=require(_0x369d('0x6'));var csv=require(_0x369d('0x7'));var ejs=require(_0x369d('0x8'));var fs=require('fs');var fs_extra=require(_0x369d('0x9'));var _=require(_0x369d('0xa'));var squel=require(_0x369d('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x369d('0xc'));var toCsv=require(_0x369d('0x7'));var querystring=require(_0x369d('0xd'));var Papa=require('papaparse');var Redis=require(_0x369d('0xe'));var authService=require(_0x369d('0xf'));var qs=require(_0x369d('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x369d('0x11'));var logger=require(_0x369d('0x12'))(_0x369d('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x369d('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5260ae,_0x5c290a){_0x5c290a=_0x5c290a||0xcc;return function(_0x14c4a1){if(_0x14c4a1){return _0x5260ae['sendStatus'](_0x5c290a);}return _0x5260ae['status'](_0x5c290a)[_0x369d('0x15')]();};}function respondWithResult(_0x591589,_0x44bdcc){_0x44bdcc=_0x44bdcc||0xc8;return function(_0x48d4ea){if(_0x48d4ea){return _0x591589[_0x369d('0x16')](_0x44bdcc)[_0x369d('0x17')](_0x48d4ea);}};}function respondWithFilteredResult(_0xcb835d,_0x1abbfd){return function(_0x6a56c1){if(_0x6a56c1){var _0x4a928f=typeof _0x1abbfd[_0x369d('0x18')]===_0x369d('0x19')&&typeof _0x1abbfd[_0x369d('0x1a')]===_0x369d('0x19');var _0x25c427=_0x6a56c1[_0x369d('0x1b')];var _0x276a7f=_0x4a928f?0x0:_0x1abbfd[_0x369d('0x18')];var _0x1a82c4=_0x4a928f?_0x6a56c1[_0x369d('0x1b')]:_0x1abbfd[_0x369d('0x18')]+_0x1abbfd['limit'];var _0x389ae3;if(_0x1a82c4>=_0x25c427){_0x1a82c4=_0x25c427;_0x389ae3=0xc8;}else{_0x389ae3=0xce;}_0xcb835d[_0x369d('0x16')](_0x389ae3);return _0xcb835d['set'](_0x369d('0x1c'),_0x276a7f+'-'+_0x1a82c4+'/'+_0x25c427)[_0x369d('0x17')](_0x6a56c1);}return null;};}function patchUpdates(_0x19079c){return function(_0x55ec59){try{jsonpatch['apply'](_0x55ec59,_0x19079c,!![]);}catch(_0x4f4f29){return BPromise['reject'](_0x4f4f29);}return _0x55ec59[_0x369d('0x1d')]();};}function saveUpdates(_0x31cbad,_0x910d09){return function(_0x9b10eb){if(_0x9b10eb){return _0x9b10eb['update'](_0x31cbad)[_0x369d('0x1e')](function(_0x35e43d){return _0x35e43d;});}return null;};}function removeEntity(_0x3b783b,_0x4b806b){return function(_0x5832ed){if(_0x5832ed){return _0x5832ed['destroy']()[_0x369d('0x1e')](function(){_0x3b783b[_0x369d('0x16')](0xcc)[_0x369d('0x15')]();});}};}function handleEntityNotFound(_0x37c67e,_0x403850){return function(_0xd06ed0){if(!_0xd06ed0){_0x37c67e['sendStatus'](0x194);}return _0xd06ed0;};}function handleError(_0x36f313,_0xd3a421){_0xd3a421=_0xd3a421||0x1f4;return function(_0xacb18b){logger[_0x369d('0x1f')](_0xacb18b[_0x369d('0x20')]);if(_0xacb18b[_0x369d('0x21')]){delete _0xacb18b[_0x369d('0x21')];}_0x36f313[_0x369d('0x16')](_0xd3a421)[_0x369d('0x22')](_0xacb18b);};}exports['index']=function(_0x5c27fd,_0x26de15){var _0x3ecf13={},_0x1a82cf={},_0x58c16f={'count':0x0,'rows':[]};var _0x12a847=_[_0x369d('0x23')](db[_0x369d('0x24')]['rawAttributes'],function(_0x3f3c29){return{'name':_0x3f3c29['fieldName'],'type':_0x3f3c29[_0x369d('0x25')][_0x369d('0x26')]};});_0x1a82cf[_0x369d('0x27')]=_[_0x369d('0x28')](_['map'](_0x12a847,'name'),['name']);_0x1a82cf[_0x369d('0x29')]=_[_0x369d('0x2a')](_0x5c27fd[_0x369d('0x29')]);_0x1a82cf[_0x369d('0x2b')]=_['intersection'](_0x1a82cf[_0x369d('0x27')],_0x1a82cf[_0x369d('0x29')]);_0x3ecf13[_0x369d('0x2c')]=_[_0x369d('0x2d')](_0x1a82cf[_0x369d('0x27')],qs['fields'](_0x5c27fd[_0x369d('0x29')]['fields']));_0x3ecf13[_0x369d('0x2c')]=_0x3ecf13[_0x369d('0x2c')][_0x369d('0x2e')]?_0x3ecf13['attributes']:_0x1a82cf['model'];if(!_0x5c27fd[_0x369d('0x29')][_0x369d('0x2f')]('nolimit')){_0x3ecf13[_0x369d('0x1a')]=qs[_0x369d('0x1a')](_0x5c27fd[_0x369d('0x29')]['limit']);_0x3ecf13[_0x369d('0x18')]=qs['offset'](_0x5c27fd[_0x369d('0x29')][_0x369d('0x18')]);}_0x3ecf13[_0x369d('0x30')]=qs[_0x369d('0x31')](_0x5c27fd['query'][_0x369d('0x31')]);_0x3ecf13['where']=qs[_0x369d('0x2b')](_[_0x369d('0x32')](_0x5c27fd[_0x369d('0x29')],_0x1a82cf[_0x369d('0x2b')]),_0x12a847);if(_0x5c27fd[_0x369d('0x29')][_0x369d('0x33')]){_0x3ecf13[_0x369d('0x34')]=_[_0x369d('0x35')](_0x3ecf13[_0x369d('0x34')],{'$or':_[_0x369d('0x23')](_0x12a847,function(_0x5dd32c){if(_0x5dd32c[_0x369d('0x25')]!==_0x369d('0x36')){var _0x1832d3={};_0x1832d3[_0x5dd32c['name']]={'$like':'%'+_0x5c27fd['query']['filter']+'%'};return _0x1832d3;}})});}_0x3ecf13=_[_0x369d('0x35')]({},_0x3ecf13,_0x5c27fd[_0x369d('0x37')]);var _0x25c8c8={'where':_0x3ecf13[_0x369d('0x34')]};return db[_0x369d('0x24')][_0x369d('0x1b')](_0x25c8c8)['then'](function(_0x54eb98){_0x58c16f[_0x369d('0x1b')]=_0x54eb98;if(_0x5c27fd[_0x369d('0x29')][_0x369d('0x38')]){_0x3ecf13['include']=[{'all':!![]}];}return db[_0x369d('0x24')][_0x369d('0x39')](_0x3ecf13);})['then'](function(_0x2d9d97){_0x58c16f['rows']=_0x2d9d97;return _0x58c16f;})['then'](respondWithFilteredResult(_0x26de15,_0x3ecf13))['catch'](handleError(_0x26de15,null));};exports[_0x369d('0x3a')]=function(_0x20527b,_0x49ba66){var _0x133157={'raw':!![],'where':{'id':_0x20527b['params']['id']}},_0x4f9d0c={};_0x4f9d0c['model']=_['keys'](db['CmCustomField'][_0x369d('0x3b')]);_0x4f9d0c['query']=_[_0x369d('0x2a')](_0x20527b[_0x369d('0x29')]);_0x4f9d0c['filters']=_[_0x369d('0x2d')](_0x4f9d0c[_0x369d('0x27')],_0x4f9d0c[_0x369d('0x29')]);_0x133157[_0x369d('0x2c')]=_[_0x369d('0x2d')](_0x4f9d0c['model'],qs[_0x369d('0x3c')](_0x20527b[_0x369d('0x29')][_0x369d('0x3c')]));_0x133157[_0x369d('0x2c')]=_0x133157[_0x369d('0x2c')][_0x369d('0x2e')]?_0x133157[_0x369d('0x2c')]:_0x4f9d0c[_0x369d('0x27')];if(_0x20527b[_0x369d('0x29')][_0x369d('0x38')]){_0x133157['include']=[{'all':!![]}];}_0x133157=_['merge']({},_0x133157,_0x20527b['options']);return db[_0x369d('0x24')][_0x369d('0x3d')](_0x133157)[_0x369d('0x1e')](handleEntityNotFound(_0x49ba66,null))['then'](respondWithResult(_0x49ba66,null))['catch'](handleError(_0x49ba66,null));};exports[_0x369d('0x3e')]=function(_0x536dab,_0x5e7e2f){if(_0x536dab['body']['id']){delete _0x536dab[_0x369d('0x3f')]['id'];}return db[_0x369d('0x24')][_0x369d('0x3d')]({'where':{'id':_0x536dab[_0x369d('0x40')]['id']}})['then'](handleEntityNotFound(_0x5e7e2f,null))[_0x369d('0x1e')](saveUpdates(_0x536dab[_0x369d('0x3f')],null))[_0x369d('0x1e')](respondWithResult(_0x5e7e2f,null))['catch'](handleError(_0x5e7e2f,null));};exports[_0x369d('0x41')]=function(_0x47a3fd,_0x26cca5){return db[_0x369d('0x24')][_0x369d('0x3d')]({'where':{'id':_0x47a3fd[_0x369d('0x40')]['id']}})['then'](handleEntityNotFound(_0x26cca5,null))[_0x369d('0x1e')](removeEntity(_0x26cca5,null))[_0x369d('0x42')](handleError(_0x26cca5,null));};exports[_0x369d('0x43')]=function(_0x2a45a8,_0x3a0e4e){var _0x3029ed;return db['sequelize'][_0x369d('0x44')](function(_0x11751f){return db[_0x369d('0x24')]['create'](_0x2a45a8[_0x369d('0x3f')],{'transaction':_0x11751f})[_0x369d('0x1e')](function(_0x1a093a){_0x3029ed=_0x1a093a;var _0x5c131c={'type':db[_0x369d('0x45')]['TEXT'],'transaction':_0x11751f};switch(_0x2a45a8[_0x369d('0x3f')][_0x369d('0x25')]){case _0x369d('0x46'):_0x5c131c[_0x369d('0x25')]=db[_0x369d('0x45')][_0x369d('0x47')];break;case _0x369d('0x48'):_0x5c131c[_0x369d('0x25')]=db[_0x369d('0x45')][_0x369d('0x49')];break;case'switch':_0x5c131c[_0x369d('0x25')]=db[_0x369d('0x45')][_0x369d('0x4a')];_0x5c131c[_0x369d('0x4b')]=![];break;default:}return db[_0x369d('0x4c')][_0x369d('0x4d')][_0x369d('0x4e')](_0x369d('0x4f'),util[_0x369d('0x50')](_0x369d('0x51'),_0x3029ed['id']),_0x5c131c);})[_0x369d('0x1e')](function(){return _0x3029ed;});})[_0x369d('0x1e')](respondWithResult(_0x3a0e4e,0xc9))[_0x369d('0x42')](handleError(_0x3a0e4e,null));};