b72762f0f45bbb6a2bb47d79b2ad366bb70c5152
[motion2.git] / server / api / mailServerOut / mailServerOut.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 _0x10b3=['where','merge','options','count','include','findAll','rows','catch','show','find','create','body','params','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','to-csv','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','status','json','offset','set','Content-Range','reject','save','update','destroy','then','error','stack','name','send','index','MailServerOut','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','nolimit','limit','order','sort','pick','filter'];(function(_0xfae23b,_0x2be4ba){var _0x200640=function(_0x4ae258){while(--_0x4ae258){_0xfae23b['push'](_0xfae23b['shift']());}};_0x200640(++_0x2be4ba);}(_0x10b3,0x175));var _0x310b=function(_0x4c3fb8,_0xaba4a0){_0x4c3fb8=_0x4c3fb8-0x0;var _0x138714=_0x10b3[_0x4c3fb8];return _0x138714;};'use strict';var pdf=require(_0x310b('0x0'));var emlformat=require(_0x310b('0x1'));var rimraf=require(_0x310b('0x2'));var zipdir=require(_0x310b('0x3'));var jsonpatch=require(_0x310b('0x4'));var rp=require(_0x310b('0x5'));var moment=require(_0x310b('0x6'));var BPromise=require('bluebird');var Mustache=require(_0x310b('0x7'));var util=require(_0x310b('0x8'));var path=require('path');var sox=require('sox');var csv=require(_0x310b('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x310b('0xa'));var crypto=require(_0x310b('0xb'));var jsforce=require(_0x310b('0xc'));var deskjs=require(_0x310b('0xd'));var toCsv=require(_0x310b('0x9'));var querystring=require(_0x310b('0xe'));var Papa=require(_0x310b('0xf'));var Redis=require(_0x310b('0x10'));var authService=require(_0x310b('0x11'));var qs=require(_0x310b('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x310b('0x13'));var logger=require('../../config/logger')(_0x310b('0x14'));var utils=require(_0x310b('0x15'));var config=require(_0x310b('0x16'));var db=require(_0x310b('0x17'))['db'];function respondWithStatusCode(_0x26663d,_0x426e22){_0x426e22=_0x426e22||0xcc;return function(_0xcbcd8d){if(_0xcbcd8d){return _0x26663d['sendStatus'](_0x426e22);}return _0x26663d[_0x310b('0x18')](_0x426e22)['end']();};}function respondWithResult(_0x483006,_0x4ffc39){_0x4ffc39=_0x4ffc39||0xc8;return function(_0x476da0){if(_0x476da0){return _0x483006[_0x310b('0x18')](_0x4ffc39)[_0x310b('0x19')](_0x476da0);}};}function respondWithFilteredResult(_0x5eedea,_0x46b06b){return function(_0x1777e5){if(_0x1777e5){var _0x4e9167=_0x1777e5['count'],_0x4056c8=_0x46b06b[_0x310b('0x1a')],_0x171db1=_0x46b06b[_0x310b('0x1a')]+_0x46b06b['limit'],_0x42425d;if(_0x171db1>=_0x4e9167){_0x171db1=_0x4e9167;_0x42425d=0xc8;}else{_0x42425d=0xce;}_0x5eedea[_0x310b('0x18')](_0x42425d);return _0x5eedea[_0x310b('0x1b')](_0x310b('0x1c'),_0x4056c8+'-'+_0x171db1+'/'+_0x4e9167)[_0x310b('0x19')](_0x1777e5);}return null;};}function patchUpdates(_0x2456cc){return function(_0x30ee76){try{jsonpatch['apply'](_0x30ee76,_0x2456cc,!![]);}catch(_0xc7a7b7){return BPromise[_0x310b('0x1d')](_0xc7a7b7);}return _0x30ee76[_0x310b('0x1e')]();};}function saveUpdates(_0x17343a,_0x5f9a31){return function(_0x597349){if(_0x597349){return _0x597349[_0x310b('0x1f')](_0x17343a)['then'](function(_0x830d45){return _0x830d45;});}return null;};}function removeEntity(_0x208457,_0x370ad2){return function(_0x21d409){if(_0x21d409){return _0x21d409[_0x310b('0x20')]()[_0x310b('0x21')](function(){_0x208457['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x5ee3a5,_0x53832d){return function(_0x300eb4){if(!_0x300eb4){_0x5ee3a5['sendStatus'](0x194);}return _0x300eb4;};}function handleError(_0x5aa08c,_0x12e8b1){_0x12e8b1=_0x12e8b1||0x1f4;return function(_0x165440){logger[_0x310b('0x22')](_0x165440[_0x310b('0x23')]);if(_0x165440[_0x310b('0x24')]){delete _0x165440['name'];}_0x5aa08c[_0x310b('0x18')](_0x12e8b1)[_0x310b('0x25')](_0x165440);};}exports[_0x310b('0x26')]=function(_0x339230,_0x599698){var _0x139704={},_0x58b5e7={},_0x10719b={'count':0x0,'rows':[]};var _0x4a7f07=_['map'](db[_0x310b('0x27')][_0x310b('0x28')],function(_0x3fcca3){return{'name':_0x3fcca3[_0x310b('0x29')],'type':_0x3fcca3[_0x310b('0x2a')][_0x310b('0x2b')]};});_0x58b5e7[_0x310b('0x2c')]=_[_0x310b('0x2d')](_0x4a7f07,_0x310b('0x24'));_0x58b5e7[_0x310b('0x2e')]=_[_0x310b('0x2f')](_0x339230['query']);_0x58b5e7[_0x310b('0x30')]=_[_0x310b('0x31')](_0x58b5e7[_0x310b('0x2c')],_0x58b5e7[_0x310b('0x2e')]);_0x139704[_0x310b('0x32')]=_[_0x310b('0x31')](_0x58b5e7[_0x310b('0x2c')],qs[_0x310b('0x33')](_0x339230[_0x310b('0x2e')][_0x310b('0x33')]));_0x139704[_0x310b('0x32')]=_0x139704[_0x310b('0x32')][_0x310b('0x34')]?_0x139704[_0x310b('0x32')]:_0x58b5e7[_0x310b('0x2c')];if(!_0x339230[_0x310b('0x2e')]['hasOwnProperty'](_0x310b('0x35'))){_0x139704[_0x310b('0x36')]=qs['limit'](_0x339230[_0x310b('0x2e')]['limit']);_0x139704[_0x310b('0x1a')]=qs['offset'](_0x339230[_0x310b('0x2e')][_0x310b('0x1a')]);}_0x139704[_0x310b('0x37')]=qs[_0x310b('0x38')](_0x339230[_0x310b('0x2e')][_0x310b('0x38')]);_0x139704['where']=qs[_0x310b('0x30')](_[_0x310b('0x39')](_0x339230['query'],_0x58b5e7[_0x310b('0x30')]));if(_0x339230['query'][_0x310b('0x3a')]){_0x139704[_0x310b('0x3b')]=_[_0x310b('0x3c')](_0x139704[_0x310b('0x3b')],{'$or':_[_0x310b('0x2d')](_0x4a7f07,function(_0x155f22){if(_0x155f22['type']!=='VIRTUAL'){var _0x3321cc={};_0x3321cc[_0x155f22[_0x310b('0x24')]]={'$like':'%'+_0x339230[_0x310b('0x2e')][_0x310b('0x3a')]+'%'};return _0x3321cc;}})});}_0x139704=_[_0x310b('0x3c')]({},_0x139704,_0x339230[_0x310b('0x3d')]);var _0x4180fb={'where':_0x139704[_0x310b('0x3b')]};return db[_0x310b('0x27')][_0x310b('0x3e')](_0x4180fb)[_0x310b('0x21')](function(_0x55198a){_0x10719b[_0x310b('0x3e')]=_0x55198a;if(_0x339230['query']['includeAll']){_0x139704[_0x310b('0x3f')]=[{'all':!![]}];}return db[_0x310b('0x27')][_0x310b('0x40')](_0x139704);})[_0x310b('0x21')](function(_0x4655b4){_0x10719b[_0x310b('0x41')]=_0x4655b4;return _0x10719b;})['then'](respondWithFilteredResult(_0x599698,_0x139704))[_0x310b('0x42')](handleError(_0x599698,null));};exports[_0x310b('0x43')]=function(_0x4f51ab,_0x4ea590){var _0x453cb9={'raw':!![],'where':{'id':_0x4f51ab['params']['id']}},_0x5a3156={};_0x5a3156[_0x310b('0x2c')]=_[_0x310b('0x2f')](db['MailServerOut'][_0x310b('0x28')]);_0x5a3156[_0x310b('0x2e')]=_[_0x310b('0x2f')](_0x4f51ab[_0x310b('0x2e')]);_0x5a3156['filters']=_[_0x310b('0x31')](_0x5a3156[_0x310b('0x2c')],_0x5a3156[_0x310b('0x2e')]);_0x453cb9[_0x310b('0x32')]=_[_0x310b('0x31')](_0x5a3156['model'],qs[_0x310b('0x33')](_0x4f51ab[_0x310b('0x2e')][_0x310b('0x33')]));_0x453cb9[_0x310b('0x32')]=_0x453cb9[_0x310b('0x32')]['length']?_0x453cb9['attributes']:_0x5a3156[_0x310b('0x2c')];if(_0x4f51ab[_0x310b('0x2e')]['includeAll']){_0x453cb9[_0x310b('0x3f')]=[{'all':!![]}];}_0x453cb9=_[_0x310b('0x3c')]({},_0x453cb9,_0x4f51ab[_0x310b('0x3d')]);return db[_0x310b('0x27')][_0x310b('0x44')](_0x453cb9)[_0x310b('0x21')](handleEntityNotFound(_0x4ea590,null))['then'](respondWithResult(_0x4ea590,null))[_0x310b('0x42')](handleError(_0x4ea590,null));};exports[_0x310b('0x45')]=function(_0x142bc0,_0x11cd67){return db[_0x310b('0x27')]['create'](_0x142bc0[_0x310b('0x46')],{})['then'](respondWithResult(_0x11cd67,0xc9))[_0x310b('0x42')](handleError(_0x11cd67,null));};exports[_0x310b('0x1f')]=function(_0x4a84de,_0xbe3b75){if(_0x4a84de[_0x310b('0x46')]['id']){delete _0x4a84de[_0x310b('0x46')]['id'];}return db[_0x310b('0x27')][_0x310b('0x44')]({'where':{'id':_0x4a84de[_0x310b('0x47')]['id']}})[_0x310b('0x21')](handleEntityNotFound(_0xbe3b75,null))[_0x310b('0x21')](saveUpdates(_0x4a84de['body'],null))[_0x310b('0x21')](respondWithResult(_0xbe3b75,null))[_0x310b('0x42')](handleError(_0xbe3b75,null));};exports[_0x310b('0x20')]=function(_0x126ed5,_0xfc1b19){return db[_0x310b('0x27')][_0x310b('0x44')]({'where':{'id':_0x126ed5[_0x310b('0x47')]['id']}})[_0x310b('0x21')](handleEntityNotFound(_0xfc1b19,null))[_0x310b('0x21')](removeEntity(_0xfc1b19,null))[_0x310b('0x42')](handleError(_0xfc1b19,null));};