0a87a1675cb9731eccf2e2c9e6e36637c9c3b853
[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 _0xfe36=['eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','count','set','Content-Range','apply','save','update','then','destroy','error','stack','name','send','index','map','SquareMessage','rawAttributes','fieldName','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','limit','order','sort','filters','merge','where','filter','options','include','rows','show','params','includeAll','find','catch','create','body'];(function(_0x465a0c,_0x19d4d5){var _0x1e202e=function(_0x27bd8a){while(--_0x27bd8a){_0x465a0c['push'](_0x465a0c['shift']());}};_0x1e202e(++_0x19d4d5);}(_0xfe36,0x1b6));var _0x6fe3=function(_0x6690bf,_0x3d1f27){_0x6690bf=_0x6690bf-0x0;var _0x1bd221=_0xfe36[_0x6690bf];return _0x1bd221;};'use strict';var emlformat=require(_0x6fe3('0x0'));var rimraf=require(_0x6fe3('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6fe3('0x2'));var rp=require(_0x6fe3('0x3'));var moment=require(_0x6fe3('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x6fe3('0x5'));var util=require(_0x6fe3('0x6'));var path=require(_0x6fe3('0x7'));var sox=require(_0x6fe3('0x8'));var csv=require(_0x6fe3('0x9'));var ejs=require(_0x6fe3('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x6fe3('0xb'));var crypto=require(_0x6fe3('0xc'));var jsforce=require(_0x6fe3('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x6fe3('0x9'));var querystring=require(_0x6fe3('0xe'));var Papa=require('papaparse');var Redis=require(_0x6fe3('0xf'));var authService=require(_0x6fe3('0x10'));var qs=require(_0x6fe3('0x11'));var as=require(_0x6fe3('0x12'));var hardwareService=require(_0x6fe3('0x13'));var logger=require(_0x6fe3('0x14'))(_0x6fe3('0x15'));var utils=require('../../config/utils');var config=require(_0x6fe3('0x16'));var licenseUtil=require(_0x6fe3('0x17'));var db=require(_0x6fe3('0x18'))['db'];function respondWithStatusCode(_0x11f048,_0x11095d){_0x11095d=_0x11095d||0xcc;return function(_0x101a67){if(_0x101a67){return _0x11f048[_0x6fe3('0x19')](_0x11095d);}return _0x11f048[_0x6fe3('0x1a')](_0x11095d)[_0x6fe3('0x1b')]();};}function respondWithResult(_0x2dc561,_0x6d04a6){_0x6d04a6=_0x6d04a6||0xc8;return function(_0x4632bf){if(_0x4632bf){return _0x2dc561['status'](_0x6d04a6)['json'](_0x4632bf);}};}function respondWithFilteredResult(_0x2da966,_0x558913){return function(_0x393f54){if(_0x393f54){var _0x2a4323=typeof _0x558913[_0x6fe3('0x1c')]===_0x6fe3('0x1d')&&typeof _0x558913['limit']===_0x6fe3('0x1d');var _0x4587b1=_0x393f54[_0x6fe3('0x1e')];var _0x3c56a3=_0x2a4323?0x0:_0x558913[_0x6fe3('0x1c')];var _0x5ea196=_0x2a4323?_0x393f54['count']:_0x558913['offset']+_0x558913['limit'];var _0x5558d2;if(_0x5ea196>=_0x4587b1){_0x5ea196=_0x4587b1;_0x5558d2=0xc8;}else{_0x5558d2=0xce;}_0x2da966[_0x6fe3('0x1a')](_0x5558d2);return _0x2da966[_0x6fe3('0x1f')](_0x6fe3('0x20'),_0x3c56a3+'-'+_0x5ea196+'/'+_0x4587b1)['json'](_0x393f54);}return null;};}function patchUpdates(_0x3acbfb){return function(_0x3bc4b9){try{jsonpatch[_0x6fe3('0x21')](_0x3bc4b9,_0x3acbfb,!![]);}catch(_0x31621f){return BPromise['reject'](_0x31621f);}return _0x3bc4b9[_0x6fe3('0x22')]();};}function saveUpdates(_0x42ed7b,_0x48311c){return function(_0xc8dc47){if(_0xc8dc47){return _0xc8dc47[_0x6fe3('0x23')](_0x42ed7b)[_0x6fe3('0x24')](function(_0x7d2f2b){return _0x7d2f2b;});}return null;};}function removeEntity(_0x54f931,_0x56588e){return function(_0x30de73){if(_0x30de73){return _0x30de73[_0x6fe3('0x25')]()['then'](function(){_0x54f931['status'](0xcc)[_0x6fe3('0x1b')]();});}};}function handleEntityNotFound(_0x1295ab,_0x4510df){return function(_0x1433d0){if(!_0x1433d0){_0x1295ab[_0x6fe3('0x19')](0x194);}return _0x1433d0;};}function handleError(_0x24f2eb,_0x5027d9){_0x5027d9=_0x5027d9||0x1f4;return function(_0x4952e5){logger[_0x6fe3('0x26')](_0x4952e5[_0x6fe3('0x27')]);if(_0x4952e5[_0x6fe3('0x28')]){delete _0x4952e5['name'];}_0x24f2eb[_0x6fe3('0x1a')](_0x5027d9)[_0x6fe3('0x29')](_0x4952e5);};}exports[_0x6fe3('0x2a')]=function(_0x2dc377,_0x5c85ec){var _0x1a0cf5={},_0x1325ca={},_0x2d0b63={'count':0x0,'rows':[]};var _0x193d0b=_[_0x6fe3('0x2b')](db[_0x6fe3('0x2c')][_0x6fe3('0x2d')],function(_0x661009){return{'name':_0x661009[_0x6fe3('0x2e')],'type':_0x661009['type'][_0x6fe3('0x2f')]};});_0x1325ca[_0x6fe3('0x30')]=_[_0x6fe3('0x2b')](_0x193d0b,_0x6fe3('0x28'));_0x1325ca[_0x6fe3('0x31')]=_[_0x6fe3('0x32')](_0x2dc377[_0x6fe3('0x31')]);_0x1325ca['filters']=_[_0x6fe3('0x33')](_0x1325ca[_0x6fe3('0x30')],_0x1325ca['query']);_0x1a0cf5[_0x6fe3('0x34')]=_[_0x6fe3('0x33')](_0x1325ca[_0x6fe3('0x30')],qs[_0x6fe3('0x35')](_0x2dc377['query'][_0x6fe3('0x35')]));_0x1a0cf5[_0x6fe3('0x34')]=_0x1a0cf5[_0x6fe3('0x34')]['length']?_0x1a0cf5[_0x6fe3('0x34')]:_0x1325ca[_0x6fe3('0x30')];if(!_0x2dc377[_0x6fe3('0x31')][_0x6fe3('0x36')](_0x6fe3('0x37'))){_0x1a0cf5[_0x6fe3('0x38')]=qs['limit'](_0x2dc377['query'][_0x6fe3('0x38')]);_0x1a0cf5[_0x6fe3('0x1c')]=qs['offset'](_0x2dc377[_0x6fe3('0x31')][_0x6fe3('0x1c')]);}_0x1a0cf5[_0x6fe3('0x39')]=qs[_0x6fe3('0x3a')](_0x2dc377['query'][_0x6fe3('0x3a')]);_0x1a0cf5['where']=qs[_0x6fe3('0x3b')](_['pick'](_0x2dc377[_0x6fe3('0x31')],_0x1325ca[_0x6fe3('0x3b')]),_0x193d0b);if(_0x2dc377[_0x6fe3('0x31')]['filter']){_0x1a0cf5['where']=_[_0x6fe3('0x3c')](_0x1a0cf5[_0x6fe3('0x3d')],{'$or':_[_0x6fe3('0x2b')](_0x193d0b,function(_0x2c9de5){if(_0x2c9de5['type']!=='VIRTUAL'){var _0x11f660={};_0x11f660[_0x2c9de5['name']]={'$like':'%'+_0x2dc377[_0x6fe3('0x31')][_0x6fe3('0x3e')]+'%'};return _0x11f660;}})});}_0x1a0cf5=_[_0x6fe3('0x3c')]({},_0x1a0cf5,_0x2dc377[_0x6fe3('0x3f')]);var _0x3165f8={'where':_0x1a0cf5[_0x6fe3('0x3d')]};return db['SquareMessage'][_0x6fe3('0x1e')](_0x3165f8)['then'](function(_0xf6516a){_0x2d0b63[_0x6fe3('0x1e')]=_0xf6516a;if(_0x2dc377[_0x6fe3('0x31')]['includeAll']){_0x1a0cf5[_0x6fe3('0x40')]=[{'all':!![]}];}return db[_0x6fe3('0x2c')]['findAll'](_0x1a0cf5);})[_0x6fe3('0x24')](function(_0x38a176){_0x2d0b63[_0x6fe3('0x41')]=_0x38a176;return _0x2d0b63;})[_0x6fe3('0x24')](respondWithFilteredResult(_0x5c85ec,_0x1a0cf5))['catch'](handleError(_0x5c85ec,null));};exports[_0x6fe3('0x42')]=function(_0x30162a,_0x306077){var _0x303719={'raw':!![],'where':{'id':_0x30162a[_0x6fe3('0x43')]['id']}},_0x4ca50a={};_0x4ca50a['model']=_['keys'](db[_0x6fe3('0x2c')][_0x6fe3('0x2d')]);_0x4ca50a[_0x6fe3('0x31')]=_[_0x6fe3('0x32')](_0x30162a[_0x6fe3('0x31')]);_0x4ca50a[_0x6fe3('0x3b')]=_['intersection'](_0x4ca50a[_0x6fe3('0x30')],_0x4ca50a[_0x6fe3('0x31')]);_0x303719[_0x6fe3('0x34')]=_[_0x6fe3('0x33')](_0x4ca50a[_0x6fe3('0x30')],qs[_0x6fe3('0x35')](_0x30162a[_0x6fe3('0x31')][_0x6fe3('0x35')]));_0x303719[_0x6fe3('0x34')]=_0x303719[_0x6fe3('0x34')]['length']?_0x303719[_0x6fe3('0x34')]:_0x4ca50a[_0x6fe3('0x30')];if(_0x30162a[_0x6fe3('0x31')][_0x6fe3('0x44')]){_0x303719[_0x6fe3('0x40')]=[{'all':!![]}];}_0x303719=_[_0x6fe3('0x3c')]({},_0x303719,_0x30162a[_0x6fe3('0x3f')]);return db[_0x6fe3('0x2c')][_0x6fe3('0x45')](_0x303719)['then'](handleEntityNotFound(_0x306077,null))[_0x6fe3('0x24')](respondWithResult(_0x306077,null))[_0x6fe3('0x46')](handleError(_0x306077,null));};exports['create']=function(_0x2f1808,_0x14d98d){return db[_0x6fe3('0x2c')][_0x6fe3('0x47')](_0x2f1808[_0x6fe3('0x48')],{})['then'](respondWithResult(_0x14d98d,0xc9))[_0x6fe3('0x46')](handleError(_0x14d98d,null));};exports['update']=function(_0x55946c,_0x4fbd1d){if(_0x55946c[_0x6fe3('0x48')]['id']){delete _0x55946c[_0x6fe3('0x48')]['id'];}return db['SquareMessage'][_0x6fe3('0x45')]({'where':{'id':_0x55946c[_0x6fe3('0x43')]['id']}})[_0x6fe3('0x24')](handleEntityNotFound(_0x4fbd1d,null))[_0x6fe3('0x24')](saveUpdates(_0x55946c[_0x6fe3('0x48')],null))[_0x6fe3('0x24')](respondWithResult(_0x4fbd1d,null))[_0x6fe3('0x46')](handleError(_0x4fbd1d,null));};exports[_0x6fe3('0x25')]=function(_0x3f741f,_0x33dd6f){return db[_0x6fe3('0x2c')][_0x6fe3('0x45')]({'where':{'id':_0x3f741f['params']['id']}})['then'](handleEntityNotFound(_0x33dd6f,null))[_0x6fe3('0x24')](removeEntity(_0x33dd6f,null))[_0x6fe3('0x46')](handleError(_0x33dd6f,null));};