661a104eccc68723c58fd3f70b6b5e14416861a5
[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 _0xb734=['body','update','find','params','destroy','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','offset','set','Content-Range','json','reject','save','error','stack','name','send','rawAttributes','type','key','model','query','keys','filters','attributes','fields','hasOwnProperty','nolimit','limit','sort','where','pick','VIRTUAL','merge','options','FreshdeskField','count','then','includeAll','findAll','rows','catch','show','intersection','length','include','create'];(function(_0x4777d3,_0x45a019){var _0x5a0a37=function(_0x399829){while(--_0x399829){_0x4777d3['push'](_0x4777d3['shift']());}};_0x5a0a37(++_0x45a019);}(_0xb734,0xe3));var _0x4b73=function(_0x4ed520,_0x21be63){_0x4ed520=_0x4ed520-0x0;var _0x4415a6=_0xb734[_0x4ed520];return _0x4415a6;};'use strict';var pdf=require(_0x4b73('0x0'));var emlformat=require(_0x4b73('0x1'));var rimraf=require(_0x4b73('0x2'));var zipdir=require(_0x4b73('0x3'));var jsonpatch=require(_0x4b73('0x4'));var rp=require(_0x4b73('0x5'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x4b73('0x6'));var path=require(_0x4b73('0x7'));var sox=require(_0x4b73('0x8'));var csv=require(_0x4b73('0x9'));var ejs=require(_0x4b73('0xa'));var fs=require('fs');var _=require(_0x4b73('0xb'));var squel=require(_0x4b73('0xc'));var crypto=require('crypto');var jsforce=require(_0x4b73('0xd'));var deskjs=require(_0x4b73('0xe'));var toCsv=require('to-csv');var querystring=require(_0x4b73('0xf'));var Papa=require('papaparse');var Redis=require(_0x4b73('0x10'));var authService=require(_0x4b73('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x4b73('0x12'));var hardwareService=require(_0x4b73('0x13'));var logger=require(_0x4b73('0x14'))(_0x4b73('0x15'));var utils=require(_0x4b73('0x16'));var config=require(_0x4b73('0x17'));var licenseUtil=require(_0x4b73('0x18'));var db=require(_0x4b73('0x19'))['db'];function respondWithStatusCode(_0x455d5f,_0x31163b){_0x31163b=_0x31163b||0xcc;return function(_0x12182d){if(_0x12182d){return _0x455d5f[_0x4b73('0x1a')](_0x31163b);}return _0x455d5f['status'](_0x31163b)[_0x4b73('0x1b')]();};}function respondWithResult(_0x39084d,_0x555a2b){_0x555a2b=_0x555a2b||0xc8;return function(_0x3f3231){if(_0x3f3231){return _0x39084d[_0x4b73('0x1c')](_0x555a2b)['json'](_0x3f3231);}};}function respondWithFilteredResult(_0x1a18fd,_0x5a728a){return function(_0x4b159e){if(_0x4b159e){var _0x5286e5=_0x4b159e['count'],_0x44ccde=_0x5a728a[_0x4b73('0x1d')],_0x210219=_0x5a728a[_0x4b73('0x1d')]+_0x5a728a['limit'],_0x4f92cd;if(_0x210219>=_0x5286e5){_0x210219=_0x5286e5;_0x4f92cd=0xc8;}else{_0x4f92cd=0xce;}_0x1a18fd[_0x4b73('0x1c')](_0x4f92cd);return _0x1a18fd[_0x4b73('0x1e')](_0x4b73('0x1f'),_0x44ccde+'-'+_0x210219+'/'+_0x5286e5)[_0x4b73('0x20')](_0x4b159e);}return null;};}function patchUpdates(_0x1ec1d5){return function(_0x5a7fd0){try{jsonpatch['apply'](_0x5a7fd0,_0x1ec1d5,!![]);}catch(_0x160b91){return BPromise[_0x4b73('0x21')](_0x160b91);}return _0x5a7fd0[_0x4b73('0x22')]();};}function saveUpdates(_0x14034c,_0x59ba35){return function(_0x5749d8){if(_0x5749d8){return _0x5749d8['update'](_0x14034c)['then'](function(_0x1f6b8f){return _0x1f6b8f;});}return null;};}function removeEntity(_0x597a27,_0x3d5cdf){return function(_0x2d24f4){if(_0x2d24f4){return _0x2d24f4['destroy']()['then'](function(){_0x597a27[_0x4b73('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5e44d5,_0x5f08d5){return function(_0x38bc02){if(!_0x38bc02){_0x5e44d5['sendStatus'](0x194);}return _0x38bc02;};}function handleError(_0x140237,_0x166d92){_0x166d92=_0x166d92||0x1f4;return function(_0x39eb4e){logger[_0x4b73('0x23')](_0x39eb4e[_0x4b73('0x24')]);if(_0x39eb4e['name']){delete _0x39eb4e[_0x4b73('0x25')];}_0x140237[_0x4b73('0x1c')](_0x166d92)[_0x4b73('0x26')](_0x39eb4e);};}exports['index']=function(_0x424b98,_0x5bf25f){var _0x523e03={},_0x367307={},_0x45ec66={'count':0x0,'rows':[]};var _0x194f24=_['map'](db['FreshdeskField'][_0x4b73('0x27')],function(_0x4d54c3){return{'name':_0x4d54c3['fieldName'],'type':_0x4d54c3[_0x4b73('0x28')][_0x4b73('0x29')]};});_0x367307[_0x4b73('0x2a')]=_['map'](_0x194f24,'name');_0x367307[_0x4b73('0x2b')]=_[_0x4b73('0x2c')](_0x424b98[_0x4b73('0x2b')]);_0x367307[_0x4b73('0x2d')]=_['intersection'](_0x367307[_0x4b73('0x2a')],_0x367307['query']);_0x523e03[_0x4b73('0x2e')]=_['intersection'](_0x367307[_0x4b73('0x2a')],qs[_0x4b73('0x2f')](_0x424b98[_0x4b73('0x2b')]['fields']));_0x523e03[_0x4b73('0x2e')]=_0x523e03['attributes']['length']?_0x523e03['attributes']:_0x367307[_0x4b73('0x2a')];if(!_0x424b98[_0x4b73('0x2b')][_0x4b73('0x30')](_0x4b73('0x31'))){_0x523e03[_0x4b73('0x32')]=qs[_0x4b73('0x32')](_0x424b98[_0x4b73('0x2b')][_0x4b73('0x32')]);_0x523e03['offset']=qs[_0x4b73('0x1d')](_0x424b98[_0x4b73('0x2b')][_0x4b73('0x1d')]);}_0x523e03['order']=qs[_0x4b73('0x33')](_0x424b98[_0x4b73('0x2b')][_0x4b73('0x33')]);_0x523e03[_0x4b73('0x34')]=qs[_0x4b73('0x2d')](_[_0x4b73('0x35')](_0x424b98[_0x4b73('0x2b')],_0x367307[_0x4b73('0x2d')]),_0x194f24);if(_0x424b98['query']['filter']){_0x523e03['where']=_['merge'](_0x523e03[_0x4b73('0x34')],{'$or':_['map'](_0x194f24,function(_0x570461){if(_0x570461[_0x4b73('0x28')]!==_0x4b73('0x36')){var _0x42ac6b={};_0x42ac6b[_0x570461[_0x4b73('0x25')]]={'$like':'%'+_0x424b98['query']['filter']+'%'};return _0x42ac6b;}})});}_0x523e03=_[_0x4b73('0x37')]({},_0x523e03,_0x424b98[_0x4b73('0x38')]);var _0x157f68={'where':_0x523e03[_0x4b73('0x34')]};return db[_0x4b73('0x39')][_0x4b73('0x3a')](_0x157f68)[_0x4b73('0x3b')](function(_0x2d933c){_0x45ec66[_0x4b73('0x3a')]=_0x2d933c;if(_0x424b98['query'][_0x4b73('0x3c')]){_0x523e03['include']=[{'all':!![]}];}return db[_0x4b73('0x39')][_0x4b73('0x3d')](_0x523e03);})[_0x4b73('0x3b')](function(_0x56b80a){_0x45ec66[_0x4b73('0x3e')]=_0x56b80a;return _0x45ec66;})[_0x4b73('0x3b')](respondWithFilteredResult(_0x5bf25f,_0x523e03))[_0x4b73('0x3f')](handleError(_0x5bf25f,null));};exports[_0x4b73('0x40')]=function(_0x4c4277,_0xa6f849){var _0x3fd7be={'raw':!![],'where':{'id':_0x4c4277['params']['id']}},_0x20bf2e={};_0x20bf2e[_0x4b73('0x2a')]=_[_0x4b73('0x2c')](db['FreshdeskField'][_0x4b73('0x27')]);_0x20bf2e['query']=_[_0x4b73('0x2c')](_0x4c4277[_0x4b73('0x2b')]);_0x20bf2e[_0x4b73('0x2d')]=_[_0x4b73('0x41')](_0x20bf2e['model'],_0x20bf2e[_0x4b73('0x2b')]);_0x3fd7be[_0x4b73('0x2e')]=_[_0x4b73('0x41')](_0x20bf2e['model'],qs['fields'](_0x4c4277[_0x4b73('0x2b')][_0x4b73('0x2f')]));_0x3fd7be[_0x4b73('0x2e')]=_0x3fd7be[_0x4b73('0x2e')][_0x4b73('0x42')]?_0x3fd7be[_0x4b73('0x2e')]:_0x20bf2e[_0x4b73('0x2a')];if(_0x4c4277['query']['includeAll']){_0x3fd7be[_0x4b73('0x43')]=[{'all':!![]}];}_0x3fd7be=_[_0x4b73('0x37')]({},_0x3fd7be,_0x4c4277[_0x4b73('0x38')]);return db[_0x4b73('0x39')]['find'](_0x3fd7be)[_0x4b73('0x3b')](handleEntityNotFound(_0xa6f849,null))['then'](respondWithResult(_0xa6f849,null))[_0x4b73('0x3f')](handleError(_0xa6f849,null));};exports[_0x4b73('0x44')]=function(_0x35aeab,_0x1fcc52){return db[_0x4b73('0x39')][_0x4b73('0x44')](_0x35aeab[_0x4b73('0x45')],{})['then'](respondWithResult(_0x1fcc52,0xc9))[_0x4b73('0x3f')](handleError(_0x1fcc52,null));};exports[_0x4b73('0x46')]=function(_0x222f85,_0x425b4b){if(_0x222f85['body']['id']){delete _0x222f85[_0x4b73('0x45')]['id'];}return db[_0x4b73('0x39')][_0x4b73('0x47')]({'where':{'id':_0x222f85[_0x4b73('0x48')]['id']}})[_0x4b73('0x3b')](handleEntityNotFound(_0x425b4b,null))[_0x4b73('0x3b')](saveUpdates(_0x222f85[_0x4b73('0x45')],null))[_0x4b73('0x3b')](respondWithResult(_0x425b4b,null))['catch'](handleError(_0x425b4b,null));};exports[_0x4b73('0x49')]=function(_0x150bf9,_0x258be9){return db['FreshdeskField'][_0x4b73('0x47')]({'where':{'id':_0x150bf9[_0x4b73('0x48')]['id']}})['then'](handleEntityNotFound(_0x258be9,null))[_0x4b73('0x3b')](removeEntity(_0x258be9,null))['catch'](handleError(_0x258be9,null));};