Built motion from commit 9d0783e6.|2.6.13
[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 _0xf75f=['sort','where','pick','filter','merge','options','includeAll','findAll','rows','catch','show','params','include','find','body','destroy','create','sequelize','transaction','TEXT','text','Sequelize','INTEGER','switch','queryInterface','cm_contacts','format','cf_%d','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','fs-extra','lodash','squel','crypto','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','sendStatus','end','status','json','offset','limit','count','set','Content-Range','apply','save','update','then','error','stack','name','send','index','map','CmCustomField','rawAttributes','fieldName','type','key','model','differenceBy','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order'];(function(_0x3789c7,_0x3a156d){var _0x3b58ca=function(_0x146600){while(--_0x146600){_0x3789c7['push'](_0x3789c7['shift']());}};_0x3b58ca(++_0x3a156d);}(_0xf75f,0x1ca));var _0xff75=function(_0x109072,_0x1a7c92){_0x109072=_0x109072-0x0;var _0x25a30e=_0xf75f[_0x109072];return _0x25a30e;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xff75('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xff75('0x1'));var rp=require(_0xff75('0x2'));var moment=require(_0xff75('0x3'));var BPromise=require(_0xff75('0x4'));var Mustache=require(_0xff75('0x5'));var util=require(_0xff75('0x6'));var path=require(_0xff75('0x7'));var sox=require(_0xff75('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xff75('0x9'));var _=require(_0xff75('0xa'));var squel=require(_0xff75('0xb'));var crypto=require(_0xff75('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xff75('0xd'));var querystring=require('querystring');var Papa=require(_0xff75('0xe'));var Redis=require(_0xff75('0xf'));var authService=require(_0xff75('0x10'));var qs=require(_0xff75('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xff75('0x12'));var logger=require(_0xff75('0x13'))('api');var utils=require('../../config/utils');var config=require(_0xff75('0x14'));var licenseUtil=require(_0xff75('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x393c62,_0x352846){_0x352846=_0x352846||0xcc;return function(_0x5575a1){if(_0x5575a1){return _0x393c62[_0xff75('0x16')](_0x352846);}return _0x393c62['status'](_0x352846)[_0xff75('0x17')]();};}function respondWithResult(_0x3a4587,_0x4ccac9){_0x4ccac9=_0x4ccac9||0xc8;return function(_0x5f149f){if(_0x5f149f){return _0x3a4587[_0xff75('0x18')](_0x4ccac9)[_0xff75('0x19')](_0x5f149f);}};}function respondWithFilteredResult(_0x5d049c,_0x15bcc5){return function(_0x167357){if(_0x167357){var _0x583d19=typeof _0x15bcc5[_0xff75('0x1a')]==='undefined'&&typeof _0x15bcc5[_0xff75('0x1b')]==='undefined';var _0x13d01b=_0x167357['count'];var _0x5a9789=_0x583d19?0x0:_0x15bcc5['offset'];var _0x20065e=_0x583d19?_0x167357[_0xff75('0x1c')]:_0x15bcc5[_0xff75('0x1a')]+_0x15bcc5[_0xff75('0x1b')];var _0x3915ea;if(_0x20065e>=_0x13d01b){_0x20065e=_0x13d01b;_0x3915ea=0xc8;}else{_0x3915ea=0xce;}_0x5d049c['status'](_0x3915ea);return _0x5d049c[_0xff75('0x1d')](_0xff75('0x1e'),_0x5a9789+'-'+_0x20065e+'/'+_0x13d01b)[_0xff75('0x19')](_0x167357);}return null;};}function patchUpdates(_0x35a59d){return function(_0x57fbdd){try{jsonpatch[_0xff75('0x1f')](_0x57fbdd,_0x35a59d,!![]);}catch(_0x47b2aa){return BPromise['reject'](_0x47b2aa);}return _0x57fbdd[_0xff75('0x20')]();};}function saveUpdates(_0x5a78e1,_0x58e89a){return function(_0x332d5f){if(_0x332d5f){return _0x332d5f[_0xff75('0x21')](_0x5a78e1)[_0xff75('0x22')](function(_0x5e5e59){return _0x5e5e59;});}return null;};}function removeEntity(_0x405755,_0x5bf075){return function(_0x56d738){if(_0x56d738){return _0x56d738['destroy']()[_0xff75('0x22')](function(){_0x405755[_0xff75('0x18')](0xcc)[_0xff75('0x17')]();});}};}function handleEntityNotFound(_0x4e294c,_0x3e8c7c){return function(_0x369593){if(!_0x369593){_0x4e294c[_0xff75('0x16')](0x194);}return _0x369593;};}function handleError(_0x1608fa,_0x52bf4c){_0x52bf4c=_0x52bf4c||0x1f4;return function(_0x34768c){logger[_0xff75('0x23')](_0x34768c[_0xff75('0x24')]);if(_0x34768c['name']){delete _0x34768c[_0xff75('0x25')];}_0x1608fa[_0xff75('0x18')](_0x52bf4c)[_0xff75('0x26')](_0x34768c);};}exports[_0xff75('0x27')]=function(_0x48070c,_0xda428d){var _0x176488={},_0x18b63b={},_0x5ed173={'count':0x0,'rows':[]};var _0x14a752=_[_0xff75('0x28')](db[_0xff75('0x29')][_0xff75('0x2a')],function(_0x101286){return{'name':_0x101286[_0xff75('0x2b')],'type':_0x101286[_0xff75('0x2c')][_0xff75('0x2d')]};});_0x18b63b[_0xff75('0x2e')]=_[_0xff75('0x2f')](_[_0xff75('0x28')](_0x14a752,'name'),['name']);_0x18b63b[_0xff75('0x30')]=_[_0xff75('0x31')](_0x48070c[_0xff75('0x30')]);_0x18b63b[_0xff75('0x32')]=_[_0xff75('0x33')](_0x18b63b[_0xff75('0x2e')],_0x18b63b['query']);_0x176488[_0xff75('0x34')]=_[_0xff75('0x33')](_0x18b63b[_0xff75('0x2e')],qs[_0xff75('0x35')](_0x48070c[_0xff75('0x30')][_0xff75('0x35')]));_0x176488[_0xff75('0x34')]=_0x176488[_0xff75('0x34')][_0xff75('0x36')]?_0x176488[_0xff75('0x34')]:_0x18b63b['model'];if(!_0x48070c['query'][_0xff75('0x37')](_0xff75('0x38'))){_0x176488[_0xff75('0x1b')]=qs['limit'](_0x48070c[_0xff75('0x30')][_0xff75('0x1b')]);_0x176488[_0xff75('0x1a')]=qs[_0xff75('0x1a')](_0x48070c[_0xff75('0x30')]['offset']);}_0x176488[_0xff75('0x39')]=qs[_0xff75('0x3a')](_0x48070c[_0xff75('0x30')][_0xff75('0x3a')]);_0x176488[_0xff75('0x3b')]=qs[_0xff75('0x32')](_[_0xff75('0x3c')](_0x48070c[_0xff75('0x30')],_0x18b63b[_0xff75('0x32')]),_0x14a752);if(_0x48070c[_0xff75('0x30')][_0xff75('0x3d')]){_0x176488[_0xff75('0x3b')]=_['merge'](_0x176488[_0xff75('0x3b')],{'$or':_[_0xff75('0x28')](_0x14a752,function(_0x57fd31){if(_0x57fd31[_0xff75('0x2c')]!=='VIRTUAL'){var _0x2a5845={};_0x2a5845[_0x57fd31[_0xff75('0x25')]]={'$like':'%'+_0x48070c[_0xff75('0x30')][_0xff75('0x3d')]+'%'};return _0x2a5845;}})});}_0x176488=_[_0xff75('0x3e')]({},_0x176488,_0x48070c[_0xff75('0x3f')]);var _0x293547={'where':_0x176488[_0xff75('0x3b')]};return db[_0xff75('0x29')][_0xff75('0x1c')](_0x293547)[_0xff75('0x22')](function(_0x32c234){_0x5ed173[_0xff75('0x1c')]=_0x32c234;if(_0x48070c[_0xff75('0x30')][_0xff75('0x40')]){_0x176488['include']=[{'all':!![]}];}return db[_0xff75('0x29')][_0xff75('0x41')](_0x176488);})[_0xff75('0x22')](function(_0x13e62c){_0x5ed173[_0xff75('0x42')]=_0x13e62c;return _0x5ed173;})['then'](respondWithFilteredResult(_0xda428d,_0x176488))[_0xff75('0x43')](handleError(_0xda428d,null));};exports[_0xff75('0x44')]=function(_0x128f97,_0x4a1b51){var _0x35228a={'raw':!![],'where':{'id':_0x128f97[_0xff75('0x45')]['id']}},_0x3d627f={};_0x3d627f['model']=_[_0xff75('0x31')](db[_0xff75('0x29')][_0xff75('0x2a')]);_0x3d627f['query']=_[_0xff75('0x31')](_0x128f97['query']);_0x3d627f[_0xff75('0x32')]=_[_0xff75('0x33')](_0x3d627f['model'],_0x3d627f[_0xff75('0x30')]);_0x35228a[_0xff75('0x34')]=_[_0xff75('0x33')](_0x3d627f[_0xff75('0x2e')],qs[_0xff75('0x35')](_0x128f97[_0xff75('0x30')][_0xff75('0x35')]));_0x35228a['attributes']=_0x35228a[_0xff75('0x34')]['length']?_0x35228a[_0xff75('0x34')]:_0x3d627f[_0xff75('0x2e')];if(_0x128f97['query'][_0xff75('0x40')]){_0x35228a[_0xff75('0x46')]=[{'all':!![]}];}_0x35228a=_['merge']({},_0x35228a,_0x128f97[_0xff75('0x3f')]);return db['CmCustomField'][_0xff75('0x47')](_0x35228a)[_0xff75('0x22')](handleEntityNotFound(_0x4a1b51,null))[_0xff75('0x22')](respondWithResult(_0x4a1b51,null))[_0xff75('0x43')](handleError(_0x4a1b51,null));};exports[_0xff75('0x21')]=function(_0x44646d,_0x45ab1e){if(_0x44646d[_0xff75('0x48')]['id']){delete _0x44646d[_0xff75('0x48')]['id'];}return db['CmCustomField'][_0xff75('0x47')]({'where':{'id':_0x44646d[_0xff75('0x45')]['id']}})[_0xff75('0x22')](handleEntityNotFound(_0x45ab1e,null))['then'](saveUpdates(_0x44646d[_0xff75('0x48')],null))[_0xff75('0x22')](respondWithResult(_0x45ab1e,null))[_0xff75('0x43')](handleError(_0x45ab1e,null));};exports[_0xff75('0x49')]=function(_0x33e040,_0x162c46){return db['CmCustomField']['find']({'where':{'id':_0x33e040[_0xff75('0x45')]['id']}})[_0xff75('0x22')](handleEntityNotFound(_0x162c46,null))[_0xff75('0x22')](removeEntity(_0x162c46,null))[_0xff75('0x43')](handleError(_0x162c46,null));};exports[_0xff75('0x4a')]=function(_0x1e3c9e,_0x4c5514){var _0x1a5cff;return db[_0xff75('0x4b')][_0xff75('0x4c')](function(_0x5324b8){return db['CmCustomField'][_0xff75('0x4a')](_0x1e3c9e[_0xff75('0x48')],{'transaction':_0x5324b8})['then'](function(_0xbacb41){_0x1a5cff=_0xbacb41;var _0x292c8a={'type':db['Sequelize'][_0xff75('0x4d')],'transaction':_0x5324b8};switch(_0x1e3c9e[_0xff75('0x48')][_0xff75('0x2c')]){case _0xff75('0x4e'):_0x292c8a[_0xff75('0x2c')]=db[_0xff75('0x4f')][_0xff75('0x4d')];break;case'number':_0x292c8a[_0xff75('0x2c')]=db[_0xff75('0x4f')][_0xff75('0x50')];break;case _0xff75('0x51'):_0x292c8a[_0xff75('0x2c')]=db['Sequelize']['BOOLEAN'];_0x292c8a['defaultValue']=![];break;default:}return db[_0xff75('0x4b')][_0xff75('0x52')]['addColumn'](_0xff75('0x53'),util[_0xff75('0x54')](_0xff75('0x55'),_0x1a5cff['id']),_0x292c8a);})[_0xff75('0x22')](function(){return _0x1a5cff;});})[_0xff75('0x22')](respondWithResult(_0x4c5514,0xc9))[_0xff75('0x43')](handleError(_0x4c5514,null));};