Built motion from commit 9d1906d1.|2.5.40
[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 _0x88c3=['include','findAll','params','keys','find','update','body','catch','create','sequelize','transaction','Sequelize','text','INTEGER','switch','BOOLEAN','defaultValue','queryInterface','cm_contacts','format','eml-format','zip-dir','moment','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','json','offset','limit','count','set','Content-Range','reject','then','destroy','end','stack','name','send','index','rawAttributes','fieldName','key','model','differenceBy','query','intersection','attributes','fields','length','sort','where','filters','pick','filter','map','type','merge','options','CmCustomField','includeAll'];(function(_0x217523,_0x5d793a){var _0x43e3e1=function(_0x477f77){while(--_0x477f77){_0x217523['push'](_0x217523['shift']());}};_0x43e3e1(++_0x5d793a);}(_0x88c3,0x1ee));var _0x388c=function(_0x3f7b5d,_0x2c40d9){_0x3f7b5d=_0x3f7b5d-0x0;var _0x31dfad=_0x88c3[_0x3f7b5d];return _0x31dfad;};'use strict';var emlformat=require(_0x388c('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x388c('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x388c('0x2'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x388c('0x3'));var path=require(_0x388c('0x4'));var sox=require(_0x388c('0x5'));var csv=require(_0x388c('0x6'));var ejs=require(_0x388c('0x7'));var fs=require('fs');var fs_extra=require(_0x388c('0x8'));var _=require('lodash');var squel=require(_0x388c('0x9'));var crypto=require(_0x388c('0xa'));var jsforce=require(_0x388c('0xb'));var deskjs=require(_0x388c('0xc'));var toCsv=require(_0x388c('0x6'));var querystring=require(_0x388c('0xd'));var Papa=require(_0x388c('0xe'));var Redis=require(_0x388c('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x388c('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x388c('0x11'))(_0x388c('0x12'));var utils=require(_0x388c('0x13'));var config=require(_0x388c('0x14'));var licenseUtil=require(_0x388c('0x15'));var db=require(_0x388c('0x16'))['db'];function respondWithStatusCode(_0x462e13,_0x45a3fe){_0x45a3fe=_0x45a3fe||0xcc;return function(_0x262ed1){if(_0x262ed1){return _0x462e13['sendStatus'](_0x45a3fe);}return _0x462e13['status'](_0x45a3fe)['end']();};}function respondWithResult(_0x40c710,_0x41bf59){_0x41bf59=_0x41bf59||0xc8;return function(_0x50e78e){if(_0x50e78e){return _0x40c710[_0x388c('0x17')](_0x41bf59)[_0x388c('0x18')](_0x50e78e);}};}function respondWithFilteredResult(_0x5808fd,_0x56eb71){return function(_0x76001f){if(_0x76001f){var _0x3c5444=typeof _0x56eb71[_0x388c('0x19')]==='undefined'&&typeof _0x56eb71[_0x388c('0x1a')]==='undefined';var _0x6a080c=_0x76001f[_0x388c('0x1b')];var _0x50ff33=_0x3c5444?0x0:_0x56eb71['offset'];var _0x36f18a=_0x3c5444?_0x76001f[_0x388c('0x1b')]:_0x56eb71[_0x388c('0x19')]+_0x56eb71['limit'];var _0x4e780b;if(_0x36f18a>=_0x6a080c){_0x36f18a=_0x6a080c;_0x4e780b=0xc8;}else{_0x4e780b=0xce;}_0x5808fd['status'](_0x4e780b);return _0x5808fd[_0x388c('0x1c')](_0x388c('0x1d'),_0x50ff33+'-'+_0x36f18a+'/'+_0x6a080c)[_0x388c('0x18')](_0x76001f);}return null;};}function patchUpdates(_0x5b3031){return function(_0x4a1f36){try{jsonpatch['apply'](_0x4a1f36,_0x5b3031,!![]);}catch(_0x53d0fb){return BPromise[_0x388c('0x1e')](_0x53d0fb);}return _0x4a1f36['save']();};}function saveUpdates(_0xfff1f5,_0x56e67b){return function(_0x382d97){if(_0x382d97){return _0x382d97['update'](_0xfff1f5)[_0x388c('0x1f')](function(_0x5a0a0b){return _0x5a0a0b;});}return null;};}function removeEntity(_0x460d77,_0x348bcd){return function(_0x12626e){if(_0x12626e){return _0x12626e[_0x388c('0x20')]()[_0x388c('0x1f')](function(){_0x460d77[_0x388c('0x17')](0xcc)[_0x388c('0x21')]();});}};}function handleEntityNotFound(_0x7ee3c8,_0x24b6a1){return function(_0x522ecd){if(!_0x522ecd){_0x7ee3c8['sendStatus'](0x194);}return _0x522ecd;};}function handleError(_0x1adb17,_0x4edc73){_0x4edc73=_0x4edc73||0x1f4;return function(_0x4d6589){logger['error'](_0x4d6589[_0x388c('0x22')]);if(_0x4d6589[_0x388c('0x23')]){delete _0x4d6589[_0x388c('0x23')];}_0x1adb17[_0x388c('0x17')](_0x4edc73)[_0x388c('0x24')](_0x4d6589);};}exports[_0x388c('0x25')]=function(_0x3032f5,_0x3fbd23){var _0x586856={},_0x45adf9={},_0x43e7fc={'count':0x0,'rows':[]};var _0x271192=_['map'](db['CmCustomField'][_0x388c('0x26')],function(_0x1ea707){return{'name':_0x1ea707[_0x388c('0x27')],'type':_0x1ea707['type'][_0x388c('0x28')]};});_0x45adf9[_0x388c('0x29')]=_[_0x388c('0x2a')](_['map'](_0x271192,_0x388c('0x23')),[_0x388c('0x23')]);_0x45adf9[_0x388c('0x2b')]=_['keys'](_0x3032f5['query']);_0x45adf9['filters']=_[_0x388c('0x2c')](_0x45adf9[_0x388c('0x29')],_0x45adf9['query']);_0x586856[_0x388c('0x2d')]=_[_0x388c('0x2c')](_0x45adf9['model'],qs[_0x388c('0x2e')](_0x3032f5[_0x388c('0x2b')][_0x388c('0x2e')]));_0x586856[_0x388c('0x2d')]=_0x586856[_0x388c('0x2d')][_0x388c('0x2f')]?_0x586856['attributes']:_0x45adf9[_0x388c('0x29')];if(!_0x3032f5['query']['hasOwnProperty']('nolimit')){_0x586856[_0x388c('0x1a')]=qs[_0x388c('0x1a')](_0x3032f5[_0x388c('0x2b')][_0x388c('0x1a')]);_0x586856[_0x388c('0x19')]=qs[_0x388c('0x19')](_0x3032f5[_0x388c('0x2b')]['offset']);}_0x586856['order']=qs[_0x388c('0x30')](_0x3032f5[_0x388c('0x2b')][_0x388c('0x30')]);_0x586856[_0x388c('0x31')]=qs[_0x388c('0x32')](_[_0x388c('0x33')](_0x3032f5[_0x388c('0x2b')],_0x45adf9[_0x388c('0x32')]),_0x271192);if(_0x3032f5[_0x388c('0x2b')][_0x388c('0x34')]){_0x586856[_0x388c('0x31')]=_['merge'](_0x586856[_0x388c('0x31')],{'$or':_[_0x388c('0x35')](_0x271192,function(_0x543b54){if(_0x543b54[_0x388c('0x36')]!=='VIRTUAL'){var _0x290701={};_0x290701[_0x543b54[_0x388c('0x23')]]={'$like':'%'+_0x3032f5[_0x388c('0x2b')]['filter']+'%'};return _0x290701;}})});}_0x586856=_[_0x388c('0x37')]({},_0x586856,_0x3032f5[_0x388c('0x38')]);var _0x5d2023={'where':_0x586856[_0x388c('0x31')]};return db[_0x388c('0x39')]['count'](_0x5d2023)[_0x388c('0x1f')](function(_0x250c76){_0x43e7fc[_0x388c('0x1b')]=_0x250c76;if(_0x3032f5[_0x388c('0x2b')][_0x388c('0x3a')]){_0x586856[_0x388c('0x3b')]=[{'all':!![]}];}return db[_0x388c('0x39')][_0x388c('0x3c')](_0x586856);})['then'](function(_0x4b2990){_0x43e7fc['rows']=_0x4b2990;return _0x43e7fc;})[_0x388c('0x1f')](respondWithFilteredResult(_0x3fbd23,_0x586856))['catch'](handleError(_0x3fbd23,null));};exports['show']=function(_0x12dfde,_0x123eb8){var _0x172ac7={'raw':!![],'where':{'id':_0x12dfde[_0x388c('0x3d')]['id']}},_0x4efa11={};_0x4efa11[_0x388c('0x29')]=_['keys'](db[_0x388c('0x39')][_0x388c('0x26')]);_0x4efa11['query']=_[_0x388c('0x3e')](_0x12dfde['query']);_0x4efa11[_0x388c('0x32')]=_['intersection'](_0x4efa11[_0x388c('0x29')],_0x4efa11[_0x388c('0x2b')]);_0x172ac7[_0x388c('0x2d')]=_[_0x388c('0x2c')](_0x4efa11[_0x388c('0x29')],qs[_0x388c('0x2e')](_0x12dfde[_0x388c('0x2b')]['fields']));_0x172ac7[_0x388c('0x2d')]=_0x172ac7[_0x388c('0x2d')]['length']?_0x172ac7[_0x388c('0x2d')]:_0x4efa11[_0x388c('0x29')];if(_0x12dfde[_0x388c('0x2b')][_0x388c('0x3a')]){_0x172ac7['include']=[{'all':!![]}];}_0x172ac7=_['merge']({},_0x172ac7,_0x12dfde['options']);return db[_0x388c('0x39')][_0x388c('0x3f')](_0x172ac7)[_0x388c('0x1f')](handleEntityNotFound(_0x123eb8,null))[_0x388c('0x1f')](respondWithResult(_0x123eb8,null))['catch'](handleError(_0x123eb8,null));};exports[_0x388c('0x40')]=function(_0x309c9f,_0xc54d8){if(_0x309c9f[_0x388c('0x41')]['id']){delete _0x309c9f[_0x388c('0x41')]['id'];}return db[_0x388c('0x39')][_0x388c('0x3f')]({'where':{'id':_0x309c9f['params']['id']}})[_0x388c('0x1f')](handleEntityNotFound(_0xc54d8,null))[_0x388c('0x1f')](saveUpdates(_0x309c9f[_0x388c('0x41')],null))[_0x388c('0x1f')](respondWithResult(_0xc54d8,null))[_0x388c('0x42')](handleError(_0xc54d8,null));};exports[_0x388c('0x20')]=function(_0x57d1d1,_0x25830a){return db[_0x388c('0x39')][_0x388c('0x3f')]({'where':{'id':_0x57d1d1[_0x388c('0x3d')]['id']}})[_0x388c('0x1f')](handleEntityNotFound(_0x25830a,null))[_0x388c('0x1f')](removeEntity(_0x25830a,null))[_0x388c('0x42')](handleError(_0x25830a,null));};exports[_0x388c('0x43')]=function(_0x2a09ef,_0xb37e04){var _0xbd5b40;return db[_0x388c('0x44')][_0x388c('0x45')](function(_0x6fd1ac){return db[_0x388c('0x39')][_0x388c('0x43')](_0x2a09ef['body'],{'transaction':_0x6fd1ac})[_0x388c('0x1f')](function(_0x46eb33){_0xbd5b40=_0x46eb33;var _0x2ac473={'type':db[_0x388c('0x46')]['TEXT'],'transaction':_0x6fd1ac};switch(_0x2a09ef[_0x388c('0x41')]['type']){case _0x388c('0x47'):_0x2ac473[_0x388c('0x36')]=db['Sequelize']['TEXT'];break;case'number':_0x2ac473[_0x388c('0x36')]=db['Sequelize'][_0x388c('0x48')];break;case _0x388c('0x49'):_0x2ac473[_0x388c('0x36')]=db[_0x388c('0x46')][_0x388c('0x4a')];_0x2ac473[_0x388c('0x4b')]=![];break;default:}return db[_0x388c('0x44')][_0x388c('0x4c')]['addColumn'](_0x388c('0x4d'),util[_0x388c('0x4e')]('cf_%d',_0xbd5b40['id']),_0x2ac473);})[_0x388c('0x1f')](function(){return _0xbd5b40;});})[_0x388c('0x1f')](respondWithResult(_0xb37e04,0xc9))[_0x388c('0x42')](handleError(_0xb37e04,null));};