d229289d10a55dda581f1cf2b563c262f9df87c9
[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 _0x61a5=['length','hasOwnProperty','nolimit','sort','where','pick','merge','map','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','show','params','create','body','find','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','Content-Range','reject','save','update','then','destroy','error','name','send','index','ZendeskField','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields'];(function(_0x33d4a2,_0x2baaf4){var _0x2c793f=function(_0x414303){while(--_0x414303){_0x33d4a2['push'](_0x33d4a2['shift']());}};_0x2c793f(++_0x2baaf4);}(_0x61a5,0xf0));var _0x561a=function(_0x4480b9,_0x5c2949){_0x4480b9=_0x4480b9-0x0;var _0x3f0f02=_0x61a5[_0x4480b9];return _0x3f0f02;};'use strict';var pdf=require(_0x561a('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x561a('0x1'));var zipdir=require(_0x561a('0x2'));var jsonpatch=require(_0x561a('0x3'));var rp=require(_0x561a('0x4'));var moment=require(_0x561a('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x561a('0x6'));var util=require(_0x561a('0x7'));var path=require('path');var sox=require(_0x561a('0x8'));var csv=require(_0x561a('0x9'));var ejs=require(_0x561a('0xa'));var fs=require('fs');var _=require(_0x561a('0xb'));var squel=require(_0x561a('0xc'));var crypto=require(_0x561a('0xd'));var jsforce=require(_0x561a('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x561a('0x9'));var querystring=require('querystring');var Papa=require(_0x561a('0xf'));var Redis=require(_0x561a('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x561a('0x11'));var as=require(_0x561a('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x561a('0x13'))('api');var utils=require(_0x561a('0x14'));var config=require(_0x561a('0x15'));var licenseUtil=require(_0x561a('0x16'));var db=require(_0x561a('0x17'))['db'];function respondWithStatusCode(_0x2777c6,_0x3dfa9f){_0x3dfa9f=_0x3dfa9f||0xcc;return function(_0x136465){if(_0x136465){return _0x2777c6[_0x561a('0x18')](_0x3dfa9f);}return _0x2777c6[_0x561a('0x19')](_0x3dfa9f)[_0x561a('0x1a')]();};}function respondWithResult(_0x2a332e,_0x28638b){_0x28638b=_0x28638b||0xc8;return function(_0x5696b9){if(_0x5696b9){return _0x2a332e[_0x561a('0x19')](_0x28638b)[_0x561a('0x1b')](_0x5696b9);}};}function respondWithFilteredResult(_0x1ab5ae,_0xecbcc4){return function(_0xd7f0fb){if(_0xd7f0fb){var _0x28ad8b=_0xd7f0fb[_0x561a('0x1c')],_0x3d91be=_0xecbcc4[_0x561a('0x1d')],_0x14f141=_0xecbcc4['offset']+_0xecbcc4[_0x561a('0x1e')],_0x2690d9;if(_0x14f141>=_0x28ad8b){_0x14f141=_0x28ad8b;_0x2690d9=0xc8;}else{_0x2690d9=0xce;}_0x1ab5ae[_0x561a('0x19')](_0x2690d9);return _0x1ab5ae['set'](_0x561a('0x1f'),_0x3d91be+'-'+_0x14f141+'/'+_0x28ad8b)[_0x561a('0x1b')](_0xd7f0fb);}return null;};}function patchUpdates(_0x4d9f1b){return function(_0x22c72a){try{jsonpatch['apply'](_0x22c72a,_0x4d9f1b,!![]);}catch(_0x4d66b8){return BPromise[_0x561a('0x20')](_0x4d66b8);}return _0x22c72a[_0x561a('0x21')]();};}function saveUpdates(_0x5ca8e9,_0x432b33){return function(_0x88b2b5){if(_0x88b2b5){return _0x88b2b5[_0x561a('0x22')](_0x5ca8e9)[_0x561a('0x23')](function(_0x345941){return _0x345941;});}return null;};}function removeEntity(_0x1bb8df,_0x4f9c3a){return function(_0x3e5509){if(_0x3e5509){return _0x3e5509[_0x561a('0x24')]()[_0x561a('0x23')](function(){_0x1bb8df['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x25b53c,_0x1d29d6){return function(_0x27afb3){if(!_0x27afb3){_0x25b53c[_0x561a('0x18')](0x194);}return _0x27afb3;};}function handleError(_0x234771,_0x23ec64){_0x23ec64=_0x23ec64||0x1f4;return function(_0x259963){logger[_0x561a('0x25')](_0x259963['stack']);if(_0x259963['name']){delete _0x259963[_0x561a('0x26')];}_0x234771[_0x561a('0x19')](_0x23ec64)[_0x561a('0x27')](_0x259963);};}exports[_0x561a('0x28')]=function(_0x5a0acd,_0x186862){var _0x3f0789={},_0x44c851={},_0x23b489={'count':0x0,'rows':[]};var _0x3bdfa9=_['map'](db[_0x561a('0x29')][_0x561a('0x2a')],function(_0x4f0b23){return{'name':_0x4f0b23[_0x561a('0x2b')],'type':_0x4f0b23[_0x561a('0x2c')]['key']};});_0x44c851[_0x561a('0x2d')]=_['map'](_0x3bdfa9,'name');_0x44c851[_0x561a('0x2e')]=_[_0x561a('0x2f')](_0x5a0acd['query']);_0x44c851[_0x561a('0x30')]=_[_0x561a('0x31')](_0x44c851[_0x561a('0x2d')],_0x44c851[_0x561a('0x2e')]);_0x3f0789[_0x561a('0x32')]=_[_0x561a('0x31')](_0x44c851[_0x561a('0x2d')],qs[_0x561a('0x33')](_0x5a0acd['query'][_0x561a('0x33')]));_0x3f0789[_0x561a('0x32')]=_0x3f0789[_0x561a('0x32')][_0x561a('0x34')]?_0x3f0789[_0x561a('0x32')]:_0x44c851['model'];if(!_0x5a0acd[_0x561a('0x2e')][_0x561a('0x35')](_0x561a('0x36'))){_0x3f0789[_0x561a('0x1e')]=qs['limit'](_0x5a0acd[_0x561a('0x2e')][_0x561a('0x1e')]);_0x3f0789[_0x561a('0x1d')]=qs['offset'](_0x5a0acd['query'][_0x561a('0x1d')]);}_0x3f0789['order']=qs['sort'](_0x5a0acd['query'][_0x561a('0x37')]);_0x3f0789[_0x561a('0x38')]=qs[_0x561a('0x30')](_[_0x561a('0x39')](_0x5a0acd[_0x561a('0x2e')],_0x44c851[_0x561a('0x30')]),_0x3bdfa9);if(_0x5a0acd['query']['filter']){_0x3f0789[_0x561a('0x38')]=_[_0x561a('0x3a')](_0x3f0789[_0x561a('0x38')],{'$or':_[_0x561a('0x3b')](_0x3bdfa9,function(_0x4d81f7){if(_0x4d81f7[_0x561a('0x2c')]!==_0x561a('0x3c')){var _0x132237={};_0x132237[_0x4d81f7['name']]={'$like':'%'+_0x5a0acd[_0x561a('0x2e')][_0x561a('0x3d')]+'%'};return _0x132237;}})});}_0x3f0789=_[_0x561a('0x3a')]({},_0x3f0789,_0x5a0acd[_0x561a('0x3e')]);var _0x5a057d={'where':_0x3f0789[_0x561a('0x38')]};return db[_0x561a('0x29')][_0x561a('0x1c')](_0x5a057d)['then'](function(_0x3ebf2b){_0x23b489[_0x561a('0x1c')]=_0x3ebf2b;if(_0x5a0acd[_0x561a('0x2e')][_0x561a('0x3f')]){_0x3f0789[_0x561a('0x40')]=[{'all':!![]}];}return db[_0x561a('0x29')][_0x561a('0x41')](_0x3f0789);})['then'](function(_0x1253d9){_0x23b489[_0x561a('0x42')]=_0x1253d9;return _0x23b489;})[_0x561a('0x23')](respondWithFilteredResult(_0x186862,_0x3f0789))[_0x561a('0x43')](handleError(_0x186862,null));};exports[_0x561a('0x44')]=function(_0x3b7afc,_0x51e29e){var _0x465376={'raw':!![],'where':{'id':_0x3b7afc[_0x561a('0x45')]['id']}},_0xd991f8={};_0xd991f8[_0x561a('0x2d')]=_[_0x561a('0x2f')](db[_0x561a('0x29')][_0x561a('0x2a')]);_0xd991f8[_0x561a('0x2e')]=_[_0x561a('0x2f')](_0x3b7afc['query']);_0xd991f8[_0x561a('0x30')]=_[_0x561a('0x31')](_0xd991f8['model'],_0xd991f8[_0x561a('0x2e')]);_0x465376['attributes']=_[_0x561a('0x31')](_0xd991f8[_0x561a('0x2d')],qs[_0x561a('0x33')](_0x3b7afc[_0x561a('0x2e')][_0x561a('0x33')]));_0x465376['attributes']=_0x465376[_0x561a('0x32')][_0x561a('0x34')]?_0x465376[_0x561a('0x32')]:_0xd991f8[_0x561a('0x2d')];if(_0x3b7afc[_0x561a('0x2e')][_0x561a('0x3f')]){_0x465376['include']=[{'all':!![]}];}_0x465376=_['merge']({},_0x465376,_0x3b7afc[_0x561a('0x3e')]);return db['ZendeskField']['find'](_0x465376)['then'](handleEntityNotFound(_0x51e29e,null))['then'](respondWithResult(_0x51e29e,null))['catch'](handleError(_0x51e29e,null));};exports[_0x561a('0x46')]=function(_0xb54cca,_0x21858b){return db['ZendeskField'][_0x561a('0x46')](_0xb54cca['body'],{})['then'](respondWithResult(_0x21858b,0xc9))[_0x561a('0x43')](handleError(_0x21858b,null));};exports[_0x561a('0x22')]=function(_0x19d247,_0x5487d8){if(_0x19d247[_0x561a('0x47')]['id']){delete _0x19d247['body']['id'];}return db[_0x561a('0x29')]['find']({'where':{'id':_0x19d247[_0x561a('0x45')]['id']}})[_0x561a('0x23')](handleEntityNotFound(_0x5487d8,null))[_0x561a('0x23')](saveUpdates(_0x19d247[_0x561a('0x47')],null))[_0x561a('0x23')](respondWithResult(_0x5487d8,null))[_0x561a('0x43')](handleError(_0x5487d8,null));};exports[_0x561a('0x24')]=function(_0x25aaf6,_0x8f048d){return db['ZendeskField'][_0x561a('0x48')]({'where':{'id':_0x25aaf6[_0x561a('0x45')]['id']}})[_0x561a('0x23')](handleEntityNotFound(_0x8f048d,null))['then'](removeEntity(_0x8f048d,null))[_0x561a('0x43')](handleError(_0x8f048d,null));};