38810e60d0afd004d05b26a393ba513300d8f218
[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 _0x3858=['html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','end','error','stack','name','index','map','fieldName','type','key','query','filters','intersection','model','fields','attributes','hasOwnProperty','nolimit','order','sort','filter','where','merge','VIRTUAL','options','FreshdeskField','includeAll','include','findAll','catch','show','params','rawAttributes','keys','length','find','create','body','destroy'];(function(_0x356ebb,_0x26f352){var _0x352121=function(_0x455fb5){while(--_0x455fb5){_0x356ebb['push'](_0x356ebb['shift']());}};_0x352121(++_0x26f352);}(_0x3858,0x1c8));var _0x8385=function(_0x1656b8,_0x16ec0c){_0x1656b8=_0x1656b8-0x0;var _0x43a9e1=_0x3858[_0x1656b8];return _0x43a9e1;};'use strict';var pdf=require(_0x8385('0x0'));var emlformat=require(_0x8385('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x8385('0x2'));var jsonpatch=require(_0x8385('0x3'));var rp=require(_0x8385('0x4'));var moment=require(_0x8385('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x8385('0x6'));var util=require(_0x8385('0x7'));var path=require('path');var sox=require(_0x8385('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x8385('0x9'));var squel=require(_0x8385('0xa'));var crypto=require(_0x8385('0xb'));var jsforce=require(_0x8385('0xc'));var deskjs=require(_0x8385('0xd'));var toCsv=require(_0x8385('0xe'));var querystring=require(_0x8385('0xf'));var Papa=require(_0x8385('0x10'));var Redis=require('ioredis');var authService=require(_0x8385('0x11'));var qs=require(_0x8385('0x12'));var as=require(_0x8385('0x13'));var hardwareService=require(_0x8385('0x14'));var logger=require('../../config/logger')(_0x8385('0x15'));var utils=require(_0x8385('0x16'));var config=require(_0x8385('0x17'));var db=require(_0x8385('0x18'))['db'];function respondWithStatusCode(_0x2557d,_0x2ea1f9){_0x2ea1f9=_0x2ea1f9||0xcc;return function(_0x38e089){if(_0x38e089){return _0x2557d[_0x8385('0x19')](_0x2ea1f9);}return _0x2557d['status'](_0x2ea1f9)['end']();};}function respondWithResult(_0x2e9c53,_0x4f6235){_0x4f6235=_0x4f6235||0xc8;return function(_0x47e22c){if(_0x47e22c){return _0x2e9c53[_0x8385('0x1a')](_0x4f6235)[_0x8385('0x1b')](_0x47e22c);}};}function respondWithFilteredResult(_0x4dae90,_0x5f0870){return function(_0x197493){if(_0x197493){var _0x3fe949=_0x197493[_0x8385('0x1c')],_0x14c064=_0x5f0870[_0x8385('0x1d')],_0x61f1df=_0x5f0870[_0x8385('0x1d')]+_0x5f0870[_0x8385('0x1e')],_0x55ec2d;if(_0x61f1df>=_0x3fe949){_0x61f1df=_0x3fe949;_0x55ec2d=0xc8;}else{_0x55ec2d=0xce;}_0x4dae90['status'](_0x55ec2d);return _0x4dae90[_0x8385('0x1f')](_0x8385('0x20'),_0x14c064+'-'+_0x61f1df+'/'+_0x3fe949)[_0x8385('0x1b')](_0x197493);}return null;};}function patchUpdates(_0x4e6316){return function(_0x5da3b2){try{jsonpatch[_0x8385('0x21')](_0x5da3b2,_0x4e6316,!![]);}catch(_0x2ffd3f){return BPromise[_0x8385('0x22')](_0x2ffd3f);}return _0x5da3b2[_0x8385('0x23')]();};}function saveUpdates(_0x8c0aa,_0x48a224){return function(_0x1b30d7){if(_0x1b30d7){return _0x1b30d7[_0x8385('0x24')](_0x8c0aa)[_0x8385('0x25')](function(_0x528acf){return _0x528acf;});}return null;};}function removeEntity(_0x6e792a,_0x5afeaa){return function(_0xd8966e){if(_0xd8966e){return _0xd8966e['destroy']()[_0x8385('0x25')](function(){_0x6e792a[_0x8385('0x1a')](0xcc)[_0x8385('0x26')]();});}};}function handleEntityNotFound(_0x40b0d0,_0x35c9e6){return function(_0x4b0114){if(!_0x4b0114){_0x40b0d0[_0x8385('0x19')](0x194);}return _0x4b0114;};}function handleError(_0xd83d5d,_0x5a9b90){_0x5a9b90=_0x5a9b90||0x1f4;return function(_0x378845){logger[_0x8385('0x27')](_0x378845[_0x8385('0x28')]);if(_0x378845[_0x8385('0x29')]){delete _0x378845[_0x8385('0x29')];}_0xd83d5d[_0x8385('0x1a')](_0x5a9b90)['send'](_0x378845);};}exports[_0x8385('0x2a')]=function(_0xa4b29b,_0x4f2825){var _0x18188={},_0x3c51f3={},_0x25f1cf={'count':0x0,'rows':[]};var _0x2968ca=_[_0x8385('0x2b')](db['FreshdeskField']['rawAttributes'],function(_0x3e3b10){return{'name':_0x3e3b10[_0x8385('0x2c')],'type':_0x3e3b10[_0x8385('0x2d')][_0x8385('0x2e')]};});_0x3c51f3['model']=_[_0x8385('0x2b')](_0x2968ca,_0x8385('0x29'));_0x3c51f3['query']=_['keys'](_0xa4b29b[_0x8385('0x2f')]);_0x3c51f3[_0x8385('0x30')]=_['intersection'](_0x3c51f3['model'],_0x3c51f3[_0x8385('0x2f')]);_0x18188['attributes']=_[_0x8385('0x31')](_0x3c51f3[_0x8385('0x32')],qs[_0x8385('0x33')](_0xa4b29b[_0x8385('0x2f')][_0x8385('0x33')]));_0x18188[_0x8385('0x34')]=_0x18188[_0x8385('0x34')]['length']?_0x18188[_0x8385('0x34')]:_0x3c51f3[_0x8385('0x32')];if(!_0xa4b29b[_0x8385('0x2f')][_0x8385('0x35')](_0x8385('0x36'))){_0x18188[_0x8385('0x1e')]=qs[_0x8385('0x1e')](_0xa4b29b[_0x8385('0x2f')][_0x8385('0x1e')]);_0x18188[_0x8385('0x1d')]=qs[_0x8385('0x1d')](_0xa4b29b[_0x8385('0x2f')][_0x8385('0x1d')]);}_0x18188[_0x8385('0x37')]=qs[_0x8385('0x38')](_0xa4b29b['query']['sort']);_0x18188['where']=qs['filters'](_['pick'](_0xa4b29b[_0x8385('0x2f')],_0x3c51f3['filters']),_0x2968ca);if(_0xa4b29b['query'][_0x8385('0x39')]){_0x18188[_0x8385('0x3a')]=_[_0x8385('0x3b')](_0x18188[_0x8385('0x3a')],{'$or':_['map'](_0x2968ca,function(_0x51f7e0){if(_0x51f7e0[_0x8385('0x2d')]!==_0x8385('0x3c')){var _0x9419be={};_0x9419be[_0x51f7e0[_0x8385('0x29')]]={'$like':'%'+_0xa4b29b[_0x8385('0x2f')]['filter']+'%'};return _0x9419be;}})});}_0x18188=_[_0x8385('0x3b')]({},_0x18188,_0xa4b29b[_0x8385('0x3d')]);var _0xb2a23={'where':_0x18188['where']};return db[_0x8385('0x3e')][_0x8385('0x1c')](_0xb2a23)[_0x8385('0x25')](function(_0x1ab174){_0x25f1cf[_0x8385('0x1c')]=_0x1ab174;if(_0xa4b29b[_0x8385('0x2f')][_0x8385('0x3f')]){_0x18188[_0x8385('0x40')]=[{'all':!![]}];}return db['FreshdeskField'][_0x8385('0x41')](_0x18188);})[_0x8385('0x25')](function(_0x2eadae){_0x25f1cf['rows']=_0x2eadae;return _0x25f1cf;})['then'](respondWithFilteredResult(_0x4f2825,_0x18188))[_0x8385('0x42')](handleError(_0x4f2825,null));};exports[_0x8385('0x43')]=function(_0x23a2dc,_0x308508){var _0x3df1f5={'raw':!![],'where':{'id':_0x23a2dc[_0x8385('0x44')]['id']}},_0x262edc={};_0x262edc[_0x8385('0x32')]=_['keys'](db[_0x8385('0x3e')][_0x8385('0x45')]);_0x262edc[_0x8385('0x2f')]=_[_0x8385('0x46')](_0x23a2dc[_0x8385('0x2f')]);_0x262edc[_0x8385('0x30')]=_[_0x8385('0x31')](_0x262edc[_0x8385('0x32')],_0x262edc[_0x8385('0x2f')]);_0x3df1f5['attributes']=_['intersection'](_0x262edc[_0x8385('0x32')],qs[_0x8385('0x33')](_0x23a2dc['query'][_0x8385('0x33')]));_0x3df1f5['attributes']=_0x3df1f5[_0x8385('0x34')][_0x8385('0x47')]?_0x3df1f5['attributes']:_0x262edc[_0x8385('0x32')];if(_0x23a2dc[_0x8385('0x2f')][_0x8385('0x3f')]){_0x3df1f5['include']=[{'all':!![]}];}_0x3df1f5=_[_0x8385('0x3b')]({},_0x3df1f5,_0x23a2dc[_0x8385('0x3d')]);return db[_0x8385('0x3e')][_0x8385('0x48')](_0x3df1f5)[_0x8385('0x25')](handleEntityNotFound(_0x308508,null))[_0x8385('0x25')](respondWithResult(_0x308508,null))[_0x8385('0x42')](handleError(_0x308508,null));};exports[_0x8385('0x49')]=function(_0x34425d,_0x799ebc){return db['FreshdeskField'][_0x8385('0x49')](_0x34425d[_0x8385('0x4a')],{})[_0x8385('0x25')](respondWithResult(_0x799ebc,0xc9))[_0x8385('0x42')](handleError(_0x799ebc,null));};exports[_0x8385('0x24')]=function(_0x3676c8,_0x18890b){if(_0x3676c8[_0x8385('0x4a')]['id']){delete _0x3676c8['body']['id'];}return db[_0x8385('0x3e')]['find']({'where':{'id':_0x3676c8[_0x8385('0x44')]['id']}})[_0x8385('0x25')](handleEntityNotFound(_0x18890b,null))[_0x8385('0x25')](saveUpdates(_0x3676c8[_0x8385('0x4a')],null))[_0x8385('0x25')](respondWithResult(_0x18890b,null))['catch'](handleError(_0x18890b,null));};exports[_0x8385('0x4b')]=function(_0x25c5f6,_0x3fbca9){return db[_0x8385('0x3e')]['find']({'where':{'id':_0x25c5f6['params']['id']}})[_0x8385('0x25')](handleEntityNotFound(_0x3fbca9,null))[_0x8385('0x25')](removeEntity(_0x3fbca9,null))['catch'](handleError(_0x3fbca9,null));};