5c145afe238cbc6eb9001dbbbf2aad12cb40dcba
[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 _0x2dae=['sort','where','pick','filter','merge','include','findAll','rows','catch','show','params','rawAttributes','includeAll','options','find','body','sequelize','transaction','create','Sequelize','type','TEXT','number','INTEGER','switch','BOOLEAN','queryInterface','addColumn','cm_contacts','cf_%d','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','sox','to-csv','ejs','lodash','squel','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','apply','reject','save','update','destroy','then','error','stack','name','index','map','CmCustomField','differenceBy','query','keys','filters','intersection','model','attributes','fields','length','nolimit','order'];(function(_0x4e9348,_0x8aaa83){var _0x50e69a=function(_0x452284){while(--_0x452284){_0x4e9348['push'](_0x4e9348['shift']());}};_0x50e69a(++_0x8aaa83);}(_0x2dae,0x73));var _0xe2da=function(_0x4b7b69,_0x3ab075){_0x4b7b69=_0x4b7b69-0x0;var _0x173b4c=_0x2dae[_0x4b7b69];return _0x173b4c;};'use strict';var pdf=require(_0xe2da('0x0'));var emlformat=require(_0xe2da('0x1'));var rimraf=require(_0xe2da('0x2'));var zipdir=require(_0xe2da('0x3'));var jsonpatch=require(_0xe2da('0x4'));var rp=require(_0xe2da('0x5'));var moment=require(_0xe2da('0x6'));var BPromise=require(_0xe2da('0x7'));var Mustache=require('mustache');var util=require('util');var path=require(_0xe2da('0x8'));var sox=require(_0xe2da('0x9'));var csv=require(_0xe2da('0xa'));var ejs=require(_0xe2da('0xb'));var fs=require('fs');var _=require(_0xe2da('0xc'));var squel=require(_0xe2da('0xd'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xe2da('0xe'));var toCsv=require('to-csv');var querystring=require(_0xe2da('0xf'));var Papa=require('papaparse');var Redis=require(_0xe2da('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xe2da('0x11'));var as=require(_0xe2da('0x12'));var hardwareService=require(_0xe2da('0x13'));var logger=require('../../config/logger')(_0xe2da('0x14'));var utils=require(_0xe2da('0x15'));var config=require(_0xe2da('0x16'));var db=require(_0xe2da('0x17'))['db'];function respondWithStatusCode(_0x2b6d4b,_0x34ecc8){_0x34ecc8=_0x34ecc8||0xcc;return function(_0x2ed7e9){if(_0x2ed7e9){return _0x2b6d4b[_0xe2da('0x18')](_0x34ecc8);}return _0x2b6d4b[_0xe2da('0x19')](_0x34ecc8)[_0xe2da('0x1a')]();};}function respondWithResult(_0x1dd70d,_0x3ae9b9){_0x3ae9b9=_0x3ae9b9||0xc8;return function(_0x25456a){if(_0x25456a){return _0x1dd70d[_0xe2da('0x19')](_0x3ae9b9)[_0xe2da('0x1b')](_0x25456a);}};}function respondWithFilteredResult(_0x538e63,_0x3f8278){return function(_0x32c96f){if(_0x32c96f){var _0x3279a2=_0x32c96f[_0xe2da('0x1c')],_0x1fd8e2=_0x3f8278[_0xe2da('0x1d')],_0x3f5a26=_0x3f8278[_0xe2da('0x1d')]+_0x3f8278[_0xe2da('0x1e')],_0x3eb9a0;if(_0x3f5a26>=_0x3279a2){_0x3f5a26=_0x3279a2;_0x3eb9a0=0xc8;}else{_0x3eb9a0=0xce;}_0x538e63['status'](_0x3eb9a0);return _0x538e63[_0xe2da('0x1f')]('Content-Range',_0x1fd8e2+'-'+_0x3f5a26+'/'+_0x3279a2)['json'](_0x32c96f);}return null;};}function patchUpdates(_0x1de2c2){return function(_0x1b4108){try{jsonpatch[_0xe2da('0x20')](_0x1b4108,_0x1de2c2,!![]);}catch(_0x519f05){return BPromise[_0xe2da('0x21')](_0x519f05);}return _0x1b4108[_0xe2da('0x22')]();};}function saveUpdates(_0x143859,_0x1e7c40){return function(_0x47a0e2){if(_0x47a0e2){return _0x47a0e2[_0xe2da('0x23')](_0x143859)['then'](function(_0x3278e1){return _0x3278e1;});}return null;};}function removeEntity(_0x3ceb74,_0x47b24f){return function(_0x2d0a29){if(_0x2d0a29){return _0x2d0a29[_0xe2da('0x24')]()[_0xe2da('0x25')](function(){_0x3ceb74[_0xe2da('0x19')](0xcc)[_0xe2da('0x1a')]();});}};}function handleEntityNotFound(_0x502613,_0x1e4337){return function(_0x38c3e0){if(!_0x38c3e0){_0x502613[_0xe2da('0x18')](0x194);}return _0x38c3e0;};}function handleError(_0x5dbe9f,_0x49acd2){_0x49acd2=_0x49acd2||0x1f4;return function(_0x579753){logger[_0xe2da('0x26')](_0x579753[_0xe2da('0x27')]);if(_0x579753['name']){delete _0x579753[_0xe2da('0x28')];}_0x5dbe9f[_0xe2da('0x19')](_0x49acd2)['send'](_0x579753);};}exports[_0xe2da('0x29')]=function(_0x286ea9,_0xaebffa){var _0x4935ed={},_0x1f9041={},_0x5eb61d={'count':0x0,'rows':[]};var _0x15ba78=_[_0xe2da('0x2a')](db[_0xe2da('0x2b')]['rawAttributes'],function(_0x19d78e){return{'name':_0x19d78e['fieldName'],'type':_0x19d78e['type']['key']};});_0x1f9041['model']=_[_0xe2da('0x2c')](_[_0xe2da('0x2a')](_0x15ba78,_0xe2da('0x28')),[_0xe2da('0x28')]);_0x1f9041[_0xe2da('0x2d')]=_[_0xe2da('0x2e')](_0x286ea9['query']);_0x1f9041[_0xe2da('0x2f')]=_[_0xe2da('0x30')](_0x1f9041[_0xe2da('0x31')],_0x1f9041[_0xe2da('0x2d')]);_0x4935ed[_0xe2da('0x32')]=_[_0xe2da('0x30')](_0x1f9041[_0xe2da('0x31')],qs[_0xe2da('0x33')](_0x286ea9['query'][_0xe2da('0x33')]));_0x4935ed[_0xe2da('0x32')]=_0x4935ed['attributes'][_0xe2da('0x34')]?_0x4935ed[_0xe2da('0x32')]:_0x1f9041[_0xe2da('0x31')];if(!_0x286ea9['query']['hasOwnProperty'](_0xe2da('0x35'))){_0x4935ed[_0xe2da('0x1e')]=qs[_0xe2da('0x1e')](_0x286ea9[_0xe2da('0x2d')][_0xe2da('0x1e')]);_0x4935ed[_0xe2da('0x1d')]=qs[_0xe2da('0x1d')](_0x286ea9[_0xe2da('0x2d')]['offset']);}_0x4935ed[_0xe2da('0x36')]=qs[_0xe2da('0x37')](_0x286ea9[_0xe2da('0x2d')][_0xe2da('0x37')]);_0x4935ed[_0xe2da('0x38')]=qs[_0xe2da('0x2f')](_[_0xe2da('0x39')](_0x286ea9[_0xe2da('0x2d')],_0x1f9041[_0xe2da('0x2f')]),_0x15ba78);if(_0x286ea9[_0xe2da('0x2d')][_0xe2da('0x3a')]){_0x4935ed[_0xe2da('0x38')]=_['merge'](_0x4935ed[_0xe2da('0x38')],{'$or':_[_0xe2da('0x2a')](_0x15ba78,function(_0x2f7999){if(_0x2f7999['type']!=='VIRTUAL'){var _0x1740f9={};_0x1740f9[_0x2f7999[_0xe2da('0x28')]]={'$like':'%'+_0x286ea9['query']['filter']+'%'};return _0x1740f9;}})});}_0x4935ed=_[_0xe2da('0x3b')]({},_0x4935ed,_0x286ea9['options']);var _0x5f031d={'where':_0x4935ed[_0xe2da('0x38')]};return db['CmCustomField'][_0xe2da('0x1c')](_0x5f031d)[_0xe2da('0x25')](function(_0xe4f5fb){_0x5eb61d['count']=_0xe4f5fb;if(_0x286ea9['query']['includeAll']){_0x4935ed[_0xe2da('0x3c')]=[{'all':!![]}];}return db[_0xe2da('0x2b')][_0xe2da('0x3d')](_0x4935ed);})['then'](function(_0x521de0){_0x5eb61d[_0xe2da('0x3e')]=_0x521de0;return _0x5eb61d;})[_0xe2da('0x25')](respondWithFilteredResult(_0xaebffa,_0x4935ed))[_0xe2da('0x3f')](handleError(_0xaebffa,null));};exports[_0xe2da('0x40')]=function(_0x36f70f,_0x822567){var _0x6b06e4={'raw':!![],'where':{'id':_0x36f70f[_0xe2da('0x41')]['id']}},_0x407788={};_0x407788['model']=_[_0xe2da('0x2e')](db[_0xe2da('0x2b')][_0xe2da('0x42')]);_0x407788[_0xe2da('0x2d')]=_[_0xe2da('0x2e')](_0x36f70f['query']);_0x407788[_0xe2da('0x2f')]=_[_0xe2da('0x30')](_0x407788[_0xe2da('0x31')],_0x407788[_0xe2da('0x2d')]);_0x6b06e4[_0xe2da('0x32')]=_[_0xe2da('0x30')](_0x407788[_0xe2da('0x31')],qs['fields'](_0x36f70f['query']['fields']));_0x6b06e4[_0xe2da('0x32')]=_0x6b06e4['attributes'][_0xe2da('0x34')]?_0x6b06e4['attributes']:_0x407788['model'];if(_0x36f70f['query'][_0xe2da('0x43')]){_0x6b06e4[_0xe2da('0x3c')]=[{'all':!![]}];}_0x6b06e4=_[_0xe2da('0x3b')]({},_0x6b06e4,_0x36f70f[_0xe2da('0x44')]);return db['CmCustomField'][_0xe2da('0x45')](_0x6b06e4)[_0xe2da('0x25')](handleEntityNotFound(_0x822567,null))[_0xe2da('0x25')](respondWithResult(_0x822567,null))['catch'](handleError(_0x822567,null));};exports['update']=function(_0x31cddf,_0xe31b21){if(_0x31cddf[_0xe2da('0x46')]['id']){delete _0x31cddf[_0xe2da('0x46')]['id'];}return db[_0xe2da('0x2b')][_0xe2da('0x45')]({'where':{'id':_0x31cddf['params']['id']}})['then'](handleEntityNotFound(_0xe31b21,null))[_0xe2da('0x25')](saveUpdates(_0x31cddf['body'],null))[_0xe2da('0x25')](respondWithResult(_0xe31b21,null))[_0xe2da('0x3f')](handleError(_0xe31b21,null));};exports[_0xe2da('0x24')]=function(_0x35c86e,_0x169c97){return db[_0xe2da('0x2b')][_0xe2da('0x45')]({'where':{'id':_0x35c86e[_0xe2da('0x41')]['id']}})[_0xe2da('0x25')](handleEntityNotFound(_0x169c97,null))['then'](removeEntity(_0x169c97,null))[_0xe2da('0x3f')](handleError(_0x169c97,null));};exports['create']=function(_0x52ed2f,_0x2b0201){var _0x25f84b;return db[_0xe2da('0x47')][_0xe2da('0x48')](function(_0x5ddb6e){return db[_0xe2da('0x2b')][_0xe2da('0x49')](_0x52ed2f[_0xe2da('0x46')],{'transaction':_0x5ddb6e})[_0xe2da('0x25')](function(_0x347279){_0x25f84b=_0x347279;var _0x3cd0e0={'type':db[_0xe2da('0x4a')]['TEXT'],'transaction':_0x5ddb6e};switch(_0x52ed2f[_0xe2da('0x46')][_0xe2da('0x4b')]){case'text':_0x3cd0e0['type']=db[_0xe2da('0x4a')][_0xe2da('0x4c')];break;case _0xe2da('0x4d'):_0x3cd0e0[_0xe2da('0x4b')]=db[_0xe2da('0x4a')][_0xe2da('0x4e')];break;case _0xe2da('0x4f'):_0x3cd0e0[_0xe2da('0x4b')]=db[_0xe2da('0x4a')][_0xe2da('0x50')];_0x3cd0e0['defaultValue']=![];break;default:}return db[_0xe2da('0x47')][_0xe2da('0x51')][_0xe2da('0x52')](_0xe2da('0x53'),util['format'](_0xe2da('0x54'),_0x25f84b['id']),_0x3cd0e0);})[_0xe2da('0x25')](function(){return _0x25f84b;});})[_0xe2da('0x25')](respondWithResult(_0x2b0201,0xc9))['catch'](handleError(_0x2b0201,null));};