5942a41c33a937726263adda8ae1ea4fd3152525
[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 _0x48a4=['where','VIRTUAL','filter','includeAll','findAll','rows','catch','show','params','include','merge','find','create','body','update','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/logger','../../config/utils','sendStatus','status','end','json','count','offset','set','apply','reject','save','destroy','then','error','stack','name','send','SquareMessage','rawAttributes','type','key','model','map','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','limit','sort','pick'];(function(_0x2e6596,_0x3ea2b4){var _0x2e1a23=function(_0x2f7ef1){while(--_0x2f7ef1){_0x2e6596['push'](_0x2e6596['shift']());}};_0x2e1a23(++_0x3ea2b4);}(_0x48a4,0x12f));var _0x448a=function(_0x5f5bfd,_0x121e9b){_0x5f5bfd=_0x5f5bfd-0x0;var _0x27c9ce=_0x48a4[_0x5f5bfd];return _0x27c9ce;};'use strict';var pdf=require(_0x448a('0x0'));var emlformat=require(_0x448a('0x1'));var rimraf=require(_0x448a('0x2'));var zipdir=require(_0x448a('0x3'));var jsonpatch=require(_0x448a('0x4'));var rp=require(_0x448a('0x5'));var moment=require(_0x448a('0x6'));var BPromise=require(_0x448a('0x7'));var Mustache=require(_0x448a('0x8'));var util=require(_0x448a('0x9'));var path=require(_0x448a('0xa'));var sox=require('sox');var csv=require(_0x448a('0xb'));var ejs=require(_0x448a('0xc'));var fs=require('fs');var _=require(_0x448a('0xd'));var squel=require('squel');var crypto=require(_0x448a('0xe'));var jsforce=require(_0x448a('0xf'));var deskjs=require(_0x448a('0x10'));var toCsv=require(_0x448a('0xb'));var querystring=require(_0x448a('0x11'));var Papa=require(_0x448a('0x12'));var Redis=require(_0x448a('0x13'));var authService=require('../../components/auth/service');var qs=require(_0x448a('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x448a('0x15'))('api');var utils=require(_0x448a('0x16'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2ed72f,_0xe43d33){_0xe43d33=_0xe43d33||0xcc;return function(_0x5521cf){if(_0x5521cf){return _0x2ed72f[_0x448a('0x17')](_0xe43d33);}return _0x2ed72f[_0x448a('0x18')](_0xe43d33)[_0x448a('0x19')]();};}function respondWithResult(_0x5f02b1,_0x2b1121){_0x2b1121=_0x2b1121||0xc8;return function(_0x2d99f5){if(_0x2d99f5){return _0x5f02b1[_0x448a('0x18')](_0x2b1121)[_0x448a('0x1a')](_0x2d99f5);}};}function respondWithFilteredResult(_0x4976db,_0x4e8f3f){return function(_0x1d8655){if(_0x1d8655){var _0x25560c=_0x1d8655[_0x448a('0x1b')],_0x293827=_0x4e8f3f[_0x448a('0x1c')],_0x514ab9=_0x4e8f3f['offset']+_0x4e8f3f['limit'],_0x4de834;if(_0x514ab9>=_0x25560c){_0x514ab9=_0x25560c;_0x4de834=0xc8;}else{_0x4de834=0xce;}_0x4976db[_0x448a('0x18')](_0x4de834);return _0x4976db[_0x448a('0x1d')]('Content-Range',_0x293827+'-'+_0x514ab9+'/'+_0x25560c)[_0x448a('0x1a')](_0x1d8655);}return null;};}function patchUpdates(_0x2acd50){return function(_0x4d1b79){try{jsonpatch[_0x448a('0x1e')](_0x4d1b79,_0x2acd50,!![]);}catch(_0x317241){return BPromise[_0x448a('0x1f')](_0x317241);}return _0x4d1b79[_0x448a('0x20')]();};}function saveUpdates(_0x3016c0,_0x1a2c39){return function(_0x278bca){if(_0x278bca){return _0x278bca['update'](_0x3016c0)['then'](function(_0x1d7090){return _0x1d7090;});}return null;};}function removeEntity(_0xc29080,_0x41b889){return function(_0xed2c45){if(_0xed2c45){return _0xed2c45[_0x448a('0x21')]()[_0x448a('0x22')](function(){_0xc29080[_0x448a('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x576465,_0x4d6f4f){return function(_0x558eef){if(!_0x558eef){_0x576465[_0x448a('0x17')](0x194);}return _0x558eef;};}function handleError(_0x48f602,_0x580ec0){_0x580ec0=_0x580ec0||0x1f4;return function(_0x1cb0fc){logger[_0x448a('0x23')](_0x1cb0fc[_0x448a('0x24')]);if(_0x1cb0fc[_0x448a('0x25')]){delete _0x1cb0fc['name'];}_0x48f602[_0x448a('0x18')](_0x580ec0)[_0x448a('0x26')](_0x1cb0fc);};}exports['index']=function(_0x8d9d29,_0x5530c7){var _0x5a4b42={},_0x2080a8={},_0x3b6781={'count':0x0,'rows':[]};var _0x2118fc=_['map'](db[_0x448a('0x27')][_0x448a('0x28')],function(_0x4ebc0e){return{'name':_0x4ebc0e['fieldName'],'type':_0x4ebc0e[_0x448a('0x29')][_0x448a('0x2a')]};});_0x2080a8[_0x448a('0x2b')]=_[_0x448a('0x2c')](_0x2118fc,_0x448a('0x25'));_0x2080a8[_0x448a('0x2d')]=_[_0x448a('0x2e')](_0x8d9d29[_0x448a('0x2d')]);_0x2080a8[_0x448a('0x2f')]=_['intersection'](_0x2080a8['model'],_0x2080a8[_0x448a('0x2d')]);_0x5a4b42[_0x448a('0x30')]=_[_0x448a('0x31')](_0x2080a8[_0x448a('0x2b')],qs[_0x448a('0x32')](_0x8d9d29['query'][_0x448a('0x32')]));_0x5a4b42[_0x448a('0x30')]=_0x5a4b42[_0x448a('0x30')][_0x448a('0x33')]?_0x5a4b42[_0x448a('0x30')]:_0x2080a8[_0x448a('0x2b')];if(!_0x8d9d29[_0x448a('0x2d')][_0x448a('0x34')](_0x448a('0x35'))){_0x5a4b42[_0x448a('0x36')]=qs[_0x448a('0x36')](_0x8d9d29[_0x448a('0x2d')][_0x448a('0x36')]);_0x5a4b42[_0x448a('0x1c')]=qs[_0x448a('0x1c')](_0x8d9d29['query'][_0x448a('0x1c')]);}_0x5a4b42['order']=qs['sort'](_0x8d9d29[_0x448a('0x2d')][_0x448a('0x37')]);_0x5a4b42['where']=qs['filters'](_[_0x448a('0x38')](_0x8d9d29['query'],_0x2080a8[_0x448a('0x2f')]),_0x2118fc);if(_0x8d9d29[_0x448a('0x2d')]['filter']){_0x5a4b42[_0x448a('0x39')]=_['merge'](_0x5a4b42[_0x448a('0x39')],{'$or':_[_0x448a('0x2c')](_0x2118fc,function(_0x216cd2){if(_0x216cd2[_0x448a('0x29')]!==_0x448a('0x3a')){var _0xe04199={};_0xe04199[_0x216cd2['name']]={'$like':'%'+_0x8d9d29[_0x448a('0x2d')][_0x448a('0x3b')]+'%'};return _0xe04199;}})});}_0x5a4b42=_['merge']({},_0x5a4b42,_0x8d9d29['options']);var _0x25f5d9={'where':_0x5a4b42['where']};return db[_0x448a('0x27')][_0x448a('0x1b')](_0x25f5d9)[_0x448a('0x22')](function(_0x1130dd){_0x3b6781['count']=_0x1130dd;if(_0x8d9d29['query'][_0x448a('0x3c')]){_0x5a4b42['include']=[{'all':!![]}];}return db[_0x448a('0x27')][_0x448a('0x3d')](_0x5a4b42);})[_0x448a('0x22')](function(_0x13f849){_0x3b6781[_0x448a('0x3e')]=_0x13f849;return _0x3b6781;})['then'](respondWithFilteredResult(_0x5530c7,_0x5a4b42))[_0x448a('0x3f')](handleError(_0x5530c7,null));};exports[_0x448a('0x40')]=function(_0x3d12ae,_0x2b6984){var _0x5516ac={'raw':!![],'where':{'id':_0x3d12ae[_0x448a('0x41')]['id']}},_0x1a6e81={};_0x1a6e81['model']=_['keys'](db['SquareMessage'][_0x448a('0x28')]);_0x1a6e81[_0x448a('0x2d')]=_[_0x448a('0x2e')](_0x3d12ae[_0x448a('0x2d')]);_0x1a6e81[_0x448a('0x2f')]=_[_0x448a('0x31')](_0x1a6e81[_0x448a('0x2b')],_0x1a6e81[_0x448a('0x2d')]);_0x5516ac[_0x448a('0x30')]=_[_0x448a('0x31')](_0x1a6e81[_0x448a('0x2b')],qs[_0x448a('0x32')](_0x3d12ae[_0x448a('0x2d')][_0x448a('0x32')]));_0x5516ac[_0x448a('0x30')]=_0x5516ac['attributes'][_0x448a('0x33')]?_0x5516ac[_0x448a('0x30')]:_0x1a6e81[_0x448a('0x2b')];if(_0x3d12ae[_0x448a('0x2d')][_0x448a('0x3c')]){_0x5516ac[_0x448a('0x42')]=[{'all':!![]}];}_0x5516ac=_[_0x448a('0x43')]({},_0x5516ac,_0x3d12ae['options']);return db[_0x448a('0x27')][_0x448a('0x44')](_0x5516ac)['then'](handleEntityNotFound(_0x2b6984,null))[_0x448a('0x22')](respondWithResult(_0x2b6984,null))[_0x448a('0x3f')](handleError(_0x2b6984,null));};exports['create']=function(_0x487da1,_0x3ef615){return db['SquareMessage'][_0x448a('0x45')](_0x487da1[_0x448a('0x46')],{})[_0x448a('0x22')](respondWithResult(_0x3ef615,0xc9))[_0x448a('0x3f')](handleError(_0x3ef615,null));};exports[_0x448a('0x47')]=function(_0x2ae36f,_0x49678d){if(_0x2ae36f[_0x448a('0x46')]['id']){delete _0x2ae36f[_0x448a('0x46')]['id'];}return db[_0x448a('0x27')][_0x448a('0x44')]({'where':{'id':_0x2ae36f[_0x448a('0x41')]['id']}})[_0x448a('0x22')](handleEntityNotFound(_0x49678d,null))[_0x448a('0x22')](saveUpdates(_0x2ae36f['body'],null))[_0x448a('0x22')](respondWithResult(_0x49678d,null))[_0x448a('0x3f')](handleError(_0x49678d,null));};exports['destroy']=function(_0x19191d,_0x47c744){return db[_0x448a('0x27')][_0x448a('0x44')]({'where':{'id':_0x19191d[_0x448a('0x41')]['id']}})['then'](handleEntityNotFound(_0x47c744,null))[_0x448a('0x22')](removeEntity(_0x47c744,null))[_0x448a('0x3f')](handleError(_0x47c744,null));};