616a56f48e1bb4a3f56ba35d93b5e83ba571356d
[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 _0x36ce=['../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','reject','save','then','destroy','error','stack','name','send','index','map','SquareMessage','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','rawAttributes','create','body','update','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware'];(function(_0x4d0137,_0x2606eb){var _0x240296=function(_0x2c5109){while(--_0x2c5109){_0x4d0137['push'](_0x4d0137['shift']());}};_0x240296(++_0x2606eb);}(_0x36ce,0x11c));var _0xe36c=function(_0x194f46,_0x30d3fa){_0x194f46=_0x194f46-0x0;var _0x5ca956=_0x36ce[_0x194f46];return _0x5ca956;};'use strict';var emlformat=require(_0xe36c('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xe36c('0x1'));var jsonpatch=require(_0xe36c('0x2'));var rp=require(_0xe36c('0x3'));var moment=require('moment');var BPromise=require(_0xe36c('0x4'));var Mustache=require(_0xe36c('0x5'));var util=require(_0xe36c('0x6'));var path=require(_0xe36c('0x7'));var sox=require('sox');var csv=require(_0xe36c('0x8'));var ejs=require(_0xe36c('0x9'));var fs=require('fs');var fs_extra=require(_0xe36c('0xa'));var _=require(_0xe36c('0xb'));var squel=require('squel');var crypto=require(_0xe36c('0xc'));var jsforce=require(_0xe36c('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xe36c('0xe'));var Papa=require('papaparse');var Redis=require(_0xe36c('0xf'));var authService=require(_0xe36c('0x10'));var qs=require(_0xe36c('0x11'));var as=require(_0xe36c('0x12'));var hardwareService=require(_0xe36c('0x13'));var logger=require(_0xe36c('0x14'))(_0xe36c('0x15'));var utils=require(_0xe36c('0x16'));var config=require(_0xe36c('0x17'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1bff6e,_0x50baa6){_0x50baa6=_0x50baa6||0xcc;return function(_0x1df89e){if(_0x1df89e){return _0x1bff6e[_0xe36c('0x18')](_0x50baa6);}return _0x1bff6e[_0xe36c('0x19')](_0x50baa6)[_0xe36c('0x1a')]();};}function respondWithResult(_0x2bcbcf,_0x1f8189){_0x1f8189=_0x1f8189||0xc8;return function(_0x3d2dc9){if(_0x3d2dc9){return _0x2bcbcf[_0xe36c('0x19')](_0x1f8189)['json'](_0x3d2dc9);}};}function respondWithFilteredResult(_0x502c43,_0x807ba0){return function(_0x55fd77){if(_0x55fd77){var _0x29ded6=typeof _0x807ba0[_0xe36c('0x1b')]===_0xe36c('0x1c')&&typeof _0x807ba0[_0xe36c('0x1d')]===_0xe36c('0x1c');var _0xd61461=_0x55fd77[_0xe36c('0x1e')];var _0x5a763b=_0x29ded6?0x0:_0x807ba0[_0xe36c('0x1b')];var _0xc91d5e=_0x29ded6?_0x55fd77['count']:_0x807ba0[_0xe36c('0x1b')]+_0x807ba0[_0xe36c('0x1d')];var _0x3492fa;if(_0xc91d5e>=_0xd61461){_0xc91d5e=_0xd61461;_0x3492fa=0xc8;}else{_0x3492fa=0xce;}_0x502c43[_0xe36c('0x19')](_0x3492fa);return _0x502c43[_0xe36c('0x1f')](_0xe36c('0x20'),_0x5a763b+'-'+_0xc91d5e+'/'+_0xd61461)[_0xe36c('0x21')](_0x55fd77);}return null;};}function patchUpdates(_0xaf4dc0){return function(_0x14a268){try{jsonpatch['apply'](_0x14a268,_0xaf4dc0,!![]);}catch(_0x3b1ded){return BPromise[_0xe36c('0x22')](_0x3b1ded);}return _0x14a268[_0xe36c('0x23')]();};}function saveUpdates(_0x44a555,_0x4ec7ca){return function(_0x5d9831){if(_0x5d9831){return _0x5d9831['update'](_0x44a555)[_0xe36c('0x24')](function(_0x1281ed){return _0x1281ed;});}return null;};}function removeEntity(_0x19ca11,_0x421349){return function(_0x54a7ee){if(_0x54a7ee){return _0x54a7ee[_0xe36c('0x25')]()[_0xe36c('0x24')](function(){_0x19ca11[_0xe36c('0x19')](0xcc)[_0xe36c('0x1a')]();});}};}function handleEntityNotFound(_0x935791,_0x1b8635){return function(_0x10f96c){if(!_0x10f96c){_0x935791[_0xe36c('0x18')](0x194);}return _0x10f96c;};}function handleError(_0xc1dcfd,_0x312f94){_0x312f94=_0x312f94||0x1f4;return function(_0xdb20ee){logger[_0xe36c('0x26')](_0xdb20ee[_0xe36c('0x27')]);if(_0xdb20ee[_0xe36c('0x28')]){delete _0xdb20ee[_0xe36c('0x28')];}_0xc1dcfd[_0xe36c('0x19')](_0x312f94)[_0xe36c('0x29')](_0xdb20ee);};}exports[_0xe36c('0x2a')]=function(_0x353661,_0x5d2915){var _0x252ba5={},_0x383dad={},_0x3372cd={'count':0x0,'rows':[]};var _0x28a1bf=_[_0xe36c('0x2b')](db[_0xe36c('0x2c')]['rawAttributes'],function(_0x5ccabc){return{'name':_0x5ccabc['fieldName'],'type':_0x5ccabc[_0xe36c('0x2d')][_0xe36c('0x2e')]};});_0x383dad[_0xe36c('0x2f')]=_['map'](_0x28a1bf,_0xe36c('0x28'));_0x383dad[_0xe36c('0x30')]=_[_0xe36c('0x31')](_0x353661['query']);_0x383dad[_0xe36c('0x32')]=_[_0xe36c('0x33')](_0x383dad[_0xe36c('0x2f')],_0x383dad[_0xe36c('0x30')]);_0x252ba5[_0xe36c('0x34')]=_['intersection'](_0x383dad['model'],qs[_0xe36c('0x35')](_0x353661[_0xe36c('0x30')][_0xe36c('0x35')]));_0x252ba5[_0xe36c('0x34')]=_0x252ba5[_0xe36c('0x34')][_0xe36c('0x36')]?_0x252ba5[_0xe36c('0x34')]:_0x383dad[_0xe36c('0x2f')];if(!_0x353661[_0xe36c('0x30')][_0xe36c('0x37')](_0xe36c('0x38'))){_0x252ba5[_0xe36c('0x1d')]=qs[_0xe36c('0x1d')](_0x353661[_0xe36c('0x30')][_0xe36c('0x1d')]);_0x252ba5[_0xe36c('0x1b')]=qs[_0xe36c('0x1b')](_0x353661[_0xe36c('0x30')][_0xe36c('0x1b')]);}_0x252ba5[_0xe36c('0x39')]=qs[_0xe36c('0x3a')](_0x353661['query'][_0xe36c('0x3a')]);_0x252ba5['where']=qs[_0xe36c('0x32')](_[_0xe36c('0x3b')](_0x353661[_0xe36c('0x30')],_0x383dad[_0xe36c('0x32')]),_0x28a1bf);if(_0x353661['query'][_0xe36c('0x3c')]){_0x252ba5[_0xe36c('0x3d')]=_[_0xe36c('0x3e')](_0x252ba5[_0xe36c('0x3d')],{'$or':_[_0xe36c('0x2b')](_0x28a1bf,function(_0x5a9afb){if(_0x5a9afb[_0xe36c('0x2d')]!==_0xe36c('0x3f')){var _0x4ab98a={};_0x4ab98a[_0x5a9afb[_0xe36c('0x28')]]={'$like':'%'+_0x353661[_0xe36c('0x30')][_0xe36c('0x3c')]+'%'};return _0x4ab98a;}})});}_0x252ba5=_['merge']({},_0x252ba5,_0x353661[_0xe36c('0x40')]);var _0x47555c={'where':_0x252ba5[_0xe36c('0x3d')]};return db[_0xe36c('0x2c')][_0xe36c('0x1e')](_0x47555c)[_0xe36c('0x24')](function(_0x2ea927){_0x3372cd['count']=_0x2ea927;if(_0x353661[_0xe36c('0x30')][_0xe36c('0x41')]){_0x252ba5[_0xe36c('0x42')]=[{'all':!![]}];}return db[_0xe36c('0x2c')][_0xe36c('0x43')](_0x252ba5);})[_0xe36c('0x24')](function(_0x4b7242){_0x3372cd[_0xe36c('0x44')]=_0x4b7242;return _0x3372cd;})[_0xe36c('0x24')](respondWithFilteredResult(_0x5d2915,_0x252ba5))[_0xe36c('0x45')](handleError(_0x5d2915,null));};exports[_0xe36c('0x46')]=function(_0x24faca,_0x10243b){var _0x3ce81d={'raw':!![],'where':{'id':_0x24faca[_0xe36c('0x47')]['id']}},_0x8bdfc5={};_0x8bdfc5[_0xe36c('0x2f')]=_[_0xe36c('0x31')](db['SquareMessage'][_0xe36c('0x48')]);_0x8bdfc5[_0xe36c('0x30')]=_[_0xe36c('0x31')](_0x24faca[_0xe36c('0x30')]);_0x8bdfc5[_0xe36c('0x32')]=_[_0xe36c('0x33')](_0x8bdfc5[_0xe36c('0x2f')],_0x8bdfc5[_0xe36c('0x30')]);_0x3ce81d[_0xe36c('0x34')]=_['intersection'](_0x8bdfc5[_0xe36c('0x2f')],qs[_0xe36c('0x35')](_0x24faca['query'][_0xe36c('0x35')]));_0x3ce81d[_0xe36c('0x34')]=_0x3ce81d[_0xe36c('0x34')][_0xe36c('0x36')]?_0x3ce81d[_0xe36c('0x34')]:_0x8bdfc5['model'];if(_0x24faca[_0xe36c('0x30')][_0xe36c('0x41')]){_0x3ce81d[_0xe36c('0x42')]=[{'all':!![]}];}_0x3ce81d=_[_0xe36c('0x3e')]({},_0x3ce81d,_0x24faca[_0xe36c('0x40')]);return db[_0xe36c('0x2c')]['find'](_0x3ce81d)[_0xe36c('0x24')](handleEntityNotFound(_0x10243b,null))[_0xe36c('0x24')](respondWithResult(_0x10243b,null))[_0xe36c('0x45')](handleError(_0x10243b,null));};exports[_0xe36c('0x49')]=function(_0x466c4c,_0x1a840c){return db[_0xe36c('0x2c')][_0xe36c('0x49')](_0x466c4c[_0xe36c('0x4a')],{})[_0xe36c('0x24')](respondWithResult(_0x1a840c,0xc9))[_0xe36c('0x45')](handleError(_0x1a840c,null));};exports[_0xe36c('0x4b')]=function(_0x1928a1,_0x166aaa){if(_0x1928a1[_0xe36c('0x4a')]['id']){delete _0x1928a1[_0xe36c('0x4a')]['id'];}return db[_0xe36c('0x2c')]['find']({'where':{'id':_0x1928a1[_0xe36c('0x47')]['id']}})['then'](handleEntityNotFound(_0x166aaa,null))[_0xe36c('0x24')](saveUpdates(_0x1928a1[_0xe36c('0x4a')],null))[_0xe36c('0x24')](respondWithResult(_0x166aaa,null))[_0xe36c('0x45')](handleError(_0x166aaa,null));};exports[_0xe36c('0x25')]=function(_0x41b2c9,_0x295539){return db[_0xe36c('0x2c')]['find']({'where':{'id':_0x41b2c9[_0xe36c('0x47')]['id']}})[_0xe36c('0x24')](handleEntityNotFound(_0x295539,null))[_0xe36c('0x24')](removeEntity(_0x295539,null))[_0xe36c('0x45')](handleError(_0x295539,null));};