398f160e7b9c1a23ff9d0ee80109638908cac1d9
[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 _0x482d=['apply','then','destroy','error','name','send','map','CmCustomField','rawAttributes','type','key','model','differenceBy','query','filters','intersection','fields','attributes','sort','where','pick','merge','VIRTUAL','filter','options','include','findAll','rows','catch','params','keys','includeAll','find','update','body','sequelize','create','Sequelize','TEXT','text','INTEGER','switch','BOOLEAN','defaultValue','queryInterface','cm_contacts','format','cf_%d','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','ejs','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','count','offset','limit','Content-Range','json'];(function(_0x119b97,_0x305337){var _0x46e702=function(_0x2cf740){while(--_0x2cf740){_0x119b97['push'](_0x119b97['shift']());}};_0x46e702(++_0x305337);}(_0x482d,0x16c));var _0xd482=function(_0x4aa836,_0xd831b){_0x4aa836=_0x4aa836-0x0;var _0xf73840=_0x482d[_0x4aa836];return _0xf73840;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xd482('0x0'));var zipdir=require(_0xd482('0x1'));var jsonpatch=require(_0xd482('0x2'));var rp=require(_0xd482('0x3'));var moment=require(_0xd482('0x4'));var BPromise=require(_0xd482('0x5'));var Mustache=require('mustache');var util=require(_0xd482('0x6'));var path=require(_0xd482('0x7'));var sox=require(_0xd482('0x8'));var csv=require('to-csv');var ejs=require(_0xd482('0x9'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xd482('0xa'));var deskjs=require(_0xd482('0xb'));var toCsv=require(_0xd482('0xc'));var querystring=require('querystring');var Papa=require(_0xd482('0xd'));var Redis=require(_0xd482('0xe'));var authService=require(_0xd482('0xf'));var qs=require(_0xd482('0x10'));var as=require(_0xd482('0x11'));var hardwareService=require(_0xd482('0x12'));var logger=require(_0xd482('0x13'))(_0xd482('0x14'));var utils=require('../../config/utils');var config=require(_0xd482('0x15'));var licenseUtil=require(_0xd482('0x16'));var db=require(_0xd482('0x17'))['db'];function respondWithStatusCode(_0x2bde45,_0x4b2350){_0x4b2350=_0x4b2350||0xcc;return function(_0x276ba4){if(_0x276ba4){return _0x2bde45[_0xd482('0x18')](_0x4b2350);}return _0x2bde45[_0xd482('0x19')](_0x4b2350)['end']();};}function respondWithResult(_0x248c9d,_0x56d516){_0x56d516=_0x56d516||0xc8;return function(_0x5c5eaa){if(_0x5c5eaa){return _0x248c9d[_0xd482('0x19')](_0x56d516)['json'](_0x5c5eaa);}};}function respondWithFilteredResult(_0x3b6849,_0x3e7067){return function(_0x494272){if(_0x494272){var _0x3f4c2f=_0x494272[_0xd482('0x1a')],_0x138422=_0x3e7067['offset'],_0x319c97=_0x3e7067[_0xd482('0x1b')]+_0x3e7067[_0xd482('0x1c')],_0x2cc6e1;if(_0x319c97>=_0x3f4c2f){_0x319c97=_0x3f4c2f;_0x2cc6e1=0xc8;}else{_0x2cc6e1=0xce;}_0x3b6849[_0xd482('0x19')](_0x2cc6e1);return _0x3b6849['set'](_0xd482('0x1d'),_0x138422+'-'+_0x319c97+'/'+_0x3f4c2f)[_0xd482('0x1e')](_0x494272);}return null;};}function patchUpdates(_0x2caea3){return function(_0x155c35){try{jsonpatch[_0xd482('0x1f')](_0x155c35,_0x2caea3,!![]);}catch(_0x545b11){return BPromise['reject'](_0x545b11);}return _0x155c35['save']();};}function saveUpdates(_0x28d660,_0x1897a7){return function(_0x2b3d46){if(_0x2b3d46){return _0x2b3d46['update'](_0x28d660)[_0xd482('0x20')](function(_0x30aa41){return _0x30aa41;});}return null;};}function removeEntity(_0x25d72d,_0xc4b518){return function(_0x76b6ea){if(_0x76b6ea){return _0x76b6ea[_0xd482('0x21')]()[_0xd482('0x20')](function(){_0x25d72d[_0xd482('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3a6bba,_0x34c646){return function(_0x3adcb5){if(!_0x3adcb5){_0x3a6bba[_0xd482('0x18')](0x194);}return _0x3adcb5;};}function handleError(_0x3b4ac2,_0x1aa81c){_0x1aa81c=_0x1aa81c||0x1f4;return function(_0x1e68c2){logger[_0xd482('0x22')](_0x1e68c2['stack']);if(_0x1e68c2['name']){delete _0x1e68c2[_0xd482('0x23')];}_0x3b4ac2['status'](_0x1aa81c)[_0xd482('0x24')](_0x1e68c2);};}exports['index']=function(_0x47ce2d,_0x5e4bed){var _0x11ca6d={},_0x5be9b4={},_0x400cbc={'count':0x0,'rows':[]};var _0x120906=_[_0xd482('0x25')](db[_0xd482('0x26')][_0xd482('0x27')],function(_0x53a958){return{'name':_0x53a958['fieldName'],'type':_0x53a958[_0xd482('0x28')][_0xd482('0x29')]};});_0x5be9b4[_0xd482('0x2a')]=_[_0xd482('0x2b')](_['map'](_0x120906,_0xd482('0x23')),[_0xd482('0x23')]);_0x5be9b4[_0xd482('0x2c')]=_['keys'](_0x47ce2d[_0xd482('0x2c')]);_0x5be9b4[_0xd482('0x2d')]=_[_0xd482('0x2e')](_0x5be9b4['model'],_0x5be9b4[_0xd482('0x2c')]);_0x11ca6d['attributes']=_[_0xd482('0x2e')](_0x5be9b4[_0xd482('0x2a')],qs[_0xd482('0x2f')](_0x47ce2d[_0xd482('0x2c')]['fields']));_0x11ca6d[_0xd482('0x30')]=_0x11ca6d[_0xd482('0x30')]['length']?_0x11ca6d[_0xd482('0x30')]:_0x5be9b4['model'];if(!_0x47ce2d[_0xd482('0x2c')]['hasOwnProperty']('nolimit')){_0x11ca6d['limit']=qs[_0xd482('0x1c')](_0x47ce2d['query'][_0xd482('0x1c')]);_0x11ca6d[_0xd482('0x1b')]=qs[_0xd482('0x1b')](_0x47ce2d[_0xd482('0x2c')][_0xd482('0x1b')]);}_0x11ca6d['order']=qs[_0xd482('0x31')](_0x47ce2d[_0xd482('0x2c')][_0xd482('0x31')]);_0x11ca6d[_0xd482('0x32')]=qs[_0xd482('0x2d')](_[_0xd482('0x33')](_0x47ce2d[_0xd482('0x2c')],_0x5be9b4[_0xd482('0x2d')]),_0x120906);if(_0x47ce2d['query']['filter']){_0x11ca6d[_0xd482('0x32')]=_[_0xd482('0x34')](_0x11ca6d[_0xd482('0x32')],{'$or':_['map'](_0x120906,function(_0x4a1fb8){if(_0x4a1fb8[_0xd482('0x28')]!==_0xd482('0x35')){var _0x4b3654={};_0x4b3654[_0x4a1fb8['name']]={'$like':'%'+_0x47ce2d[_0xd482('0x2c')][_0xd482('0x36')]+'%'};return _0x4b3654;}})});}_0x11ca6d=_[_0xd482('0x34')]({},_0x11ca6d,_0x47ce2d[_0xd482('0x37')]);var _0x194bf4={'where':_0x11ca6d[_0xd482('0x32')]};return db[_0xd482('0x26')]['count'](_0x194bf4)[_0xd482('0x20')](function(_0x37b79d){_0x400cbc[_0xd482('0x1a')]=_0x37b79d;if(_0x47ce2d[_0xd482('0x2c')]['includeAll']){_0x11ca6d[_0xd482('0x38')]=[{'all':!![]}];}return db[_0xd482('0x26')][_0xd482('0x39')](_0x11ca6d);})[_0xd482('0x20')](function(_0x32f3d8){_0x400cbc[_0xd482('0x3a')]=_0x32f3d8;return _0x400cbc;})['then'](respondWithFilteredResult(_0x5e4bed,_0x11ca6d))[_0xd482('0x3b')](handleError(_0x5e4bed,null));};exports['show']=function(_0x5e67e7,_0x44137c){var _0x48afc0={'raw':!![],'where':{'id':_0x5e67e7[_0xd482('0x3c')]['id']}},_0x5497f7={};_0x5497f7['model']=_[_0xd482('0x3d')](db[_0xd482('0x26')][_0xd482('0x27')]);_0x5497f7[_0xd482('0x2c')]=_['keys'](_0x5e67e7[_0xd482('0x2c')]);_0x5497f7[_0xd482('0x2d')]=_[_0xd482('0x2e')](_0x5497f7[_0xd482('0x2a')],_0x5497f7['query']);_0x48afc0[_0xd482('0x30')]=_[_0xd482('0x2e')](_0x5497f7['model'],qs['fields'](_0x5e67e7[_0xd482('0x2c')][_0xd482('0x2f')]));_0x48afc0[_0xd482('0x30')]=_0x48afc0[_0xd482('0x30')]['length']?_0x48afc0[_0xd482('0x30')]:_0x5497f7[_0xd482('0x2a')];if(_0x5e67e7['query'][_0xd482('0x3e')]){_0x48afc0[_0xd482('0x38')]=[{'all':!![]}];}_0x48afc0=_[_0xd482('0x34')]({},_0x48afc0,_0x5e67e7[_0xd482('0x37')]);return db[_0xd482('0x26')][_0xd482('0x3f')](_0x48afc0)[_0xd482('0x20')](handleEntityNotFound(_0x44137c,null))[_0xd482('0x20')](respondWithResult(_0x44137c,null))[_0xd482('0x3b')](handleError(_0x44137c,null));};exports[_0xd482('0x40')]=function(_0x47d605,_0x398988){if(_0x47d605[_0xd482('0x41')]['id']){delete _0x47d605[_0xd482('0x41')]['id'];}return db[_0xd482('0x26')][_0xd482('0x3f')]({'where':{'id':_0x47d605[_0xd482('0x3c')]['id']}})[_0xd482('0x20')](handleEntityNotFound(_0x398988,null))[_0xd482('0x20')](saveUpdates(_0x47d605[_0xd482('0x41')],null))[_0xd482('0x20')](respondWithResult(_0x398988,null))['catch'](handleError(_0x398988,null));};exports[_0xd482('0x21')]=function(_0x575623,_0x4c3623){return db[_0xd482('0x26')][_0xd482('0x3f')]({'where':{'id':_0x575623['params']['id']}})['then'](handleEntityNotFound(_0x4c3623,null))['then'](removeEntity(_0x4c3623,null))[_0xd482('0x3b')](handleError(_0x4c3623,null));};exports['create']=function(_0x169948,_0x1bec16){var _0x3ff242;return db[_0xd482('0x42')]['transaction'](function(_0xfe9499){return db[_0xd482('0x26')][_0xd482('0x43')](_0x169948[_0xd482('0x41')],{'transaction':_0xfe9499})[_0xd482('0x20')](function(_0x5a5e68){_0x3ff242=_0x5a5e68;var _0x209c9f={'type':db[_0xd482('0x44')][_0xd482('0x45')],'transaction':_0xfe9499};switch(_0x169948[_0xd482('0x41')][_0xd482('0x28')]){case _0xd482('0x46'):_0x209c9f['type']=db[_0xd482('0x44')][_0xd482('0x45')];break;case'number':_0x209c9f[_0xd482('0x28')]=db['Sequelize'][_0xd482('0x47')];break;case _0xd482('0x48'):_0x209c9f[_0xd482('0x28')]=db['Sequelize'][_0xd482('0x49')];_0x209c9f[_0xd482('0x4a')]=![];break;default:}return db[_0xd482('0x42')][_0xd482('0x4b')]['addColumn'](_0xd482('0x4c'),util[_0xd482('0x4d')](_0xd482('0x4e'),_0x3ff242['id']),_0x209c9f);})[_0xd482('0x20')](function(){return _0x3ff242;});})[_0xd482('0x20')](respondWithResult(_0x1bec16,0xc9))[_0xd482('0x3b')](handleError(_0x1bec16,null));};