52e095aa727c9329c2ff9b9bf809499910b829eb
[motion2.git] / server / api / intZendeskField / intZendeskField.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 _0x87b0=['body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','update','then','destroy','sendStatus','error','stack','name','send','index','ZendeskField','rawAttributes','fieldName','type','key','model','map','filters','query','intersection','fields','attributes','hasOwnProperty','where','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','params','keys','length','find'];(function(_0x555261,_0xf8200f){var _0x4857e1=function(_0x4ce5a5){while(--_0x4ce5a5){_0x555261['push'](_0x555261['shift']());}};_0x4857e1(++_0xf8200f);}(_0x87b0,0x9d));var _0x087b=function(_0x16d523,_0x21b346){_0x16d523=_0x16d523-0x0;var _0x511b64=_0x87b0[_0x16d523];return _0x511b64;};'use strict';var emlformat=require(_0x087b('0x0'));var rimraf=require(_0x087b('0x1'));var zipdir=require(_0x087b('0x2'));var jsonpatch=require(_0x087b('0x3'));var rp=require(_0x087b('0x4'));var moment=require(_0x087b('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x087b('0x6'));var util=require(_0x087b('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0x087b('0x8'));var ejs=require(_0x087b('0x9'));var fs=require('fs');var fs_extra=require(_0x087b('0xa'));var _=require(_0x087b('0xb'));var squel=require(_0x087b('0xc'));var crypto=require(_0x087b('0xd'));var jsforce=require(_0x087b('0xe'));var deskjs=require(_0x087b('0xf'));var toCsv=require('to-csv');var querystring=require(_0x087b('0x10'));var Papa=require(_0x087b('0x11'));var Redis=require(_0x087b('0x12'));var authService=require(_0x087b('0x13'));var qs=require(_0x087b('0x14'));var as=require(_0x087b('0x15'));var hardwareService=require(_0x087b('0x16'));var logger=require(_0x087b('0x17'))(_0x087b('0x18'));var utils=require(_0x087b('0x19'));var config=require(_0x087b('0x1a'));var licenseUtil=require(_0x087b('0x1b'));var db=require(_0x087b('0x1c'))['db'];function respondWithStatusCode(_0x2a0246,_0xc07d54){_0xc07d54=_0xc07d54||0xcc;return function(_0x40ba23){if(_0x40ba23){return _0x2a0246['sendStatus'](_0xc07d54);}return _0x2a0246[_0x087b('0x1d')](_0xc07d54)[_0x087b('0x1e')]();};}function respondWithResult(_0x2c62f9,_0x2b7d61){_0x2b7d61=_0x2b7d61||0xc8;return function(_0x1232ab){if(_0x1232ab){return _0x2c62f9[_0x087b('0x1d')](_0x2b7d61)[_0x087b('0x1f')](_0x1232ab);}};}function respondWithFilteredResult(_0x224751,_0x3da40b){return function(_0x22789f){if(_0x22789f){var _0x94d27f=typeof _0x3da40b[_0x087b('0x20')]===_0x087b('0x21')&&typeof _0x3da40b[_0x087b('0x22')]===_0x087b('0x21');var _0x3b5cfb=_0x22789f[_0x087b('0x23')];var _0x51e295=_0x94d27f?0x0:_0x3da40b['offset'];var _0x125acb=_0x94d27f?_0x22789f[_0x087b('0x23')]:_0x3da40b[_0x087b('0x20')]+_0x3da40b['limit'];var _0x5d3ea6;if(_0x125acb>=_0x3b5cfb){_0x125acb=_0x3b5cfb;_0x5d3ea6=0xc8;}else{_0x5d3ea6=0xce;}_0x224751['status'](_0x5d3ea6);return _0x224751[_0x087b('0x24')](_0x087b('0x25'),_0x51e295+'-'+_0x125acb+'/'+_0x3b5cfb)[_0x087b('0x1f')](_0x22789f);}return null;};}function patchUpdates(_0x3d77e3){return function(_0x44fd54){try{jsonpatch[_0x087b('0x26')](_0x44fd54,_0x3d77e3,!![]);}catch(_0x30edf6){return BPromise['reject'](_0x30edf6);}return _0x44fd54['save']();};}function saveUpdates(_0x2d851a,_0x4af6aa){return function(_0x49e7bf){if(_0x49e7bf){return _0x49e7bf[_0x087b('0x27')](_0x2d851a)[_0x087b('0x28')](function(_0x1c92df){return _0x1c92df;});}return null;};}function removeEntity(_0x2cb16e,_0x5499f2){return function(_0x122e58){if(_0x122e58){return _0x122e58[_0x087b('0x29')]()['then'](function(){_0x2cb16e['status'](0xcc)[_0x087b('0x1e')]();});}};}function handleEntityNotFound(_0x209f98,_0x1c89f3){return function(_0x4f79d2){if(!_0x4f79d2){_0x209f98[_0x087b('0x2a')](0x194);}return _0x4f79d2;};}function handleError(_0x36edf6,_0x22c839){_0x22c839=_0x22c839||0x1f4;return function(_0x44c145){logger[_0x087b('0x2b')](_0x44c145[_0x087b('0x2c')]);if(_0x44c145['name']){delete _0x44c145[_0x087b('0x2d')];}_0x36edf6[_0x087b('0x1d')](_0x22c839)[_0x087b('0x2e')](_0x44c145);};}exports[_0x087b('0x2f')]=function(_0x213db4,_0x22e3fb){var _0x3b3b10={},_0x688525={},_0x1fba7e={'count':0x0,'rows':[]};var _0x4cbd2a=_['map'](db[_0x087b('0x30')][_0x087b('0x31')],function(_0xb04d19){return{'name':_0xb04d19[_0x087b('0x32')],'type':_0xb04d19[_0x087b('0x33')][_0x087b('0x34')]};});_0x688525[_0x087b('0x35')]=_[_0x087b('0x36')](_0x4cbd2a,_0x087b('0x2d'));_0x688525['query']=_['keys'](_0x213db4['query']);_0x688525[_0x087b('0x37')]=_['intersection'](_0x688525['model'],_0x688525[_0x087b('0x38')]);_0x3b3b10['attributes']=_[_0x087b('0x39')](_0x688525[_0x087b('0x35')],qs[_0x087b('0x3a')](_0x213db4['query'][_0x087b('0x3a')]));_0x3b3b10[_0x087b('0x3b')]=_0x3b3b10[_0x087b('0x3b')]['length']?_0x3b3b10[_0x087b('0x3b')]:_0x688525[_0x087b('0x35')];if(!_0x213db4[_0x087b('0x38')][_0x087b('0x3c')]('nolimit')){_0x3b3b10[_0x087b('0x22')]=qs[_0x087b('0x22')](_0x213db4[_0x087b('0x38')][_0x087b('0x22')]);_0x3b3b10[_0x087b('0x20')]=qs['offset'](_0x213db4[_0x087b('0x38')][_0x087b('0x20')]);}_0x3b3b10['order']=qs['sort'](_0x213db4[_0x087b('0x38')]['sort']);_0x3b3b10[_0x087b('0x3d')]=qs[_0x087b('0x37')](_[_0x087b('0x3e')](_0x213db4['query'],_0x688525[_0x087b('0x37')]),_0x4cbd2a);if(_0x213db4['query'][_0x087b('0x3f')]){_0x3b3b10[_0x087b('0x3d')]=_['merge'](_0x3b3b10['where'],{'$or':_[_0x087b('0x36')](_0x4cbd2a,function(_0x1474f8){if(_0x1474f8[_0x087b('0x33')]!==_0x087b('0x40')){var _0xf6b9b2={};_0xf6b9b2[_0x1474f8[_0x087b('0x2d')]]={'$like':'%'+_0x213db4['query'][_0x087b('0x3f')]+'%'};return _0xf6b9b2;}})});}_0x3b3b10=_[_0x087b('0x41')]({},_0x3b3b10,_0x213db4[_0x087b('0x42')]);var _0xec1365={'where':_0x3b3b10[_0x087b('0x3d')]};return db[_0x087b('0x30')][_0x087b('0x23')](_0xec1365)['then'](function(_0x628b65){_0x1fba7e[_0x087b('0x23')]=_0x628b65;if(_0x213db4[_0x087b('0x38')][_0x087b('0x43')]){_0x3b3b10[_0x087b('0x44')]=[{'all':!![]}];}return db[_0x087b('0x30')][_0x087b('0x45')](_0x3b3b10);})['then'](function(_0x59ed16){_0x1fba7e[_0x087b('0x46')]=_0x59ed16;return _0x1fba7e;})[_0x087b('0x28')](respondWithFilteredResult(_0x22e3fb,_0x3b3b10))[_0x087b('0x47')](handleError(_0x22e3fb,null));};exports[_0x087b('0x48')]=function(_0x10edfe,_0x57b08d){var _0x41894b={'raw':!![],'where':{'id':_0x10edfe[_0x087b('0x49')]['id']}},_0x2fe0a2={};_0x2fe0a2[_0x087b('0x35')]=_[_0x087b('0x4a')](db[_0x087b('0x30')][_0x087b('0x31')]);_0x2fe0a2[_0x087b('0x38')]=_[_0x087b('0x4a')](_0x10edfe[_0x087b('0x38')]);_0x2fe0a2[_0x087b('0x37')]=_[_0x087b('0x39')](_0x2fe0a2[_0x087b('0x35')],_0x2fe0a2[_0x087b('0x38')]);_0x41894b['attributes']=_[_0x087b('0x39')](_0x2fe0a2['model'],qs[_0x087b('0x3a')](_0x10edfe['query']['fields']));_0x41894b[_0x087b('0x3b')]=_0x41894b[_0x087b('0x3b')][_0x087b('0x4b')]?_0x41894b[_0x087b('0x3b')]:_0x2fe0a2['model'];if(_0x10edfe['query'][_0x087b('0x43')]){_0x41894b['include']=[{'all':!![]}];}_0x41894b=_['merge']({},_0x41894b,_0x10edfe['options']);return db[_0x087b('0x30')][_0x087b('0x4c')](_0x41894b)[_0x087b('0x28')](handleEntityNotFound(_0x57b08d,null))['then'](respondWithResult(_0x57b08d,null))['catch'](handleError(_0x57b08d,null));};exports['create']=function(_0xd582ac,_0x2f5889){return db[_0x087b('0x30')]['create'](_0xd582ac[_0x087b('0x4d')],{})[_0x087b('0x28')](respondWithResult(_0x2f5889,0xc9))[_0x087b('0x47')](handleError(_0x2f5889,null));};exports[_0x087b('0x27')]=function(_0x228150,_0x778283){if(_0x228150['body']['id']){delete _0x228150['body']['id'];}return db[_0x087b('0x30')][_0x087b('0x4c')]({'where':{'id':_0x228150[_0x087b('0x49')]['id']}})[_0x087b('0x28')](handleEntityNotFound(_0x778283,null))[_0x087b('0x28')](saveUpdates(_0x228150[_0x087b('0x4d')],null))[_0x087b('0x28')](respondWithResult(_0x778283,null))[_0x087b('0x47')](handleError(_0x778283,null));};exports[_0x087b('0x29')]=function(_0x44a82d,_0x3f8741){return db[_0x087b('0x30')][_0x087b('0x4c')]({'where':{'id':_0x44a82d['params']['id']}})[_0x087b('0x28')](handleEntityNotFound(_0x3f8741,null))['then'](removeEntity(_0x3f8741,null))['catch'](handleError(_0x3f8741,null));};