Built motion from commit e6806ed6.|2.6.0
[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 _0x50c0=['filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','pick','filter','merge','where','VIRTUAL','options','CmCustomField','includeAll','findAll','rows','catch','show','params','length','find','body','create','transaction','Sequelize','number','INTEGER','BOOLEAN','defaultValue','sequelize','queryInterface','addColumn','cm_contacts','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','sox','ejs','fs-extra','lodash','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','count','limit','set','Content-Range','reject','save','update','then','destroy','stack','name','index','map','rawAttributes','type','key','model','differenceBy','keys','query'];(function(_0x219935,_0x5b7d02){var _0x130409=function(_0x56409e){while(--_0x56409e){_0x219935['push'](_0x219935['shift']());}};_0x130409(++_0x5b7d02);}(_0x50c0,0x11c));var _0x050c=function(_0x1ba2e5,_0xbcc3fb){_0x1ba2e5=_0x1ba2e5-0x0;var _0x2b8957=_0x50c0[_0x1ba2e5];return _0x2b8957;};'use strict';var emlformat=require(_0x050c('0x0'));var rimraf=require(_0x050c('0x1'));var zipdir=require(_0x050c('0x2'));var jsonpatch=require(_0x050c('0x3'));var rp=require(_0x050c('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x050c('0x5'));var util=require('util');var path=require('path');var sox=require(_0x050c('0x6'));var csv=require('to-csv');var ejs=require(_0x050c('0x7'));var fs=require('fs');var fs_extra=require(_0x050c('0x8'));var _=require(_0x050c('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x050c('0xa'));var deskjs=require('desk.js');var toCsv=require(_0x050c('0xb'));var querystring=require(_0x050c('0xc'));var Papa=require(_0x050c('0xd'));var Redis=require(_0x050c('0xe'));var authService=require(_0x050c('0xf'));var qs=require(_0x050c('0x10'));var as=require(_0x050c('0x11'));var hardwareService=require(_0x050c('0x12'));var logger=require(_0x050c('0x13'))('api');var utils=require(_0x050c('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x050c('0x15'));var db=require(_0x050c('0x16'))['db'];function respondWithStatusCode(_0x2154e2,_0xadd0e8){_0xadd0e8=_0xadd0e8||0xcc;return function(_0x54ac7c){if(_0x54ac7c){return _0x2154e2[_0x050c('0x17')](_0xadd0e8);}return _0x2154e2['status'](_0xadd0e8)['end']();};}function respondWithResult(_0x502dd7,_0x1180bb){_0x1180bb=_0x1180bb||0xc8;return function(_0x29c97e){if(_0x29c97e){return _0x502dd7[_0x050c('0x18')](_0x1180bb)[_0x050c('0x19')](_0x29c97e);}};}function respondWithFilteredResult(_0x15c20c,_0x5a0f21){return function(_0x52eee3){if(_0x52eee3){var _0x1f775d=typeof _0x5a0f21[_0x050c('0x1a')]===_0x050c('0x1b')&&typeof _0x5a0f21['limit']===_0x050c('0x1b');var _0xf29781=_0x52eee3['count'];var _0x3039a8=_0x1f775d?0x0:_0x5a0f21[_0x050c('0x1a')];var _0x174e7e=_0x1f775d?_0x52eee3[_0x050c('0x1c')]:_0x5a0f21[_0x050c('0x1a')]+_0x5a0f21[_0x050c('0x1d')];var _0x81d33e;if(_0x174e7e>=_0xf29781){_0x174e7e=_0xf29781;_0x81d33e=0xc8;}else{_0x81d33e=0xce;}_0x15c20c['status'](_0x81d33e);return _0x15c20c[_0x050c('0x1e')](_0x050c('0x1f'),_0x3039a8+'-'+_0x174e7e+'/'+_0xf29781)[_0x050c('0x19')](_0x52eee3);}return null;};}function patchUpdates(_0xb3cb39){return function(_0x5a978e){try{jsonpatch['apply'](_0x5a978e,_0xb3cb39,!![]);}catch(_0x23104e){return BPromise[_0x050c('0x20')](_0x23104e);}return _0x5a978e[_0x050c('0x21')]();};}function saveUpdates(_0x31b29c,_0x571f32){return function(_0xd05d71){if(_0xd05d71){return _0xd05d71[_0x050c('0x22')](_0x31b29c)[_0x050c('0x23')](function(_0x4a339b){return _0x4a339b;});}return null;};}function removeEntity(_0x4ddbd4,_0x3687f3){return function(_0x5bf5f6){if(_0x5bf5f6){return _0x5bf5f6[_0x050c('0x24')]()[_0x050c('0x23')](function(){_0x4ddbd4['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0xddac93,_0x3c47dc){return function(_0x126719){if(!_0x126719){_0xddac93[_0x050c('0x17')](0x194);}return _0x126719;};}function handleError(_0x759f87,_0x4f9003){_0x4f9003=_0x4f9003||0x1f4;return function(_0x220f86){logger['error'](_0x220f86[_0x050c('0x25')]);if(_0x220f86[_0x050c('0x26')]){delete _0x220f86[_0x050c('0x26')];}_0x759f87[_0x050c('0x18')](_0x4f9003)['send'](_0x220f86);};}exports[_0x050c('0x27')]=function(_0x39719c,_0x2df277){var _0x3518a6={},_0x5ae832={},_0x49fa19={'count':0x0,'rows':[]};var _0x46b217=_[_0x050c('0x28')](db['CmCustomField'][_0x050c('0x29')],function(_0x2c196f){return{'name':_0x2c196f['fieldName'],'type':_0x2c196f[_0x050c('0x2a')][_0x050c('0x2b')]};});_0x5ae832[_0x050c('0x2c')]=_[_0x050c('0x2d')](_[_0x050c('0x28')](_0x46b217,_0x050c('0x26')),['name']);_0x5ae832['query']=_[_0x050c('0x2e')](_0x39719c[_0x050c('0x2f')]);_0x5ae832[_0x050c('0x30')]=_[_0x050c('0x31')](_0x5ae832['model'],_0x5ae832['query']);_0x3518a6[_0x050c('0x32')]=_[_0x050c('0x31')](_0x5ae832[_0x050c('0x2c')],qs[_0x050c('0x33')](_0x39719c[_0x050c('0x2f')][_0x050c('0x33')]));_0x3518a6[_0x050c('0x32')]=_0x3518a6[_0x050c('0x32')]['length']?_0x3518a6[_0x050c('0x32')]:_0x5ae832[_0x050c('0x2c')];if(!_0x39719c[_0x050c('0x2f')][_0x050c('0x34')](_0x050c('0x35'))){_0x3518a6[_0x050c('0x1d')]=qs[_0x050c('0x1d')](_0x39719c[_0x050c('0x2f')][_0x050c('0x1d')]);_0x3518a6['offset']=qs[_0x050c('0x1a')](_0x39719c[_0x050c('0x2f')][_0x050c('0x1a')]);}_0x3518a6[_0x050c('0x36')]=qs[_0x050c('0x37')](_0x39719c[_0x050c('0x2f')][_0x050c('0x37')]);_0x3518a6['where']=qs['filters'](_[_0x050c('0x38')](_0x39719c[_0x050c('0x2f')],_0x5ae832['filters']),_0x46b217);if(_0x39719c['query'][_0x050c('0x39')]){_0x3518a6['where']=_[_0x050c('0x3a')](_0x3518a6[_0x050c('0x3b')],{'$or':_['map'](_0x46b217,function(_0xbbf4d8){if(_0xbbf4d8['type']!==_0x050c('0x3c')){var _0x28d562={};_0x28d562[_0xbbf4d8[_0x050c('0x26')]]={'$like':'%'+_0x39719c[_0x050c('0x2f')]['filter']+'%'};return _0x28d562;}})});}_0x3518a6=_['merge']({},_0x3518a6,_0x39719c[_0x050c('0x3d')]);var _0x22e6f0={'where':_0x3518a6[_0x050c('0x3b')]};return db[_0x050c('0x3e')][_0x050c('0x1c')](_0x22e6f0)[_0x050c('0x23')](function(_0x25c34f){_0x49fa19[_0x050c('0x1c')]=_0x25c34f;if(_0x39719c[_0x050c('0x2f')][_0x050c('0x3f')]){_0x3518a6['include']=[{'all':!![]}];}return db[_0x050c('0x3e')][_0x050c('0x40')](_0x3518a6);})[_0x050c('0x23')](function(_0x34b4bf){_0x49fa19[_0x050c('0x41')]=_0x34b4bf;return _0x49fa19;})['then'](respondWithFilteredResult(_0x2df277,_0x3518a6))[_0x050c('0x42')](handleError(_0x2df277,null));};exports[_0x050c('0x43')]=function(_0x324d66,_0xb93403){var _0x5a0e8e={'raw':!![],'where':{'id':_0x324d66[_0x050c('0x44')]['id']}},_0x59128f={};_0x59128f[_0x050c('0x2c')]=_['keys'](db['CmCustomField'][_0x050c('0x29')]);_0x59128f[_0x050c('0x2f')]=_[_0x050c('0x2e')](_0x324d66['query']);_0x59128f[_0x050c('0x30')]=_[_0x050c('0x31')](_0x59128f[_0x050c('0x2c')],_0x59128f[_0x050c('0x2f')]);_0x5a0e8e[_0x050c('0x32')]=_[_0x050c('0x31')](_0x59128f[_0x050c('0x2c')],qs['fields'](_0x324d66[_0x050c('0x2f')][_0x050c('0x33')]));_0x5a0e8e['attributes']=_0x5a0e8e[_0x050c('0x32')][_0x050c('0x45')]?_0x5a0e8e[_0x050c('0x32')]:_0x59128f[_0x050c('0x2c')];if(_0x324d66['query'][_0x050c('0x3f')]){_0x5a0e8e['include']=[{'all':!![]}];}_0x5a0e8e=_[_0x050c('0x3a')]({},_0x5a0e8e,_0x324d66[_0x050c('0x3d')]);return db[_0x050c('0x3e')][_0x050c('0x46')](_0x5a0e8e)['then'](handleEntityNotFound(_0xb93403,null))['then'](respondWithResult(_0xb93403,null))[_0x050c('0x42')](handleError(_0xb93403,null));};exports[_0x050c('0x22')]=function(_0x5626f7,_0x167be0){if(_0x5626f7[_0x050c('0x47')]['id']){delete _0x5626f7['body']['id'];}return db[_0x050c('0x3e')][_0x050c('0x46')]({'where':{'id':_0x5626f7[_0x050c('0x44')]['id']}})[_0x050c('0x23')](handleEntityNotFound(_0x167be0,null))[_0x050c('0x23')](saveUpdates(_0x5626f7[_0x050c('0x47')],null))['then'](respondWithResult(_0x167be0,null))[_0x050c('0x42')](handleError(_0x167be0,null));};exports['destroy']=function(_0x2be3a5,_0x1bfa1b){return db[_0x050c('0x3e')][_0x050c('0x46')]({'where':{'id':_0x2be3a5[_0x050c('0x44')]['id']}})[_0x050c('0x23')](handleEntityNotFound(_0x1bfa1b,null))[_0x050c('0x23')](removeEntity(_0x1bfa1b,null))[_0x050c('0x42')](handleError(_0x1bfa1b,null));};exports[_0x050c('0x48')]=function(_0x40992b,_0x208602){var _0x252015;return db['sequelize'][_0x050c('0x49')](function(_0x4c27b9){return db[_0x050c('0x3e')]['create'](_0x40992b[_0x050c('0x47')],{'transaction':_0x4c27b9})[_0x050c('0x23')](function(_0x2a326d){_0x252015=_0x2a326d;var _0x3aaab1={'type':db[_0x050c('0x4a')]['TEXT'],'transaction':_0x4c27b9};switch(_0x40992b[_0x050c('0x47')][_0x050c('0x2a')]){case'text':_0x3aaab1[_0x050c('0x2a')]=db[_0x050c('0x4a')]['TEXT'];break;case _0x050c('0x4b'):_0x3aaab1[_0x050c('0x2a')]=db[_0x050c('0x4a')][_0x050c('0x4c')];break;case'switch':_0x3aaab1['type']=db['Sequelize'][_0x050c('0x4d')];_0x3aaab1[_0x050c('0x4e')]=![];break;default:}return db[_0x050c('0x4f')][_0x050c('0x50')][_0x050c('0x51')](_0x050c('0x52'),util['format']('cf_%d',_0x252015['id']),_0x3aaab1);})[_0x050c('0x23')](function(){return _0x252015;});})[_0x050c('0x23')](respondWithResult(_0x208602,0xc9))['catch'](handleError(_0x208602,null));};