Built motion from commit da617fac.|2.6.6
[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 _0x2dcd=['type','key','model','query','keys','filters','intersection','attributes','fields','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','findAll','catch','include','create','body','find','params','zip-dir','fast-json-patch','request-promise','moment','mustache','sox','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','stack','name','send','index','map','ZendeskField','rawAttributes','fieldName'];(function(_0x12ee2c,_0x573ba4){var _0x1b50e7=function(_0x5c13e2){while(--_0x5c13e2){_0x12ee2c['push'](_0x12ee2c['shift']());}};_0x1b50e7(++_0x573ba4);}(_0x2dcd,0xe5));var _0xd2dc=function(_0x4a04de,_0x2e342c){_0x4a04de=_0x4a04de-0x0;var _0xbbe018=_0x2dcd[_0x4a04de];return _0xbbe018;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xd2dc('0x0'));var jsonpatch=require(_0xd2dc('0x1'));var rp=require(_0xd2dc('0x2'));var moment=require(_0xd2dc('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xd2dc('0x4'));var util=require('util');var path=require('path');var sox=require(_0xd2dc('0x5'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xd2dc('0x6'));var squel=require(_0xd2dc('0x7'));var crypto=require(_0xd2dc('0x8'));var jsforce=require(_0xd2dc('0x9'));var deskjs=require(_0xd2dc('0xa'));var toCsv=require('to-csv');var querystring=require(_0xd2dc('0xb'));var Papa=require('papaparse');var Redis=require(_0xd2dc('0xc'));var authService=require('../../components/auth/service');var qs=require(_0xd2dc('0xd'));var as=require(_0xd2dc('0xe'));var hardwareService=require(_0xd2dc('0xf'));var logger=require('../../config/logger')(_0xd2dc('0x10'));var utils=require(_0xd2dc('0x11'));var config=require(_0xd2dc('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0xd2dc('0x13'))['db'];function respondWithStatusCode(_0x39bf65,_0x44e689){_0x44e689=_0x44e689||0xcc;return function(_0x5e0e10){if(_0x5e0e10){return _0x39bf65['sendStatus'](_0x44e689);}return _0x39bf65[_0xd2dc('0x14')](_0x44e689)[_0xd2dc('0x15')]();};}function respondWithResult(_0x4073d4,_0x5886b0){_0x5886b0=_0x5886b0||0xc8;return function(_0x5307e6){if(_0x5307e6){return _0x4073d4['status'](_0x5886b0)[_0xd2dc('0x16')](_0x5307e6);}};}function respondWithFilteredResult(_0x39cee2,_0x3731c5){return function(_0x12dadc){if(_0x12dadc){var _0x1c084a=typeof _0x3731c5['offset']===_0xd2dc('0x17')&&typeof _0x3731c5[_0xd2dc('0x18')]===_0xd2dc('0x17');var _0xd34965=_0x12dadc[_0xd2dc('0x19')];var _0x2b52bb=_0x1c084a?0x0:_0x3731c5['offset'];var _0xa02f97=_0x1c084a?_0x12dadc[_0xd2dc('0x19')]:_0x3731c5[_0xd2dc('0x1a')]+_0x3731c5[_0xd2dc('0x18')];var _0x337b95;if(_0xa02f97>=_0xd34965){_0xa02f97=_0xd34965;_0x337b95=0xc8;}else{_0x337b95=0xce;}_0x39cee2['status'](_0x337b95);return _0x39cee2[_0xd2dc('0x1b')](_0xd2dc('0x1c'),_0x2b52bb+'-'+_0xa02f97+'/'+_0xd34965)[_0xd2dc('0x16')](_0x12dadc);}return null;};}function patchUpdates(_0x34c73a){return function(_0x3af8c2){try{jsonpatch[_0xd2dc('0x1d')](_0x3af8c2,_0x34c73a,!![]);}catch(_0x3ed677){return BPromise[_0xd2dc('0x1e')](_0x3ed677);}return _0x3af8c2[_0xd2dc('0x1f')]();};}function saveUpdates(_0x3e8779,_0x418497){return function(_0x4d8a37){if(_0x4d8a37){return _0x4d8a37[_0xd2dc('0x20')](_0x3e8779)[_0xd2dc('0x21')](function(_0x4fd9a9){return _0x4fd9a9;});}return null;};}function removeEntity(_0x338970,_0x55b946){return function(_0x1dd95c){if(_0x1dd95c){return _0x1dd95c[_0xd2dc('0x22')]()['then'](function(){_0x338970[_0xd2dc('0x14')](0xcc)[_0xd2dc('0x15')]();});}};}function handleEntityNotFound(_0x244b5a,_0x5c1d33){return function(_0x10147f){if(!_0x10147f){_0x244b5a['sendStatus'](0x194);}return _0x10147f;};}function handleError(_0x23f008,_0x370c25){_0x370c25=_0x370c25||0x1f4;return function(_0x482f5e){logger['error'](_0x482f5e[_0xd2dc('0x23')]);if(_0x482f5e[_0xd2dc('0x24')]){delete _0x482f5e[_0xd2dc('0x24')];}_0x23f008['status'](_0x370c25)[_0xd2dc('0x25')](_0x482f5e);};}exports[_0xd2dc('0x26')]=function(_0x407956,_0x38a4be){var _0x20f4e9={},_0x2f2c02={},_0x10ecfa={'count':0x0,'rows':[]};var _0xa0b4ac=_[_0xd2dc('0x27')](db[_0xd2dc('0x28')][_0xd2dc('0x29')],function(_0x44ef95){return{'name':_0x44ef95[_0xd2dc('0x2a')],'type':_0x44ef95[_0xd2dc('0x2b')][_0xd2dc('0x2c')]};});_0x2f2c02[_0xd2dc('0x2d')]=_[_0xd2dc('0x27')](_0xa0b4ac,_0xd2dc('0x24'));_0x2f2c02[_0xd2dc('0x2e')]=_[_0xd2dc('0x2f')](_0x407956[_0xd2dc('0x2e')]);_0x2f2c02[_0xd2dc('0x30')]=_[_0xd2dc('0x31')](_0x2f2c02['model'],_0x2f2c02[_0xd2dc('0x2e')]);_0x20f4e9[_0xd2dc('0x32')]=_[_0xd2dc('0x31')](_0x2f2c02[_0xd2dc('0x2d')],qs[_0xd2dc('0x33')](_0x407956[_0xd2dc('0x2e')]['fields']));_0x20f4e9[_0xd2dc('0x32')]=_0x20f4e9['attributes']['length']?_0x20f4e9[_0xd2dc('0x32')]:_0x2f2c02[_0xd2dc('0x2d')];if(!_0x407956[_0xd2dc('0x2e')]['hasOwnProperty']('nolimit')){_0x20f4e9[_0xd2dc('0x18')]=qs[_0xd2dc('0x18')](_0x407956[_0xd2dc('0x2e')]['limit']);_0x20f4e9['offset']=qs[_0xd2dc('0x1a')](_0x407956[_0xd2dc('0x2e')][_0xd2dc('0x1a')]);}_0x20f4e9[_0xd2dc('0x34')]=qs[_0xd2dc('0x35')](_0x407956[_0xd2dc('0x2e')]['sort']);_0x20f4e9[_0xd2dc('0x36')]=qs[_0xd2dc('0x30')](_[_0xd2dc('0x37')](_0x407956[_0xd2dc('0x2e')],_0x2f2c02[_0xd2dc('0x30')]),_0xa0b4ac);if(_0x407956[_0xd2dc('0x2e')][_0xd2dc('0x38')]){_0x20f4e9[_0xd2dc('0x36')]=_[_0xd2dc('0x39')](_0x20f4e9[_0xd2dc('0x36')],{'$or':_[_0xd2dc('0x27')](_0xa0b4ac,function(_0x1741e9){if(_0x1741e9[_0xd2dc('0x2b')]!==_0xd2dc('0x3a')){var _0x711cdf={};_0x711cdf[_0x1741e9['name']]={'$like':'%'+_0x407956['query']['filter']+'%'};return _0x711cdf;}})});}_0x20f4e9=_[_0xd2dc('0x39')]({},_0x20f4e9,_0x407956[_0xd2dc('0x3b')]);var _0x3fd9dc={'where':_0x20f4e9['where']};return db[_0xd2dc('0x28')]['count'](_0x3fd9dc)[_0xd2dc('0x21')](function(_0x5089de){_0x10ecfa[_0xd2dc('0x19')]=_0x5089de;if(_0x407956['query'][_0xd2dc('0x3c')]){_0x20f4e9['include']=[{'all':!![]}];}return db[_0xd2dc('0x28')][_0xd2dc('0x3d')](_0x20f4e9);})[_0xd2dc('0x21')](function(_0x49406d){_0x10ecfa['rows']=_0x49406d;return _0x10ecfa;})[_0xd2dc('0x21')](respondWithFilteredResult(_0x38a4be,_0x20f4e9))[_0xd2dc('0x3e')](handleError(_0x38a4be,null));};exports['show']=function(_0x3fb7f2,_0x380bb4){var _0x358e84={'raw':!![],'where':{'id':_0x3fb7f2['params']['id']}},_0x299ee3={};_0x299ee3[_0xd2dc('0x2d')]=_[_0xd2dc('0x2f')](db['ZendeskField'][_0xd2dc('0x29')]);_0x299ee3[_0xd2dc('0x2e')]=_[_0xd2dc('0x2f')](_0x3fb7f2[_0xd2dc('0x2e')]);_0x299ee3[_0xd2dc('0x30')]=_[_0xd2dc('0x31')](_0x299ee3[_0xd2dc('0x2d')],_0x299ee3[_0xd2dc('0x2e')]);_0x358e84['attributes']=_['intersection'](_0x299ee3[_0xd2dc('0x2d')],qs['fields'](_0x3fb7f2['query']['fields']));_0x358e84[_0xd2dc('0x32')]=_0x358e84[_0xd2dc('0x32')]['length']?_0x358e84[_0xd2dc('0x32')]:_0x299ee3[_0xd2dc('0x2d')];if(_0x3fb7f2['query'][_0xd2dc('0x3c')]){_0x358e84[_0xd2dc('0x3f')]=[{'all':!![]}];}_0x358e84=_['merge']({},_0x358e84,_0x3fb7f2[_0xd2dc('0x3b')]);return db['ZendeskField']['find'](_0x358e84)[_0xd2dc('0x21')](handleEntityNotFound(_0x380bb4,null))['then'](respondWithResult(_0x380bb4,null))['catch'](handleError(_0x380bb4,null));};exports[_0xd2dc('0x40')]=function(_0x201cf8,_0x574fb1){return db[_0xd2dc('0x28')][_0xd2dc('0x40')](_0x201cf8[_0xd2dc('0x41')],{})['then'](respondWithResult(_0x574fb1,0xc9))[_0xd2dc('0x3e')](handleError(_0x574fb1,null));};exports[_0xd2dc('0x20')]=function(_0x2092ed,_0x9734a5){if(_0x2092ed['body']['id']){delete _0x2092ed[_0xd2dc('0x41')]['id'];}return db[_0xd2dc('0x28')][_0xd2dc('0x42')]({'where':{'id':_0x2092ed[_0xd2dc('0x43')]['id']}})[_0xd2dc('0x21')](handleEntityNotFound(_0x9734a5,null))[_0xd2dc('0x21')](saveUpdates(_0x2092ed[_0xd2dc('0x41')],null))['then'](respondWithResult(_0x9734a5,null))[_0xd2dc('0x3e')](handleError(_0x9734a5,null));};exports['destroy']=function(_0x39f9b5,_0x5ba561){return db['ZendeskField'][_0xd2dc('0x42')]({'where':{'id':_0x39f9b5[_0xd2dc('0x43')]['id']}})[_0xd2dc('0x21')](handleEntityNotFound(_0x5ba561,null))[_0xd2dc('0x21')](removeEntity(_0x5ba561,null))['catch'](handleError(_0x5ba561,null));};