e5dd0c1740b7427bb57f852fd5f6141aa1107e1c
[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 _0x6cba=['find','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','reject','save','then','destroy','error','stack','name','map','ZendeskField','rawAttributes','fieldName','type','key','model','query','filters','intersection','fields','attributes','length','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','keys','catch','create','body','update'];(function(_0x3ab51d,_0x2fa01d){var _0x29a04e=function(_0x7807b0){while(--_0x7807b0){_0x3ab51d['push'](_0x3ab51d['shift']());}};_0x29a04e(++_0x2fa01d);}(_0x6cba,0x173));var _0xa6cb=function(_0x4af269,_0x5c6903){_0x4af269=_0x4af269-0x0;var _0x4dbee8=_0x6cba[_0x4af269];return _0x4dbee8;};'use strict';var emlformat=require(_0xa6cb('0x0'));var rimraf=require(_0xa6cb('0x1'));var zipdir=require(_0xa6cb('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xa6cb('0x3'));var moment=require(_0xa6cb('0x4'));var BPromise=require(_0xa6cb('0x5'));var Mustache=require(_0xa6cb('0x6'));var util=require(_0xa6cb('0x7'));var path=require(_0xa6cb('0x8'));var sox=require(_0xa6cb('0x9'));var csv=require(_0xa6cb('0xa'));var ejs=require(_0xa6cb('0xb'));var fs=require('fs');var fs_extra=require(_0xa6cb('0xc'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xa6cb('0xd'));var jsforce=require(_0xa6cb('0xe'));var deskjs=require(_0xa6cb('0xf'));var toCsv=require(_0xa6cb('0xa'));var querystring=require(_0xa6cb('0x10'));var Papa=require(_0xa6cb('0x11'));var Redis=require(_0xa6cb('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xa6cb('0x13'));var as=require(_0xa6cb('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0xa6cb('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xa6cb('0x16'));var db=require(_0xa6cb('0x17'))['db'];function respondWithStatusCode(_0x16e50e,_0x437651){_0x437651=_0x437651||0xcc;return function(_0x479626){if(_0x479626){return _0x16e50e[_0xa6cb('0x18')](_0x437651);}return _0x16e50e['status'](_0x437651)[_0xa6cb('0x19')]();};}function respondWithResult(_0x46dd09,_0x355f16){_0x355f16=_0x355f16||0xc8;return function(_0x4b1736){if(_0x4b1736){return _0x46dd09[_0xa6cb('0x1a')](_0x355f16)[_0xa6cb('0x1b')](_0x4b1736);}};}function respondWithFilteredResult(_0x196094,_0x44fc4c){return function(_0x5dc9d5){if(_0x5dc9d5){var _0x15c4ea=typeof _0x44fc4c[_0xa6cb('0x1c')]===_0xa6cb('0x1d')&&typeof _0x44fc4c[_0xa6cb('0x1e')]===_0xa6cb('0x1d');var _0x5bf1c9=_0x5dc9d5['count'];var _0x25bfe3=_0x15c4ea?0x0:_0x44fc4c[_0xa6cb('0x1c')];var _0x566668=_0x15c4ea?_0x5dc9d5[_0xa6cb('0x1f')]:_0x44fc4c[_0xa6cb('0x1c')]+_0x44fc4c[_0xa6cb('0x1e')];var _0x37bf22;if(_0x566668>=_0x5bf1c9){_0x566668=_0x5bf1c9;_0x37bf22=0xc8;}else{_0x37bf22=0xce;}_0x196094[_0xa6cb('0x1a')](_0x37bf22);return _0x196094[_0xa6cb('0x20')](_0xa6cb('0x21'),_0x25bfe3+'-'+_0x566668+'/'+_0x5bf1c9)[_0xa6cb('0x1b')](_0x5dc9d5);}return null;};}function patchUpdates(_0x1ee44b){return function(_0x1c5cc9){try{jsonpatch['apply'](_0x1c5cc9,_0x1ee44b,!![]);}catch(_0x48aab4){return BPromise[_0xa6cb('0x22')](_0x48aab4);}return _0x1c5cc9[_0xa6cb('0x23')]();};}function saveUpdates(_0x24aff1,_0x4d98bf){return function(_0x2fee2b){if(_0x2fee2b){return _0x2fee2b['update'](_0x24aff1)[_0xa6cb('0x24')](function(_0x1c5ffe){return _0x1c5ffe;});}return null;};}function removeEntity(_0x15b3b9,_0x1abf9a){return function(_0xba7486){if(_0xba7486){return _0xba7486[_0xa6cb('0x25')]()['then'](function(){_0x15b3b9[_0xa6cb('0x1a')](0xcc)[_0xa6cb('0x19')]();});}};}function handleEntityNotFound(_0x13f945,_0x36c7a8){return function(_0x5d1554){if(!_0x5d1554){_0x13f945[_0xa6cb('0x18')](0x194);}return _0x5d1554;};}function handleError(_0x155d68,_0x159edb){_0x159edb=_0x159edb||0x1f4;return function(_0x254e9a){logger[_0xa6cb('0x26')](_0x254e9a[_0xa6cb('0x27')]);if(_0x254e9a[_0xa6cb('0x28')]){delete _0x254e9a['name'];}_0x155d68[_0xa6cb('0x1a')](_0x159edb)['send'](_0x254e9a);};}exports['index']=function(_0x481c0e,_0x5ce072){var _0x5cf500={},_0x180d21={},_0x5d1d9a={'count':0x0,'rows':[]};var _0x1517db=_[_0xa6cb('0x29')](db[_0xa6cb('0x2a')][_0xa6cb('0x2b')],function(_0x3c6b74){return{'name':_0x3c6b74[_0xa6cb('0x2c')],'type':_0x3c6b74[_0xa6cb('0x2d')][_0xa6cb('0x2e')]};});_0x180d21[_0xa6cb('0x2f')]=_[_0xa6cb('0x29')](_0x1517db,_0xa6cb('0x28'));_0x180d21[_0xa6cb('0x30')]=_['keys'](_0x481c0e[_0xa6cb('0x30')]);_0x180d21[_0xa6cb('0x31')]=_[_0xa6cb('0x32')](_0x180d21[_0xa6cb('0x2f')],_0x180d21['query']);_0x5cf500['attributes']=_[_0xa6cb('0x32')](_0x180d21[_0xa6cb('0x2f')],qs[_0xa6cb('0x33')](_0x481c0e[_0xa6cb('0x30')][_0xa6cb('0x33')]));_0x5cf500[_0xa6cb('0x34')]=_0x5cf500[_0xa6cb('0x34')][_0xa6cb('0x35')]?_0x5cf500[_0xa6cb('0x34')]:_0x180d21[_0xa6cb('0x2f')];if(!_0x481c0e['query']['hasOwnProperty'](_0xa6cb('0x36'))){_0x5cf500[_0xa6cb('0x1e')]=qs['limit'](_0x481c0e[_0xa6cb('0x30')][_0xa6cb('0x1e')]);_0x5cf500[_0xa6cb('0x1c')]=qs[_0xa6cb('0x1c')](_0x481c0e[_0xa6cb('0x30')][_0xa6cb('0x1c')]);}_0x5cf500['order']=qs['sort'](_0x481c0e['query'][_0xa6cb('0x37')]);_0x5cf500[_0xa6cb('0x38')]=qs[_0xa6cb('0x31')](_[_0xa6cb('0x39')](_0x481c0e['query'],_0x180d21['filters']),_0x1517db);if(_0x481c0e[_0xa6cb('0x30')][_0xa6cb('0x3a')]){_0x5cf500['where']=_[_0xa6cb('0x3b')](_0x5cf500[_0xa6cb('0x38')],{'$or':_[_0xa6cb('0x29')](_0x1517db,function(_0x250291){if(_0x250291['type']!==_0xa6cb('0x3c')){var _0x4319ca={};_0x4319ca[_0x250291[_0xa6cb('0x28')]]={'$like':'%'+_0x481c0e['query'][_0xa6cb('0x3a')]+'%'};return _0x4319ca;}})});}_0x5cf500=_[_0xa6cb('0x3b')]({},_0x5cf500,_0x481c0e[_0xa6cb('0x3d')]);var _0x6f88b7={'where':_0x5cf500[_0xa6cb('0x38')]};return db[_0xa6cb('0x2a')][_0xa6cb('0x1f')](_0x6f88b7)['then'](function(_0x3fca63){_0x5d1d9a[_0xa6cb('0x1f')]=_0x3fca63;if(_0x481c0e[_0xa6cb('0x30')][_0xa6cb('0x3e')]){_0x5cf500[_0xa6cb('0x3f')]=[{'all':!![]}];}return db['ZendeskField'][_0xa6cb('0x40')](_0x5cf500);})['then'](function(_0x16bb9e){_0x5d1d9a[_0xa6cb('0x41')]=_0x16bb9e;return _0x5d1d9a;})[_0xa6cb('0x24')](respondWithFilteredResult(_0x5ce072,_0x5cf500))['catch'](handleError(_0x5ce072,null));};exports[_0xa6cb('0x42')]=function(_0x1ef210,_0x612e57){var _0x395179={'raw':!![],'where':{'id':_0x1ef210[_0xa6cb('0x43')]['id']}},_0x1c472a={};_0x1c472a[_0xa6cb('0x2f')]=_[_0xa6cb('0x44')](db[_0xa6cb('0x2a')][_0xa6cb('0x2b')]);_0x1c472a[_0xa6cb('0x30')]=_[_0xa6cb('0x44')](_0x1ef210['query']);_0x1c472a[_0xa6cb('0x31')]=_[_0xa6cb('0x32')](_0x1c472a[_0xa6cb('0x2f')],_0x1c472a[_0xa6cb('0x30')]);_0x395179[_0xa6cb('0x34')]=_[_0xa6cb('0x32')](_0x1c472a[_0xa6cb('0x2f')],qs[_0xa6cb('0x33')](_0x1ef210[_0xa6cb('0x30')][_0xa6cb('0x33')]));_0x395179[_0xa6cb('0x34')]=_0x395179[_0xa6cb('0x34')][_0xa6cb('0x35')]?_0x395179[_0xa6cb('0x34')]:_0x1c472a[_0xa6cb('0x2f')];if(_0x1ef210[_0xa6cb('0x30')][_0xa6cb('0x3e')]){_0x395179[_0xa6cb('0x3f')]=[{'all':!![]}];}_0x395179=_['merge']({},_0x395179,_0x1ef210[_0xa6cb('0x3d')]);return db[_0xa6cb('0x2a')]['find'](_0x395179)[_0xa6cb('0x24')](handleEntityNotFound(_0x612e57,null))[_0xa6cb('0x24')](respondWithResult(_0x612e57,null))[_0xa6cb('0x45')](handleError(_0x612e57,null));};exports[_0xa6cb('0x46')]=function(_0x24ad15,_0x5f26b8){return db['ZendeskField']['create'](_0x24ad15[_0xa6cb('0x47')],{})['then'](respondWithResult(_0x5f26b8,0xc9))[_0xa6cb('0x45')](handleError(_0x5f26b8,null));};exports[_0xa6cb('0x48')]=function(_0x1af644,_0x6efc2){if(_0x1af644[_0xa6cb('0x47')]['id']){delete _0x1af644['body']['id'];}return db[_0xa6cb('0x2a')][_0xa6cb('0x49')]({'where':{'id':_0x1af644['params']['id']}})[_0xa6cb('0x24')](handleEntityNotFound(_0x6efc2,null))[_0xa6cb('0x24')](saveUpdates(_0x1af644[_0xa6cb('0x47')],null))[_0xa6cb('0x24')](respondWithResult(_0x6efc2,null))['catch'](handleError(_0x6efc2,null));};exports[_0xa6cb('0x25')]=function(_0x469e65,_0x38b01c){return db['ZendeskField']['find']({'where':{'id':_0x469e65[_0xa6cb('0x43')]['id']}})[_0xa6cb('0x24')](handleEntityNotFound(_0x38b01c,null))[_0xa6cb('0x24')](removeEntity(_0x38b01c,null))[_0xa6cb('0x45')](handleError(_0x38b01c,null));};