203a45d06233b91fb3bae30e75dbc3dc0180a182
[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 _0xd734=['keys','length','include','find','body','create','sequelize','transaction','Sequelize','TEXT','number','INTEGER','switch','defaultValue','queryInterface','addColumn','cm_contacts','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','sox','ejs','fs-extra','lodash','squel','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','undefined','limit','count','Content-Range','json','save','update','destroy','then','status','error','name','send','index','map','CmCustomField','rawAttributes','fieldName','type','key','model','differenceBy','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','offset','sort','where','pick','filter','merge','options','includeAll','findAll','rows','catch','params'];(function(_0x48ac40,_0x1e3beb){var _0x55df02=function(_0x5e27d6){while(--_0x5e27d6){_0x48ac40['push'](_0x48ac40['shift']());}};_0x55df02(++_0x1e3beb);}(_0xd734,0x1b5));var _0x4d73=function(_0x3c1ff0,_0x3f338c){_0x3c1ff0=_0x3c1ff0-0x0;var _0x18db0d=_0xd734[_0x3c1ff0];return _0x18db0d;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x4d73('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x4d73('0x1'));var rp=require(_0x4d73('0x2'));var moment=require(_0x4d73('0x3'));var BPromise=require(_0x4d73('0x4'));var Mustache=require(_0x4d73('0x5'));var util=require('util');var path=require('path');var sox=require(_0x4d73('0x6'));var csv=require('to-csv');var ejs=require(_0x4d73('0x7'));var fs=require('fs');var fs_extra=require(_0x4d73('0x8'));var _=require(_0x4d73('0x9'));var squel=require(_0x4d73('0xa'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x4d73('0xb'));var toCsv=require(_0x4d73('0xc'));var querystring=require(_0x4d73('0xd'));var Papa=require('papaparse');var Redis=require(_0x4d73('0xe'));var authService=require(_0x4d73('0xf'));var qs=require(_0x4d73('0x10'));var as=require(_0x4d73('0x11'));var hardwareService=require(_0x4d73('0x12'));var logger=require(_0x4d73('0x13'))(_0x4d73('0x14'));var utils=require(_0x4d73('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x4d73('0x16'));var db=require(_0x4d73('0x17'))['db'];function respondWithStatusCode(_0x249a81,_0x48c80a){_0x48c80a=_0x48c80a||0xcc;return function(_0x3cc693){if(_0x3cc693){return _0x249a81[_0x4d73('0x18')](_0x48c80a);}return _0x249a81['status'](_0x48c80a)[_0x4d73('0x19')]();};}function respondWithResult(_0x3c3c74,_0x42773c){_0x42773c=_0x42773c||0xc8;return function(_0x45c988){if(_0x45c988){return _0x3c3c74['status'](_0x42773c)['json'](_0x45c988);}};}function respondWithFilteredResult(_0xab70e6,_0x46d35e){return function(_0x164d6b){if(_0x164d6b){var _0x295a5b=typeof _0x46d35e['offset']===_0x4d73('0x1a')&&typeof _0x46d35e[_0x4d73('0x1b')]===_0x4d73('0x1a');var _0x1408b0=_0x164d6b[_0x4d73('0x1c')];var _0x35eaf3=_0x295a5b?0x0:_0x46d35e['offset'];var _0x439096=_0x295a5b?_0x164d6b['count']:_0x46d35e['offset']+_0x46d35e['limit'];var _0x5ee0f5;if(_0x439096>=_0x1408b0){_0x439096=_0x1408b0;_0x5ee0f5=0xc8;}else{_0x5ee0f5=0xce;}_0xab70e6['status'](_0x5ee0f5);return _0xab70e6['set'](_0x4d73('0x1d'),_0x35eaf3+'-'+_0x439096+'/'+_0x1408b0)[_0x4d73('0x1e')](_0x164d6b);}return null;};}function patchUpdates(_0x5d120d){return function(_0x5833f8){try{jsonpatch['apply'](_0x5833f8,_0x5d120d,!![]);}catch(_0x59aa7d){return BPromise['reject'](_0x59aa7d);}return _0x5833f8[_0x4d73('0x1f')]();};}function saveUpdates(_0xe54ae0,_0x5158f7){return function(_0x4e89fa){if(_0x4e89fa){return _0x4e89fa[_0x4d73('0x20')](_0xe54ae0)['then'](function(_0x4004ee){return _0x4004ee;});}return null;};}function removeEntity(_0x405f15,_0x2ba33f){return function(_0x40433b){if(_0x40433b){return _0x40433b[_0x4d73('0x21')]()[_0x4d73('0x22')](function(){_0x405f15[_0x4d73('0x23')](0xcc)[_0x4d73('0x19')]();});}};}function handleEntityNotFound(_0x2a3d73,_0x1f5a9a){return function(_0x50a949){if(!_0x50a949){_0x2a3d73[_0x4d73('0x18')](0x194);}return _0x50a949;};}function handleError(_0x466e10,_0x4fcff3){_0x4fcff3=_0x4fcff3||0x1f4;return function(_0x22efe9){logger[_0x4d73('0x24')](_0x22efe9['stack']);if(_0x22efe9[_0x4d73('0x25')]){delete _0x22efe9[_0x4d73('0x25')];}_0x466e10['status'](_0x4fcff3)[_0x4d73('0x26')](_0x22efe9);};}exports[_0x4d73('0x27')]=function(_0x407815,_0x680056){var _0xc1a78f={},_0x370f22={},_0x59ed6e={'count':0x0,'rows':[]};var _0x2a5993=_[_0x4d73('0x28')](db[_0x4d73('0x29')][_0x4d73('0x2a')],function(_0x5e8fc1){return{'name':_0x5e8fc1[_0x4d73('0x2b')],'type':_0x5e8fc1[_0x4d73('0x2c')][_0x4d73('0x2d')]};});_0x370f22[_0x4d73('0x2e')]=_[_0x4d73('0x2f')](_['map'](_0x2a5993,_0x4d73('0x25')),[_0x4d73('0x25')]);_0x370f22[_0x4d73('0x30')]=_['keys'](_0x407815['query']);_0x370f22[_0x4d73('0x31')]=_[_0x4d73('0x32')](_0x370f22[_0x4d73('0x2e')],_0x370f22[_0x4d73('0x30')]);_0xc1a78f[_0x4d73('0x33')]=_[_0x4d73('0x32')](_0x370f22['model'],qs['fields'](_0x407815['query'][_0x4d73('0x34')]));_0xc1a78f[_0x4d73('0x33')]=_0xc1a78f[_0x4d73('0x33')]['length']?_0xc1a78f[_0x4d73('0x33')]:_0x370f22['model'];if(!_0x407815[_0x4d73('0x30')][_0x4d73('0x35')](_0x4d73('0x36'))){_0xc1a78f[_0x4d73('0x1b')]=qs[_0x4d73('0x1b')](_0x407815[_0x4d73('0x30')][_0x4d73('0x1b')]);_0xc1a78f[_0x4d73('0x37')]=qs[_0x4d73('0x37')](_0x407815[_0x4d73('0x30')][_0x4d73('0x37')]);}_0xc1a78f['order']=qs[_0x4d73('0x38')](_0x407815['query'][_0x4d73('0x38')]);_0xc1a78f[_0x4d73('0x39')]=qs[_0x4d73('0x31')](_[_0x4d73('0x3a')](_0x407815['query'],_0x370f22[_0x4d73('0x31')]),_0x2a5993);if(_0x407815[_0x4d73('0x30')][_0x4d73('0x3b')]){_0xc1a78f[_0x4d73('0x39')]=_[_0x4d73('0x3c')](_0xc1a78f[_0x4d73('0x39')],{'$or':_[_0x4d73('0x28')](_0x2a5993,function(_0x84ec0e){if(_0x84ec0e[_0x4d73('0x2c')]!=='VIRTUAL'){var _0x48f53e={};_0x48f53e[_0x84ec0e[_0x4d73('0x25')]]={'$like':'%'+_0x407815[_0x4d73('0x30')]['filter']+'%'};return _0x48f53e;}})});}_0xc1a78f=_['merge']({},_0xc1a78f,_0x407815[_0x4d73('0x3d')]);var _0x4e0300={'where':_0xc1a78f[_0x4d73('0x39')]};return db[_0x4d73('0x29')][_0x4d73('0x1c')](_0x4e0300)[_0x4d73('0x22')](function(_0xf96cee){_0x59ed6e['count']=_0xf96cee;if(_0x407815[_0x4d73('0x30')][_0x4d73('0x3e')]){_0xc1a78f['include']=[{'all':!![]}];}return db['CmCustomField'][_0x4d73('0x3f')](_0xc1a78f);})[_0x4d73('0x22')](function(_0x300503){_0x59ed6e[_0x4d73('0x40')]=_0x300503;return _0x59ed6e;})['then'](respondWithFilteredResult(_0x680056,_0xc1a78f))[_0x4d73('0x41')](handleError(_0x680056,null));};exports['show']=function(_0x581dee,_0x1d38ff){var _0x7ade83={'raw':!![],'where':{'id':_0x581dee[_0x4d73('0x42')]['id']}},_0x5ec0d8={};_0x5ec0d8[_0x4d73('0x2e')]=_[_0x4d73('0x43')](db['CmCustomField'][_0x4d73('0x2a')]);_0x5ec0d8[_0x4d73('0x30')]=_[_0x4d73('0x43')](_0x581dee['query']);_0x5ec0d8[_0x4d73('0x31')]=_[_0x4d73('0x32')](_0x5ec0d8['model'],_0x5ec0d8[_0x4d73('0x30')]);_0x7ade83['attributes']=_[_0x4d73('0x32')](_0x5ec0d8[_0x4d73('0x2e')],qs[_0x4d73('0x34')](_0x581dee[_0x4d73('0x30')][_0x4d73('0x34')]));_0x7ade83[_0x4d73('0x33')]=_0x7ade83[_0x4d73('0x33')][_0x4d73('0x44')]?_0x7ade83[_0x4d73('0x33')]:_0x5ec0d8['model'];if(_0x581dee[_0x4d73('0x30')][_0x4d73('0x3e')]){_0x7ade83[_0x4d73('0x45')]=[{'all':!![]}];}_0x7ade83=_['merge']({},_0x7ade83,_0x581dee[_0x4d73('0x3d')]);return db[_0x4d73('0x29')][_0x4d73('0x46')](_0x7ade83)[_0x4d73('0x22')](handleEntityNotFound(_0x1d38ff,null))[_0x4d73('0x22')](respondWithResult(_0x1d38ff,null))[_0x4d73('0x41')](handleError(_0x1d38ff,null));};exports[_0x4d73('0x20')]=function(_0x9faf96,_0xaac909){if(_0x9faf96['body']['id']){delete _0x9faf96[_0x4d73('0x47')]['id'];}return db[_0x4d73('0x29')]['find']({'where':{'id':_0x9faf96[_0x4d73('0x42')]['id']}})[_0x4d73('0x22')](handleEntityNotFound(_0xaac909,null))['then'](saveUpdates(_0x9faf96[_0x4d73('0x47')],null))[_0x4d73('0x22')](respondWithResult(_0xaac909,null))[_0x4d73('0x41')](handleError(_0xaac909,null));};exports[_0x4d73('0x21')]=function(_0x58a7f0,_0x125674){return db[_0x4d73('0x29')][_0x4d73('0x46')]({'where':{'id':_0x58a7f0[_0x4d73('0x42')]['id']}})[_0x4d73('0x22')](handleEntityNotFound(_0x125674,null))['then'](removeEntity(_0x125674,null))[_0x4d73('0x41')](handleError(_0x125674,null));};exports[_0x4d73('0x48')]=function(_0x3fd56d,_0x462f3c){var _0x4530fe;return db[_0x4d73('0x49')][_0x4d73('0x4a')](function(_0x6f6f46){return db[_0x4d73('0x29')][_0x4d73('0x48')](_0x3fd56d[_0x4d73('0x47')],{'transaction':_0x6f6f46})[_0x4d73('0x22')](function(_0x42e0c3){_0x4530fe=_0x42e0c3;var _0x5d9f31={'type':db[_0x4d73('0x4b')][_0x4d73('0x4c')],'transaction':_0x6f6f46};switch(_0x3fd56d[_0x4d73('0x47')]['type']){case'text':_0x5d9f31[_0x4d73('0x2c')]=db[_0x4d73('0x4b')][_0x4d73('0x4c')];break;case _0x4d73('0x4d'):_0x5d9f31[_0x4d73('0x2c')]=db[_0x4d73('0x4b')][_0x4d73('0x4e')];break;case _0x4d73('0x4f'):_0x5d9f31[_0x4d73('0x2c')]=db[_0x4d73('0x4b')]['BOOLEAN'];_0x5d9f31[_0x4d73('0x50')]=![];break;default:}return db[_0x4d73('0x49')][_0x4d73('0x51')][_0x4d73('0x52')](_0x4d73('0x53'),util['format']('cf_%d',_0x4530fe['id']),_0x5d9f31);})[_0x4d73('0x22')](function(){return _0x4530fe;});})['then'](respondWithResult(_0x462f3c,0xc9))[_0x4d73('0x41')](handleError(_0x462f3c,null));};