52632ed24279454d2464f0523fc80d8fb699557a
[motion2.git] / server / api / intFreshdeskField / intFreshdeskField.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 _0x3b1d=['error','stack','name','map','FreshdeskField','rawAttributes','fieldName','key','model','query','keys','attributes','fields','length','hasOwnProperty','nolimit','limit','sort','where','filters','filter','type','VIRTUAL','merge','includeAll','include','findAll','rows','intersection','options','catch','create','body','find','params','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','end','json','count','offset','status','set','Content-Range','reject','save','then','destroy'];(function(_0x3124f8,_0x1a8b23){var _0x5bab5f=function(_0x18b09b){while(--_0x18b09b){_0x3124f8['push'](_0x3124f8['shift']());}};_0x5bab5f(++_0x1a8b23);}(_0x3b1d,0x172));var _0xd3b1=function(_0x18ab2a,_0x4debcd){_0x18ab2a=_0x18ab2a-0x0;var _0x16dcee=_0x3b1d[_0x18ab2a];return _0x16dcee;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xd3b1('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xd3b1('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xd3b1('0x2'));var moment=require(_0xd3b1('0x3'));var BPromise=require(_0xd3b1('0x4'));var Mustache=require(_0xd3b1('0x5'));var util=require(_0xd3b1('0x6'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0xd3b1('0x7'));var squel=require(_0xd3b1('0x8'));var crypto=require(_0xd3b1('0x9'));var jsforce=require(_0xd3b1('0xa'));var deskjs=require(_0xd3b1('0xb'));var toCsv=require('to-csv');var querystring=require(_0xd3b1('0xc'));var Papa=require('papaparse');var Redis=require(_0xd3b1('0xd'));var authService=require(_0xd3b1('0xe'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd3b1('0xf'));var logger=require(_0xd3b1('0x10'))(_0xd3b1('0x11'));var utils=require(_0xd3b1('0x12'));var config=require(_0xd3b1('0x13'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x7d66e4,_0x47c796){_0x47c796=_0x47c796||0xcc;return function(_0x37de16){if(_0x37de16){return _0x7d66e4[_0xd3b1('0x14')](_0x47c796);}return _0x7d66e4['status'](_0x47c796)[_0xd3b1('0x15')]();};}function respondWithResult(_0x3efe54,_0x40a462){_0x40a462=_0x40a462||0xc8;return function(_0x2e955c){if(_0x2e955c){return _0x3efe54['status'](_0x40a462)[_0xd3b1('0x16')](_0x2e955c);}};}function respondWithFilteredResult(_0x596f9d,_0x1f8500){return function(_0x44cd74){if(_0x44cd74){var _0x4e2a6f=_0x44cd74[_0xd3b1('0x17')],_0x235ba3=_0x1f8500[_0xd3b1('0x18')],_0x38e6ef=_0x1f8500[_0xd3b1('0x18')]+_0x1f8500['limit'],_0x2e2fe9;if(_0x38e6ef>=_0x4e2a6f){_0x38e6ef=_0x4e2a6f;_0x2e2fe9=0xc8;}else{_0x2e2fe9=0xce;}_0x596f9d[_0xd3b1('0x19')](_0x2e2fe9);return _0x596f9d[_0xd3b1('0x1a')](_0xd3b1('0x1b'),_0x235ba3+'-'+_0x38e6ef+'/'+_0x4e2a6f)[_0xd3b1('0x16')](_0x44cd74);}return null;};}function patchUpdates(_0x3fc755){return function(_0x2e091b){try{jsonpatch['apply'](_0x2e091b,_0x3fc755,!![]);}catch(_0x4a50e3){return BPromise[_0xd3b1('0x1c')](_0x4a50e3);}return _0x2e091b[_0xd3b1('0x1d')]();};}function saveUpdates(_0x263de1,_0x5ab1a6){return function(_0x3ba193){if(_0x3ba193){return _0x3ba193['update'](_0x263de1)[_0xd3b1('0x1e')](function(_0x512618){return _0x512618;});}return null;};}function removeEntity(_0x2cb671,_0x3b5010){return function(_0x54469a){if(_0x54469a){return _0x54469a[_0xd3b1('0x1f')]()[_0xd3b1('0x1e')](function(){_0x2cb671['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x4a7df5,_0x598991){return function(_0x5c403b){if(!_0x5c403b){_0x4a7df5[_0xd3b1('0x14')](0x194);}return _0x5c403b;};}function handleError(_0x455939,_0x274e01){_0x274e01=_0x274e01||0x1f4;return function(_0x4197a8){logger[_0xd3b1('0x20')](_0x4197a8[_0xd3b1('0x21')]);if(_0x4197a8[_0xd3b1('0x22')]){delete _0x4197a8[_0xd3b1('0x22')];}_0x455939['status'](_0x274e01)['send'](_0x4197a8);};}exports['index']=function(_0x2ff9bb,_0x25e3e4){var _0x4cd878={},_0x442b4d={},_0x27a29c={'count':0x0,'rows':[]};var _0x5dde2b=_[_0xd3b1('0x23')](db[_0xd3b1('0x24')][_0xd3b1('0x25')],function(_0x5838fe){return{'name':_0x5838fe[_0xd3b1('0x26')],'type':_0x5838fe['type'][_0xd3b1('0x27')]};});_0x442b4d[_0xd3b1('0x28')]=_[_0xd3b1('0x23')](_0x5dde2b,_0xd3b1('0x22'));_0x442b4d[_0xd3b1('0x29')]=_[_0xd3b1('0x2a')](_0x2ff9bb[_0xd3b1('0x29')]);_0x442b4d['filters']=_['intersection'](_0x442b4d[_0xd3b1('0x28')],_0x442b4d['query']);_0x4cd878[_0xd3b1('0x2b')]=_['intersection'](_0x442b4d[_0xd3b1('0x28')],qs['fields'](_0x2ff9bb[_0xd3b1('0x29')][_0xd3b1('0x2c')]));_0x4cd878['attributes']=_0x4cd878[_0xd3b1('0x2b')][_0xd3b1('0x2d')]?_0x4cd878[_0xd3b1('0x2b')]:_0x442b4d[_0xd3b1('0x28')];if(!_0x2ff9bb[_0xd3b1('0x29')][_0xd3b1('0x2e')](_0xd3b1('0x2f'))){_0x4cd878['limit']=qs[_0xd3b1('0x30')](_0x2ff9bb[_0xd3b1('0x29')][_0xd3b1('0x30')]);_0x4cd878[_0xd3b1('0x18')]=qs[_0xd3b1('0x18')](_0x2ff9bb['query'][_0xd3b1('0x18')]);}_0x4cd878['order']=qs[_0xd3b1('0x31')](_0x2ff9bb[_0xd3b1('0x29')][_0xd3b1('0x31')]);_0x4cd878[_0xd3b1('0x32')]=qs['filters'](_['pick'](_0x2ff9bb[_0xd3b1('0x29')],_0x442b4d[_0xd3b1('0x33')]),_0x5dde2b);if(_0x2ff9bb[_0xd3b1('0x29')][_0xd3b1('0x34')]){_0x4cd878[_0xd3b1('0x32')]=_['merge'](_0x4cd878['where'],{'$or':_[_0xd3b1('0x23')](_0x5dde2b,function(_0xb9a4cc){if(_0xb9a4cc[_0xd3b1('0x35')]!==_0xd3b1('0x36')){var _0x1d26ae={};_0x1d26ae[_0xb9a4cc[_0xd3b1('0x22')]]={'$like':'%'+_0x2ff9bb[_0xd3b1('0x29')][_0xd3b1('0x34')]+'%'};return _0x1d26ae;}})});}_0x4cd878=_[_0xd3b1('0x37')]({},_0x4cd878,_0x2ff9bb['options']);var _0x16a79e={'where':_0x4cd878[_0xd3b1('0x32')]};return db[_0xd3b1('0x24')][_0xd3b1('0x17')](_0x16a79e)[_0xd3b1('0x1e')](function(_0x3dbcc0){_0x27a29c['count']=_0x3dbcc0;if(_0x2ff9bb[_0xd3b1('0x29')][_0xd3b1('0x38')]){_0x4cd878[_0xd3b1('0x39')]=[{'all':!![]}];}return db[_0xd3b1('0x24')][_0xd3b1('0x3a')](_0x4cd878);})[_0xd3b1('0x1e')](function(_0x218d9e){_0x27a29c[_0xd3b1('0x3b')]=_0x218d9e;return _0x27a29c;})[_0xd3b1('0x1e')](respondWithFilteredResult(_0x25e3e4,_0x4cd878))['catch'](handleError(_0x25e3e4,null));};exports['show']=function(_0xcc70f1,_0x416317){var _0x50c7f8={'raw':!![],'where':{'id':_0xcc70f1['params']['id']}},_0x4ec85a={};_0x4ec85a['model']=_['keys'](db[_0xd3b1('0x24')][_0xd3b1('0x25')]);_0x4ec85a[_0xd3b1('0x29')]=_[_0xd3b1('0x2a')](_0xcc70f1[_0xd3b1('0x29')]);_0x4ec85a['filters']=_[_0xd3b1('0x3c')](_0x4ec85a[_0xd3b1('0x28')],_0x4ec85a['query']);_0x50c7f8[_0xd3b1('0x2b')]=_[_0xd3b1('0x3c')](_0x4ec85a['model'],qs[_0xd3b1('0x2c')](_0xcc70f1[_0xd3b1('0x29')][_0xd3b1('0x2c')]));_0x50c7f8[_0xd3b1('0x2b')]=_0x50c7f8[_0xd3b1('0x2b')][_0xd3b1('0x2d')]?_0x50c7f8[_0xd3b1('0x2b')]:_0x4ec85a[_0xd3b1('0x28')];if(_0xcc70f1['query'][_0xd3b1('0x38')]){_0x50c7f8[_0xd3b1('0x39')]=[{'all':!![]}];}_0x50c7f8=_[_0xd3b1('0x37')]({},_0x50c7f8,_0xcc70f1[_0xd3b1('0x3d')]);return db['FreshdeskField']['find'](_0x50c7f8)[_0xd3b1('0x1e')](handleEntityNotFound(_0x416317,null))[_0xd3b1('0x1e')](respondWithResult(_0x416317,null))[_0xd3b1('0x3e')](handleError(_0x416317,null));};exports['create']=function(_0x4c93e9,_0x59e5c7){return db[_0xd3b1('0x24')][_0xd3b1('0x3f')](_0x4c93e9['body'],{})[_0xd3b1('0x1e')](respondWithResult(_0x59e5c7,0xc9))[_0xd3b1('0x3e')](handleError(_0x59e5c7,null));};exports['update']=function(_0x35b2f2,_0x704fd0){if(_0x35b2f2[_0xd3b1('0x40')]['id']){delete _0x35b2f2[_0xd3b1('0x40')]['id'];}return db[_0xd3b1('0x24')][_0xd3b1('0x41')]({'where':{'id':_0x35b2f2[_0xd3b1('0x42')]['id']}})[_0xd3b1('0x1e')](handleEntityNotFound(_0x704fd0,null))[_0xd3b1('0x1e')](saveUpdates(_0x35b2f2[_0xd3b1('0x40')],null))['then'](respondWithResult(_0x704fd0,null))[_0xd3b1('0x3e')](handleError(_0x704fd0,null));};exports[_0xd3b1('0x1f')]=function(_0x322689,_0x27776d){return db['FreshdeskField']['find']({'where':{'id':_0x322689[_0xd3b1('0x42')]['id']}})[_0xd3b1('0x1e')](handleEntityNotFound(_0x27776d,null))['then'](removeEntity(_0x27776d,null))[_0xd3b1('0x3e')](handleError(_0x27776d,null));};