Built motion from commit e02f907f.|2.6.14
[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 _0x8cc8=['jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','Content-Range','apply','reject','save','update','then','destroy','end','error','stack','name','index','FreshdeskField','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','pick','merge','map','VIRTUAL','filter','options','where','includeAll','include','findAll','rows','catch','show','params','find','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto'];(function(_0x2aecb2,_0x343312){var _0x3ebb80=function(_0x19fab3){while(--_0x19fab3){_0x2aecb2['push'](_0x2aecb2['shift']());}};_0x3ebb80(++_0x343312);}(_0x8cc8,0x177));var _0x88cc=function(_0x1bf0d7,_0x242ea4){_0x1bf0d7=_0x1bf0d7-0x0;var _0x2c7a97=_0x8cc8[_0x1bf0d7];return _0x2c7a97;};'use strict';var emlformat=require(_0x88cc('0x0'));var rimraf=require(_0x88cc('0x1'));var zipdir=require(_0x88cc('0x2'));var jsonpatch=require(_0x88cc('0x3'));var rp=require(_0x88cc('0x4'));var moment=require(_0x88cc('0x5'));var BPromise=require(_0x88cc('0x6'));var Mustache=require(_0x88cc('0x7'));var util=require(_0x88cc('0x8'));var path=require(_0x88cc('0x9'));var sox=require(_0x88cc('0xa'));var csv=require(_0x88cc('0xb'));var ejs=require(_0x88cc('0xc'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x88cc('0xd'));var crypto=require(_0x88cc('0xe'));var jsforce=require(_0x88cc('0xf'));var deskjs=require(_0x88cc('0x10'));var toCsv=require('to-csv');var querystring=require(_0x88cc('0x11'));var Papa=require(_0x88cc('0x12'));var Redis=require('ioredis');var authService=require(_0x88cc('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x88cc('0x14'));var hardwareService=require(_0x88cc('0x15'));var logger=require(_0x88cc('0x16'))(_0x88cc('0x17'));var utils=require('../../config/utils');var config=require(_0x88cc('0x18'));var licenseUtil=require(_0x88cc('0x19'));var db=require(_0x88cc('0x1a'))['db'];function respondWithStatusCode(_0x2219e1,_0x297ca5){_0x297ca5=_0x297ca5||0xcc;return function(_0x1289d0){if(_0x1289d0){return _0x2219e1[_0x88cc('0x1b')](_0x297ca5);}return _0x2219e1[_0x88cc('0x1c')](_0x297ca5)['end']();};}function respondWithResult(_0x20193f,_0x3d1a38){_0x3d1a38=_0x3d1a38||0xc8;return function(_0x3d462b){if(_0x3d462b){return _0x20193f[_0x88cc('0x1c')](_0x3d1a38)[_0x88cc('0x1d')](_0x3d462b);}};}function respondWithFilteredResult(_0x4255bb,_0x49741f){return function(_0x3305f3){if(_0x3305f3){var _0x468101=typeof _0x49741f[_0x88cc('0x1e')]===_0x88cc('0x1f')&&typeof _0x49741f[_0x88cc('0x20')]==='undefined';var _0x30edea=_0x3305f3[_0x88cc('0x21')];var _0x34fb65=_0x468101?0x0:_0x49741f[_0x88cc('0x1e')];var _0x33144a=_0x468101?_0x3305f3['count']:_0x49741f[_0x88cc('0x1e')]+_0x49741f[_0x88cc('0x20')];var _0x5dbfef;if(_0x33144a>=_0x30edea){_0x33144a=_0x30edea;_0x5dbfef=0xc8;}else{_0x5dbfef=0xce;}_0x4255bb[_0x88cc('0x1c')](_0x5dbfef);return _0x4255bb['set'](_0x88cc('0x22'),_0x34fb65+'-'+_0x33144a+'/'+_0x30edea)[_0x88cc('0x1d')](_0x3305f3);}return null;};}function patchUpdates(_0x50cdaf){return function(_0x2cfe2d){try{jsonpatch[_0x88cc('0x23')](_0x2cfe2d,_0x50cdaf,!![]);}catch(_0xe55e9d){return BPromise[_0x88cc('0x24')](_0xe55e9d);}return _0x2cfe2d[_0x88cc('0x25')]();};}function saveUpdates(_0xa2e3eb,_0x4e5edb){return function(_0x155635){if(_0x155635){return _0x155635[_0x88cc('0x26')](_0xa2e3eb)[_0x88cc('0x27')](function(_0xac6e45){return _0xac6e45;});}return null;};}function removeEntity(_0x443631,_0x3c2353){return function(_0x420279){if(_0x420279){return _0x420279[_0x88cc('0x28')]()[_0x88cc('0x27')](function(){_0x443631[_0x88cc('0x1c')](0xcc)[_0x88cc('0x29')]();});}};}function handleEntityNotFound(_0x35c695,_0x22d711){return function(_0x5657ef){if(!_0x5657ef){_0x35c695[_0x88cc('0x1b')](0x194);}return _0x5657ef;};}function handleError(_0x337bab,_0x44ae48){_0x44ae48=_0x44ae48||0x1f4;return function(_0x3474b6){logger[_0x88cc('0x2a')](_0x3474b6[_0x88cc('0x2b')]);if(_0x3474b6[_0x88cc('0x2c')]){delete _0x3474b6[_0x88cc('0x2c')];}_0x337bab['status'](_0x44ae48)['send'](_0x3474b6);};}exports[_0x88cc('0x2d')]=function(_0x45f1c6,_0x1c1d57){var _0x5b77ae={},_0x570ea0={},_0x18ced1={'count':0x0,'rows':[]};var _0x2cc552=_['map'](db[_0x88cc('0x2e')][_0x88cc('0x2f')],function(_0x10248e){return{'name':_0x10248e['fieldName'],'type':_0x10248e[_0x88cc('0x30')][_0x88cc('0x31')]};});_0x570ea0[_0x88cc('0x32')]=_['map'](_0x2cc552,_0x88cc('0x2c'));_0x570ea0[_0x88cc('0x33')]=_[_0x88cc('0x34')](_0x45f1c6[_0x88cc('0x33')]);_0x570ea0[_0x88cc('0x35')]=_[_0x88cc('0x36')](_0x570ea0['model'],_0x570ea0[_0x88cc('0x33')]);_0x5b77ae[_0x88cc('0x37')]=_[_0x88cc('0x36')](_0x570ea0[_0x88cc('0x32')],qs[_0x88cc('0x38')](_0x45f1c6[_0x88cc('0x33')][_0x88cc('0x38')]));_0x5b77ae['attributes']=_0x5b77ae['attributes'][_0x88cc('0x39')]?_0x5b77ae[_0x88cc('0x37')]:_0x570ea0[_0x88cc('0x32')];if(!_0x45f1c6[_0x88cc('0x33')][_0x88cc('0x3a')]('nolimit')){_0x5b77ae[_0x88cc('0x20')]=qs[_0x88cc('0x20')](_0x45f1c6[_0x88cc('0x33')][_0x88cc('0x20')]);_0x5b77ae[_0x88cc('0x1e')]=qs[_0x88cc('0x1e')](_0x45f1c6[_0x88cc('0x33')][_0x88cc('0x1e')]);}_0x5b77ae[_0x88cc('0x3b')]=qs[_0x88cc('0x3c')](_0x45f1c6[_0x88cc('0x33')][_0x88cc('0x3c')]);_0x5b77ae['where']=qs[_0x88cc('0x35')](_[_0x88cc('0x3d')](_0x45f1c6['query'],_0x570ea0[_0x88cc('0x35')]),_0x2cc552);if(_0x45f1c6['query']['filter']){_0x5b77ae['where']=_[_0x88cc('0x3e')](_0x5b77ae['where'],{'$or':_[_0x88cc('0x3f')](_0x2cc552,function(_0x1fb2ca){if(_0x1fb2ca['type']!==_0x88cc('0x40')){var _0x57ecf7={};_0x57ecf7[_0x1fb2ca[_0x88cc('0x2c')]]={'$like':'%'+_0x45f1c6['query'][_0x88cc('0x41')]+'%'};return _0x57ecf7;}})});}_0x5b77ae=_['merge']({},_0x5b77ae,_0x45f1c6[_0x88cc('0x42')]);var _0x35342a={'where':_0x5b77ae[_0x88cc('0x43')]};return db[_0x88cc('0x2e')]['count'](_0x35342a)[_0x88cc('0x27')](function(_0x510e5b){_0x18ced1[_0x88cc('0x21')]=_0x510e5b;if(_0x45f1c6[_0x88cc('0x33')][_0x88cc('0x44')]){_0x5b77ae[_0x88cc('0x45')]=[{'all':!![]}];}return db[_0x88cc('0x2e')][_0x88cc('0x46')](_0x5b77ae);})[_0x88cc('0x27')](function(_0x2138dd){_0x18ced1[_0x88cc('0x47')]=_0x2138dd;return _0x18ced1;})['then'](respondWithFilteredResult(_0x1c1d57,_0x5b77ae))[_0x88cc('0x48')](handleError(_0x1c1d57,null));};exports[_0x88cc('0x49')]=function(_0x1481df,_0x5af511){var _0x188fee={'raw':!![],'where':{'id':_0x1481df[_0x88cc('0x4a')]['id']}},_0x37ad9f={};_0x37ad9f['model']=_[_0x88cc('0x34')](db[_0x88cc('0x2e')][_0x88cc('0x2f')]);_0x37ad9f[_0x88cc('0x33')]=_[_0x88cc('0x34')](_0x1481df['query']);_0x37ad9f[_0x88cc('0x35')]=_[_0x88cc('0x36')](_0x37ad9f[_0x88cc('0x32')],_0x37ad9f[_0x88cc('0x33')]);_0x188fee[_0x88cc('0x37')]=_['intersection'](_0x37ad9f[_0x88cc('0x32')],qs['fields'](_0x1481df['query'][_0x88cc('0x38')]));_0x188fee[_0x88cc('0x37')]=_0x188fee['attributes']['length']?_0x188fee[_0x88cc('0x37')]:_0x37ad9f[_0x88cc('0x32')];if(_0x1481df[_0x88cc('0x33')][_0x88cc('0x44')]){_0x188fee['include']=[{'all':!![]}];}_0x188fee=_[_0x88cc('0x3e')]({},_0x188fee,_0x1481df[_0x88cc('0x42')]);return db[_0x88cc('0x2e')][_0x88cc('0x4b')](_0x188fee)[_0x88cc('0x27')](handleEntityNotFound(_0x5af511,null))[_0x88cc('0x27')](respondWithResult(_0x5af511,null))[_0x88cc('0x48')](handleError(_0x5af511,null));};exports[_0x88cc('0x4c')]=function(_0x14e889,_0x6615dd){return db[_0x88cc('0x2e')]['create'](_0x14e889[_0x88cc('0x4d')],{})[_0x88cc('0x27')](respondWithResult(_0x6615dd,0xc9))[_0x88cc('0x48')](handleError(_0x6615dd,null));};exports['update']=function(_0x2e04e5,_0xdc32cb){if(_0x2e04e5['body']['id']){delete _0x2e04e5[_0x88cc('0x4d')]['id'];}return db[_0x88cc('0x2e')][_0x88cc('0x4b')]({'where':{'id':_0x2e04e5[_0x88cc('0x4a')]['id']}})['then'](handleEntityNotFound(_0xdc32cb,null))[_0x88cc('0x27')](saveUpdates(_0x2e04e5[_0x88cc('0x4d')],null))['then'](respondWithResult(_0xdc32cb,null))[_0x88cc('0x48')](handleError(_0xdc32cb,null));};exports[_0x88cc('0x28')]=function(_0x14912f,_0xa043e){return db[_0x88cc('0x2e')][_0x88cc('0x4b')]({'where':{'id':_0x14912f[_0x88cc('0x4a')]['id']}})[_0x88cc('0x27')](handleEntityNotFound(_0xa043e,null))[_0x88cc('0x27')](removeEntity(_0xa043e,null))[_0x88cc('0x48')](handleError(_0xa043e,null));};