86dff2d297f15347a20ecef7f15108da92604a44
[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 _0xa250=['sendStatus','end','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','map','CmCustomField','rawAttributes','fieldName','key','model','differenceBy','keys','query','filters','intersection','attributes','fields','hasOwnProperty','order','sort','where','filter','type','options','includeAll','include','findAll','rows','catch','show','params','length','merge','body','find','create','sequelize','transaction','Sequelize','TEXT','number','INTEGER','BOOLEAN','defaultValue','queryInterface','cm_contacts','format','cf_%d','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb'];(function(_0x4c153f,_0xf272e6){var _0x1f6c07=function(_0x48284c){while(--_0x48284c){_0x4c153f['push'](_0x4c153f['shift']());}};_0x1f6c07(++_0xf272e6);}(_0xa250,0x1b3));var _0x0a25=function(_0xc971a4,_0x5b381c){_0xc971a4=_0xc971a4-0x0;var _0x4ebd6b=_0xa250[_0xc971a4];return _0x4ebd6b;};'use strict';var pdf=require(_0x0a25('0x0'));var emlformat=require(_0x0a25('0x1'));var rimraf=require(_0x0a25('0x2'));var zipdir=require(_0x0a25('0x3'));var jsonpatch=require(_0x0a25('0x4'));var rp=require(_0x0a25('0x5'));var moment=require(_0x0a25('0x6'));var BPromise=require(_0x0a25('0x7'));var Mustache=require(_0x0a25('0x8'));var util=require(_0x0a25('0x9'));var path=require(_0x0a25('0xa'));var sox=require(_0x0a25('0xb'));var csv=require(_0x0a25('0xc'));var ejs=require(_0x0a25('0xd'));var fs=require('fs');var _=require(_0x0a25('0xe'));var squel=require(_0x0a25('0xf'));var crypto=require(_0x0a25('0x10'));var jsforce=require(_0x0a25('0x11'));var deskjs=require(_0x0a25('0x12'));var toCsv=require(_0x0a25('0xc'));var querystring=require(_0x0a25('0x13'));var Papa=require(_0x0a25('0x14'));var Redis=require(_0x0a25('0x15'));var authService=require(_0x0a25('0x16'));var qs=require(_0x0a25('0x17'));var as=require(_0x0a25('0x18'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x0a25('0x19'))(_0x0a25('0x1a'));var utils=require(_0x0a25('0x1b'));var config=require(_0x0a25('0x1c'));var db=require(_0x0a25('0x1d'))['db'];function respondWithStatusCode(_0x431c15,_0xf7e86a){_0xf7e86a=_0xf7e86a||0xcc;return function(_0x2bda66){if(_0x2bda66){return _0x431c15[_0x0a25('0x1e')](_0xf7e86a);}return _0x431c15['status'](_0xf7e86a)[_0x0a25('0x1f')]();};}function respondWithResult(_0x3d0001,_0x4d5c56){_0x4d5c56=_0x4d5c56||0xc8;return function(_0x40e6d5){if(_0x40e6d5){return _0x3d0001[_0x0a25('0x20')](_0x4d5c56)[_0x0a25('0x21')](_0x40e6d5);}};}function respondWithFilteredResult(_0x1f7f01,_0x141999){return function(_0x4df19c){if(_0x4df19c){var _0x5c0e5d=_0x4df19c[_0x0a25('0x22')],_0x1adfb5=_0x141999[_0x0a25('0x23')],_0x39a6b8=_0x141999['offset']+_0x141999[_0x0a25('0x24')],_0x4ed5cf;if(_0x39a6b8>=_0x5c0e5d){_0x39a6b8=_0x5c0e5d;_0x4ed5cf=0xc8;}else{_0x4ed5cf=0xce;}_0x1f7f01[_0x0a25('0x20')](_0x4ed5cf);return _0x1f7f01[_0x0a25('0x25')](_0x0a25('0x26'),_0x1adfb5+'-'+_0x39a6b8+'/'+_0x5c0e5d)[_0x0a25('0x21')](_0x4df19c);}return null;};}function patchUpdates(_0x1c1ff9){return function(_0x3b5514){try{jsonpatch[_0x0a25('0x27')](_0x3b5514,_0x1c1ff9,!![]);}catch(_0x1dcc6c){return BPromise[_0x0a25('0x28')](_0x1dcc6c);}return _0x3b5514[_0x0a25('0x29')]();};}function saveUpdates(_0x159de0,_0x24bd4d){return function(_0xdd296b){if(_0xdd296b){return _0xdd296b[_0x0a25('0x2a')](_0x159de0)[_0x0a25('0x2b')](function(_0x2c260f){return _0x2c260f;});}return null;};}function removeEntity(_0x2a3865,_0x3dee71){return function(_0x313a53){if(_0x313a53){return _0x313a53[_0x0a25('0x2c')]()[_0x0a25('0x2b')](function(){_0x2a3865['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x55fd10,_0x37924a){return function(_0x1e6b45){if(!_0x1e6b45){_0x55fd10[_0x0a25('0x1e')](0x194);}return _0x1e6b45;};}function handleError(_0x362373,_0x5c2c3a){_0x5c2c3a=_0x5c2c3a||0x1f4;return function(_0x30ceff){logger[_0x0a25('0x2d')](_0x30ceff[_0x0a25('0x2e')]);if(_0x30ceff[_0x0a25('0x2f')]){delete _0x30ceff[_0x0a25('0x2f')];}_0x362373[_0x0a25('0x20')](_0x5c2c3a)[_0x0a25('0x30')](_0x30ceff);};}exports['index']=function(_0x5c9fd8,_0x31f4da){var _0x32c150={},_0x23c9c5={},_0x4d0971={'count':0x0,'rows':[]};var _0x3f8687=_[_0x0a25('0x31')](db[_0x0a25('0x32')][_0x0a25('0x33')],function(_0x13eb67){return{'name':_0x13eb67[_0x0a25('0x34')],'type':_0x13eb67['type'][_0x0a25('0x35')]};});_0x23c9c5[_0x0a25('0x36')]=_[_0x0a25('0x37')](_[_0x0a25('0x31')](_0x3f8687,_0x0a25('0x2f')),[_0x0a25('0x2f')]);_0x23c9c5['query']=_[_0x0a25('0x38')](_0x5c9fd8[_0x0a25('0x39')]);_0x23c9c5[_0x0a25('0x3a')]=_[_0x0a25('0x3b')](_0x23c9c5['model'],_0x23c9c5[_0x0a25('0x39')]);_0x32c150[_0x0a25('0x3c')]=_[_0x0a25('0x3b')](_0x23c9c5['model'],qs['fields'](_0x5c9fd8[_0x0a25('0x39')][_0x0a25('0x3d')]));_0x32c150[_0x0a25('0x3c')]=_0x32c150[_0x0a25('0x3c')]['length']?_0x32c150['attributes']:_0x23c9c5[_0x0a25('0x36')];if(!_0x5c9fd8[_0x0a25('0x39')][_0x0a25('0x3e')]('nolimit')){_0x32c150[_0x0a25('0x24')]=qs[_0x0a25('0x24')](_0x5c9fd8[_0x0a25('0x39')][_0x0a25('0x24')]);_0x32c150[_0x0a25('0x23')]=qs[_0x0a25('0x23')](_0x5c9fd8[_0x0a25('0x39')][_0x0a25('0x23')]);}_0x32c150[_0x0a25('0x3f')]=qs[_0x0a25('0x40')](_0x5c9fd8[_0x0a25('0x39')]['sort']);_0x32c150[_0x0a25('0x41')]=qs[_0x0a25('0x3a')](_['pick'](_0x5c9fd8[_0x0a25('0x39')],_0x23c9c5[_0x0a25('0x3a')]));if(_0x5c9fd8[_0x0a25('0x39')][_0x0a25('0x42')]){_0x32c150[_0x0a25('0x41')]=_['merge'](_0x32c150[_0x0a25('0x41')],{'$or':_[_0x0a25('0x31')](_0x3f8687,function(_0x1bcc9b){if(_0x1bcc9b[_0x0a25('0x43')]!=='VIRTUAL'){var _0x4f49ec={};_0x4f49ec[_0x1bcc9b[_0x0a25('0x2f')]]={'$like':'%'+_0x5c9fd8[_0x0a25('0x39')]['filter']+'%'};return _0x4f49ec;}})});}_0x32c150=_['merge']({},_0x32c150,_0x5c9fd8[_0x0a25('0x44')]);var _0x968126={'where':_0x32c150[_0x0a25('0x41')]};return db[_0x0a25('0x32')][_0x0a25('0x22')](_0x968126)['then'](function(_0x295c06){_0x4d0971['count']=_0x295c06;if(_0x5c9fd8[_0x0a25('0x39')][_0x0a25('0x45')]){_0x32c150[_0x0a25('0x46')]=[{'all':!![]}];}return db[_0x0a25('0x32')][_0x0a25('0x47')](_0x32c150);})[_0x0a25('0x2b')](function(_0x5b6c88){_0x4d0971[_0x0a25('0x48')]=_0x5b6c88;return _0x4d0971;})[_0x0a25('0x2b')](respondWithFilteredResult(_0x31f4da,_0x32c150))[_0x0a25('0x49')](handleError(_0x31f4da,null));};exports[_0x0a25('0x4a')]=function(_0x2c32e3,_0x5e3949){var _0x1fb4d3={'raw':!![],'where':{'id':_0x2c32e3[_0x0a25('0x4b')]['id']}},_0x56fab1={};_0x56fab1[_0x0a25('0x36')]=_[_0x0a25('0x38')](db[_0x0a25('0x32')]['rawAttributes']);_0x56fab1['query']=_['keys'](_0x2c32e3[_0x0a25('0x39')]);_0x56fab1[_0x0a25('0x3a')]=_[_0x0a25('0x3b')](_0x56fab1[_0x0a25('0x36')],_0x56fab1['query']);_0x1fb4d3[_0x0a25('0x3c')]=_[_0x0a25('0x3b')](_0x56fab1[_0x0a25('0x36')],qs[_0x0a25('0x3d')](_0x2c32e3[_0x0a25('0x39')][_0x0a25('0x3d')]));_0x1fb4d3['attributes']=_0x1fb4d3[_0x0a25('0x3c')][_0x0a25('0x4c')]?_0x1fb4d3['attributes']:_0x56fab1[_0x0a25('0x36')];if(_0x2c32e3[_0x0a25('0x39')][_0x0a25('0x45')]){_0x1fb4d3[_0x0a25('0x46')]=[{'all':!![]}];}_0x1fb4d3=_[_0x0a25('0x4d')]({},_0x1fb4d3,_0x2c32e3[_0x0a25('0x44')]);return db['CmCustomField']['find'](_0x1fb4d3)[_0x0a25('0x2b')](handleEntityNotFound(_0x5e3949,null))['then'](respondWithResult(_0x5e3949,null))[_0x0a25('0x49')](handleError(_0x5e3949,null));};exports[_0x0a25('0x2a')]=function(_0xf9bd98,_0x367197){if(_0xf9bd98[_0x0a25('0x4e')]['id']){delete _0xf9bd98[_0x0a25('0x4e')]['id'];}return db[_0x0a25('0x32')][_0x0a25('0x4f')]({'where':{'id':_0xf9bd98['params']['id']}})[_0x0a25('0x2b')](handleEntityNotFound(_0x367197,null))[_0x0a25('0x2b')](saveUpdates(_0xf9bd98[_0x0a25('0x4e')],null))[_0x0a25('0x2b')](respondWithResult(_0x367197,null))[_0x0a25('0x49')](handleError(_0x367197,null));};exports[_0x0a25('0x2c')]=function(_0x3552d1,_0x3e52ea){return db['CmCustomField']['find']({'where':{'id':_0x3552d1[_0x0a25('0x4b')]['id']}})['then'](handleEntityNotFound(_0x3e52ea,null))['then'](removeEntity(_0x3e52ea,null))[_0x0a25('0x49')](handleError(_0x3e52ea,null));};exports[_0x0a25('0x50')]=function(_0x1a3e1d,_0x39ab18){var _0x1fe5e9;return db[_0x0a25('0x51')][_0x0a25('0x52')](function(_0x10fb40){return db[_0x0a25('0x32')][_0x0a25('0x50')](_0x1a3e1d['body'],{'transaction':_0x10fb40})[_0x0a25('0x2b')](function(_0x3f776a){_0x1fe5e9=_0x3f776a;var _0x13f33b={'type':db[_0x0a25('0x53')]['TEXT'],'transaction':_0x10fb40};switch(_0x1a3e1d['body'][_0x0a25('0x43')]){case'text':_0x13f33b['type']=db['Sequelize'][_0x0a25('0x54')];break;case _0x0a25('0x55'):_0x13f33b[_0x0a25('0x43')]=db['Sequelize'][_0x0a25('0x56')];break;case'switch':_0x13f33b[_0x0a25('0x43')]=db[_0x0a25('0x53')][_0x0a25('0x57')];_0x13f33b[_0x0a25('0x58')]=![];break;default:}return db['sequelize'][_0x0a25('0x59')]['addColumn'](_0x0a25('0x5a'),util[_0x0a25('0x5b')](_0x0a25('0x5c'),_0x1fe5e9['id']),_0x13f33b);})[_0x0a25('0x2b')](function(){return _0x1fe5e9;});})[_0x0a25('0x2b')](respondWithResult(_0x39ab18,0xc9))[_0x0a25('0x49')](handleError(_0x39ab18,null));};