fbf1bd83fed5dd33c301b36c183a20eda65f9a07
[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 _0xe189=['name','index','map','CmCustomField','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','offset','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','rawAttributes','length','body','find','params','destroy','create','sequelize','transaction','TEXT','text','number','Sequelize','INTEGER','switch','BOOLEAN','defaultValue','queryInterface','addColumn','cm_contacts','format','cf_%d','html-pdf','zip-dir','fast-json-patch','request-promise','moment','util','path','sox','to-csv','ejs','squel','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','json','count','limit','status','Content-Range','apply','reject','save','update','then'];(function(_0x502c7d,_0x2f1285){var _0x30b7ed=function(_0x2d92f3){while(--_0x2d92f3){_0x502c7d['push'](_0x502c7d['shift']());}};_0x30b7ed(++_0x2f1285);}(_0xe189,0x194));var _0x9e18=function(_0x4bcd6d,_0xa1c27c){_0x4bcd6d=_0x4bcd6d-0x0;var _0x41e614=_0xe189[_0x4bcd6d];return _0x41e614;};'use strict';var pdf=require(_0x9e18('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x9e18('0x1'));var jsonpatch=require(_0x9e18('0x2'));var rp=require(_0x9e18('0x3'));var moment=require(_0x9e18('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x9e18('0x5'));var path=require(_0x9e18('0x6'));var sox=require(_0x9e18('0x7'));var csv=require(_0x9e18('0x8'));var ejs=require(_0x9e18('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0x9e18('0xa'));var crypto=require(_0x9e18('0xb'));var jsforce=require(_0x9e18('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x9e18('0x8'));var querystring=require(_0x9e18('0xd'));var Papa=require(_0x9e18('0xe'));var Redis=require('ioredis');var authService=require(_0x9e18('0xf'));var qs=require(_0x9e18('0x10'));var as=require(_0x9e18('0x11'));var hardwareService=require(_0x9e18('0x12'));var logger=require(_0x9e18('0x13'))(_0x9e18('0x14'));var utils=require(_0x9e18('0x15'));var config=require(_0x9e18('0x16'));var licenseUtil=require(_0x9e18('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3617b0,_0x502513){_0x502513=_0x502513||0xcc;return function(_0x39a077){if(_0x39a077){return _0x3617b0[_0x9e18('0x18')](_0x502513);}return _0x3617b0['status'](_0x502513)[_0x9e18('0x19')]();};}function respondWithResult(_0x30516d,_0x35c4e1){_0x35c4e1=_0x35c4e1||0xc8;return function(_0x97e41a){if(_0x97e41a){return _0x30516d['status'](_0x35c4e1)[_0x9e18('0x1a')](_0x97e41a);}};}function respondWithFilteredResult(_0x58c360,_0x57bcd9){return function(_0xb10405){if(_0xb10405){var _0x4e7bcb=_0xb10405[_0x9e18('0x1b')],_0x691a51=_0x57bcd9['offset'],_0x3a2ad9=_0x57bcd9['offset']+_0x57bcd9[_0x9e18('0x1c')],_0x1f71fc;if(_0x3a2ad9>=_0x4e7bcb){_0x3a2ad9=_0x4e7bcb;_0x1f71fc=0xc8;}else{_0x1f71fc=0xce;}_0x58c360[_0x9e18('0x1d')](_0x1f71fc);return _0x58c360['set'](_0x9e18('0x1e'),_0x691a51+'-'+_0x3a2ad9+'/'+_0x4e7bcb)['json'](_0xb10405);}return null;};}function patchUpdates(_0x25196f){return function(_0x538b16){try{jsonpatch[_0x9e18('0x1f')](_0x538b16,_0x25196f,!![]);}catch(_0x3d83bb){return BPromise[_0x9e18('0x20')](_0x3d83bb);}return _0x538b16[_0x9e18('0x21')]();};}function saveUpdates(_0x1fb910,_0x3fb6ba){return function(_0x21d814){if(_0x21d814){return _0x21d814[_0x9e18('0x22')](_0x1fb910)[_0x9e18('0x23')](function(_0x57501c){return _0x57501c;});}return null;};}function removeEntity(_0x3a24ad,_0x24cc43){return function(_0x37738e){if(_0x37738e){return _0x37738e['destroy']()[_0x9e18('0x23')](function(){_0x3a24ad['status'](0xcc)[_0x9e18('0x19')]();});}};}function handleEntityNotFound(_0x50131d,_0x2f5a26){return function(_0x4eabe9){if(!_0x4eabe9){_0x50131d[_0x9e18('0x18')](0x194);}return _0x4eabe9;};}function handleError(_0x1bd289,_0x49f0b1){_0x49f0b1=_0x49f0b1||0x1f4;return function(_0x12f90d){logger['error'](_0x12f90d['stack']);if(_0x12f90d[_0x9e18('0x24')]){delete _0x12f90d['name'];}_0x1bd289[_0x9e18('0x1d')](_0x49f0b1)['send'](_0x12f90d);};}exports[_0x9e18('0x25')]=function(_0x413dce,_0x2cee0f){var _0xd115f3={},_0x33fbd5={},_0x13d3c2={'count':0x0,'rows':[]};var _0x10c119=_[_0x9e18('0x26')](db[_0x9e18('0x27')]['rawAttributes'],function(_0x2ee4da){return{'name':_0x2ee4da[_0x9e18('0x28')],'type':_0x2ee4da[_0x9e18('0x29')][_0x9e18('0x2a')]};});_0x33fbd5['model']=_['differenceBy'](_[_0x9e18('0x26')](_0x10c119,_0x9e18('0x24')),[_0x9e18('0x24')]);_0x33fbd5[_0x9e18('0x2b')]=_[_0x9e18('0x2c')](_0x413dce['query']);_0x33fbd5[_0x9e18('0x2d')]=_[_0x9e18('0x2e')](_0x33fbd5[_0x9e18('0x2f')],_0x33fbd5[_0x9e18('0x2b')]);_0xd115f3[_0x9e18('0x30')]=_[_0x9e18('0x2e')](_0x33fbd5['model'],qs[_0x9e18('0x31')](_0x413dce[_0x9e18('0x2b')][_0x9e18('0x31')]));_0xd115f3[_0x9e18('0x30')]=_0xd115f3[_0x9e18('0x30')]['length']?_0xd115f3['attributes']:_0x33fbd5[_0x9e18('0x2f')];if(!_0x413dce[_0x9e18('0x2b')][_0x9e18('0x32')](_0x9e18('0x33'))){_0xd115f3['limit']=qs[_0x9e18('0x1c')](_0x413dce[_0x9e18('0x2b')][_0x9e18('0x1c')]);_0xd115f3['offset']=qs[_0x9e18('0x34')](_0x413dce['query'][_0x9e18('0x34')]);}_0xd115f3['order']=qs[_0x9e18('0x35')](_0x413dce[_0x9e18('0x2b')][_0x9e18('0x35')]);_0xd115f3[_0x9e18('0x36')]=qs[_0x9e18('0x2d')](_[_0x9e18('0x37')](_0x413dce[_0x9e18('0x2b')],_0x33fbd5[_0x9e18('0x2d')]),_0x10c119);if(_0x413dce[_0x9e18('0x2b')][_0x9e18('0x38')]){_0xd115f3[_0x9e18('0x36')]=_['merge'](_0xd115f3[_0x9e18('0x36')],{'$or':_[_0x9e18('0x26')](_0x10c119,function(_0x2e1197){if(_0x2e1197[_0x9e18('0x29')]!==_0x9e18('0x39')){var _0x1cdb5f={};_0x1cdb5f[_0x2e1197[_0x9e18('0x24')]]={'$like':'%'+_0x413dce[_0x9e18('0x2b')][_0x9e18('0x38')]+'%'};return _0x1cdb5f;}})});}_0xd115f3=_[_0x9e18('0x3a')]({},_0xd115f3,_0x413dce[_0x9e18('0x3b')]);var _0x251376={'where':_0xd115f3[_0x9e18('0x36')]};return db[_0x9e18('0x27')]['count'](_0x251376)[_0x9e18('0x23')](function(_0x5d9ffe){_0x13d3c2[_0x9e18('0x1b')]=_0x5d9ffe;if(_0x413dce['query'][_0x9e18('0x3c')]){_0xd115f3[_0x9e18('0x3d')]=[{'all':!![]}];}return db[_0x9e18('0x27')][_0x9e18('0x3e')](_0xd115f3);})[_0x9e18('0x23')](function(_0x44487e){_0x13d3c2[_0x9e18('0x3f')]=_0x44487e;return _0x13d3c2;})[_0x9e18('0x23')](respondWithFilteredResult(_0x2cee0f,_0xd115f3))[_0x9e18('0x40')](handleError(_0x2cee0f,null));};exports[_0x9e18('0x41')]=function(_0x579142,_0x57b39a){var _0x518f77={'raw':!![],'where':{'id':_0x579142['params']['id']}},_0x261ea0={};_0x261ea0['model']=_[_0x9e18('0x2c')](db[_0x9e18('0x27')][_0x9e18('0x42')]);_0x261ea0['query']=_[_0x9e18('0x2c')](_0x579142[_0x9e18('0x2b')]);_0x261ea0[_0x9e18('0x2d')]=_[_0x9e18('0x2e')](_0x261ea0[_0x9e18('0x2f')],_0x261ea0['query']);_0x518f77[_0x9e18('0x30')]=_[_0x9e18('0x2e')](_0x261ea0[_0x9e18('0x2f')],qs[_0x9e18('0x31')](_0x579142['query'][_0x9e18('0x31')]));_0x518f77[_0x9e18('0x30')]=_0x518f77[_0x9e18('0x30')][_0x9e18('0x43')]?_0x518f77[_0x9e18('0x30')]:_0x261ea0['model'];if(_0x579142[_0x9e18('0x2b')][_0x9e18('0x3c')]){_0x518f77[_0x9e18('0x3d')]=[{'all':!![]}];}_0x518f77=_[_0x9e18('0x3a')]({},_0x518f77,_0x579142[_0x9e18('0x3b')]);return db['CmCustomField']['find'](_0x518f77)['then'](handleEntityNotFound(_0x57b39a,null))['then'](respondWithResult(_0x57b39a,null))[_0x9e18('0x40')](handleError(_0x57b39a,null));};exports[_0x9e18('0x22')]=function(_0x2146f0,_0x1989c3){if(_0x2146f0[_0x9e18('0x44')]['id']){delete _0x2146f0['body']['id'];}return db[_0x9e18('0x27')][_0x9e18('0x45')]({'where':{'id':_0x2146f0[_0x9e18('0x46')]['id']}})[_0x9e18('0x23')](handleEntityNotFound(_0x1989c3,null))['then'](saveUpdates(_0x2146f0['body'],null))[_0x9e18('0x23')](respondWithResult(_0x1989c3,null))[_0x9e18('0x40')](handleError(_0x1989c3,null));};exports[_0x9e18('0x47')]=function(_0x28a370,_0xda11e3){return db[_0x9e18('0x27')]['find']({'where':{'id':_0x28a370[_0x9e18('0x46')]['id']}})['then'](handleEntityNotFound(_0xda11e3,null))[_0x9e18('0x23')](removeEntity(_0xda11e3,null))[_0x9e18('0x40')](handleError(_0xda11e3,null));};exports[_0x9e18('0x48')]=function(_0x225bf0,_0x43e89b){var _0x2230df;return db[_0x9e18('0x49')][_0x9e18('0x4a')](function(_0x352ca5){return db[_0x9e18('0x27')][_0x9e18('0x48')](_0x225bf0[_0x9e18('0x44')],{'transaction':_0x352ca5})[_0x9e18('0x23')](function(_0x3f76b5){_0x2230df=_0x3f76b5;var _0x25eb32={'type':db['Sequelize'][_0x9e18('0x4b')],'transaction':_0x352ca5};switch(_0x225bf0[_0x9e18('0x44')][_0x9e18('0x29')]){case _0x9e18('0x4c'):_0x25eb32[_0x9e18('0x29')]=db['Sequelize'][_0x9e18('0x4b')];break;case _0x9e18('0x4d'):_0x25eb32[_0x9e18('0x29')]=db[_0x9e18('0x4e')][_0x9e18('0x4f')];break;case _0x9e18('0x50'):_0x25eb32[_0x9e18('0x29')]=db[_0x9e18('0x4e')][_0x9e18('0x51')];_0x25eb32[_0x9e18('0x52')]=![];break;default:}return db[_0x9e18('0x49')][_0x9e18('0x53')][_0x9e18('0x54')](_0x9e18('0x55'),util[_0x9e18('0x56')](_0x9e18('0x57'),_0x2230df['id']),_0x25eb32);})[_0x9e18('0x23')](function(){return _0x2230df;});})[_0x9e18('0x23')](respondWithResult(_0x43e89b,0xc9))[_0x9e18('0x40')](handleError(_0x43e89b,null));};