a4954b8419ded839f8f60428012fc6ce64eff1a4
[motion2.git] / server / api / squareMessage / squareMessage.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 _0x5612=['model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','pick','filter','VIRTUAL','merge','options','SquareMessage','includeAll','include','findAll','rows','catch','show','params','find','create','body','destroy','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../mysqldb','sendStatus','status','end','json','offset','limit','count','Content-Range','apply','reject','save','update','then','error','stack','name','send','index','map','rawAttributes','fieldName','type','key'];(function(_0x51cc1d,_0xaa88ae){var _0x2eb9f2=function(_0x1ca525){while(--_0x1ca525){_0x51cc1d['push'](_0x51cc1d['shift']());}};_0x2eb9f2(++_0xaa88ae);}(_0x5612,0x149));var _0x2561=function(_0x5026cd,_0x733e25){_0x5026cd=_0x5026cd-0x0;var _0x62086=_0x5612[_0x5026cd];return _0x62086;};'use strict';var emlformat=require(_0x2561('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x2561('0x1'));var jsonpatch=require(_0x2561('0x2'));var rp=require(_0x2561('0x3'));var moment=require('moment');var BPromise=require(_0x2561('0x4'));var Mustache=require(_0x2561('0x5'));var util=require(_0x2561('0x6'));var path=require(_0x2561('0x7'));var sox=require('sox');var csv=require(_0x2561('0x8'));var ejs=require(_0x2561('0x9'));var fs=require('fs');var fs_extra=require(_0x2561('0xa'));var _=require(_0x2561('0xb'));var squel=require('squel');var crypto=require(_0x2561('0xc'));var jsforce=require(_0x2561('0xd'));var deskjs=require(_0x2561('0xe'));var toCsv=require(_0x2561('0x8'));var querystring=require(_0x2561('0xf'));var Papa=require(_0x2561('0x10'));var Redis=require('ioredis');var authService=require(_0x2561('0x11'));var qs=require(_0x2561('0x12'));var as=require(_0x2561('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x2561('0x14'))('api');var utils=require(_0x2561('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x2561('0x16'))['db'];function respondWithStatusCode(_0x27a405,_0x447741){_0x447741=_0x447741||0xcc;return function(_0x229154){if(_0x229154){return _0x27a405[_0x2561('0x17')](_0x447741);}return _0x27a405[_0x2561('0x18')](_0x447741)[_0x2561('0x19')]();};}function respondWithResult(_0x279e32,_0x52e54e){_0x52e54e=_0x52e54e||0xc8;return function(_0x443955){if(_0x443955){return _0x279e32[_0x2561('0x18')](_0x52e54e)[_0x2561('0x1a')](_0x443955);}};}function respondWithFilteredResult(_0x7a47da,_0x3d0b37){return function(_0x42f683){if(_0x42f683){var _0x474536=typeof _0x3d0b37[_0x2561('0x1b')]==='undefined'&&typeof _0x3d0b37[_0x2561('0x1c')]==='undefined';var _0x2af1a9=_0x42f683['count'];var _0x255c18=_0x474536?0x0:_0x3d0b37[_0x2561('0x1b')];var _0x2eab88=_0x474536?_0x42f683[_0x2561('0x1d')]:_0x3d0b37[_0x2561('0x1b')]+_0x3d0b37[_0x2561('0x1c')];var _0x40c11d;if(_0x2eab88>=_0x2af1a9){_0x2eab88=_0x2af1a9;_0x40c11d=0xc8;}else{_0x40c11d=0xce;}_0x7a47da[_0x2561('0x18')](_0x40c11d);return _0x7a47da['set'](_0x2561('0x1e'),_0x255c18+'-'+_0x2eab88+'/'+_0x2af1a9)[_0x2561('0x1a')](_0x42f683);}return null;};}function patchUpdates(_0x59c824){return function(_0x23dbe3){try{jsonpatch[_0x2561('0x1f')](_0x23dbe3,_0x59c824,!![]);}catch(_0x23e2e4){return BPromise[_0x2561('0x20')](_0x23e2e4);}return _0x23dbe3[_0x2561('0x21')]();};}function saveUpdates(_0x57e689,_0x1be223){return function(_0xa8d414){if(_0xa8d414){return _0xa8d414[_0x2561('0x22')](_0x57e689)[_0x2561('0x23')](function(_0x36ef67){return _0x36ef67;});}return null;};}function removeEntity(_0x203433,_0x8778ce){return function(_0x2c4613){if(_0x2c4613){return _0x2c4613['destroy']()[_0x2561('0x23')](function(){_0x203433['status'](0xcc)[_0x2561('0x19')]();});}};}function handleEntityNotFound(_0x5adef1,_0x5cc180){return function(_0x6a9b0f){if(!_0x6a9b0f){_0x5adef1[_0x2561('0x17')](0x194);}return _0x6a9b0f;};}function handleError(_0x58c42b,_0x4d6c49){_0x4d6c49=_0x4d6c49||0x1f4;return function(_0x470750){logger[_0x2561('0x24')](_0x470750[_0x2561('0x25')]);if(_0x470750[_0x2561('0x26')]){delete _0x470750[_0x2561('0x26')];}_0x58c42b[_0x2561('0x18')](_0x4d6c49)[_0x2561('0x27')](_0x470750);};}exports[_0x2561('0x28')]=function(_0x2d356a,_0x46c276){var _0x1ee43e={},_0x394ccf={},_0xc6a82d={'count':0x0,'rows':[]};var _0x198af7=_[_0x2561('0x29')](db['SquareMessage'][_0x2561('0x2a')],function(_0x127d17){return{'name':_0x127d17[_0x2561('0x2b')],'type':_0x127d17[_0x2561('0x2c')][_0x2561('0x2d')]};});_0x394ccf[_0x2561('0x2e')]=_[_0x2561('0x29')](_0x198af7,_0x2561('0x26'));_0x394ccf[_0x2561('0x2f')]=_[_0x2561('0x30')](_0x2d356a['query']);_0x394ccf[_0x2561('0x31')]=_[_0x2561('0x32')](_0x394ccf[_0x2561('0x2e')],_0x394ccf['query']);_0x1ee43e['attributes']=_[_0x2561('0x32')](_0x394ccf[_0x2561('0x2e')],qs[_0x2561('0x33')](_0x2d356a['query']['fields']));_0x1ee43e['attributes']=_0x1ee43e[_0x2561('0x34')][_0x2561('0x35')]?_0x1ee43e[_0x2561('0x34')]:_0x394ccf[_0x2561('0x2e')];if(!_0x2d356a[_0x2561('0x2f')][_0x2561('0x36')]('nolimit')){_0x1ee43e[_0x2561('0x1c')]=qs['limit'](_0x2d356a[_0x2561('0x2f')][_0x2561('0x1c')]);_0x1ee43e[_0x2561('0x1b')]=qs['offset'](_0x2d356a['query'][_0x2561('0x1b')]);}_0x1ee43e[_0x2561('0x37')]=qs[_0x2561('0x38')](_0x2d356a['query'][_0x2561('0x38')]);_0x1ee43e[_0x2561('0x39')]=qs[_0x2561('0x31')](_[_0x2561('0x3a')](_0x2d356a[_0x2561('0x2f')],_0x394ccf[_0x2561('0x31')]),_0x198af7);if(_0x2d356a[_0x2561('0x2f')][_0x2561('0x3b')]){_0x1ee43e[_0x2561('0x39')]=_['merge'](_0x1ee43e['where'],{'$or':_[_0x2561('0x29')](_0x198af7,function(_0x1055d7){if(_0x1055d7[_0x2561('0x2c')]!==_0x2561('0x3c')){var _0x51e442={};_0x51e442[_0x1055d7[_0x2561('0x26')]]={'$like':'%'+_0x2d356a[_0x2561('0x2f')][_0x2561('0x3b')]+'%'};return _0x51e442;}})});}_0x1ee43e=_[_0x2561('0x3d')]({},_0x1ee43e,_0x2d356a[_0x2561('0x3e')]);var _0x5b2083={'where':_0x1ee43e['where']};return db[_0x2561('0x3f')][_0x2561('0x1d')](_0x5b2083)[_0x2561('0x23')](function(_0x63e633){_0xc6a82d[_0x2561('0x1d')]=_0x63e633;if(_0x2d356a[_0x2561('0x2f')][_0x2561('0x40')]){_0x1ee43e[_0x2561('0x41')]=[{'all':!![]}];}return db[_0x2561('0x3f')][_0x2561('0x42')](_0x1ee43e);})[_0x2561('0x23')](function(_0x473242){_0xc6a82d[_0x2561('0x43')]=_0x473242;return _0xc6a82d;})[_0x2561('0x23')](respondWithFilteredResult(_0x46c276,_0x1ee43e))[_0x2561('0x44')](handleError(_0x46c276,null));};exports[_0x2561('0x45')]=function(_0xa7006a,_0x2f5567){var _0x56bd6d={'raw':!![],'where':{'id':_0xa7006a[_0x2561('0x46')]['id']}},_0x468d94={};_0x468d94['model']=_[_0x2561('0x30')](db[_0x2561('0x3f')][_0x2561('0x2a')]);_0x468d94[_0x2561('0x2f')]=_[_0x2561('0x30')](_0xa7006a['query']);_0x468d94[_0x2561('0x31')]=_[_0x2561('0x32')](_0x468d94[_0x2561('0x2e')],_0x468d94[_0x2561('0x2f')]);_0x56bd6d[_0x2561('0x34')]=_[_0x2561('0x32')](_0x468d94[_0x2561('0x2e')],qs['fields'](_0xa7006a[_0x2561('0x2f')]['fields']));_0x56bd6d['attributes']=_0x56bd6d[_0x2561('0x34')][_0x2561('0x35')]?_0x56bd6d[_0x2561('0x34')]:_0x468d94[_0x2561('0x2e')];if(_0xa7006a[_0x2561('0x2f')][_0x2561('0x40')]){_0x56bd6d[_0x2561('0x41')]=[{'all':!![]}];}_0x56bd6d=_[_0x2561('0x3d')]({},_0x56bd6d,_0xa7006a[_0x2561('0x3e')]);return db['SquareMessage'][_0x2561('0x47')](_0x56bd6d)[_0x2561('0x23')](handleEntityNotFound(_0x2f5567,null))[_0x2561('0x23')](respondWithResult(_0x2f5567,null))[_0x2561('0x44')](handleError(_0x2f5567,null));};exports[_0x2561('0x48')]=function(_0x4f0513,_0x3c2735){return db['SquareMessage'][_0x2561('0x48')](_0x4f0513[_0x2561('0x49')],{})[_0x2561('0x23')](respondWithResult(_0x3c2735,0xc9))[_0x2561('0x44')](handleError(_0x3c2735,null));};exports['update']=function(_0x3f16a4,_0x4afa0e){if(_0x3f16a4[_0x2561('0x49')]['id']){delete _0x3f16a4[_0x2561('0x49')]['id'];}return db[_0x2561('0x3f')][_0x2561('0x47')]({'where':{'id':_0x3f16a4['params']['id']}})['then'](handleEntityNotFound(_0x4afa0e,null))['then'](saveUpdates(_0x3f16a4['body'],null))[_0x2561('0x23')](respondWithResult(_0x4afa0e,null))['catch'](handleError(_0x4afa0e,null));};exports[_0x2561('0x4a')]=function(_0x51a946,_0x47c922){return db[_0x2561('0x3f')][_0x2561('0x47')]({'where':{'id':_0x51a946['params']['id']}})['then'](handleEntityNotFound(_0x47c922,null))[_0x2561('0x23')](removeEntity(_0x47c922,null))[_0x2561('0x44')](handleError(_0x47c922,null));};