Built motion from commit (unavailable).|2.4.5
[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 _0x9957=['../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','save','destroy','then','stack','name','send','index','CmCustomField','rawAttributes','differenceBy','query','keys','model','attributes','intersection','fields','length','hasOwnProperty','order','sort','where','filter','map','type','key','field','options','includeAll','include','findAll','rows','catch','show','params','filters','merge','update','body','find','create','sequelize','transaction','Sequelize','TEXT','number','INTEGER','switch','defaultValue','queryInterface','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs'];(function(_0xa477c,_0x1381b2){var _0x2acfe6=function(_0x4785a9){while(--_0x4785a9){_0xa477c['push'](_0xa477c['shift']());}};_0x2acfe6(++_0x1381b2);}(_0x9957,0x93));var _0x7995=function(_0x2dafbe,_0x5d04de){_0x2dafbe=_0x2dafbe-0x0;var _0x58a45a=_0x9957[_0x2dafbe];return _0x58a45a;};'use strict';var pdf=require(_0x7995('0x0'));var emlformat=require(_0x7995('0x1'));var rimraf=require(_0x7995('0x2'));var zipdir=require(_0x7995('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7995('0x4'));var moment=require(_0x7995('0x5'));var BPromise=require(_0x7995('0x6'));var Mustache=require(_0x7995('0x7'));var util=require('util');var path=require(_0x7995('0x8'));var sox=require(_0x7995('0x9'));var csv=require(_0x7995('0xa'));var ejs=require(_0x7995('0xb'));var fs=require('fs');var _=require(_0x7995('0xc'));var squel=require(_0x7995('0xd'));var crypto=require('crypto');var jsforce=require(_0x7995('0xe'));var deskjs=require(_0x7995('0xf'));var toCsv=require('to-csv');var querystring=require(_0x7995('0x10'));var Papa=require(_0x7995('0x11'));var Redis=require(_0x7995('0x12'));var authService=require(_0x7995('0x13'));var qs=require(_0x7995('0x14'));var hardwareService=require(_0x7995('0x15'));var logger=require(_0x7995('0x16'))('api');var utils=require(_0x7995('0x17'));var config=require(_0x7995('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xb0c872,_0x2cb37a){_0x2cb37a=_0x2cb37a||0xcc;return function(_0x19a27e){if(_0x19a27e){return _0xb0c872[_0x7995('0x19')](_0x2cb37a);}return _0xb0c872[_0x7995('0x1a')](_0x2cb37a)[_0x7995('0x1b')]();};}function respondWithResult(_0x2bbe7a,_0x4cc004){_0x4cc004=_0x4cc004||0xc8;return function(_0x58f5ad){if(_0x58f5ad){return _0x2bbe7a[_0x7995('0x1a')](_0x4cc004)[_0x7995('0x1c')](_0x58f5ad);}};}function respondWithFilteredResult(_0x24b5bb,_0x321ae8){return function(_0x3f1d3e){if(_0x3f1d3e){var _0x1a5310=_0x3f1d3e[_0x7995('0x1d')],_0x2202ce=_0x321ae8['offset'],_0x41cbf0=_0x321ae8[_0x7995('0x1e')]+_0x321ae8[_0x7995('0x1f')],_0x5377e5;if(_0x41cbf0>=_0x1a5310){_0x41cbf0=_0x1a5310;_0x5377e5=0xc8;}else{_0x5377e5=0xce;}_0x24b5bb[_0x7995('0x1a')](_0x5377e5);return _0x24b5bb[_0x7995('0x20')](_0x7995('0x21'),_0x2202ce+'-'+_0x41cbf0+'/'+_0x1a5310)[_0x7995('0x1c')](_0x3f1d3e);}return null;};}function patchUpdates(_0x4faa60){return function(_0x54c9ae){try{jsonpatch[_0x7995('0x22')](_0x54c9ae,_0x4faa60,!![]);}catch(_0x5e6f90){return BPromise['reject'](_0x5e6f90);}return _0x54c9ae[_0x7995('0x23')]();};}function saveUpdates(_0x3d463e,_0x4cbe10){return function(_0x3a9b54){if(_0x3a9b54){return _0x3a9b54['update'](_0x3d463e)['then'](function(_0x3e4c54){return _0x3e4c54;});}return null;};}function removeEntity(_0x327b1f,_0x350fd9){return function(_0x1a8568){if(_0x1a8568){return _0x1a8568[_0x7995('0x24')]()[_0x7995('0x25')](function(){_0x327b1f['status'](0xcc)[_0x7995('0x1b')]();});}};}function handleEntityNotFound(_0x46ee4b,_0x204507){return function(_0x285437){if(!_0x285437){_0x46ee4b[_0x7995('0x19')](0x194);}return _0x285437;};}function handleError(_0x13bc35,_0x475351){_0x475351=_0x475351||0x1f4;return function(_0x472195){logger['error'](_0x472195[_0x7995('0x26')]);if(_0x472195[_0x7995('0x27')]){delete _0x472195[_0x7995('0x27')];}_0x13bc35[_0x7995('0x1a')](_0x475351)[_0x7995('0x28')](_0x472195);};}exports[_0x7995('0x29')]=function(_0x56691a,_0x47625f){var _0x5911c3={},_0x229742={},_0x49bc7e={'count':0x0,'rows':[]};var _0xf16cc2=db[_0x7995('0x2a')][_0x7995('0x2b')];_0x229742['model']=_[_0x7995('0x2c')](_['keys'](_0xf16cc2),[_0x7995('0x27')]);_0x229742[_0x7995('0x2d')]=_[_0x7995('0x2e')](_0x56691a['query']);_0x229742['filters']=_['intersection'](_0x229742[_0x7995('0x2f')],_0x229742[_0x7995('0x2d')]);_0x5911c3[_0x7995('0x30')]=_[_0x7995('0x31')](_0x229742[_0x7995('0x2f')],qs[_0x7995('0x32')](_0x56691a['query']['fields']));_0x5911c3[_0x7995('0x30')]=_0x5911c3['attributes'][_0x7995('0x33')]?_0x5911c3[_0x7995('0x30')]:_0x229742[_0x7995('0x2f')];if(!_0x56691a[_0x7995('0x2d')][_0x7995('0x34')]('nolimit')){_0x5911c3[_0x7995('0x1f')]=qs[_0x7995('0x1f')](_0x56691a['query']['limit']);_0x5911c3['offset']=qs[_0x7995('0x1e')](_0x56691a[_0x7995('0x2d')]['offset']);}_0x5911c3[_0x7995('0x35')]=qs['sort'](_0x56691a[_0x7995('0x2d')][_0x7995('0x36')]);_0x5911c3[_0x7995('0x37')]=qs['filters'](_['pick'](_0x56691a[_0x7995('0x2d')],_0x229742['filters']));if(_0x56691a['query'][_0x7995('0x38')]){_0x5911c3[_0x7995('0x37')]=_['merge'](_0x5911c3[_0x7995('0x37')],{'$or':_[_0x7995('0x39')](_0xf16cc2,function(_0x2b772f){if(_0x2b772f[_0x7995('0x3a')][_0x7995('0x3b')]!=='VIRTUAL'){var _0x2d4285={};_0x2d4285[_0x2b772f[_0x7995('0x3c')]]={'$like':'%'+_0x56691a[_0x7995('0x2d')][_0x7995('0x38')]+'%'};return _0x2d4285;}})});}_0x5911c3=_['merge']({},_0x5911c3,_0x56691a[_0x7995('0x3d')]);var _0x235df7={'where':_0x5911c3[_0x7995('0x37')]};return db[_0x7995('0x2a')][_0x7995('0x1d')](_0x235df7)[_0x7995('0x25')](function(_0x5688a1){_0x49bc7e[_0x7995('0x1d')]=_0x5688a1;if(_0x56691a[_0x7995('0x2d')][_0x7995('0x3e')]){_0x5911c3[_0x7995('0x3f')]=[{'all':!![]}];}return db[_0x7995('0x2a')][_0x7995('0x40')](_0x5911c3);})[_0x7995('0x25')](function(_0x270c0e){_0x49bc7e[_0x7995('0x41')]=_0x270c0e;return _0x49bc7e;})[_0x7995('0x25')](respondWithFilteredResult(_0x47625f,_0x5911c3))[_0x7995('0x42')](handleError(_0x47625f,null));};exports[_0x7995('0x43')]=function(_0x7b4e67,_0x53cda2){var _0x50a98e={'raw':!![],'where':{'id':_0x7b4e67[_0x7995('0x44')]['id']}},_0x334dff={};_0x334dff['model']=_['keys'](db[_0x7995('0x2a')]['rawAttributes']);_0x334dff['query']=_[_0x7995('0x2e')](_0x7b4e67[_0x7995('0x2d')]);_0x334dff[_0x7995('0x45')]=_['intersection'](_0x334dff[_0x7995('0x2f')],_0x334dff['query']);_0x50a98e[_0x7995('0x30')]=_['intersection'](_0x334dff['model'],qs[_0x7995('0x32')](_0x7b4e67[_0x7995('0x2d')][_0x7995('0x32')]));_0x50a98e[_0x7995('0x30')]=_0x50a98e['attributes'][_0x7995('0x33')]?_0x50a98e[_0x7995('0x30')]:_0x334dff[_0x7995('0x2f')];if(_0x7b4e67[_0x7995('0x2d')]['includeAll']){_0x50a98e['include']=[{'all':!![]}];}_0x50a98e=_[_0x7995('0x46')]({},_0x50a98e,_0x7b4e67['options']);return db[_0x7995('0x2a')]['find'](_0x50a98e)[_0x7995('0x25')](handleEntityNotFound(_0x53cda2,null))['then'](respondWithResult(_0x53cda2,null))[_0x7995('0x42')](handleError(_0x53cda2,null));};exports[_0x7995('0x47')]=function(_0x4d9245,_0x3e9e62){if(_0x4d9245[_0x7995('0x48')]['id']){delete _0x4d9245[_0x7995('0x48')]['id'];}return db[_0x7995('0x2a')]['find']({'where':{'id':_0x4d9245[_0x7995('0x44')]['id']}})[_0x7995('0x25')](handleEntityNotFound(_0x3e9e62,null))[_0x7995('0x25')](saveUpdates(_0x4d9245['body'],null))[_0x7995('0x25')](respondWithResult(_0x3e9e62,null))[_0x7995('0x42')](handleError(_0x3e9e62,null));};exports[_0x7995('0x24')]=function(_0x3d8ae3,_0x255313){return db['CmCustomField'][_0x7995('0x49')]({'where':{'id':_0x3d8ae3[_0x7995('0x44')]['id']}})['then'](handleEntityNotFound(_0x255313,null))[_0x7995('0x25')](removeEntity(_0x255313,null))['catch'](handleError(_0x255313,null));};exports[_0x7995('0x4a')]=function(_0x187735,_0x1afab4){var _0x30e220;return db[_0x7995('0x4b')][_0x7995('0x4c')](function(_0x1579b9){return db['CmCustomField'][_0x7995('0x4a')](_0x187735[_0x7995('0x48')],{'transaction':_0x1579b9})[_0x7995('0x25')](function(_0x4ffc8a){_0x30e220=_0x4ffc8a;var _0x19da63={'type':db[_0x7995('0x4d')][_0x7995('0x4e')],'transaction':_0x1579b9};switch(_0x187735['body']['type']){case'text':_0x19da63[_0x7995('0x3a')]=db[_0x7995('0x4d')]['TEXT'];break;case _0x7995('0x4f'):_0x19da63[_0x7995('0x3a')]=db[_0x7995('0x4d')][_0x7995('0x50')];break;case _0x7995('0x51'):_0x19da63['type']=db[_0x7995('0x4d')]['BOOLEAN'];_0x19da63[_0x7995('0x52')]=![];break;default:}return db[_0x7995('0x4b')][_0x7995('0x53')]['addColumn']('cm_contacts',util['format']('cf_%d',_0x30e220['id']),_0x19da63);})[_0x7995('0x25')](function(){return _0x30e220;});})[_0x7995('0x25')](respondWithResult(_0x1afab4,0xc9))[_0x7995('0x42')](handleError(_0x1afab4,null));};