be5ce2b42132bae56172ab70db9eb18e5d70f1d1
[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 _0x8d88=['differenceBy','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','findAll','rows','catch','show','params','include','options','find','update','body','create','sequelize','transaction','Sequelize','TEXT','text','number','switch','defaultValue','queryInterface','addColumn','format','cf_%d','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','count','offset','limit','set','apply','reject','then','destroy','error','stack','name','send','index','map','CmCustomField','rawAttributes','type','model'];(function(_0x2c293a,_0x431854){var _0x4ae84e=function(_0x23e88c){while(--_0x23e88c){_0x2c293a['push'](_0x2c293a['shift']());}};_0x4ae84e(++_0x431854);}(_0x8d88,0x7d));var _0x88d8=function(_0x4ea971,_0x174234){_0x4ea971=_0x4ea971-0x0;var _0x86b88d=_0x8d88[_0x4ea971];return _0x86b88d;};'use strict';var pdf=require(_0x88d8('0x0'));var emlformat=require(_0x88d8('0x1'));var rimraf=require(_0x88d8('0x2'));var zipdir=require(_0x88d8('0x3'));var jsonpatch=require(_0x88d8('0x4'));var rp=require(_0x88d8('0x5'));var moment=require(_0x88d8('0x6'));var BPromise=require(_0x88d8('0x7'));var Mustache=require(_0x88d8('0x8'));var util=require(_0x88d8('0x9'));var path=require(_0x88d8('0xa'));var sox=require(_0x88d8('0xb'));var csv=require('to-csv');var ejs=require(_0x88d8('0xc'));var fs=require('fs');var _=require(_0x88d8('0xd'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x88d8('0xe'));var Papa=require(_0x88d8('0xf'));var Redis=require(_0x88d8('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x88d8('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x88d8('0x12'))(_0x88d8('0x13'));var utils=require(_0x88d8('0x14'));var config=require(_0x88d8('0x15'));var licenseUtil=require(_0x88d8('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x214435,_0x233bc8){_0x233bc8=_0x233bc8||0xcc;return function(_0x223a1c){if(_0x223a1c){return _0x214435[_0x88d8('0x17')](_0x233bc8);}return _0x214435[_0x88d8('0x18')](_0x233bc8)[_0x88d8('0x19')]();};}function respondWithResult(_0x4ee61a,_0x41f300){_0x41f300=_0x41f300||0xc8;return function(_0x2421bd){if(_0x2421bd){return _0x4ee61a[_0x88d8('0x18')](_0x41f300)[_0x88d8('0x1a')](_0x2421bd);}};}function respondWithFilteredResult(_0x1da86b,_0x24c699){return function(_0x1bc699){if(_0x1bc699){var _0x1c7bdc=_0x1bc699[_0x88d8('0x1b')],_0x2b6a74=_0x24c699[_0x88d8('0x1c')],_0x7decd6=_0x24c699[_0x88d8('0x1c')]+_0x24c699[_0x88d8('0x1d')],_0x4f3cb4;if(_0x7decd6>=_0x1c7bdc){_0x7decd6=_0x1c7bdc;_0x4f3cb4=0xc8;}else{_0x4f3cb4=0xce;}_0x1da86b[_0x88d8('0x18')](_0x4f3cb4);return _0x1da86b[_0x88d8('0x1e')]('Content-Range',_0x2b6a74+'-'+_0x7decd6+'/'+_0x1c7bdc)[_0x88d8('0x1a')](_0x1bc699);}return null;};}function patchUpdates(_0x95e32e){return function(_0x3b864a){try{jsonpatch[_0x88d8('0x1f')](_0x3b864a,_0x95e32e,!![]);}catch(_0x683702){return BPromise[_0x88d8('0x20')](_0x683702);}return _0x3b864a['save']();};}function saveUpdates(_0x4a4715,_0x35e18e){return function(_0x1eb45e){if(_0x1eb45e){return _0x1eb45e['update'](_0x4a4715)[_0x88d8('0x21')](function(_0x4b046a){return _0x4b046a;});}return null;};}function removeEntity(_0x45fb37,_0x436e6a){return function(_0x25d826){if(_0x25d826){return _0x25d826[_0x88d8('0x22')]()[_0x88d8('0x21')](function(){_0x45fb37[_0x88d8('0x18')](0xcc)[_0x88d8('0x19')]();});}};}function handleEntityNotFound(_0xa3e7ee,_0x5ee9d0){return function(_0x388874){if(!_0x388874){_0xa3e7ee[_0x88d8('0x17')](0x194);}return _0x388874;};}function handleError(_0x5a5c44,_0x58aa13){_0x58aa13=_0x58aa13||0x1f4;return function(_0x45b94a){logger[_0x88d8('0x23')](_0x45b94a[_0x88d8('0x24')]);if(_0x45b94a[_0x88d8('0x25')]){delete _0x45b94a[_0x88d8('0x25')];}_0x5a5c44[_0x88d8('0x18')](_0x58aa13)[_0x88d8('0x26')](_0x45b94a);};}exports[_0x88d8('0x27')]=function(_0x2f3b19,_0x4af36b){var _0x4ab910={},_0x2d971c={},_0xea1546={'count':0x0,'rows':[]};var _0x22726a=_[_0x88d8('0x28')](db[_0x88d8('0x29')][_0x88d8('0x2a')],function(_0x44a50a){return{'name':_0x44a50a['fieldName'],'type':_0x44a50a[_0x88d8('0x2b')]['key']};});_0x2d971c[_0x88d8('0x2c')]=_[_0x88d8('0x2d')](_[_0x88d8('0x28')](_0x22726a,_0x88d8('0x25')),[_0x88d8('0x25')]);_0x2d971c[_0x88d8('0x2e')]=_[_0x88d8('0x2f')](_0x2f3b19['query']);_0x2d971c[_0x88d8('0x30')]=_['intersection'](_0x2d971c['model'],_0x2d971c['query']);_0x4ab910['attributes']=_[_0x88d8('0x31')](_0x2d971c[_0x88d8('0x2c')],qs[_0x88d8('0x32')](_0x2f3b19[_0x88d8('0x2e')]['fields']));_0x4ab910[_0x88d8('0x33')]=_0x4ab910[_0x88d8('0x33')][_0x88d8('0x34')]?_0x4ab910['attributes']:_0x2d971c[_0x88d8('0x2c')];if(!_0x2f3b19[_0x88d8('0x2e')][_0x88d8('0x35')](_0x88d8('0x36'))){_0x4ab910[_0x88d8('0x1d')]=qs[_0x88d8('0x1d')](_0x2f3b19[_0x88d8('0x2e')][_0x88d8('0x1d')]);_0x4ab910[_0x88d8('0x1c')]=qs['offset'](_0x2f3b19[_0x88d8('0x2e')]['offset']);}_0x4ab910[_0x88d8('0x37')]=qs['sort'](_0x2f3b19[_0x88d8('0x2e')][_0x88d8('0x38')]);_0x4ab910[_0x88d8('0x39')]=qs['filters'](_[_0x88d8('0x3a')](_0x2f3b19[_0x88d8('0x2e')],_0x2d971c['filters']),_0x22726a);if(_0x2f3b19[_0x88d8('0x2e')][_0x88d8('0x3b')]){_0x4ab910[_0x88d8('0x39')]=_[_0x88d8('0x3c')](_0x4ab910[_0x88d8('0x39')],{'$or':_[_0x88d8('0x28')](_0x22726a,function(_0x13fa23){if(_0x13fa23['type']!==_0x88d8('0x3d')){var _0x2a6a8c={};_0x2a6a8c[_0x13fa23[_0x88d8('0x25')]]={'$like':'%'+_0x2f3b19[_0x88d8('0x2e')][_0x88d8('0x3b')]+'%'};return _0x2a6a8c;}})});}_0x4ab910=_[_0x88d8('0x3c')]({},_0x4ab910,_0x2f3b19['options']);var _0x4fa813={'where':_0x4ab910[_0x88d8('0x39')]};return db['CmCustomField'][_0x88d8('0x1b')](_0x4fa813)['then'](function(_0x525435){_0xea1546['count']=_0x525435;if(_0x2f3b19[_0x88d8('0x2e')]['includeAll']){_0x4ab910['include']=[{'all':!![]}];}return db['CmCustomField'][_0x88d8('0x3e')](_0x4ab910);})['then'](function(_0x58ffe5){_0xea1546[_0x88d8('0x3f')]=_0x58ffe5;return _0xea1546;})[_0x88d8('0x21')](respondWithFilteredResult(_0x4af36b,_0x4ab910))[_0x88d8('0x40')](handleError(_0x4af36b,null));};exports[_0x88d8('0x41')]=function(_0x475a0f,_0x47262b){var _0x4148e6={'raw':!![],'where':{'id':_0x475a0f[_0x88d8('0x42')]['id']}},_0x603fab={};_0x603fab[_0x88d8('0x2c')]=_[_0x88d8('0x2f')](db[_0x88d8('0x29')][_0x88d8('0x2a')]);_0x603fab[_0x88d8('0x2e')]=_[_0x88d8('0x2f')](_0x475a0f[_0x88d8('0x2e')]);_0x603fab['filters']=_[_0x88d8('0x31')](_0x603fab[_0x88d8('0x2c')],_0x603fab[_0x88d8('0x2e')]);_0x4148e6[_0x88d8('0x33')]=_[_0x88d8('0x31')](_0x603fab[_0x88d8('0x2c')],qs[_0x88d8('0x32')](_0x475a0f['query'][_0x88d8('0x32')]));_0x4148e6[_0x88d8('0x33')]=_0x4148e6['attributes']['length']?_0x4148e6[_0x88d8('0x33')]:_0x603fab[_0x88d8('0x2c')];if(_0x475a0f[_0x88d8('0x2e')]['includeAll']){_0x4148e6[_0x88d8('0x43')]=[{'all':!![]}];}_0x4148e6=_[_0x88d8('0x3c')]({},_0x4148e6,_0x475a0f[_0x88d8('0x44')]);return db['CmCustomField'][_0x88d8('0x45')](_0x4148e6)[_0x88d8('0x21')](handleEntityNotFound(_0x47262b,null))[_0x88d8('0x21')](respondWithResult(_0x47262b,null))[_0x88d8('0x40')](handleError(_0x47262b,null));};exports[_0x88d8('0x46')]=function(_0x1a9694,_0x4741b8){if(_0x1a9694[_0x88d8('0x47')]['id']){delete _0x1a9694[_0x88d8('0x47')]['id'];}return db[_0x88d8('0x29')]['find']({'where':{'id':_0x1a9694['params']['id']}})['then'](handleEntityNotFound(_0x4741b8,null))[_0x88d8('0x21')](saveUpdates(_0x1a9694['body'],null))[_0x88d8('0x21')](respondWithResult(_0x4741b8,null))['catch'](handleError(_0x4741b8,null));};exports['destroy']=function(_0x1ea858,_0x4326d4){return db['CmCustomField'][_0x88d8('0x45')]({'where':{'id':_0x1ea858[_0x88d8('0x42')]['id']}})['then'](handleEntityNotFound(_0x4326d4,null))['then'](removeEntity(_0x4326d4,null))['catch'](handleError(_0x4326d4,null));};exports[_0x88d8('0x48')]=function(_0x513bf9,_0x46e4d2){var _0x3765c6;return db[_0x88d8('0x49')][_0x88d8('0x4a')](function(_0x487006){return db[_0x88d8('0x29')][_0x88d8('0x48')](_0x513bf9['body'],{'transaction':_0x487006})[_0x88d8('0x21')](function(_0x367147){_0x3765c6=_0x367147;var _0x3356fd={'type':db[_0x88d8('0x4b')][_0x88d8('0x4c')],'transaction':_0x487006};switch(_0x513bf9[_0x88d8('0x47')][_0x88d8('0x2b')]){case _0x88d8('0x4d'):_0x3356fd[_0x88d8('0x2b')]=db['Sequelize'][_0x88d8('0x4c')];break;case _0x88d8('0x4e'):_0x3356fd['type']=db['Sequelize']['INTEGER'];break;case _0x88d8('0x4f'):_0x3356fd['type']=db['Sequelize']['BOOLEAN'];_0x3356fd[_0x88d8('0x50')]=![];break;default:}return db[_0x88d8('0x49')][_0x88d8('0x51')][_0x88d8('0x52')]('cm_contacts',util[_0x88d8('0x53')](_0x88d8('0x54'),_0x3765c6['id']),_0x3356fd);})[_0x88d8('0x21')](function(){return _0x3765c6;});})[_0x88d8('0x21')](respondWithResult(_0x46e4d2,0xc9))[_0x88d8('0x40')](handleError(_0x46e4d2,null));};