baaaac3985fa61148a0ab1d61ed53cb244a15772
[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 _0xfe53=['length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','merge','includeAll','catch','show','rawAttributes','include','find','create','body','params','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','error','name','send','index','map','FreshdeskField','model','keys','query','intersection','attributes','fields'];(function(_0x2b41f1,_0x241357){var _0x147911=function(_0x16b17b){while(--_0x16b17b){_0x2b41f1['push'](_0x2b41f1['shift']());}};_0x147911(++_0x241357);}(_0xfe53,0x175));var _0x3fe5=function(_0x15b182,_0xb73a6e){_0x15b182=_0x15b182-0x0;var _0x400ac7=_0xfe53[_0x15b182];return _0x400ac7;};'use strict';var pdf=require(_0x3fe5('0x0'));var emlformat=require(_0x3fe5('0x1'));var rimraf=require(_0x3fe5('0x2'));var zipdir=require(_0x3fe5('0x3'));var jsonpatch=require(_0x3fe5('0x4'));var rp=require(_0x3fe5('0x5'));var moment=require(_0x3fe5('0x6'));var BPromise=require(_0x3fe5('0x7'));var Mustache=require(_0x3fe5('0x8'));var util=require('util');var path=require(_0x3fe5('0x9'));var sox=require('sox');var csv=require(_0x3fe5('0xa'));var ejs=require(_0x3fe5('0xb'));var fs=require('fs');var _=require(_0x3fe5('0xc'));var squel=require(_0x3fe5('0xd'));var crypto=require(_0x3fe5('0xe'));var jsforce=require(_0x3fe5('0xf'));var deskjs=require(_0x3fe5('0x10'));var toCsv=require(_0x3fe5('0xa'));var querystring=require(_0x3fe5('0x11'));var Papa=require(_0x3fe5('0x12'));var Redis=require('ioredis');var authService=require(_0x3fe5('0x13'));var qs=require(_0x3fe5('0x14'));var as=require(_0x3fe5('0x15'));var hardwareService=require(_0x3fe5('0x16'));var logger=require(_0x3fe5('0x17'))('api');var utils=require(_0x3fe5('0x18'));var config=require(_0x3fe5('0x19'));var db=require(_0x3fe5('0x1a'))['db'];function respondWithStatusCode(_0x17868b,_0x344fa7){_0x344fa7=_0x344fa7||0xcc;return function(_0x33a318){if(_0x33a318){return _0x17868b['sendStatus'](_0x344fa7);}return _0x17868b[_0x3fe5('0x1b')](_0x344fa7)[_0x3fe5('0x1c')]();};}function respondWithResult(_0x44e868,_0x371dc4){_0x371dc4=_0x371dc4||0xc8;return function(_0x29449a){if(_0x29449a){return _0x44e868['status'](_0x371dc4)[_0x3fe5('0x1d')](_0x29449a);}};}function respondWithFilteredResult(_0x338b67,_0x21b114){return function(_0x5189f5){if(_0x5189f5){var _0x5957a4=_0x5189f5[_0x3fe5('0x1e')],_0x26727f=_0x21b114[_0x3fe5('0x1f')],_0x1a12c7=_0x21b114['offset']+_0x21b114[_0x3fe5('0x20')],_0x175761;if(_0x1a12c7>=_0x5957a4){_0x1a12c7=_0x5957a4;_0x175761=0xc8;}else{_0x175761=0xce;}_0x338b67[_0x3fe5('0x1b')](_0x175761);return _0x338b67[_0x3fe5('0x21')](_0x3fe5('0x22'),_0x26727f+'-'+_0x1a12c7+'/'+_0x5957a4)[_0x3fe5('0x1d')](_0x5189f5);}return null;};}function patchUpdates(_0x3e7481){return function(_0xc22eb){try{jsonpatch[_0x3fe5('0x23')](_0xc22eb,_0x3e7481,!![]);}catch(_0x13b29f){return BPromise[_0x3fe5('0x24')](_0x13b29f);}return _0xc22eb[_0x3fe5('0x25')]();};}function saveUpdates(_0x4d85f4,_0x3c0bbd){return function(_0x35b865){if(_0x35b865){return _0x35b865[_0x3fe5('0x26')](_0x4d85f4)[_0x3fe5('0x27')](function(_0xbf85a2){return _0xbf85a2;});}return null;};}function removeEntity(_0x1622ba,_0x39d0d3){return function(_0x545725){if(_0x545725){return _0x545725[_0x3fe5('0x28')]()[_0x3fe5('0x27')](function(){_0x1622ba[_0x3fe5('0x1b')](0xcc)[_0x3fe5('0x1c')]();});}};}function handleEntityNotFound(_0x39ef6b,_0x2ebe24){return function(_0x5a1c4e){if(!_0x5a1c4e){_0x39ef6b['sendStatus'](0x194);}return _0x5a1c4e;};}function handleError(_0x3e3cc8,_0x2dba3d){_0x2dba3d=_0x2dba3d||0x1f4;return function(_0x43eebc){logger[_0x3fe5('0x29')](_0x43eebc['stack']);if(_0x43eebc[_0x3fe5('0x2a')]){delete _0x43eebc[_0x3fe5('0x2a')];}_0x3e3cc8[_0x3fe5('0x1b')](_0x2dba3d)[_0x3fe5('0x2b')](_0x43eebc);};}exports[_0x3fe5('0x2c')]=function(_0x3bafdd,_0x4bd9ce){var _0x33cfb9={},_0x4f0ced={},_0x55aa4a={'count':0x0,'rows':[]};var _0x21ea84=_[_0x3fe5('0x2d')](db[_0x3fe5('0x2e')]['rawAttributes'],function(_0xc132c1){return{'name':_0xc132c1['fieldName'],'type':_0xc132c1['type']['key']};});_0x4f0ced[_0x3fe5('0x2f')]=_[_0x3fe5('0x2d')](_0x21ea84,_0x3fe5('0x2a'));_0x4f0ced['query']=_[_0x3fe5('0x30')](_0x3bafdd[_0x3fe5('0x31')]);_0x4f0ced['filters']=_[_0x3fe5('0x32')](_0x4f0ced[_0x3fe5('0x2f')],_0x4f0ced[_0x3fe5('0x31')]);_0x33cfb9[_0x3fe5('0x33')]=_[_0x3fe5('0x32')](_0x4f0ced[_0x3fe5('0x2f')],qs[_0x3fe5('0x34')](_0x3bafdd[_0x3fe5('0x31')][_0x3fe5('0x34')]));_0x33cfb9[_0x3fe5('0x33')]=_0x33cfb9[_0x3fe5('0x33')][_0x3fe5('0x35')]?_0x33cfb9[_0x3fe5('0x33')]:_0x4f0ced[_0x3fe5('0x2f')];if(!_0x3bafdd[_0x3fe5('0x31')][_0x3fe5('0x36')](_0x3fe5('0x37'))){_0x33cfb9[_0x3fe5('0x20')]=qs['limit'](_0x3bafdd['query'][_0x3fe5('0x20')]);_0x33cfb9[_0x3fe5('0x1f')]=qs[_0x3fe5('0x1f')](_0x3bafdd[_0x3fe5('0x31')]['offset']);}_0x33cfb9['order']=qs[_0x3fe5('0x38')](_0x3bafdd[_0x3fe5('0x31')]['sort']);_0x33cfb9[_0x3fe5('0x39')]=qs[_0x3fe5('0x3a')](_[_0x3fe5('0x3b')](_0x3bafdd[_0x3fe5('0x31')],_0x4f0ced[_0x3fe5('0x3a')]),_0x21ea84);if(_0x3bafdd['query'][_0x3fe5('0x3c')]){_0x33cfb9[_0x3fe5('0x39')]=_[_0x3fe5('0x3d')](_0x33cfb9[_0x3fe5('0x39')],{'$or':_[_0x3fe5('0x2d')](_0x21ea84,function(_0x1c4030){if(_0x1c4030['type']!=='VIRTUAL'){var _0x4d0c7b={};_0x4d0c7b[_0x1c4030[_0x3fe5('0x2a')]]={'$like':'%'+_0x3bafdd[_0x3fe5('0x31')]['filter']+'%'};return _0x4d0c7b;}})});}_0x33cfb9=_[_0x3fe5('0x3d')]({},_0x33cfb9,_0x3bafdd['options']);var _0x5ae4aa={'where':_0x33cfb9[_0x3fe5('0x39')]};return db['FreshdeskField'][_0x3fe5('0x1e')](_0x5ae4aa)[_0x3fe5('0x27')](function(_0x15a7e8){_0x55aa4a[_0x3fe5('0x1e')]=_0x15a7e8;if(_0x3bafdd['query'][_0x3fe5('0x3e')]){_0x33cfb9['include']=[{'all':!![]}];}return db[_0x3fe5('0x2e')]['findAll'](_0x33cfb9);})[_0x3fe5('0x27')](function(_0x2b1a91){_0x55aa4a['rows']=_0x2b1a91;return _0x55aa4a;})[_0x3fe5('0x27')](respondWithFilteredResult(_0x4bd9ce,_0x33cfb9))[_0x3fe5('0x3f')](handleError(_0x4bd9ce,null));};exports[_0x3fe5('0x40')]=function(_0x197f4d,_0x28b1f7){var _0x5bdfb8={'raw':!![],'where':{'id':_0x197f4d['params']['id']}},_0x50fe0f={};_0x50fe0f[_0x3fe5('0x2f')]=_[_0x3fe5('0x30')](db[_0x3fe5('0x2e')][_0x3fe5('0x41')]);_0x50fe0f['query']=_[_0x3fe5('0x30')](_0x197f4d['query']);_0x50fe0f[_0x3fe5('0x3a')]=_['intersection'](_0x50fe0f[_0x3fe5('0x2f')],_0x50fe0f[_0x3fe5('0x31')]);_0x5bdfb8[_0x3fe5('0x33')]=_['intersection'](_0x50fe0f[_0x3fe5('0x2f')],qs[_0x3fe5('0x34')](_0x197f4d['query'][_0x3fe5('0x34')]));_0x5bdfb8[_0x3fe5('0x33')]=_0x5bdfb8[_0x3fe5('0x33')]['length']?_0x5bdfb8[_0x3fe5('0x33')]:_0x50fe0f[_0x3fe5('0x2f')];if(_0x197f4d[_0x3fe5('0x31')][_0x3fe5('0x3e')]){_0x5bdfb8[_0x3fe5('0x42')]=[{'all':!![]}];}_0x5bdfb8=_[_0x3fe5('0x3d')]({},_0x5bdfb8,_0x197f4d['options']);return db[_0x3fe5('0x2e')][_0x3fe5('0x43')](_0x5bdfb8)['then'](handleEntityNotFound(_0x28b1f7,null))[_0x3fe5('0x27')](respondWithResult(_0x28b1f7,null))['catch'](handleError(_0x28b1f7,null));};exports[_0x3fe5('0x44')]=function(_0x1e8615,_0x485b67){return db[_0x3fe5('0x2e')]['create'](_0x1e8615[_0x3fe5('0x45')],{})[_0x3fe5('0x27')](respondWithResult(_0x485b67,0xc9))[_0x3fe5('0x3f')](handleError(_0x485b67,null));};exports[_0x3fe5('0x26')]=function(_0x5c9087,_0x318d06){if(_0x5c9087['body']['id']){delete _0x5c9087[_0x3fe5('0x45')]['id'];}return db['FreshdeskField'][_0x3fe5('0x43')]({'where':{'id':_0x5c9087['params']['id']}})[_0x3fe5('0x27')](handleEntityNotFound(_0x318d06,null))[_0x3fe5('0x27')](saveUpdates(_0x5c9087['body'],null))['then'](respondWithResult(_0x318d06,null))[_0x3fe5('0x3f')](handleError(_0x318d06,null));};exports['destroy']=function(_0x952fd4,_0xc0344b){return db['FreshdeskField'][_0x3fe5('0x43')]({'where':{'id':_0x952fd4[_0x3fe5('0x46')]['id']}})[_0x3fe5('0x27')](handleEntityNotFound(_0xc0344b,null))[_0x3fe5('0x27')](removeEntity(_0xc0344b,null))['catch'](handleError(_0xc0344b,null));};