dc2784c4cdd947c31575a49452cfe5dc4b3416f8
[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 _0x4407=['rows','catch','params','length','body','find','transaction','create','Sequelize','TEXT','type','text','number','INTEGER','switch','BOOLEAN','defaultValue','sequelize','queryInterface','addColumn','cm_contacts','format','zip-dir','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','then','destroy','sendStatus','error','stack','name','index','map','CmCustomField','fieldName','model','query','keys','filters','intersection','fields','attributes','nolimit','order','sort','where','merge','VIRTUAL','options','includeAll','include','findAll'];(function(_0x4154a6,_0x2c0b8e){var _0x3b2786=function(_0x2f5936){while(--_0x2f5936){_0x4154a6['push'](_0x4154a6['shift']());}};_0x3b2786(++_0x2c0b8e);}(_0x4407,0x10f));var _0x7440=function(_0x4649f4,_0x513aa3){_0x4649f4=_0x4649f4-0x0;var _0x4fc144=_0x4407[_0x4649f4];return _0x4fc144;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x7440('0x0'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7440('0x1'));var moment=require('moment');var BPromise=require(_0x7440('0x2'));var Mustache=require(_0x7440('0x3'));var util=require(_0x7440('0x4'));var path=require(_0x7440('0x5'));var sox=require(_0x7440('0x6'));var csv=require(_0x7440('0x7'));var ejs=require(_0x7440('0x8'));var fs=require('fs');var fs_extra=require(_0x7440('0x9'));var _=require(_0x7440('0xa'));var squel=require(_0x7440('0xb'));var crypto=require('crypto');var jsforce=require(_0x7440('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x7440('0x7'));var querystring=require('querystring');var Papa=require(_0x7440('0xd'));var Redis=require('ioredis');var authService=require(_0x7440('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0x7440('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x7440('0x10'))(_0x7440('0x11'));var utils=require(_0x7440('0x12'));var config=require(_0x7440('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0x7440('0x14'))['db'];function respondWithStatusCode(_0x37765a,_0x38c18a){_0x38c18a=_0x38c18a||0xcc;return function(_0x1b1207){if(_0x1b1207){return _0x37765a['sendStatus'](_0x38c18a);}return _0x37765a[_0x7440('0x15')](_0x38c18a)[_0x7440('0x16')]();};}function respondWithResult(_0x37d063,_0x318671){_0x318671=_0x318671||0xc8;return function(_0x1afa76){if(_0x1afa76){return _0x37d063['status'](_0x318671)[_0x7440('0x17')](_0x1afa76);}};}function respondWithFilteredResult(_0x268d6c,_0x111e6e){return function(_0x1606e8){if(_0x1606e8){var _0x173dd7=typeof _0x111e6e[_0x7440('0x18')]==='undefined'&&typeof _0x111e6e['limit']===_0x7440('0x19');var _0x1e029b=_0x1606e8[_0x7440('0x1a')];var _0x1e9ec2=_0x173dd7?0x0:_0x111e6e['offset'];var _0x3c904a=_0x173dd7?_0x1606e8[_0x7440('0x1a')]:_0x111e6e[_0x7440('0x18')]+_0x111e6e[_0x7440('0x1b')];var _0x3e5f4b;if(_0x3c904a>=_0x1e029b){_0x3c904a=_0x1e029b;_0x3e5f4b=0xc8;}else{_0x3e5f4b=0xce;}_0x268d6c[_0x7440('0x15')](_0x3e5f4b);return _0x268d6c[_0x7440('0x1c')](_0x7440('0x1d'),_0x1e9ec2+'-'+_0x3c904a+'/'+_0x1e029b)[_0x7440('0x17')](_0x1606e8);}return null;};}function patchUpdates(_0x44824d){return function(_0x13e181){try{jsonpatch[_0x7440('0x1e')](_0x13e181,_0x44824d,!![]);}catch(_0x2d004f){return BPromise[_0x7440('0x1f')](_0x2d004f);}return _0x13e181[_0x7440('0x20')]();};}function saveUpdates(_0x478909,_0xab3b2f){return function(_0x37e000){if(_0x37e000){return _0x37e000[_0x7440('0x21')](_0x478909)[_0x7440('0x22')](function(_0x23e41d){return _0x23e41d;});}return null;};}function removeEntity(_0x5c84a2,_0x394b84){return function(_0xc323a0){if(_0xc323a0){return _0xc323a0[_0x7440('0x23')]()[_0x7440('0x22')](function(){_0x5c84a2[_0x7440('0x15')](0xcc)[_0x7440('0x16')]();});}};}function handleEntityNotFound(_0x411bac,_0x4dcf51){return function(_0x44c598){if(!_0x44c598){_0x411bac[_0x7440('0x24')](0x194);}return _0x44c598;};}function handleError(_0x17d51b,_0x106434){_0x106434=_0x106434||0x1f4;return function(_0x46e0ea){logger[_0x7440('0x25')](_0x46e0ea[_0x7440('0x26')]);if(_0x46e0ea[_0x7440('0x27')]){delete _0x46e0ea[_0x7440('0x27')];}_0x17d51b[_0x7440('0x15')](_0x106434)['send'](_0x46e0ea);};}exports[_0x7440('0x28')]=function(_0x49c239,_0x9c200b){var _0xdee25b={},_0x624201={},_0x3b2c6a={'count':0x0,'rows':[]};var _0x1c4741=_[_0x7440('0x29')](db[_0x7440('0x2a')]['rawAttributes'],function(_0x5860a9){return{'name':_0x5860a9[_0x7440('0x2b')],'type':_0x5860a9['type']['key']};});_0x624201[_0x7440('0x2c')]=_['differenceBy'](_[_0x7440('0x29')](_0x1c4741,_0x7440('0x27')),[_0x7440('0x27')]);_0x624201[_0x7440('0x2d')]=_[_0x7440('0x2e')](_0x49c239[_0x7440('0x2d')]);_0x624201[_0x7440('0x2f')]=_[_0x7440('0x30')](_0x624201['model'],_0x624201[_0x7440('0x2d')]);_0xdee25b['attributes']=_[_0x7440('0x30')](_0x624201[_0x7440('0x2c')],qs[_0x7440('0x31')](_0x49c239[_0x7440('0x2d')][_0x7440('0x31')]));_0xdee25b[_0x7440('0x32')]=_0xdee25b[_0x7440('0x32')]['length']?_0xdee25b['attributes']:_0x624201[_0x7440('0x2c')];if(!_0x49c239['query']['hasOwnProperty'](_0x7440('0x33'))){_0xdee25b[_0x7440('0x1b')]=qs['limit'](_0x49c239['query'][_0x7440('0x1b')]);_0xdee25b[_0x7440('0x18')]=qs[_0x7440('0x18')](_0x49c239['query'][_0x7440('0x18')]);}_0xdee25b[_0x7440('0x34')]=qs[_0x7440('0x35')](_0x49c239[_0x7440('0x2d')]['sort']);_0xdee25b[_0x7440('0x36')]=qs[_0x7440('0x2f')](_['pick'](_0x49c239[_0x7440('0x2d')],_0x624201['filters']),_0x1c4741);if(_0x49c239[_0x7440('0x2d')]['filter']){_0xdee25b['where']=_[_0x7440('0x37')](_0xdee25b[_0x7440('0x36')],{'$or':_[_0x7440('0x29')](_0x1c4741,function(_0x19c624){if(_0x19c624['type']!==_0x7440('0x38')){var _0x1bbdbf={};_0x1bbdbf[_0x19c624[_0x7440('0x27')]]={'$like':'%'+_0x49c239[_0x7440('0x2d')]['filter']+'%'};return _0x1bbdbf;}})});}_0xdee25b=_[_0x7440('0x37')]({},_0xdee25b,_0x49c239[_0x7440('0x39')]);var _0x2647e2={'where':_0xdee25b[_0x7440('0x36')]};return db[_0x7440('0x2a')]['count'](_0x2647e2)[_0x7440('0x22')](function(_0x21b6ba){_0x3b2c6a[_0x7440('0x1a')]=_0x21b6ba;if(_0x49c239[_0x7440('0x2d')][_0x7440('0x3a')]){_0xdee25b[_0x7440('0x3b')]=[{'all':!![]}];}return db[_0x7440('0x2a')][_0x7440('0x3c')](_0xdee25b);})[_0x7440('0x22')](function(_0x5482eb){_0x3b2c6a[_0x7440('0x3d')]=_0x5482eb;return _0x3b2c6a;})[_0x7440('0x22')](respondWithFilteredResult(_0x9c200b,_0xdee25b))[_0x7440('0x3e')](handleError(_0x9c200b,null));};exports['show']=function(_0x4c48ed,_0x443d0f){var _0x4d5872={'raw':!![],'where':{'id':_0x4c48ed[_0x7440('0x3f')]['id']}},_0x1e2de4={};_0x1e2de4['model']=_[_0x7440('0x2e')](db[_0x7440('0x2a')]['rawAttributes']);_0x1e2de4[_0x7440('0x2d')]=_[_0x7440('0x2e')](_0x4c48ed['query']);_0x1e2de4[_0x7440('0x2f')]=_[_0x7440('0x30')](_0x1e2de4[_0x7440('0x2c')],_0x1e2de4['query']);_0x4d5872[_0x7440('0x32')]=_['intersection'](_0x1e2de4['model'],qs[_0x7440('0x31')](_0x4c48ed[_0x7440('0x2d')][_0x7440('0x31')]));_0x4d5872[_0x7440('0x32')]=_0x4d5872[_0x7440('0x32')][_0x7440('0x40')]?_0x4d5872[_0x7440('0x32')]:_0x1e2de4['model'];if(_0x4c48ed[_0x7440('0x2d')]['includeAll']){_0x4d5872[_0x7440('0x3b')]=[{'all':!![]}];}_0x4d5872=_['merge']({},_0x4d5872,_0x4c48ed[_0x7440('0x39')]);return db[_0x7440('0x2a')]['find'](_0x4d5872)['then'](handleEntityNotFound(_0x443d0f,null))[_0x7440('0x22')](respondWithResult(_0x443d0f,null))['catch'](handleError(_0x443d0f,null));};exports[_0x7440('0x21')]=function(_0x193ca7,_0x184236){if(_0x193ca7[_0x7440('0x41')]['id']){delete _0x193ca7[_0x7440('0x41')]['id'];}return db[_0x7440('0x2a')][_0x7440('0x42')]({'where':{'id':_0x193ca7['params']['id']}})[_0x7440('0x22')](handleEntityNotFound(_0x184236,null))['then'](saveUpdates(_0x193ca7[_0x7440('0x41')],null))['then'](respondWithResult(_0x184236,null))[_0x7440('0x3e')](handleError(_0x184236,null));};exports['destroy']=function(_0x3f8084,_0x23416d){return db[_0x7440('0x2a')][_0x7440('0x42')]({'where':{'id':_0x3f8084[_0x7440('0x3f')]['id']}})[_0x7440('0x22')](handleEntityNotFound(_0x23416d,null))['then'](removeEntity(_0x23416d,null))[_0x7440('0x3e')](handleError(_0x23416d,null));};exports['create']=function(_0x1e5a4a,_0x5c42ed){var _0x11216c;return db['sequelize'][_0x7440('0x43')](function(_0x33f37f){return db[_0x7440('0x2a')][_0x7440('0x44')](_0x1e5a4a[_0x7440('0x41')],{'transaction':_0x33f37f})[_0x7440('0x22')](function(_0x3fd46a){_0x11216c=_0x3fd46a;var _0x164944={'type':db[_0x7440('0x45')][_0x7440('0x46')],'transaction':_0x33f37f};switch(_0x1e5a4a['body'][_0x7440('0x47')]){case _0x7440('0x48'):_0x164944[_0x7440('0x47')]=db[_0x7440('0x45')][_0x7440('0x46')];break;case _0x7440('0x49'):_0x164944[_0x7440('0x47')]=db[_0x7440('0x45')][_0x7440('0x4a')];break;case _0x7440('0x4b'):_0x164944[_0x7440('0x47')]=db[_0x7440('0x45')][_0x7440('0x4c')];_0x164944[_0x7440('0x4d')]=![];break;default:}return db[_0x7440('0x4e')][_0x7440('0x4f')][_0x7440('0x50')](_0x7440('0x51'),util[_0x7440('0x52')]('cf_%d',_0x11216c['id']),_0x164944);})[_0x7440('0x22')](function(){return _0x11216c;});})[_0x7440('0x22')](respondWithResult(_0x5c42ed,0xc9))[_0x7440('0x3e')](handleError(_0x5c42ed,null));};