27a36b548b9094dbf60d618f12e4b25ac63308a4
[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 _0x0447=['util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','sendStatus','json','offset','limit','undefined','count','Content-Range','apply','reject','update','then','destroy','end','error','stack','name','send','index','SquareMessage','fieldName','model','keys','query','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','filters','pick','merge','map','type','VIRTUAL','filter','options','includeAll','include','findAll','show','rawAttributes','length','catch','create','body','find','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache'];(function(_0xdc063f,_0xd0b43d){var _0x27e428=function(_0x510121){while(--_0x510121){_0xdc063f['push'](_0xdc063f['shift']());}};_0x27e428(++_0xd0b43d);}(_0x0447,0x8b));var _0x7044=function(_0x4de226,_0xf589ec){_0x4de226=_0x4de226-0x0;var _0x2fb276=_0x0447[_0x4de226];return _0x2fb276;};'use strict';var emlformat=require(_0x7044('0x0'));var rimraf=require(_0x7044('0x1'));var zipdir=require(_0x7044('0x2'));var jsonpatch=require(_0x7044('0x3'));var rp=require(_0x7044('0x4'));var moment=require('moment');var BPromise=require(_0x7044('0x5'));var Mustache=require(_0x7044('0x6'));var util=require(_0x7044('0x7'));var path=require(_0x7044('0x8'));var sox=require(_0x7044('0x9'));var csv=require(_0x7044('0xa'));var ejs=require(_0x7044('0xb'));var fs=require('fs');var fs_extra=require(_0x7044('0xc'));var _=require(_0x7044('0xd'));var squel=require('squel');var crypto=require(_0x7044('0xe'));var jsforce=require(_0x7044('0xf'));var deskjs=require(_0x7044('0x10'));var toCsv=require(_0x7044('0xa'));var querystring=require('querystring');var Papa=require(_0x7044('0x11'));var Redis=require(_0x7044('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x7044('0x13'));var as=require(_0x7044('0x14'));var hardwareService=require(_0x7044('0x15'));var logger=require(_0x7044('0x16'))('api');var utils=require(_0x7044('0x17'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xe26cea,_0x41b118){_0x41b118=_0x41b118||0xcc;return function(_0xf01bdf){if(_0xf01bdf){return _0xe26cea[_0x7044('0x18')](_0x41b118);}return _0xe26cea['status'](_0x41b118)['end']();};}function respondWithResult(_0xd5ae12,_0x3316c4){_0x3316c4=_0x3316c4||0xc8;return function(_0x58eb57){if(_0x58eb57){return _0xd5ae12['status'](_0x3316c4)[_0x7044('0x19')](_0x58eb57);}};}function respondWithFilteredResult(_0x310535,_0x79f418){return function(_0x35769e){if(_0x35769e){var _0x2fecb1=typeof _0x79f418[_0x7044('0x1a')]==='undefined'&&typeof _0x79f418[_0x7044('0x1b')]===_0x7044('0x1c');var _0x1b6a10=_0x35769e[_0x7044('0x1d')];var _0x219486=_0x2fecb1?0x0:_0x79f418[_0x7044('0x1a')];var _0x4df89b=_0x2fecb1?_0x35769e[_0x7044('0x1d')]:_0x79f418[_0x7044('0x1a')]+_0x79f418[_0x7044('0x1b')];var _0x4e7285;if(_0x4df89b>=_0x1b6a10){_0x4df89b=_0x1b6a10;_0x4e7285=0xc8;}else{_0x4e7285=0xce;}_0x310535['status'](_0x4e7285);return _0x310535['set'](_0x7044('0x1e'),_0x219486+'-'+_0x4df89b+'/'+_0x1b6a10)[_0x7044('0x19')](_0x35769e);}return null;};}function patchUpdates(_0x2c5dcb){return function(_0x4104a9){try{jsonpatch[_0x7044('0x1f')](_0x4104a9,_0x2c5dcb,!![]);}catch(_0x4faffe){return BPromise[_0x7044('0x20')](_0x4faffe);}return _0x4104a9['save']();};}function saveUpdates(_0x4af476,_0x3db88b){return function(_0x8bd8c8){if(_0x8bd8c8){return _0x8bd8c8[_0x7044('0x21')](_0x4af476)[_0x7044('0x22')](function(_0x39d85e){return _0x39d85e;});}return null;};}function removeEntity(_0x105da8,_0x41a079){return function(_0x9452a1){if(_0x9452a1){return _0x9452a1[_0x7044('0x23')]()['then'](function(){_0x105da8['status'](0xcc)[_0x7044('0x24')]();});}};}function handleEntityNotFound(_0x16c18b,_0x1e065d){return function(_0x29caa4){if(!_0x29caa4){_0x16c18b[_0x7044('0x18')](0x194);}return _0x29caa4;};}function handleError(_0x3fb162,_0x25ccaf){_0x25ccaf=_0x25ccaf||0x1f4;return function(_0x45ae52){logger[_0x7044('0x25')](_0x45ae52[_0x7044('0x26')]);if(_0x45ae52[_0x7044('0x27')]){delete _0x45ae52[_0x7044('0x27')];}_0x3fb162['status'](_0x25ccaf)[_0x7044('0x28')](_0x45ae52);};}exports[_0x7044('0x29')]=function(_0x2614a3,_0x1a75ff){var _0x4b7de2={},_0x2261af={},_0x5dd28c={'count':0x0,'rows':[]};var _0x581f68=_['map'](db[_0x7044('0x2a')]['rawAttributes'],function(_0x28df42){return{'name':_0x28df42[_0x7044('0x2b')],'type':_0x28df42['type']['key']};});_0x2261af[_0x7044('0x2c')]=_['map'](_0x581f68,'name');_0x2261af['query']=_[_0x7044('0x2d')](_0x2614a3[_0x7044('0x2e')]);_0x2261af['filters']=_[_0x7044('0x2f')](_0x2261af[_0x7044('0x2c')],_0x2261af[_0x7044('0x2e')]);_0x4b7de2[_0x7044('0x30')]=_[_0x7044('0x2f')](_0x2261af['model'],qs[_0x7044('0x31')](_0x2614a3[_0x7044('0x2e')][_0x7044('0x31')]));_0x4b7de2[_0x7044('0x30')]=_0x4b7de2[_0x7044('0x30')]['length']?_0x4b7de2[_0x7044('0x30')]:_0x2261af[_0x7044('0x2c')];if(!_0x2614a3['query'][_0x7044('0x32')](_0x7044('0x33'))){_0x4b7de2[_0x7044('0x1b')]=qs[_0x7044('0x1b')](_0x2614a3[_0x7044('0x2e')][_0x7044('0x1b')]);_0x4b7de2['offset']=qs['offset'](_0x2614a3[_0x7044('0x2e')][_0x7044('0x1a')]);}_0x4b7de2['order']=qs[_0x7044('0x34')](_0x2614a3[_0x7044('0x2e')][_0x7044('0x34')]);_0x4b7de2[_0x7044('0x35')]=qs[_0x7044('0x36')](_[_0x7044('0x37')](_0x2614a3[_0x7044('0x2e')],_0x2261af[_0x7044('0x36')]),_0x581f68);if(_0x2614a3['query']['filter']){_0x4b7de2[_0x7044('0x35')]=_[_0x7044('0x38')](_0x4b7de2[_0x7044('0x35')],{'$or':_[_0x7044('0x39')](_0x581f68,function(_0x21bda2){if(_0x21bda2[_0x7044('0x3a')]!==_0x7044('0x3b')){var _0x4f6ca2={};_0x4f6ca2[_0x21bda2[_0x7044('0x27')]]={'$like':'%'+_0x2614a3[_0x7044('0x2e')][_0x7044('0x3c')]+'%'};return _0x4f6ca2;}})});}_0x4b7de2=_['merge']({},_0x4b7de2,_0x2614a3[_0x7044('0x3d')]);var _0x5ce758={'where':_0x4b7de2['where']};return db[_0x7044('0x2a')]['count'](_0x5ce758)[_0x7044('0x22')](function(_0x388627){_0x5dd28c[_0x7044('0x1d')]=_0x388627;if(_0x2614a3[_0x7044('0x2e')][_0x7044('0x3e')]){_0x4b7de2[_0x7044('0x3f')]=[{'all':!![]}];}return db[_0x7044('0x2a')][_0x7044('0x40')](_0x4b7de2);})[_0x7044('0x22')](function(_0x1b4f01){_0x5dd28c['rows']=_0x1b4f01;return _0x5dd28c;})['then'](respondWithFilteredResult(_0x1a75ff,_0x4b7de2))['catch'](handleError(_0x1a75ff,null));};exports[_0x7044('0x41')]=function(_0x294483,_0x43a43c){var _0x40d135={'raw':!![],'where':{'id':_0x294483['params']['id']}},_0x5c4d66={};_0x5c4d66['model']=_[_0x7044('0x2d')](db[_0x7044('0x2a')][_0x7044('0x42')]);_0x5c4d66[_0x7044('0x2e')]=_[_0x7044('0x2d')](_0x294483[_0x7044('0x2e')]);_0x5c4d66[_0x7044('0x36')]=_[_0x7044('0x2f')](_0x5c4d66[_0x7044('0x2c')],_0x5c4d66['query']);_0x40d135['attributes']=_['intersection'](_0x5c4d66[_0x7044('0x2c')],qs[_0x7044('0x31')](_0x294483[_0x7044('0x2e')][_0x7044('0x31')]));_0x40d135[_0x7044('0x30')]=_0x40d135[_0x7044('0x30')][_0x7044('0x43')]?_0x40d135['attributes']:_0x5c4d66['model'];if(_0x294483[_0x7044('0x2e')][_0x7044('0x3e')]){_0x40d135[_0x7044('0x3f')]=[{'all':!![]}];}_0x40d135=_[_0x7044('0x38')]({},_0x40d135,_0x294483[_0x7044('0x3d')]);return db[_0x7044('0x2a')]['find'](_0x40d135)['then'](handleEntityNotFound(_0x43a43c,null))['then'](respondWithResult(_0x43a43c,null))[_0x7044('0x44')](handleError(_0x43a43c,null));};exports[_0x7044('0x45')]=function(_0x38ac39,_0x353120){return db['SquareMessage'][_0x7044('0x45')](_0x38ac39[_0x7044('0x46')],{})[_0x7044('0x22')](respondWithResult(_0x353120,0xc9))['catch'](handleError(_0x353120,null));};exports[_0x7044('0x21')]=function(_0x45e599,_0x8ca211){if(_0x45e599['body']['id']){delete _0x45e599[_0x7044('0x46')]['id'];}return db[_0x7044('0x2a')][_0x7044('0x47')]({'where':{'id':_0x45e599[_0x7044('0x48')]['id']}})['then'](handleEntityNotFound(_0x8ca211,null))[_0x7044('0x22')](saveUpdates(_0x45e599[_0x7044('0x46')],null))['then'](respondWithResult(_0x8ca211,null))[_0x7044('0x44')](handleError(_0x8ca211,null));};exports[_0x7044('0x23')]=function(_0x1da055,_0x29641b){return db[_0x7044('0x2a')]['find']({'where':{'id':_0x1da055[_0x7044('0x48')]['id']}})[_0x7044('0x22')](handleEntityNotFound(_0x29641b,null))['then'](removeEntity(_0x29641b,null))['catch'](handleError(_0x29641b,null));};