Built motion from commit 25580385.|2.6.2
[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 _0xa486=['ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','save','error','stack','name','send','index','map','SquareMessage','rawAttributes','fieldName','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','includeAll','include','findAll','rows','then','show','params','find','catch','create','body','update','destroy','eml-format','zip-dir','request-promise','bluebird','mustache','util','path','sox','to-csv'];(function(_0x55821d,_0x27a22e){var _0x58ea8a=function(_0x5bdd3d){while(--_0x5bdd3d){_0x55821d['push'](_0x55821d['shift']());}};_0x58ea8a(++_0x27a22e);}(_0xa486,0x17d));var _0x6a48=function(_0x5bb5f4,_0x5e9659){_0x5bb5f4=_0x5bb5f4-0x0;var _0x152c50=_0xa486[_0x5bb5f4];return _0x152c50;};'use strict';var emlformat=require(_0x6a48('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x6a48('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x6a48('0x2'));var moment=require('moment');var BPromise=require(_0x6a48('0x3'));var Mustache=require(_0x6a48('0x4'));var util=require(_0x6a48('0x5'));var path=require(_0x6a48('0x6'));var sox=require(_0x6a48('0x7'));var csv=require(_0x6a48('0x8'));var ejs=require(_0x6a48('0x9'));var fs=require('fs');var fs_extra=require(_0x6a48('0xa'));var _=require(_0x6a48('0xb'));var squel=require(_0x6a48('0xc'));var crypto=require(_0x6a48('0xd'));var jsforce=require(_0x6a48('0xe'));var deskjs=require(_0x6a48('0xf'));var toCsv=require(_0x6a48('0x8'));var querystring=require(_0x6a48('0x10'));var Papa=require(_0x6a48('0x11'));var Redis=require('ioredis');var authService=require(_0x6a48('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x6a48('0x13'));var hardwareService=require(_0x6a48('0x14'));var logger=require(_0x6a48('0x15'))(_0x6a48('0x16'));var utils=require(_0x6a48('0x17'));var config=require(_0x6a48('0x18'));var licenseUtil=require(_0x6a48('0x19'));var db=require(_0x6a48('0x1a'))['db'];function respondWithStatusCode(_0x3f099a,_0x3c5ef9){_0x3c5ef9=_0x3c5ef9||0xcc;return function(_0x1ef5c7){if(_0x1ef5c7){return _0x3f099a[_0x6a48('0x1b')](_0x3c5ef9);}return _0x3f099a[_0x6a48('0x1c')](_0x3c5ef9)[_0x6a48('0x1d')]();};}function respondWithResult(_0x4636e5,_0x9909af){_0x9909af=_0x9909af||0xc8;return function(_0xcbcb4b){if(_0xcbcb4b){return _0x4636e5[_0x6a48('0x1c')](_0x9909af)[_0x6a48('0x1e')](_0xcbcb4b);}};}function respondWithFilteredResult(_0x43f5fa,_0x3315c1){return function(_0x10867e){if(_0x10867e){var _0x231930=typeof _0x3315c1[_0x6a48('0x1f')]===_0x6a48('0x20')&&typeof _0x3315c1[_0x6a48('0x21')]===_0x6a48('0x20');var _0x20cab5=_0x10867e['count'];var _0xab0913=_0x231930?0x0:_0x3315c1[_0x6a48('0x1f')];var _0x152280=_0x231930?_0x10867e[_0x6a48('0x22')]:_0x3315c1['offset']+_0x3315c1[_0x6a48('0x21')];var _0x43a80d;if(_0x152280>=_0x20cab5){_0x152280=_0x20cab5;_0x43a80d=0xc8;}else{_0x43a80d=0xce;}_0x43f5fa[_0x6a48('0x1c')](_0x43a80d);return _0x43f5fa['set'](_0x6a48('0x23'),_0xab0913+'-'+_0x152280+'/'+_0x20cab5)[_0x6a48('0x1e')](_0x10867e);}return null;};}function patchUpdates(_0x426272){return function(_0x56fc96){try{jsonpatch[_0x6a48('0x24')](_0x56fc96,_0x426272,!![]);}catch(_0x24c549){return BPromise[_0x6a48('0x25')](_0x24c549);}return _0x56fc96[_0x6a48('0x26')]();};}function saveUpdates(_0x4ee111,_0x1afaf3){return function(_0x230220){if(_0x230220){return _0x230220['update'](_0x4ee111)['then'](function(_0x11b488){return _0x11b488;});}return null;};}function removeEntity(_0x31ed88,_0x4cb5d0){return function(_0x2eae9f){if(_0x2eae9f){return _0x2eae9f['destroy']()['then'](function(){_0x31ed88['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x2a14d5,_0x5eeef8){return function(_0x19594c){if(!_0x19594c){_0x2a14d5['sendStatus'](0x194);}return _0x19594c;};}function handleError(_0x5b1331,_0x483278){_0x483278=_0x483278||0x1f4;return function(_0x5d62a6){logger[_0x6a48('0x27')](_0x5d62a6[_0x6a48('0x28')]);if(_0x5d62a6[_0x6a48('0x29')]){delete _0x5d62a6[_0x6a48('0x29')];}_0x5b1331['status'](_0x483278)[_0x6a48('0x2a')](_0x5d62a6);};}exports[_0x6a48('0x2b')]=function(_0xf450b,_0x13fe57){var _0x5188e8={},_0x57522a={},_0x39f2ee={'count':0x0,'rows':[]};var _0xa75f3d=_[_0x6a48('0x2c')](db[_0x6a48('0x2d')][_0x6a48('0x2e')],function(_0x5b01a4){return{'name':_0x5b01a4[_0x6a48('0x2f')],'type':_0x5b01a4['type']['key']};});_0x57522a[_0x6a48('0x30')]=_[_0x6a48('0x2c')](_0xa75f3d,_0x6a48('0x29'));_0x57522a[_0x6a48('0x31')]=_[_0x6a48('0x32')](_0xf450b[_0x6a48('0x31')]);_0x57522a[_0x6a48('0x33')]=_[_0x6a48('0x34')](_0x57522a[_0x6a48('0x30')],_0x57522a[_0x6a48('0x31')]);_0x5188e8[_0x6a48('0x35')]=_[_0x6a48('0x34')](_0x57522a['model'],qs[_0x6a48('0x36')](_0xf450b[_0x6a48('0x31')][_0x6a48('0x36')]));_0x5188e8['attributes']=_0x5188e8[_0x6a48('0x35')]['length']?_0x5188e8[_0x6a48('0x35')]:_0x57522a['model'];if(!_0xf450b[_0x6a48('0x31')][_0x6a48('0x37')](_0x6a48('0x38'))){_0x5188e8['limit']=qs[_0x6a48('0x21')](_0xf450b[_0x6a48('0x31')]['limit']);_0x5188e8['offset']=qs[_0x6a48('0x1f')](_0xf450b[_0x6a48('0x31')][_0x6a48('0x1f')]);}_0x5188e8[_0x6a48('0x39')]=qs[_0x6a48('0x3a')](_0xf450b[_0x6a48('0x31')][_0x6a48('0x3a')]);_0x5188e8[_0x6a48('0x3b')]=qs['filters'](_[_0x6a48('0x3c')](_0xf450b[_0x6a48('0x31')],_0x57522a[_0x6a48('0x33')]),_0xa75f3d);if(_0xf450b[_0x6a48('0x31')][_0x6a48('0x3d')]){_0x5188e8[_0x6a48('0x3b')]=_[_0x6a48('0x3e')](_0x5188e8[_0x6a48('0x3b')],{'$or':_[_0x6a48('0x2c')](_0xa75f3d,function(_0x424a5b){if(_0x424a5b[_0x6a48('0x3f')]!==_0x6a48('0x40')){var _0x19244f={};_0x19244f[_0x424a5b[_0x6a48('0x29')]]={'$like':'%'+_0xf450b['query'][_0x6a48('0x3d')]+'%'};return _0x19244f;}})});}_0x5188e8=_[_0x6a48('0x3e')]({},_0x5188e8,_0xf450b['options']);var _0x3ac1d7={'where':_0x5188e8[_0x6a48('0x3b')]};return db[_0x6a48('0x2d')][_0x6a48('0x22')](_0x3ac1d7)['then'](function(_0x2ab146){_0x39f2ee[_0x6a48('0x22')]=_0x2ab146;if(_0xf450b[_0x6a48('0x31')][_0x6a48('0x41')]){_0x5188e8[_0x6a48('0x42')]=[{'all':!![]}];}return db[_0x6a48('0x2d')][_0x6a48('0x43')](_0x5188e8);})['then'](function(_0x5cbb47){_0x39f2ee[_0x6a48('0x44')]=_0x5cbb47;return _0x39f2ee;})[_0x6a48('0x45')](respondWithFilteredResult(_0x13fe57,_0x5188e8))['catch'](handleError(_0x13fe57,null));};exports[_0x6a48('0x46')]=function(_0x4399c0,_0x48d8ee){var _0x305878={'raw':!![],'where':{'id':_0x4399c0[_0x6a48('0x47')]['id']}},_0x2abea4={};_0x2abea4[_0x6a48('0x30')]=_[_0x6a48('0x32')](db['SquareMessage'][_0x6a48('0x2e')]);_0x2abea4['query']=_['keys'](_0x4399c0[_0x6a48('0x31')]);_0x2abea4['filters']=_[_0x6a48('0x34')](_0x2abea4['model'],_0x2abea4[_0x6a48('0x31')]);_0x305878[_0x6a48('0x35')]=_[_0x6a48('0x34')](_0x2abea4['model'],qs[_0x6a48('0x36')](_0x4399c0['query']['fields']));_0x305878['attributes']=_0x305878[_0x6a48('0x35')]['length']?_0x305878[_0x6a48('0x35')]:_0x2abea4[_0x6a48('0x30')];if(_0x4399c0[_0x6a48('0x31')][_0x6a48('0x41')]){_0x305878['include']=[{'all':!![]}];}_0x305878=_[_0x6a48('0x3e')]({},_0x305878,_0x4399c0['options']);return db[_0x6a48('0x2d')][_0x6a48('0x48')](_0x305878)['then'](handleEntityNotFound(_0x48d8ee,null))['then'](respondWithResult(_0x48d8ee,null))[_0x6a48('0x49')](handleError(_0x48d8ee,null));};exports[_0x6a48('0x4a')]=function(_0x5c91cf,_0x130ca0){return db[_0x6a48('0x2d')][_0x6a48('0x4a')](_0x5c91cf[_0x6a48('0x4b')],{})[_0x6a48('0x45')](respondWithResult(_0x130ca0,0xc9))[_0x6a48('0x49')](handleError(_0x130ca0,null));};exports[_0x6a48('0x4c')]=function(_0x4b3cc1,_0x3227db){if(_0x4b3cc1[_0x6a48('0x4b')]['id']){delete _0x4b3cc1['body']['id'];}return db[_0x6a48('0x2d')][_0x6a48('0x48')]({'where':{'id':_0x4b3cc1[_0x6a48('0x47')]['id']}})[_0x6a48('0x45')](handleEntityNotFound(_0x3227db,null))[_0x6a48('0x45')](saveUpdates(_0x4b3cc1['body'],null))[_0x6a48('0x45')](respondWithResult(_0x3227db,null))[_0x6a48('0x49')](handleError(_0x3227db,null));};exports[_0x6a48('0x4d')]=function(_0xc66694,_0x1243bc){return db['SquareMessage']['find']({'where':{'id':_0xc66694[_0x6a48('0x47')]['id']}})[_0x6a48('0x45')](handleEntityNotFound(_0x1243bc,null))[_0x6a48('0x45')](removeEntity(_0x1243bc,null))['catch'](handleError(_0x1243bc,null));};