Built motion from commit (unavailable).|2.5.13
[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 _0xef54=['options','count','then','includeAll','FreshdeskField','findAll','catch','show','params','keys','length','include','find','create','body','html-pdf','eml-format','rimraf','zip-dir','moment','bluebird','util','path','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','set','apply','reject','save','update','destroy','end','name','send','index','map','rawAttributes','query','intersection','attributes','model','fields','nolimit','limit','sort','where','filters','filter','type','VIRTUAL','merge'];(function(_0x621d9d,_0xfda73d){var _0x8493c0=function(_0x5d890b){while(--_0x5d890b){_0x621d9d['push'](_0x621d9d['shift']());}};_0x8493c0(++_0xfda73d);}(_0xef54,0x9d));var _0x4ef5=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xef54[_0x3dd15e];return _0x231fd0;};'use strict';var pdf=require(_0x4ef5('0x0'));var emlformat=require(_0x4ef5('0x1'));var rimraf=require(_0x4ef5('0x2'));var zipdir=require(_0x4ef5('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x4ef5('0x4'));var BPromise=require(_0x4ef5('0x5'));var Mustache=require('mustache');var util=require(_0x4ef5('0x6'));var path=require(_0x4ef5('0x7'));var sox=require('sox');var csv=require(_0x4ef5('0x8'));var ejs=require(_0x4ef5('0x9'));var fs=require('fs');var _=require(_0x4ef5('0xa'));var squel=require(_0x4ef5('0xb'));var crypto=require('crypto');var jsforce=require(_0x4ef5('0xc'));var deskjs=require(_0x4ef5('0xd'));var toCsv=require('to-csv');var querystring=require(_0x4ef5('0xe'));var Papa=require(_0x4ef5('0xf'));var Redis=require(_0x4ef5('0x10'));var authService=require(_0x4ef5('0x11'));var qs=require(_0x4ef5('0x12'));var as=require(_0x4ef5('0x13'));var hardwareService=require(_0x4ef5('0x14'));var logger=require(_0x4ef5('0x15'))('api');var utils=require(_0x4ef5('0x16'));var config=require(_0x4ef5('0x17'));var licenseUtil=require(_0x4ef5('0x18'));var db=require(_0x4ef5('0x19'))['db'];function respondWithStatusCode(_0x45b927,_0x36276b){_0x36276b=_0x36276b||0xcc;return function(_0x26a625){if(_0x26a625){return _0x45b927[_0x4ef5('0x1a')](_0x36276b);}return _0x45b927[_0x4ef5('0x1b')](_0x36276b)['end']();};}function respondWithResult(_0x1aae01,_0x50dfd6){_0x50dfd6=_0x50dfd6||0xc8;return function(_0x4fe2ed){if(_0x4fe2ed){return _0x1aae01[_0x4ef5('0x1b')](_0x50dfd6)[_0x4ef5('0x1c')](_0x4fe2ed);}};}function respondWithFilteredResult(_0x156b0a,_0x5feb37){return function(_0x3e6d3a){if(_0x3e6d3a){var _0x1b7512=_0x3e6d3a['count'],_0x419370=_0x5feb37[_0x4ef5('0x1d')],_0xd23f4f=_0x5feb37[_0x4ef5('0x1d')]+_0x5feb37['limit'],_0x5a1b98;if(_0xd23f4f>=_0x1b7512){_0xd23f4f=_0x1b7512;_0x5a1b98=0xc8;}else{_0x5a1b98=0xce;}_0x156b0a['status'](_0x5a1b98);return _0x156b0a[_0x4ef5('0x1e')]('Content-Range',_0x419370+'-'+_0xd23f4f+'/'+_0x1b7512)[_0x4ef5('0x1c')](_0x3e6d3a);}return null;};}function patchUpdates(_0x38bfa0){return function(_0x5f1105){try{jsonpatch[_0x4ef5('0x1f')](_0x5f1105,_0x38bfa0,!![]);}catch(_0x2d0b6e){return BPromise[_0x4ef5('0x20')](_0x2d0b6e);}return _0x5f1105[_0x4ef5('0x21')]();};}function saveUpdates(_0x2e0faf,_0xc770db){return function(_0x528deb){if(_0x528deb){return _0x528deb[_0x4ef5('0x22')](_0x2e0faf)['then'](function(_0x5a0a47){return _0x5a0a47;});}return null;};}function removeEntity(_0x206726,_0x649e97){return function(_0x2b06f7){if(_0x2b06f7){return _0x2b06f7[_0x4ef5('0x23')]()['then'](function(){_0x206726[_0x4ef5('0x1b')](0xcc)[_0x4ef5('0x24')]();});}};}function handleEntityNotFound(_0x1ef7ee,_0x4de915){return function(_0x3cf4c4){if(!_0x3cf4c4){_0x1ef7ee[_0x4ef5('0x1a')](0x194);}return _0x3cf4c4;};}function handleError(_0x2a821b,_0x245c59){_0x245c59=_0x245c59||0x1f4;return function(_0x2bd584){logger['error'](_0x2bd584['stack']);if(_0x2bd584[_0x4ef5('0x25')]){delete _0x2bd584['name'];}_0x2a821b[_0x4ef5('0x1b')](_0x245c59)[_0x4ef5('0x26')](_0x2bd584);};}exports[_0x4ef5('0x27')]=function(_0x596008,_0x450a5c){var _0x2190ce={},_0x16965e={},_0x59bf5d={'count':0x0,'rows':[]};var _0x36ca81=_[_0x4ef5('0x28')](db['FreshdeskField'][_0x4ef5('0x29')],function(_0x428ba4){return{'name':_0x428ba4['fieldName'],'type':_0x428ba4['type']['key']};});_0x16965e['model']=_[_0x4ef5('0x28')](_0x36ca81,_0x4ef5('0x25'));_0x16965e[_0x4ef5('0x2a')]=_['keys'](_0x596008[_0x4ef5('0x2a')]);_0x16965e['filters']=_[_0x4ef5('0x2b')](_0x16965e['model'],_0x16965e['query']);_0x2190ce[_0x4ef5('0x2c')]=_['intersection'](_0x16965e[_0x4ef5('0x2d')],qs['fields'](_0x596008[_0x4ef5('0x2a')][_0x4ef5('0x2e')]));_0x2190ce[_0x4ef5('0x2c')]=_0x2190ce[_0x4ef5('0x2c')]['length']?_0x2190ce['attributes']:_0x16965e['model'];if(!_0x596008[_0x4ef5('0x2a')]['hasOwnProperty'](_0x4ef5('0x2f'))){_0x2190ce['limit']=qs[_0x4ef5('0x30')](_0x596008[_0x4ef5('0x2a')][_0x4ef5('0x30')]);_0x2190ce[_0x4ef5('0x1d')]=qs[_0x4ef5('0x1d')](_0x596008['query'][_0x4ef5('0x1d')]);}_0x2190ce['order']=qs[_0x4ef5('0x31')](_0x596008[_0x4ef5('0x2a')][_0x4ef5('0x31')]);_0x2190ce[_0x4ef5('0x32')]=qs[_0x4ef5('0x33')](_['pick'](_0x596008[_0x4ef5('0x2a')],_0x16965e[_0x4ef5('0x33')]),_0x36ca81);if(_0x596008[_0x4ef5('0x2a')][_0x4ef5('0x34')]){_0x2190ce[_0x4ef5('0x32')]=_['merge'](_0x2190ce['where'],{'$or':_[_0x4ef5('0x28')](_0x36ca81,function(_0x5aeb61){if(_0x5aeb61[_0x4ef5('0x35')]!==_0x4ef5('0x36')){var _0x2affc5={};_0x2affc5[_0x5aeb61[_0x4ef5('0x25')]]={'$like':'%'+_0x596008[_0x4ef5('0x2a')][_0x4ef5('0x34')]+'%'};return _0x2affc5;}})});}_0x2190ce=_[_0x4ef5('0x37')]({},_0x2190ce,_0x596008[_0x4ef5('0x38')]);var _0x1b61fe={'where':_0x2190ce[_0x4ef5('0x32')]};return db['FreshdeskField'][_0x4ef5('0x39')](_0x1b61fe)[_0x4ef5('0x3a')](function(_0x3c3344){_0x59bf5d[_0x4ef5('0x39')]=_0x3c3344;if(_0x596008[_0x4ef5('0x2a')][_0x4ef5('0x3b')]){_0x2190ce['include']=[{'all':!![]}];}return db[_0x4ef5('0x3c')][_0x4ef5('0x3d')](_0x2190ce);})['then'](function(_0x419b81){_0x59bf5d['rows']=_0x419b81;return _0x59bf5d;})['then'](respondWithFilteredResult(_0x450a5c,_0x2190ce))[_0x4ef5('0x3e')](handleError(_0x450a5c,null));};exports[_0x4ef5('0x3f')]=function(_0x1dd56f,_0x464f8b){var _0x5cda4c={'raw':!![],'where':{'id':_0x1dd56f[_0x4ef5('0x40')]['id']}},_0x572fc9={};_0x572fc9[_0x4ef5('0x2d')]=_[_0x4ef5('0x41')](db[_0x4ef5('0x3c')][_0x4ef5('0x29')]);_0x572fc9['query']=_['keys'](_0x1dd56f[_0x4ef5('0x2a')]);_0x572fc9[_0x4ef5('0x33')]=_[_0x4ef5('0x2b')](_0x572fc9[_0x4ef5('0x2d')],_0x572fc9['query']);_0x5cda4c[_0x4ef5('0x2c')]=_[_0x4ef5('0x2b')](_0x572fc9[_0x4ef5('0x2d')],qs['fields'](_0x1dd56f['query'][_0x4ef5('0x2e')]));_0x5cda4c['attributes']=_0x5cda4c[_0x4ef5('0x2c')][_0x4ef5('0x42')]?_0x5cda4c[_0x4ef5('0x2c')]:_0x572fc9[_0x4ef5('0x2d')];if(_0x1dd56f[_0x4ef5('0x2a')]['includeAll']){_0x5cda4c[_0x4ef5('0x43')]=[{'all':!![]}];}_0x5cda4c=_[_0x4ef5('0x37')]({},_0x5cda4c,_0x1dd56f['options']);return db[_0x4ef5('0x3c')][_0x4ef5('0x44')](_0x5cda4c)[_0x4ef5('0x3a')](handleEntityNotFound(_0x464f8b,null))[_0x4ef5('0x3a')](respondWithResult(_0x464f8b,null))[_0x4ef5('0x3e')](handleError(_0x464f8b,null));};exports[_0x4ef5('0x45')]=function(_0x118ea8,_0x302ca4){return db['FreshdeskField'][_0x4ef5('0x45')](_0x118ea8[_0x4ef5('0x46')],{})[_0x4ef5('0x3a')](respondWithResult(_0x302ca4,0xc9))[_0x4ef5('0x3e')](handleError(_0x302ca4,null));};exports[_0x4ef5('0x22')]=function(_0x4c3f15,_0xe4b2c1){if(_0x4c3f15[_0x4ef5('0x46')]['id']){delete _0x4c3f15[_0x4ef5('0x46')]['id'];}return db[_0x4ef5('0x3c')][_0x4ef5('0x44')]({'where':{'id':_0x4c3f15[_0x4ef5('0x40')]['id']}})[_0x4ef5('0x3a')](handleEntityNotFound(_0xe4b2c1,null))[_0x4ef5('0x3a')](saveUpdates(_0x4c3f15['body'],null))['then'](respondWithResult(_0xe4b2c1,null))[_0x4ef5('0x3e')](handleError(_0xe4b2c1,null));};exports[_0x4ef5('0x23')]=function(_0x376e36,_0x57b216){return db[_0x4ef5('0x3c')]['find']({'where':{'id':_0x376e36[_0x4ef5('0x40')]['id']}})['then'](handleEntityNotFound(_0x57b216,null))[_0x4ef5('0x3a')](removeEntity(_0x57b216,null))[_0x4ef5('0x3e')](handleError(_0x57b216,null));};