23d9606645a1872bb0a30909fee50135dba2f2d2
[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 _0x87b1=['VIRTUAL','options','ZendeskField','includeAll','include','rows','catch','show','params','find','create','body','eml-format','zip-dir','fast-json-patch','mustache','util','to-csv','ejs','lodash','squel','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','apply','save','update','destroy','then','sendStatus','error','name','send','index','fieldName','key','model','map','keys','query','intersection','attributes','fields','length','order','sort','filters','pick','filter','where','merge','type'];(function(_0x14c152,_0x1e2e14){var _0x165139=function(_0x26f509){while(--_0x26f509){_0x14c152['push'](_0x14c152['shift']());}};_0x165139(++_0x1e2e14);}(_0x87b1,0x160));var _0x187b=function(_0x4dbad7,_0x961864){_0x4dbad7=_0x4dbad7-0x0;var _0x1a08d8=_0x87b1[_0x4dbad7];return _0x1a08d8;};'use strict';var emlformat=require(_0x187b('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x187b('0x1'));var jsonpatch=require(_0x187b('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x187b('0x3'));var util=require(_0x187b('0x4'));var path=require('path');var sox=require('sox');var csv=require(_0x187b('0x5'));var ejs=require(_0x187b('0x6'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x187b('0x7'));var squel=require(_0x187b('0x8'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x187b('0x9'));var toCsv=require(_0x187b('0x5'));var querystring=require('querystring');var Papa=require(_0x187b('0xa'));var Redis=require(_0x187b('0xb'));var authService=require(_0x187b('0xc'));var qs=require('../../components/parsers/qs');var as=require(_0x187b('0xd'));var hardwareService=require(_0x187b('0xe'));var logger=require(_0x187b('0xf'))('api');var utils=require(_0x187b('0x10'));var config=require(_0x187b('0x11'));var licenseUtil=require(_0x187b('0x12'));var db=require(_0x187b('0x13'))['db'];function respondWithStatusCode(_0x3b3bc9,_0x1193f9){_0x1193f9=_0x1193f9||0xcc;return function(_0x9f5b3){if(_0x9f5b3){return _0x3b3bc9['sendStatus'](_0x1193f9);}return _0x3b3bc9[_0x187b('0x14')](_0x1193f9)[_0x187b('0x15')]();};}function respondWithResult(_0x50ebfd,_0x4a9b64){_0x4a9b64=_0x4a9b64||0xc8;return function(_0x87f792){if(_0x87f792){return _0x50ebfd[_0x187b('0x14')](_0x4a9b64)[_0x187b('0x16')](_0x87f792);}};}function respondWithFilteredResult(_0x536502,_0xe706a2){return function(_0x56c1c3){if(_0x56c1c3){var _0x3c0195=typeof _0xe706a2[_0x187b('0x17')]===_0x187b('0x18')&&typeof _0xe706a2[_0x187b('0x19')]===_0x187b('0x18');var _0x3ba6b3=_0x56c1c3[_0x187b('0x1a')];var _0x5d9aa8=_0x3c0195?0x0:_0xe706a2[_0x187b('0x17')];var _0x3a3c8c=_0x3c0195?_0x56c1c3['count']:_0xe706a2['offset']+_0xe706a2[_0x187b('0x19')];var _0x20af18;if(_0x3a3c8c>=_0x3ba6b3){_0x3a3c8c=_0x3ba6b3;_0x20af18=0xc8;}else{_0x20af18=0xce;}_0x536502[_0x187b('0x14')](_0x20af18);return _0x536502[_0x187b('0x1b')]('Content-Range',_0x5d9aa8+'-'+_0x3a3c8c+'/'+_0x3ba6b3)[_0x187b('0x16')](_0x56c1c3);}return null;};}function patchUpdates(_0x221f13){return function(_0x5eb1d4){try{jsonpatch[_0x187b('0x1c')](_0x5eb1d4,_0x221f13,!![]);}catch(_0x29de92){return BPromise['reject'](_0x29de92);}return _0x5eb1d4[_0x187b('0x1d')]();};}function saveUpdates(_0xf7b199,_0x332512){return function(_0x3b1f2d){if(_0x3b1f2d){return _0x3b1f2d[_0x187b('0x1e')](_0xf7b199)['then'](function(_0x4e757e){return _0x4e757e;});}return null;};}function removeEntity(_0x50f2bc,_0x43beff){return function(_0x3420ae){if(_0x3420ae){return _0x3420ae[_0x187b('0x1f')]()[_0x187b('0x20')](function(){_0x50f2bc[_0x187b('0x14')](0xcc)[_0x187b('0x15')]();});}};}function handleEntityNotFound(_0x3d4f02,_0x1bf33c){return function(_0x5cf4f0){if(!_0x5cf4f0){_0x3d4f02[_0x187b('0x21')](0x194);}return _0x5cf4f0;};}function handleError(_0x134014,_0x689efa){_0x689efa=_0x689efa||0x1f4;return function(_0x18e934){logger[_0x187b('0x22')](_0x18e934['stack']);if(_0x18e934[_0x187b('0x23')]){delete _0x18e934[_0x187b('0x23')];}_0x134014[_0x187b('0x14')](_0x689efa)[_0x187b('0x24')](_0x18e934);};}exports[_0x187b('0x25')]=function(_0x44a3df,_0x6747fd){var _0x337b5d={},_0x188020={},_0x43f942={'count':0x0,'rows':[]};var _0x19462b=_['map'](db['ZendeskField']['rawAttributes'],function(_0x3fec49){return{'name':_0x3fec49[_0x187b('0x26')],'type':_0x3fec49['type'][_0x187b('0x27')]};});_0x188020[_0x187b('0x28')]=_[_0x187b('0x29')](_0x19462b,_0x187b('0x23'));_0x188020['query']=_[_0x187b('0x2a')](_0x44a3df[_0x187b('0x2b')]);_0x188020['filters']=_[_0x187b('0x2c')](_0x188020[_0x187b('0x28')],_0x188020['query']);_0x337b5d[_0x187b('0x2d')]=_['intersection'](_0x188020['model'],qs[_0x187b('0x2e')](_0x44a3df[_0x187b('0x2b')][_0x187b('0x2e')]));_0x337b5d[_0x187b('0x2d')]=_0x337b5d[_0x187b('0x2d')][_0x187b('0x2f')]?_0x337b5d[_0x187b('0x2d')]:_0x188020[_0x187b('0x28')];if(!_0x44a3df[_0x187b('0x2b')]['hasOwnProperty']('nolimit')){_0x337b5d['limit']=qs[_0x187b('0x19')](_0x44a3df[_0x187b('0x2b')]['limit']);_0x337b5d[_0x187b('0x17')]=qs['offset'](_0x44a3df[_0x187b('0x2b')][_0x187b('0x17')]);}_0x337b5d[_0x187b('0x30')]=qs[_0x187b('0x31')](_0x44a3df[_0x187b('0x2b')][_0x187b('0x31')]);_0x337b5d['where']=qs[_0x187b('0x32')](_[_0x187b('0x33')](_0x44a3df[_0x187b('0x2b')],_0x188020[_0x187b('0x32')]),_0x19462b);if(_0x44a3df['query'][_0x187b('0x34')]){_0x337b5d[_0x187b('0x35')]=_[_0x187b('0x36')](_0x337b5d[_0x187b('0x35')],{'$or':_[_0x187b('0x29')](_0x19462b,function(_0x5d05e7){if(_0x5d05e7[_0x187b('0x37')]!==_0x187b('0x38')){var _0x7dae61={};_0x7dae61[_0x5d05e7['name']]={'$like':'%'+_0x44a3df[_0x187b('0x2b')]['filter']+'%'};return _0x7dae61;}})});}_0x337b5d=_[_0x187b('0x36')]({},_0x337b5d,_0x44a3df[_0x187b('0x39')]);var _0x4279d2={'where':_0x337b5d['where']};return db[_0x187b('0x3a')]['count'](_0x4279d2)[_0x187b('0x20')](function(_0x409b00){_0x43f942[_0x187b('0x1a')]=_0x409b00;if(_0x44a3df['query'][_0x187b('0x3b')]){_0x337b5d[_0x187b('0x3c')]=[{'all':!![]}];}return db['ZendeskField']['findAll'](_0x337b5d);})[_0x187b('0x20')](function(_0x5b58e6){_0x43f942[_0x187b('0x3d')]=_0x5b58e6;return _0x43f942;})[_0x187b('0x20')](respondWithFilteredResult(_0x6747fd,_0x337b5d))[_0x187b('0x3e')](handleError(_0x6747fd,null));};exports[_0x187b('0x3f')]=function(_0x4516c3,_0x4d8c1f){var _0x2cd51e={'raw':!![],'where':{'id':_0x4516c3[_0x187b('0x40')]['id']}},_0x9c313e={};_0x9c313e[_0x187b('0x28')]=_[_0x187b('0x2a')](db[_0x187b('0x3a')]['rawAttributes']);_0x9c313e[_0x187b('0x2b')]=_['keys'](_0x4516c3[_0x187b('0x2b')]);_0x9c313e[_0x187b('0x32')]=_['intersection'](_0x9c313e['model'],_0x9c313e[_0x187b('0x2b')]);_0x2cd51e[_0x187b('0x2d')]=_[_0x187b('0x2c')](_0x9c313e['model'],qs[_0x187b('0x2e')](_0x4516c3['query'][_0x187b('0x2e')]));_0x2cd51e[_0x187b('0x2d')]=_0x2cd51e['attributes'][_0x187b('0x2f')]?_0x2cd51e[_0x187b('0x2d')]:_0x9c313e[_0x187b('0x28')];if(_0x4516c3['query'][_0x187b('0x3b')]){_0x2cd51e['include']=[{'all':!![]}];}_0x2cd51e=_[_0x187b('0x36')]({},_0x2cd51e,_0x4516c3['options']);return db['ZendeskField'][_0x187b('0x41')](_0x2cd51e)[_0x187b('0x20')](handleEntityNotFound(_0x4d8c1f,null))[_0x187b('0x20')](respondWithResult(_0x4d8c1f,null))['catch'](handleError(_0x4d8c1f,null));};exports['create']=function(_0x17e3e1,_0x12fddc){return db[_0x187b('0x3a')][_0x187b('0x42')](_0x17e3e1[_0x187b('0x43')],{})['then'](respondWithResult(_0x12fddc,0xc9))[_0x187b('0x3e')](handleError(_0x12fddc,null));};exports[_0x187b('0x1e')]=function(_0x486194,_0x4f7e6e){if(_0x486194[_0x187b('0x43')]['id']){delete _0x486194['body']['id'];}return db[_0x187b('0x3a')]['find']({'where':{'id':_0x486194[_0x187b('0x40')]['id']}})[_0x187b('0x20')](handleEntityNotFound(_0x4f7e6e,null))['then'](saveUpdates(_0x486194[_0x187b('0x43')],null))[_0x187b('0x20')](respondWithResult(_0x4f7e6e,null))[_0x187b('0x3e')](handleError(_0x4f7e6e,null));};exports['destroy']=function(_0xaef75,_0x2f84c0){return db['ZendeskField'][_0x187b('0x41')]({'where':{'id':_0xaef75['params']['id']}})[_0x187b('0x20')](handleEntityNotFound(_0x2f84c0,null))[_0x187b('0x20')](removeEntity(_0x2f84c0,null))[_0x187b('0x3e')](handleError(_0x2f84c0,null));};