7faaa839089f1d0b1183071338ff2a9e88dc3eeb
[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 _0x872a=['save','update','then','destroy','error','stack','name','send','map','FreshdeskField','key','query','keys','intersection','model','fields','attributes','length','nolimit','order','sort','where','filters','pick','type','filter','merge','options','includeAll','include','findAll','rows','catch','params','find','create','body','html-pdf','eml-format','rimraf','zip-dir','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range'];(function(_0x377e11,_0x4bd449){var _0x270348=function(_0x37cb56){while(--_0x37cb56){_0x377e11['push'](_0x377e11['shift']());}};_0x270348(++_0x4bd449);}(_0x872a,0x100));var _0xa872=function(_0x5580bd,_0x578287){_0x5580bd=_0x5580bd-0x0;var _0x5afe9d=_0x872a[_0x5580bd];return _0x5afe9d;};'use strict';var pdf=require(_0xa872('0x0'));var emlformat=require(_0xa872('0x1'));var rimraf=require(_0xa872('0x2'));var zipdir=require(_0xa872('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xa872('0x4'));var Mustache=require(_0xa872('0x5'));var util=require(_0xa872('0x6'));var path=require(_0xa872('0x7'));var sox=require(_0xa872('0x8'));var csv=require(_0xa872('0x9'));var ejs=require(_0xa872('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0xa872('0xb'));var crypto=require(_0xa872('0xc'));var jsforce=require(_0xa872('0xd'));var deskjs=require(_0xa872('0xe'));var toCsv=require(_0xa872('0x9'));var querystring=require(_0xa872('0xf'));var Papa=require(_0xa872('0x10'));var Redis=require(_0xa872('0x11'));var authService=require(_0xa872('0x12'));var qs=require(_0xa872('0x13'));var as=require(_0xa872('0x14'));var hardwareService=require(_0xa872('0x15'));var logger=require(_0xa872('0x16'))(_0xa872('0x17'));var utils=require('../../config/utils');var config=require(_0xa872('0x18'));var licenseUtil=require(_0xa872('0x19'));var db=require(_0xa872('0x1a'))['db'];function respondWithStatusCode(_0x50a4e4,_0x3df1ed){_0x3df1ed=_0x3df1ed||0xcc;return function(_0x322863){if(_0x322863){return _0x50a4e4[_0xa872('0x1b')](_0x3df1ed);}return _0x50a4e4[_0xa872('0x1c')](_0x3df1ed)[_0xa872('0x1d')]();};}function respondWithResult(_0x5ea257,_0x3d2b0e){_0x3d2b0e=_0x3d2b0e||0xc8;return function(_0x5cd621){if(_0x5cd621){return _0x5ea257[_0xa872('0x1c')](_0x3d2b0e)[_0xa872('0x1e')](_0x5cd621);}};}function respondWithFilteredResult(_0x255abf,_0x947d7){return function(_0x54b97c){if(_0x54b97c){var _0x2619b1=_0x54b97c[_0xa872('0x1f')],_0xb8c0a2=_0x947d7[_0xa872('0x20')],_0x54a74e=_0x947d7['offset']+_0x947d7[_0xa872('0x21')],_0x28fe25;if(_0x54a74e>=_0x2619b1){_0x54a74e=_0x2619b1;_0x28fe25=0xc8;}else{_0x28fe25=0xce;}_0x255abf[_0xa872('0x1c')](_0x28fe25);return _0x255abf[_0xa872('0x22')](_0xa872('0x23'),_0xb8c0a2+'-'+_0x54a74e+'/'+_0x2619b1)[_0xa872('0x1e')](_0x54b97c);}return null;};}function patchUpdates(_0x4955b1){return function(_0x26cc07){try{jsonpatch['apply'](_0x26cc07,_0x4955b1,!![]);}catch(_0x28adef){return BPromise['reject'](_0x28adef);}return _0x26cc07[_0xa872('0x24')]();};}function saveUpdates(_0x58bd91,_0x18e3a5){return function(_0x56ff12){if(_0x56ff12){return _0x56ff12[_0xa872('0x25')](_0x58bd91)[_0xa872('0x26')](function(_0x5a0313){return _0x5a0313;});}return null;};}function removeEntity(_0x380c1c,_0x21db5b){return function(_0x5ad012){if(_0x5ad012){return _0x5ad012[_0xa872('0x27')]()[_0xa872('0x26')](function(){_0x380c1c[_0xa872('0x1c')](0xcc)[_0xa872('0x1d')]();});}};}function handleEntityNotFound(_0x167057,_0x28db80){return function(_0x24c301){if(!_0x24c301){_0x167057['sendStatus'](0x194);}return _0x24c301;};}function handleError(_0x1d6686,_0x1e0fee){_0x1e0fee=_0x1e0fee||0x1f4;return function(_0x28876a){logger[_0xa872('0x28')](_0x28876a[_0xa872('0x29')]);if(_0x28876a[_0xa872('0x2a')]){delete _0x28876a[_0xa872('0x2a')];}_0x1d6686['status'](_0x1e0fee)[_0xa872('0x2b')](_0x28876a);};}exports['index']=function(_0x1dd475,_0x4053c0){var _0x1e24c7={},_0x53a943={},_0x149f8d={'count':0x0,'rows':[]};var _0x7c7f13=_[_0xa872('0x2c')](db[_0xa872('0x2d')]['rawAttributes'],function(_0x438527){return{'name':_0x438527['fieldName'],'type':_0x438527['type'][_0xa872('0x2e')]};});_0x53a943['model']=_[_0xa872('0x2c')](_0x7c7f13,_0xa872('0x2a'));_0x53a943[_0xa872('0x2f')]=_[_0xa872('0x30')](_0x1dd475[_0xa872('0x2f')]);_0x53a943['filters']=_[_0xa872('0x31')](_0x53a943[_0xa872('0x32')],_0x53a943[_0xa872('0x2f')]);_0x1e24c7['attributes']=_[_0xa872('0x31')](_0x53a943[_0xa872('0x32')],qs[_0xa872('0x33')](_0x1dd475[_0xa872('0x2f')][_0xa872('0x33')]));_0x1e24c7[_0xa872('0x34')]=_0x1e24c7['attributes'][_0xa872('0x35')]?_0x1e24c7[_0xa872('0x34')]:_0x53a943[_0xa872('0x32')];if(!_0x1dd475[_0xa872('0x2f')]['hasOwnProperty'](_0xa872('0x36'))){_0x1e24c7[_0xa872('0x21')]=qs[_0xa872('0x21')](_0x1dd475[_0xa872('0x2f')][_0xa872('0x21')]);_0x1e24c7[_0xa872('0x20')]=qs[_0xa872('0x20')](_0x1dd475[_0xa872('0x2f')][_0xa872('0x20')]);}_0x1e24c7[_0xa872('0x37')]=qs[_0xa872('0x38')](_0x1dd475[_0xa872('0x2f')][_0xa872('0x38')]);_0x1e24c7[_0xa872('0x39')]=qs[_0xa872('0x3a')](_[_0xa872('0x3b')](_0x1dd475[_0xa872('0x2f')],_0x53a943[_0xa872('0x3a')]),_0x7c7f13);if(_0x1dd475[_0xa872('0x2f')]['filter']){_0x1e24c7['where']=_['merge'](_0x1e24c7['where'],{'$or':_[_0xa872('0x2c')](_0x7c7f13,function(_0x113c70){if(_0x113c70[_0xa872('0x3c')]!=='VIRTUAL'){var _0x2e8b48={};_0x2e8b48[_0x113c70[_0xa872('0x2a')]]={'$like':'%'+_0x1dd475['query'][_0xa872('0x3d')]+'%'};return _0x2e8b48;}})});}_0x1e24c7=_[_0xa872('0x3e')]({},_0x1e24c7,_0x1dd475[_0xa872('0x3f')]);var _0x525a9c={'where':_0x1e24c7[_0xa872('0x39')]};return db[_0xa872('0x2d')][_0xa872('0x1f')](_0x525a9c)['then'](function(_0xcae52b){_0x149f8d[_0xa872('0x1f')]=_0xcae52b;if(_0x1dd475[_0xa872('0x2f')][_0xa872('0x40')]){_0x1e24c7[_0xa872('0x41')]=[{'all':!![]}];}return db[_0xa872('0x2d')][_0xa872('0x42')](_0x1e24c7);})['then'](function(_0x5873ae){_0x149f8d[_0xa872('0x43')]=_0x5873ae;return _0x149f8d;})[_0xa872('0x26')](respondWithFilteredResult(_0x4053c0,_0x1e24c7))[_0xa872('0x44')](handleError(_0x4053c0,null));};exports['show']=function(_0x218aeb,_0x19a54b){var _0x4ca51c={'raw':!![],'where':{'id':_0x218aeb[_0xa872('0x45')]['id']}},_0x4e6551={};_0x4e6551[_0xa872('0x32')]=_[_0xa872('0x30')](db[_0xa872('0x2d')]['rawAttributes']);_0x4e6551[_0xa872('0x2f')]=_[_0xa872('0x30')](_0x218aeb['query']);_0x4e6551[_0xa872('0x3a')]=_['intersection'](_0x4e6551[_0xa872('0x32')],_0x4e6551[_0xa872('0x2f')]);_0x4ca51c[_0xa872('0x34')]=_[_0xa872('0x31')](_0x4e6551[_0xa872('0x32')],qs[_0xa872('0x33')](_0x218aeb[_0xa872('0x2f')]['fields']));_0x4ca51c[_0xa872('0x34')]=_0x4ca51c[_0xa872('0x34')]['length']?_0x4ca51c[_0xa872('0x34')]:_0x4e6551['model'];if(_0x218aeb[_0xa872('0x2f')][_0xa872('0x40')]){_0x4ca51c['include']=[{'all':!![]}];}_0x4ca51c=_[_0xa872('0x3e')]({},_0x4ca51c,_0x218aeb[_0xa872('0x3f')]);return db['FreshdeskField'][_0xa872('0x46')](_0x4ca51c)[_0xa872('0x26')](handleEntityNotFound(_0x19a54b,null))[_0xa872('0x26')](respondWithResult(_0x19a54b,null))[_0xa872('0x44')](handleError(_0x19a54b,null));};exports[_0xa872('0x47')]=function(_0x131276,_0x109281){return db[_0xa872('0x2d')]['create'](_0x131276[_0xa872('0x48')],{})[_0xa872('0x26')](respondWithResult(_0x109281,0xc9))['catch'](handleError(_0x109281,null));};exports[_0xa872('0x25')]=function(_0xa63778,_0x115c49){if(_0xa63778['body']['id']){delete _0xa63778['body']['id'];}return db[_0xa872('0x2d')][_0xa872('0x46')]({'where':{'id':_0xa63778[_0xa872('0x45')]['id']}})['then'](handleEntityNotFound(_0x115c49,null))[_0xa872('0x26')](saveUpdates(_0xa63778[_0xa872('0x48')],null))['then'](respondWithResult(_0x115c49,null))[_0xa872('0x44')](handleError(_0x115c49,null));};exports[_0xa872('0x27')]=function(_0x4aa1ec,_0x41311e){return db['FreshdeskField'][_0xa872('0x46')]({'where':{'id':_0x4aa1ec['params']['id']}})[_0xa872('0x26')](handleEntityNotFound(_0x41311e,null))[_0xa872('0x26')](removeEntity(_0x41311e,null))[_0xa872('0x44')](handleError(_0x41311e,null));};