Built motion from commit f7863d46.|2.5.41
[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 _0x5aae=['save','update','then','destroy','error','name','send','map','CmCustomField','rawAttributes','fieldName','key','model','differenceBy','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','findAll','rows','catch','show','params','includeAll','include','body','find','create','Sequelize','TEXT','number','INTEGER','switch','defaultValue','sequelize','queryInterface','addColumn','cm_contacts','format','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','fs-extra','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','offset','count','reject'];(function(_0x45b835,_0x500539){var _0x7348f5=function(_0xd3003c){while(--_0xd3003c){_0x45b835['push'](_0x45b835['shift']());}};_0x7348f5(++_0x500539);}(_0x5aae,0x131));var _0xe5aa=function(_0xd3c939,_0x356e38){_0xd3c939=_0xd3c939-0x0;var _0x2cb033=_0x5aae[_0xd3c939];return _0x2cb033;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xe5aa('0x0'));var rp=require(_0xe5aa('0x1'));var moment=require('moment');var BPromise=require(_0xe5aa('0x2'));var Mustache=require(_0xe5aa('0x3'));var util=require(_0xe5aa('0x4'));var path=require(_0xe5aa('0x5'));var sox=require(_0xe5aa('0x6'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xe5aa('0x7'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xe5aa('0x8'));var jsforce=require(_0xe5aa('0x9'));var deskjs=require(_0xe5aa('0xa'));var toCsv=require('to-csv');var querystring=require(_0xe5aa('0xb'));var Papa=require(_0xe5aa('0xc'));var Redis=require(_0xe5aa('0xd'));var authService=require('../../components/auth/service');var qs=require(_0xe5aa('0xe'));var as=require(_0xe5aa('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xe5aa('0x10'))(_0xe5aa('0x11'));var utils=require(_0xe5aa('0x12'));var config=require(_0xe5aa('0x13'));var licenseUtil=require(_0xe5aa('0x14'));var db=require(_0xe5aa('0x15'))['db'];function respondWithStatusCode(_0x1022ab,_0x3e9e8f){_0x3e9e8f=_0x3e9e8f||0xcc;return function(_0x4bd9c5){if(_0x4bd9c5){return _0x1022ab[_0xe5aa('0x16')](_0x3e9e8f);}return _0x1022ab[_0xe5aa('0x17')](_0x3e9e8f)[_0xe5aa('0x18')]();};}function respondWithResult(_0x4f4790,_0x21dfcf){_0x21dfcf=_0x21dfcf||0xc8;return function(_0x3b9d0c){if(_0x3b9d0c){return _0x4f4790[_0xe5aa('0x17')](_0x21dfcf)[_0xe5aa('0x19')](_0x3b9d0c);}};}function respondWithFilteredResult(_0x205142,_0x205245){return function(_0x1f0a40){if(_0x1f0a40){var _0x49d1db=typeof _0x205245['offset']===_0xe5aa('0x1a')&&typeof _0x205245[_0xe5aa('0x1b')]===_0xe5aa('0x1a');var _0xeb6b6c=_0x1f0a40['count'];var _0x200a3a=_0x49d1db?0x0:_0x205245[_0xe5aa('0x1c')];var _0x31bf10=_0x49d1db?_0x1f0a40[_0xe5aa('0x1d')]:_0x205245[_0xe5aa('0x1c')]+_0x205245[_0xe5aa('0x1b')];var _0x5ac52d;if(_0x31bf10>=_0xeb6b6c){_0x31bf10=_0xeb6b6c;_0x5ac52d=0xc8;}else{_0x5ac52d=0xce;}_0x205142[_0xe5aa('0x17')](_0x5ac52d);return _0x205142['set']('Content-Range',_0x200a3a+'-'+_0x31bf10+'/'+_0xeb6b6c)[_0xe5aa('0x19')](_0x1f0a40);}return null;};}function patchUpdates(_0x2fabbf){return function(_0x19aceb){try{jsonpatch['apply'](_0x19aceb,_0x2fabbf,!![]);}catch(_0xddab0d){return BPromise[_0xe5aa('0x1e')](_0xddab0d);}return _0x19aceb[_0xe5aa('0x1f')]();};}function saveUpdates(_0x2bcfe9,_0x42fb4b){return function(_0x30cd8c){if(_0x30cd8c){return _0x30cd8c[_0xe5aa('0x20')](_0x2bcfe9)[_0xe5aa('0x21')](function(_0x1d7f9a){return _0x1d7f9a;});}return null;};}function removeEntity(_0x5175df,_0x573a64){return function(_0x37317a){if(_0x37317a){return _0x37317a[_0xe5aa('0x22')]()[_0xe5aa('0x21')](function(){_0x5175df[_0xe5aa('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x394e80,_0x2b5b75){return function(_0x19cabe){if(!_0x19cabe){_0x394e80['sendStatus'](0x194);}return _0x19cabe;};}function handleError(_0x5a728e,_0x446574){_0x446574=_0x446574||0x1f4;return function(_0x343c39){logger[_0xe5aa('0x23')](_0x343c39['stack']);if(_0x343c39[_0xe5aa('0x24')]){delete _0x343c39[_0xe5aa('0x24')];}_0x5a728e[_0xe5aa('0x17')](_0x446574)[_0xe5aa('0x25')](_0x343c39);};}exports['index']=function(_0x519f3c,_0x3fc2f4){var _0x28fb71={},_0x546c8d={},_0x23d10a={'count':0x0,'rows':[]};var _0x3fa338=_[_0xe5aa('0x26')](db[_0xe5aa('0x27')][_0xe5aa('0x28')],function(_0x35c2e8){return{'name':_0x35c2e8[_0xe5aa('0x29')],'type':_0x35c2e8['type'][_0xe5aa('0x2a')]};});_0x546c8d[_0xe5aa('0x2b')]=_[_0xe5aa('0x2c')](_[_0xe5aa('0x26')](_0x3fa338,_0xe5aa('0x24')),[_0xe5aa('0x24')]);_0x546c8d[_0xe5aa('0x2d')]=_[_0xe5aa('0x2e')](_0x519f3c[_0xe5aa('0x2d')]);_0x546c8d[_0xe5aa('0x2f')]=_[_0xe5aa('0x30')](_0x546c8d[_0xe5aa('0x2b')],_0x546c8d[_0xe5aa('0x2d')]);_0x28fb71[_0xe5aa('0x31')]=_[_0xe5aa('0x30')](_0x546c8d[_0xe5aa('0x2b')],qs[_0xe5aa('0x32')](_0x519f3c['query'][_0xe5aa('0x32')]));_0x28fb71['attributes']=_0x28fb71['attributes'][_0xe5aa('0x33')]?_0x28fb71[_0xe5aa('0x31')]:_0x546c8d[_0xe5aa('0x2b')];if(!_0x519f3c[_0xe5aa('0x2d')][_0xe5aa('0x34')](_0xe5aa('0x35'))){_0x28fb71[_0xe5aa('0x1b')]=qs[_0xe5aa('0x1b')](_0x519f3c['query']['limit']);_0x28fb71[_0xe5aa('0x1c')]=qs[_0xe5aa('0x1c')](_0x519f3c[_0xe5aa('0x2d')][_0xe5aa('0x1c')]);}_0x28fb71[_0xe5aa('0x36')]=qs[_0xe5aa('0x37')](_0x519f3c[_0xe5aa('0x2d')][_0xe5aa('0x37')]);_0x28fb71[_0xe5aa('0x38')]=qs[_0xe5aa('0x2f')](_[_0xe5aa('0x39')](_0x519f3c[_0xe5aa('0x2d')],_0x546c8d[_0xe5aa('0x2f')]),_0x3fa338);if(_0x519f3c[_0xe5aa('0x2d')][_0xe5aa('0x3a')]){_0x28fb71[_0xe5aa('0x38')]=_[_0xe5aa('0x3b')](_0x28fb71['where'],{'$or':_[_0xe5aa('0x26')](_0x3fa338,function(_0x3c7599){if(_0x3c7599[_0xe5aa('0x3c')]!==_0xe5aa('0x3d')){var _0x1049e3={};_0x1049e3[_0x3c7599['name']]={'$like':'%'+_0x519f3c[_0xe5aa('0x2d')][_0xe5aa('0x3a')]+'%'};return _0x1049e3;}})});}_0x28fb71=_['merge']({},_0x28fb71,_0x519f3c[_0xe5aa('0x3e')]);var _0x2eccbf={'where':_0x28fb71[_0xe5aa('0x38')]};return db['CmCustomField'][_0xe5aa('0x1d')](_0x2eccbf)['then'](function(_0x8e7997){_0x23d10a[_0xe5aa('0x1d')]=_0x8e7997;if(_0x519f3c[_0xe5aa('0x2d')]['includeAll']){_0x28fb71['include']=[{'all':!![]}];}return db[_0xe5aa('0x27')][_0xe5aa('0x3f')](_0x28fb71);})[_0xe5aa('0x21')](function(_0x526f40){_0x23d10a[_0xe5aa('0x40')]=_0x526f40;return _0x23d10a;})[_0xe5aa('0x21')](respondWithFilteredResult(_0x3fc2f4,_0x28fb71))[_0xe5aa('0x41')](handleError(_0x3fc2f4,null));};exports[_0xe5aa('0x42')]=function(_0x296e75,_0x4a0b49){var _0x1974c1={'raw':!![],'where':{'id':_0x296e75[_0xe5aa('0x43')]['id']}},_0x40b2a2={};_0x40b2a2['model']=_[_0xe5aa('0x2e')](db['CmCustomField'][_0xe5aa('0x28')]);_0x40b2a2[_0xe5aa('0x2d')]=_[_0xe5aa('0x2e')](_0x296e75['query']);_0x40b2a2[_0xe5aa('0x2f')]=_[_0xe5aa('0x30')](_0x40b2a2[_0xe5aa('0x2b')],_0x40b2a2['query']);_0x1974c1[_0xe5aa('0x31')]=_[_0xe5aa('0x30')](_0x40b2a2[_0xe5aa('0x2b')],qs[_0xe5aa('0x32')](_0x296e75[_0xe5aa('0x2d')][_0xe5aa('0x32')]));_0x1974c1['attributes']=_0x1974c1[_0xe5aa('0x31')][_0xe5aa('0x33')]?_0x1974c1[_0xe5aa('0x31')]:_0x40b2a2[_0xe5aa('0x2b')];if(_0x296e75[_0xe5aa('0x2d')][_0xe5aa('0x44')]){_0x1974c1[_0xe5aa('0x45')]=[{'all':!![]}];}_0x1974c1=_[_0xe5aa('0x3b')]({},_0x1974c1,_0x296e75['options']);return db[_0xe5aa('0x27')]['find'](_0x1974c1)[_0xe5aa('0x21')](handleEntityNotFound(_0x4a0b49,null))[_0xe5aa('0x21')](respondWithResult(_0x4a0b49,null))['catch'](handleError(_0x4a0b49,null));};exports[_0xe5aa('0x20')]=function(_0x1bec84,_0x125b7f){if(_0x1bec84[_0xe5aa('0x46')]['id']){delete _0x1bec84[_0xe5aa('0x46')]['id'];}return db['CmCustomField']['find']({'where':{'id':_0x1bec84[_0xe5aa('0x43')]['id']}})[_0xe5aa('0x21')](handleEntityNotFound(_0x125b7f,null))[_0xe5aa('0x21')](saveUpdates(_0x1bec84[_0xe5aa('0x46')],null))[_0xe5aa('0x21')](respondWithResult(_0x125b7f,null))[_0xe5aa('0x41')](handleError(_0x125b7f,null));};exports['destroy']=function(_0x1dc318,_0x1a686f){return db[_0xe5aa('0x27')][_0xe5aa('0x47')]({'where':{'id':_0x1dc318['params']['id']}})['then'](handleEntityNotFound(_0x1a686f,null))[_0xe5aa('0x21')](removeEntity(_0x1a686f,null))[_0xe5aa('0x41')](handleError(_0x1a686f,null));};exports[_0xe5aa('0x48')]=function(_0x616a85,_0x76e92d){var _0x125e4a;return db['sequelize']['transaction'](function(_0x317f6e){return db[_0xe5aa('0x27')][_0xe5aa('0x48')](_0x616a85[_0xe5aa('0x46')],{'transaction':_0x317f6e})[_0xe5aa('0x21')](function(_0x1c656c){_0x125e4a=_0x1c656c;var _0x47ae44={'type':db[_0xe5aa('0x49')][_0xe5aa('0x4a')],'transaction':_0x317f6e};switch(_0x616a85[_0xe5aa('0x46')][_0xe5aa('0x3c')]){case'text':_0x47ae44[_0xe5aa('0x3c')]=db['Sequelize'][_0xe5aa('0x4a')];break;case _0xe5aa('0x4b'):_0x47ae44[_0xe5aa('0x3c')]=db['Sequelize'][_0xe5aa('0x4c')];break;case _0xe5aa('0x4d'):_0x47ae44[_0xe5aa('0x3c')]=db['Sequelize']['BOOLEAN'];_0x47ae44[_0xe5aa('0x4e')]=![];break;default:}return db[_0xe5aa('0x4f')][_0xe5aa('0x50')][_0xe5aa('0x51')](_0xe5aa('0x52'),util[_0xe5aa('0x53')]('cf_%d',_0x125e4a['id']),_0x47ae44);})[_0xe5aa('0x21')](function(){return _0x125e4a;});})[_0xe5aa('0x21')](respondWithResult(_0x76e92d,0xc9))[_0xe5aa('0x41')](handleError(_0x76e92d,null));};