776786aa807ab6eac8909c2493aa7b40674732eb
[motion2.git] / server / api / mailSubstatus / mailSubstatus.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 _0xe983=['merge','map','VIRTUAL','filter','include','findAll','rows','catch','show','fields','length','includeAll','options','find','create','body','params','eml-format','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','sendStatus','status','json','offset','undefined','limit','count','set','apply','reject','update','destroy','then','end','error','stack','name','MailSubstatus','rawAttributes','fieldName','type','keys','query','filters','intersection','model','attributes','hasOwnProperty','order','sort','where','pick'];(function(_0x537345,_0x5eae23){var _0x44b281=function(_0x2921b3){while(--_0x2921b3){_0x537345['push'](_0x537345['shift']());}};_0x44b281(++_0x5eae23);}(_0xe983,0x1bb));var _0x3e98=function(_0xf511eb,_0x11bee3){_0xf511eb=_0xf511eb-0x0;var _0x3e8ce3=_0xe983[_0xf511eb];return _0x3e8ce3;};'use strict';var emlformat=require(_0x3e98('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x3e98('0x1'));var BPromise=require('bluebird');var Mustache=require(_0x3e98('0x2'));var util=require(_0x3e98('0x3'));var path=require(_0x3e98('0x4'));var sox=require(_0x3e98('0x5'));var csv=require(_0x3e98('0x6'));var ejs=require(_0x3e98('0x7'));var fs=require('fs');var fs_extra=require(_0x3e98('0x8'));var _=require(_0x3e98('0x9'));var squel=require('squel');var crypto=require(_0x3e98('0xa'));var jsforce=require(_0x3e98('0xb'));var deskjs=require(_0x3e98('0xc'));var toCsv=require(_0x3e98('0x6'));var querystring=require(_0x3e98('0xd'));var Papa=require(_0x3e98('0xe'));var Redis=require(_0x3e98('0xf'));var authService=require(_0x3e98('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x3e98('0x11'));var hardwareService=require(_0x3e98('0x12'));var logger=require('../../config/logger')(_0x3e98('0x13'));var utils=require(_0x3e98('0x14'));var config=require(_0x3e98('0x15'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2ba338,_0x2ba6ea){_0x2ba6ea=_0x2ba6ea||0xcc;return function(_0x8ea434){if(_0x8ea434){return _0x2ba338[_0x3e98('0x16')](_0x2ba6ea);}return _0x2ba338[_0x3e98('0x17')](_0x2ba6ea)['end']();};}function respondWithResult(_0x4cbbd4,_0x583a23){_0x583a23=_0x583a23||0xc8;return function(_0x8e2a9f){if(_0x8e2a9f){return _0x4cbbd4['status'](_0x583a23)[_0x3e98('0x18')](_0x8e2a9f);}};}function respondWithFilteredResult(_0x57bdf4,_0x34a763){return function(_0x2ac52c){if(_0x2ac52c){var _0x1a6126=typeof _0x34a763[_0x3e98('0x19')]===_0x3e98('0x1a')&&typeof _0x34a763[_0x3e98('0x1b')]==='undefined';var _0x32a1f2=_0x2ac52c[_0x3e98('0x1c')];var _0x4ce060=_0x1a6126?0x0:_0x34a763[_0x3e98('0x19')];var _0xc06d01=_0x1a6126?_0x2ac52c[_0x3e98('0x1c')]:_0x34a763[_0x3e98('0x19')]+_0x34a763[_0x3e98('0x1b')];var _0x218c44;if(_0xc06d01>=_0x32a1f2){_0xc06d01=_0x32a1f2;_0x218c44=0xc8;}else{_0x218c44=0xce;}_0x57bdf4['status'](_0x218c44);return _0x57bdf4[_0x3e98('0x1d')]('Content-Range',_0x4ce060+'-'+_0xc06d01+'/'+_0x32a1f2)[_0x3e98('0x18')](_0x2ac52c);}return null;};}function patchUpdates(_0x48d044){return function(_0x25c014){try{jsonpatch[_0x3e98('0x1e')](_0x25c014,_0x48d044,!![]);}catch(_0x23d6cc){return BPromise[_0x3e98('0x1f')](_0x23d6cc);}return _0x25c014['save']();};}function saveUpdates(_0x4dd1c5,_0x5ebc1e){return function(_0x533e97){if(_0x533e97){return _0x533e97[_0x3e98('0x20')](_0x4dd1c5)['then'](function(_0x50f5d2){return _0x50f5d2;});}return null;};}function removeEntity(_0x42d08c,_0xce34c){return function(_0x4000be){if(_0x4000be){return _0x4000be[_0x3e98('0x21')]()[_0x3e98('0x22')](function(){_0x42d08c[_0x3e98('0x17')](0xcc)[_0x3e98('0x23')]();});}};}function handleEntityNotFound(_0x22dce7,_0x4a8b33){return function(_0x1c8725){if(!_0x1c8725){_0x22dce7[_0x3e98('0x16')](0x194);}return _0x1c8725;};}function handleError(_0x3f0797,_0x2d48dd){_0x2d48dd=_0x2d48dd||0x1f4;return function(_0x29a670){logger[_0x3e98('0x24')](_0x29a670[_0x3e98('0x25')]);if(_0x29a670[_0x3e98('0x26')]){delete _0x29a670['name'];}_0x3f0797[_0x3e98('0x17')](_0x2d48dd)['send'](_0x29a670);};}exports['index']=function(_0xae5633,_0x3e0636){var _0x405f06={},_0x5b9261={},_0x328395={'count':0x0,'rows':[]};var _0x4f6540=_['map'](db[_0x3e98('0x27')][_0x3e98('0x28')],function(_0x5a33ca){return{'name':_0x5a33ca[_0x3e98('0x29')],'type':_0x5a33ca[_0x3e98('0x2a')]['key']};});_0x5b9261['model']=_['map'](_0x4f6540,'name');_0x5b9261['query']=_[_0x3e98('0x2b')](_0xae5633[_0x3e98('0x2c')]);_0x5b9261[_0x3e98('0x2d')]=_[_0x3e98('0x2e')](_0x5b9261[_0x3e98('0x2f')],_0x5b9261[_0x3e98('0x2c')]);_0x405f06[_0x3e98('0x30')]=_['intersection'](_0x5b9261[_0x3e98('0x2f')],qs['fields'](_0xae5633['query']['fields']));_0x405f06[_0x3e98('0x30')]=_0x405f06[_0x3e98('0x30')]['length']?_0x405f06[_0x3e98('0x30')]:_0x5b9261[_0x3e98('0x2f')];if(!_0xae5633[_0x3e98('0x2c')][_0x3e98('0x31')]('nolimit')){_0x405f06[_0x3e98('0x1b')]=qs[_0x3e98('0x1b')](_0xae5633[_0x3e98('0x2c')][_0x3e98('0x1b')]);_0x405f06[_0x3e98('0x19')]=qs[_0x3e98('0x19')](_0xae5633[_0x3e98('0x2c')][_0x3e98('0x19')]);}_0x405f06[_0x3e98('0x32')]=qs[_0x3e98('0x33')](_0xae5633[_0x3e98('0x2c')]['sort']);_0x405f06[_0x3e98('0x34')]=qs[_0x3e98('0x2d')](_[_0x3e98('0x35')](_0xae5633['query'],_0x5b9261[_0x3e98('0x2d')]),_0x4f6540);if(_0xae5633[_0x3e98('0x2c')]['filter']){_0x405f06[_0x3e98('0x34')]=_[_0x3e98('0x36')](_0x405f06[_0x3e98('0x34')],{'$or':_[_0x3e98('0x37')](_0x4f6540,function(_0x14acc3){if(_0x14acc3['type']!==_0x3e98('0x38')){var _0x119d2a={};_0x119d2a[_0x14acc3[_0x3e98('0x26')]]={'$like':'%'+_0xae5633[_0x3e98('0x2c')][_0x3e98('0x39')]+'%'};return _0x119d2a;}})});}_0x405f06=_[_0x3e98('0x36')]({},_0x405f06,_0xae5633['options']);var _0x129251={'where':_0x405f06[_0x3e98('0x34')]};return db[_0x3e98('0x27')][_0x3e98('0x1c')](_0x129251)['then'](function(_0x53479f){_0x328395[_0x3e98('0x1c')]=_0x53479f;if(_0xae5633['query']['includeAll']){_0x405f06[_0x3e98('0x3a')]=[{'all':!![]}];}return db[_0x3e98('0x27')][_0x3e98('0x3b')](_0x405f06);})[_0x3e98('0x22')](function(_0x6f748a){_0x328395[_0x3e98('0x3c')]=_0x6f748a;return _0x328395;})['then'](respondWithFilteredResult(_0x3e0636,_0x405f06))[_0x3e98('0x3d')](handleError(_0x3e0636,null));};exports[_0x3e98('0x3e')]=function(_0x37a801,_0x25c2ad){var _0x3b862a={'raw':!![],'where':{'id':_0x37a801['params']['id']}},_0x4ca370={};_0x4ca370['model']=_[_0x3e98('0x2b')](db['MailSubstatus'][_0x3e98('0x28')]);_0x4ca370['query']=_['keys'](_0x37a801[_0x3e98('0x2c')]);_0x4ca370[_0x3e98('0x2d')]=_[_0x3e98('0x2e')](_0x4ca370['model'],_0x4ca370['query']);_0x3b862a['attributes']=_[_0x3e98('0x2e')](_0x4ca370['model'],qs['fields'](_0x37a801[_0x3e98('0x2c')][_0x3e98('0x3f')]));_0x3b862a['attributes']=_0x3b862a[_0x3e98('0x30')][_0x3e98('0x40')]?_0x3b862a[_0x3e98('0x30')]:_0x4ca370[_0x3e98('0x2f')];if(_0x37a801[_0x3e98('0x2c')][_0x3e98('0x41')]){_0x3b862a[_0x3e98('0x3a')]=[{'all':!![]}];}_0x3b862a=_[_0x3e98('0x36')]({},_0x3b862a,_0x37a801[_0x3e98('0x42')]);return db['MailSubstatus'][_0x3e98('0x43')](_0x3b862a)[_0x3e98('0x22')](handleEntityNotFound(_0x25c2ad,null))[_0x3e98('0x22')](respondWithResult(_0x25c2ad,null))[_0x3e98('0x3d')](handleError(_0x25c2ad,null));};exports[_0x3e98('0x44')]=function(_0x39b535,_0x7bef95){return db[_0x3e98('0x27')][_0x3e98('0x44')](_0x39b535[_0x3e98('0x45')],{})['then'](respondWithResult(_0x7bef95,0xc9))[_0x3e98('0x3d')](handleError(_0x7bef95,null));};exports['update']=function(_0x20d049,_0x2420d1){if(_0x20d049['body']['id']){delete _0x20d049[_0x3e98('0x45')]['id'];}return db[_0x3e98('0x27')]['find']({'where':{'id':_0x20d049[_0x3e98('0x46')]['id']}})[_0x3e98('0x22')](handleEntityNotFound(_0x2420d1,null))[_0x3e98('0x22')](saveUpdates(_0x20d049['body'],null))[_0x3e98('0x22')](respondWithResult(_0x2420d1,null))[_0x3e98('0x3d')](handleError(_0x2420d1,null));};exports[_0x3e98('0x21')]=function(_0x2c572b,_0x6192d1){return db[_0x3e98('0x27')][_0x3e98('0x43')]({'where':{'id':_0x2c572b[_0x3e98('0x46')]['id']}})[_0x3e98('0x22')](handleEntityNotFound(_0x6192d1,null))[_0x3e98('0x22')](removeEntity(_0x6192d1,null))[_0x3e98('0x3d')](handleError(_0x6192d1,null));};exports['describe']=function(_0x4e0045,_0x1082a7){return db['MailSubstatus']['describe']()[_0x3e98('0x22')](respondWithResult(_0x1082a7,null))[_0x3e98('0x3d')](handleError(_0x1082a7,null));};