4df5cb2c73c7d621d3f878c672f5b0a8ce2f21b6
[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 _0x817a=['hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','keys','fields','find','catch','body','params','create','text','Sequelize','TEXT','INTEGER','switch','BOOLEAN','defaultValue','sequelize','queryInterface','addColumn','cm_contacts','format','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','to-csv','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','reject','save','destroy','then','error','stack','send','map','CmCustomField','rawAttributes','fieldName','type','key','model','differenceBy','name','query','filters','attributes','intersection'];(function(_0x146443,_0x34d4df){var _0x5a550d=function(_0x191e11){while(--_0x191e11){_0x146443['push'](_0x146443['shift']());}};_0x5a550d(++_0x34d4df);}(_0x817a,0x124));var _0xa817=function(_0xbfbccf,_0x1f41f9){_0xbfbccf=_0xbfbccf-0x0;var _0x5b8daa=_0x817a[_0xbfbccf];return _0x5b8daa;};'use strict';var pdf=require(_0xa817('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xa817('0x1'));var zipdir=require(_0xa817('0x2'));var jsonpatch=require(_0xa817('0x3'));var rp=require(_0xa817('0x4'));var moment=require('moment');var BPromise=require(_0xa817('0x5'));var Mustache=require(_0xa817('0x6'));var util=require('util');var path=require(_0xa817('0x7'));var sox=require('sox');var csv=require(_0xa817('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0xa817('0x9'));var crypto=require(_0xa817('0xa'));var jsforce=require(_0xa817('0xb'));var deskjs=require(_0xa817('0xc'));var toCsv=require('to-csv');var querystring=require(_0xa817('0xd'));var Papa=require(_0xa817('0xe'));var Redis=require(_0xa817('0xf'));var authService=require(_0xa817('0x10'));var qs=require(_0xa817('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa817('0x12'));var logger=require(_0xa817('0x13'))(_0xa817('0x14'));var utils=require(_0xa817('0x15'));var config=require(_0xa817('0x16'));var db=require(_0xa817('0x17'))['db'];function respondWithStatusCode(_0x3e81d0,_0x4d0782){_0x4d0782=_0x4d0782||0xcc;return function(_0x5b136b){if(_0x5b136b){return _0x3e81d0[_0xa817('0x18')](_0x4d0782);}return _0x3e81d0[_0xa817('0x19')](_0x4d0782)[_0xa817('0x1a')]();};}function respondWithResult(_0xcd829e,_0x23b727){_0x23b727=_0x23b727||0xc8;return function(_0x5c67d0){if(_0x5c67d0){return _0xcd829e[_0xa817('0x19')](_0x23b727)[_0xa817('0x1b')](_0x5c67d0);}};}function respondWithFilteredResult(_0x807e18,_0x3dcd1a){return function(_0x1688df){if(_0x1688df){var _0x8e63f2=_0x1688df[_0xa817('0x1c')],_0x298a64=_0x3dcd1a[_0xa817('0x1d')],_0x16a8db=_0x3dcd1a[_0xa817('0x1d')]+_0x3dcd1a[_0xa817('0x1e')],_0x2bd5aa;if(_0x16a8db>=_0x8e63f2){_0x16a8db=_0x8e63f2;_0x2bd5aa=0xc8;}else{_0x2bd5aa=0xce;}_0x807e18[_0xa817('0x19')](_0x2bd5aa);return _0x807e18[_0xa817('0x1f')]('Content-Range',_0x298a64+'-'+_0x16a8db+'/'+_0x8e63f2)[_0xa817('0x1b')](_0x1688df);}return null;};}function patchUpdates(_0x48639a){return function(_0x5ea929){try{jsonpatch['apply'](_0x5ea929,_0x48639a,!![]);}catch(_0x49be0b){return BPromise[_0xa817('0x20')](_0x49be0b);}return _0x5ea929[_0xa817('0x21')]();};}function saveUpdates(_0x5e25ca,_0x12a60f){return function(_0x5949e6){if(_0x5949e6){return _0x5949e6['update'](_0x5e25ca)['then'](function(_0x5914ce){return _0x5914ce;});}return null;};}function removeEntity(_0x2636bf,_0x12c09f){return function(_0x192047){if(_0x192047){return _0x192047[_0xa817('0x22')]()[_0xa817('0x23')](function(){_0x2636bf[_0xa817('0x19')](0xcc)[_0xa817('0x1a')]();});}};}function handleEntityNotFound(_0x171864,_0x5dda00){return function(_0x20e9be){if(!_0x20e9be){_0x171864['sendStatus'](0x194);}return _0x20e9be;};}function handleError(_0x42caa4,_0x13d01d){_0x13d01d=_0x13d01d||0x1f4;return function(_0x5579d6){logger[_0xa817('0x24')](_0x5579d6[_0xa817('0x25')]);if(_0x5579d6['name']){delete _0x5579d6['name'];}_0x42caa4[_0xa817('0x19')](_0x13d01d)[_0xa817('0x26')](_0x5579d6);};}exports['index']=function(_0x13f7c0,_0x4f4c71){var _0x3bcb81={},_0x33deaa={},_0xe18559={'count':0x0,'rows':[]};var _0x5f3f62=_[_0xa817('0x27')](db[_0xa817('0x28')][_0xa817('0x29')],function(_0x7211dc){return{'name':_0x7211dc[_0xa817('0x2a')],'type':_0x7211dc[_0xa817('0x2b')][_0xa817('0x2c')]};});_0x33deaa[_0xa817('0x2d')]=_[_0xa817('0x2e')](_[_0xa817('0x27')](_0x5f3f62,_0xa817('0x2f')),[_0xa817('0x2f')]);_0x33deaa[_0xa817('0x30')]=_['keys'](_0x13f7c0['query']);_0x33deaa[_0xa817('0x31')]=_['intersection'](_0x33deaa['model'],_0x33deaa[_0xa817('0x30')]);_0x3bcb81[_0xa817('0x32')]=_[_0xa817('0x33')](_0x33deaa[_0xa817('0x2d')],qs['fields'](_0x13f7c0['query']['fields']));_0x3bcb81[_0xa817('0x32')]=_0x3bcb81[_0xa817('0x32')]['length']?_0x3bcb81[_0xa817('0x32')]:_0x33deaa[_0xa817('0x2d')];if(!_0x13f7c0[_0xa817('0x30')][_0xa817('0x34')](_0xa817('0x35'))){_0x3bcb81['limit']=qs[_0xa817('0x1e')](_0x13f7c0[_0xa817('0x30')][_0xa817('0x1e')]);_0x3bcb81[_0xa817('0x1d')]=qs[_0xa817('0x1d')](_0x13f7c0[_0xa817('0x30')][_0xa817('0x1d')]);}_0x3bcb81[_0xa817('0x36')]=qs[_0xa817('0x37')](_0x13f7c0[_0xa817('0x30')][_0xa817('0x37')]);_0x3bcb81[_0xa817('0x38')]=qs[_0xa817('0x31')](_[_0xa817('0x39')](_0x13f7c0[_0xa817('0x30')],_0x33deaa[_0xa817('0x31')]),_0x5f3f62);if(_0x13f7c0['query'][_0xa817('0x3a')]){_0x3bcb81['where']=_[_0xa817('0x3b')](_0x3bcb81[_0xa817('0x38')],{'$or':_[_0xa817('0x27')](_0x5f3f62,function(_0x20ff71){if(_0x20ff71[_0xa817('0x2b')]!==_0xa817('0x3c')){var _0x2ed102={};_0x2ed102[_0x20ff71['name']]={'$like':'%'+_0x13f7c0['query']['filter']+'%'};return _0x2ed102;}})});}_0x3bcb81=_[_0xa817('0x3b')]({},_0x3bcb81,_0x13f7c0[_0xa817('0x3d')]);var _0x5376f4={'where':_0x3bcb81[_0xa817('0x38')]};return db[_0xa817('0x28')]['count'](_0x5376f4)[_0xa817('0x23')](function(_0x5ab110){_0xe18559[_0xa817('0x1c')]=_0x5ab110;if(_0x13f7c0[_0xa817('0x30')][_0xa817('0x3e')]){_0x3bcb81[_0xa817('0x3f')]=[{'all':!![]}];}return db['CmCustomField'][_0xa817('0x40')](_0x3bcb81);})['then'](function(_0x1acac0){_0xe18559[_0xa817('0x41')]=_0x1acac0;return _0xe18559;})[_0xa817('0x23')](respondWithFilteredResult(_0x4f4c71,_0x3bcb81))['catch'](handleError(_0x4f4c71,null));};exports[_0xa817('0x42')]=function(_0x3a9b5b,_0x4e24ad){var _0x5765ec={'raw':!![],'where':{'id':_0x3a9b5b['params']['id']}},_0x12dda7={};_0x12dda7[_0xa817('0x2d')]=_[_0xa817('0x43')](db['CmCustomField'][_0xa817('0x29')]);_0x12dda7[_0xa817('0x30')]=_['keys'](_0x3a9b5b['query']);_0x12dda7[_0xa817('0x31')]=_[_0xa817('0x33')](_0x12dda7[_0xa817('0x2d')],_0x12dda7[_0xa817('0x30')]);_0x5765ec['attributes']=_[_0xa817('0x33')](_0x12dda7['model'],qs[_0xa817('0x44')](_0x3a9b5b[_0xa817('0x30')][_0xa817('0x44')]));_0x5765ec[_0xa817('0x32')]=_0x5765ec['attributes']['length']?_0x5765ec[_0xa817('0x32')]:_0x12dda7[_0xa817('0x2d')];if(_0x3a9b5b['query'][_0xa817('0x3e')]){_0x5765ec[_0xa817('0x3f')]=[{'all':!![]}];}_0x5765ec=_[_0xa817('0x3b')]({},_0x5765ec,_0x3a9b5b[_0xa817('0x3d')]);return db[_0xa817('0x28')][_0xa817('0x45')](_0x5765ec)[_0xa817('0x23')](handleEntityNotFound(_0x4e24ad,null))['then'](respondWithResult(_0x4e24ad,null))[_0xa817('0x46')](handleError(_0x4e24ad,null));};exports['update']=function(_0x39a910,_0x2fc7b7){if(_0x39a910[_0xa817('0x47')]['id']){delete _0x39a910[_0xa817('0x47')]['id'];}return db[_0xa817('0x28')]['find']({'where':{'id':_0x39a910['params']['id']}})['then'](handleEntityNotFound(_0x2fc7b7,null))[_0xa817('0x23')](saveUpdates(_0x39a910[_0xa817('0x47')],null))[_0xa817('0x23')](respondWithResult(_0x2fc7b7,null))['catch'](handleError(_0x2fc7b7,null));};exports[_0xa817('0x22')]=function(_0x5f2c66,_0x12beec){return db[_0xa817('0x28')][_0xa817('0x45')]({'where':{'id':_0x5f2c66[_0xa817('0x48')]['id']}})[_0xa817('0x23')](handleEntityNotFound(_0x12beec,null))['then'](removeEntity(_0x12beec,null))[_0xa817('0x46')](handleError(_0x12beec,null));};exports[_0xa817('0x49')]=function(_0x2fdcd4,_0x142cdf){var _0x2b641b;return db['sequelize']['transaction'](function(_0x4d7a26){return db[_0xa817('0x28')]['create'](_0x2fdcd4[_0xa817('0x47')],{'transaction':_0x4d7a26})[_0xa817('0x23')](function(_0x345288){_0x2b641b=_0x345288;var _0x7d0857={'type':db['Sequelize']['TEXT'],'transaction':_0x4d7a26};switch(_0x2fdcd4[_0xa817('0x47')]['type']){case _0xa817('0x4a'):_0x7d0857['type']=db[_0xa817('0x4b')][_0xa817('0x4c')];break;case'number':_0x7d0857['type']=db['Sequelize'][_0xa817('0x4d')];break;case _0xa817('0x4e'):_0x7d0857[_0xa817('0x2b')]=db[_0xa817('0x4b')][_0xa817('0x4f')];_0x7d0857[_0xa817('0x50')]=![];break;default:}return db[_0xa817('0x51')][_0xa817('0x52')][_0xa817('0x53')](_0xa817('0x54'),util[_0xa817('0x55')]('cf_%d',_0x2b641b['id']),_0x7d0857);})['then'](function(){return _0x2b641b;});})['then'](respondWithResult(_0x142cdf,0xc9))[_0xa817('0x46')](handleError(_0x142cdf,null));};