Built motion from commit 43538d75.|2.5.35
[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 _0x16c1=['../../config/logger','../../config/environment','../../config/license/util','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','destroy','then','sendStatus','error','stack','name','send','index','map','CmCustomField','fieldName','type','key','model','differenceBy','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','merge','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','show','params','find','body','create','Sequelize','TEXT','text','INTEGER','switch','BOOLEAN','defaultValue','addColumn','cm_contacts','cf_%d','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware'];(function(_0x7992ae,_0x3d3d55){var _0x3c2fe0=function(_0xfd98ef){while(--_0xfd98ef){_0x7992ae['push'](_0x7992ae['shift']());}};_0x3c2fe0(++_0x3d3d55);}(_0x16c1,0x1ea));var _0x116c=function(_0x2f494d,_0x149729){_0x2f494d=_0x2f494d-0x0;var _0x19d49b=_0x16c1[_0x2f494d];return _0x19d49b;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x116c('0x0'));var jsonpatch=require(_0x116c('0x1'));var rp=require(_0x116c('0x2'));var moment=require('moment');var BPromise=require(_0x116c('0x3'));var Mustache=require(_0x116c('0x4'));var util=require(_0x116c('0x5'));var path=require('path');var sox=require(_0x116c('0x6'));var csv=require(_0x116c('0x7'));var ejs=require(_0x116c('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x116c('0x9'));var squel=require(_0x116c('0xa'));var crypto=require(_0x116c('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x116c('0xc'));var toCsv=require('to-csv');var querystring=require(_0x116c('0xd'));var Papa=require(_0x116c('0xe'));var Redis=require(_0x116c('0xf'));var authService=require(_0x116c('0x10'));var qs=require(_0x116c('0x11'));var as=require(_0x116c('0x12'));var hardwareService=require(_0x116c('0x13'));var logger=require(_0x116c('0x14'))('api');var utils=require('../../config/utils');var config=require(_0x116c('0x15'));var licenseUtil=require(_0x116c('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x414c54,_0x16b0a2){_0x16b0a2=_0x16b0a2||0xcc;return function(_0x47cc67){if(_0x47cc67){return _0x414c54['sendStatus'](_0x16b0a2);}return _0x414c54[_0x116c('0x17')](_0x16b0a2)[_0x116c('0x18')]();};}function respondWithResult(_0x53919d,_0x39f475){_0x39f475=_0x39f475||0xc8;return function(_0x3b21b2){if(_0x3b21b2){return _0x53919d['status'](_0x39f475)[_0x116c('0x19')](_0x3b21b2);}};}function respondWithFilteredResult(_0x3ab92f,_0x533894){return function(_0x40ef92){if(_0x40ef92){var _0xbf3ec2=typeof _0x533894[_0x116c('0x1a')]===_0x116c('0x1b')&&typeof _0x533894[_0x116c('0x1c')]==='undefined';var _0x268d96=_0x40ef92[_0x116c('0x1d')];var _0xdfa404=_0xbf3ec2?0x0:_0x533894[_0x116c('0x1a')];var _0x290815=_0xbf3ec2?_0x40ef92[_0x116c('0x1d')]:_0x533894[_0x116c('0x1a')]+_0x533894['limit'];var _0x342c71;if(_0x290815>=_0x268d96){_0x290815=_0x268d96;_0x342c71=0xc8;}else{_0x342c71=0xce;}_0x3ab92f[_0x116c('0x17')](_0x342c71);return _0x3ab92f[_0x116c('0x1e')](_0x116c('0x1f'),_0xdfa404+'-'+_0x290815+'/'+_0x268d96)[_0x116c('0x19')](_0x40ef92);}return null;};}function patchUpdates(_0x73c5ab){return function(_0x696d2a){try{jsonpatch[_0x116c('0x20')](_0x696d2a,_0x73c5ab,!![]);}catch(_0x3eeed8){return BPromise[_0x116c('0x21')](_0x3eeed8);}return _0x696d2a['save']();};}function saveUpdates(_0x42f3cd,_0x566126){return function(_0x3230a4){if(_0x3230a4){return _0x3230a4[_0x116c('0x22')](_0x42f3cd)['then'](function(_0x503973){return _0x503973;});}return null;};}function removeEntity(_0x195a6f,_0x3dbabd){return function(_0x6b2051){if(_0x6b2051){return _0x6b2051[_0x116c('0x23')]()[_0x116c('0x24')](function(){_0x195a6f[_0x116c('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x272c37,_0x224744){return function(_0x43fcd4){if(!_0x43fcd4){_0x272c37[_0x116c('0x25')](0x194);}return _0x43fcd4;};}function handleError(_0x1335d3,_0x4698b0){_0x4698b0=_0x4698b0||0x1f4;return function(_0x17bafc){logger[_0x116c('0x26')](_0x17bafc[_0x116c('0x27')]);if(_0x17bafc[_0x116c('0x28')]){delete _0x17bafc[_0x116c('0x28')];}_0x1335d3['status'](_0x4698b0)[_0x116c('0x29')](_0x17bafc);};}exports[_0x116c('0x2a')]=function(_0x2c2e1e,_0x4ece69){var _0x1ec118={},_0x69056e={},_0x5cf940={'count':0x0,'rows':[]};var _0x548cf8=_[_0x116c('0x2b')](db[_0x116c('0x2c')]['rawAttributes'],function(_0x1a3de4){return{'name':_0x1a3de4[_0x116c('0x2d')],'type':_0x1a3de4[_0x116c('0x2e')][_0x116c('0x2f')]};});_0x69056e[_0x116c('0x30')]=_[_0x116c('0x31')](_['map'](_0x548cf8,'name'),['name']);_0x69056e[_0x116c('0x32')]=_[_0x116c('0x33')](_0x2c2e1e[_0x116c('0x32')]);_0x69056e[_0x116c('0x34')]=_[_0x116c('0x35')](_0x69056e[_0x116c('0x30')],_0x69056e[_0x116c('0x32')]);_0x1ec118['attributes']=_['intersection'](_0x69056e[_0x116c('0x30')],qs[_0x116c('0x36')](_0x2c2e1e['query']['fields']));_0x1ec118['attributes']=_0x1ec118[_0x116c('0x37')][_0x116c('0x38')]?_0x1ec118['attributes']:_0x69056e[_0x116c('0x30')];if(!_0x2c2e1e['query'][_0x116c('0x39')]('nolimit')){_0x1ec118['limit']=qs['limit'](_0x2c2e1e[_0x116c('0x32')][_0x116c('0x1c')]);_0x1ec118[_0x116c('0x1a')]=qs['offset'](_0x2c2e1e['query']['offset']);}_0x1ec118[_0x116c('0x3a')]=qs[_0x116c('0x3b')](_0x2c2e1e[_0x116c('0x32')]['sort']);_0x1ec118['where']=qs[_0x116c('0x34')](_['pick'](_0x2c2e1e[_0x116c('0x32')],_0x69056e[_0x116c('0x34')]),_0x548cf8);if(_0x2c2e1e[_0x116c('0x32')]['filter']){_0x1ec118[_0x116c('0x3c')]=_[_0x116c('0x3d')](_0x1ec118[_0x116c('0x3c')],{'$or':_[_0x116c('0x2b')](_0x548cf8,function(_0x4c969f){if(_0x4c969f['type']!==_0x116c('0x3e')){var _0x24593a={};_0x24593a[_0x4c969f['name']]={'$like':'%'+_0x2c2e1e[_0x116c('0x32')][_0x116c('0x3f')]+'%'};return _0x24593a;}})});}_0x1ec118=_[_0x116c('0x3d')]({},_0x1ec118,_0x2c2e1e[_0x116c('0x40')]);var _0x2df1e7={'where':_0x1ec118[_0x116c('0x3c')]};return db['CmCustomField'][_0x116c('0x1d')](_0x2df1e7)[_0x116c('0x24')](function(_0x1e4f34){_0x5cf940[_0x116c('0x1d')]=_0x1e4f34;if(_0x2c2e1e[_0x116c('0x32')][_0x116c('0x41')]){_0x1ec118[_0x116c('0x42')]=[{'all':!![]}];}return db[_0x116c('0x2c')][_0x116c('0x43')](_0x1ec118);})[_0x116c('0x24')](function(_0x42ad8b){_0x5cf940[_0x116c('0x44')]=_0x42ad8b;return _0x5cf940;})['then'](respondWithFilteredResult(_0x4ece69,_0x1ec118))[_0x116c('0x45')](handleError(_0x4ece69,null));};exports[_0x116c('0x46')]=function(_0x4cab,_0x6cfa97){var _0x47eb95={'raw':!![],'where':{'id':_0x4cab[_0x116c('0x47')]['id']}},_0x359193={};_0x359193['model']=_[_0x116c('0x33')](db[_0x116c('0x2c')]['rawAttributes']);_0x359193['query']=_['keys'](_0x4cab[_0x116c('0x32')]);_0x359193[_0x116c('0x34')]=_[_0x116c('0x35')](_0x359193[_0x116c('0x30')],_0x359193['query']);_0x47eb95['attributes']=_[_0x116c('0x35')](_0x359193[_0x116c('0x30')],qs[_0x116c('0x36')](_0x4cab['query'][_0x116c('0x36')]));_0x47eb95[_0x116c('0x37')]=_0x47eb95['attributes'][_0x116c('0x38')]?_0x47eb95[_0x116c('0x37')]:_0x359193['model'];if(_0x4cab[_0x116c('0x32')][_0x116c('0x41')]){_0x47eb95[_0x116c('0x42')]=[{'all':!![]}];}_0x47eb95=_[_0x116c('0x3d')]({},_0x47eb95,_0x4cab[_0x116c('0x40')]);return db['CmCustomField'][_0x116c('0x48')](_0x47eb95)['then'](handleEntityNotFound(_0x6cfa97,null))[_0x116c('0x24')](respondWithResult(_0x6cfa97,null))[_0x116c('0x45')](handleError(_0x6cfa97,null));};exports['update']=function(_0x425c11,_0xa80e16){if(_0x425c11[_0x116c('0x49')]['id']){delete _0x425c11[_0x116c('0x49')]['id'];}return db[_0x116c('0x2c')][_0x116c('0x48')]({'where':{'id':_0x425c11[_0x116c('0x47')]['id']}})[_0x116c('0x24')](handleEntityNotFound(_0xa80e16,null))[_0x116c('0x24')](saveUpdates(_0x425c11[_0x116c('0x49')],null))[_0x116c('0x24')](respondWithResult(_0xa80e16,null))[_0x116c('0x45')](handleError(_0xa80e16,null));};exports['destroy']=function(_0x100e00,_0x1a2d12){return db['CmCustomField']['find']({'where':{'id':_0x100e00[_0x116c('0x47')]['id']}})[_0x116c('0x24')](handleEntityNotFound(_0x1a2d12,null))[_0x116c('0x24')](removeEntity(_0x1a2d12,null))['catch'](handleError(_0x1a2d12,null));};exports[_0x116c('0x4a')]=function(_0x6ece56,_0x11e129){var _0x174e40;return db['sequelize']['transaction'](function(_0x367275){return db[_0x116c('0x2c')]['create'](_0x6ece56[_0x116c('0x49')],{'transaction':_0x367275})[_0x116c('0x24')](function(_0x28e61d){_0x174e40=_0x28e61d;var _0x53e5e3={'type':db[_0x116c('0x4b')][_0x116c('0x4c')],'transaction':_0x367275};switch(_0x6ece56[_0x116c('0x49')][_0x116c('0x2e')]){case _0x116c('0x4d'):_0x53e5e3[_0x116c('0x2e')]=db['Sequelize'][_0x116c('0x4c')];break;case'number':_0x53e5e3[_0x116c('0x2e')]=db['Sequelize'][_0x116c('0x4e')];break;case _0x116c('0x4f'):_0x53e5e3[_0x116c('0x2e')]=db[_0x116c('0x4b')][_0x116c('0x50')];_0x53e5e3[_0x116c('0x51')]=![];break;default:}return db['sequelize']['queryInterface'][_0x116c('0x52')](_0x116c('0x53'),util['format'](_0x116c('0x54'),_0x174e40['id']),_0x53e5e3);})['then'](function(){return _0x174e40;});})[_0x116c('0x24')](respondWithResult(_0x11e129,0xc9))['catch'](handleError(_0x11e129,null));};