64078a40fb74fda343ff376859b1d85c9dbdb445
[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 _0x3eaf=['key','model','map','name','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','merge','VIRTUAL','filter','options','include','findAll','rows','catch','show','params','keys','includeAll','find','create','body','destroy','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','to-csv','fs-extra','lodash','squel','jsforce','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','error','send','index','SquareMessage','rawAttributes','fieldName','type'];(function(_0x4d6fc9,_0x32fb02){var _0x412379=function(_0x5c1260){while(--_0x5c1260){_0x4d6fc9['push'](_0x4d6fc9['shift']());}};_0x412379(++_0x32fb02);}(_0x3eaf,0x190));var _0xf3ea=function(_0x54c049,_0x21d825){_0x54c049=_0x54c049-0x0;var _0x937b0b=_0x3eaf[_0x54c049];return _0x937b0b;};'use strict';var emlformat=require(_0xf3ea('0x0'));var rimraf=require(_0xf3ea('0x1'));var zipdir=require(_0xf3ea('0x2'));var jsonpatch=require(_0xf3ea('0x3'));var rp=require(_0xf3ea('0x4'));var moment=require(_0xf3ea('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xf3ea('0x6'));var util=require(_0xf3ea('0x7'));var path=require(_0xf3ea('0x8'));var sox=require('sox');var csv=require(_0xf3ea('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xf3ea('0xa'));var _=require(_0xf3ea('0xb'));var squel=require(_0xf3ea('0xc'));var crypto=require('crypto');var jsforce=require(_0xf3ea('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xf3ea('0x9'));var querystring=require(_0xf3ea('0xe'));var Papa=require('papaparse');var Redis=require(_0xf3ea('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xf3ea('0x10'));var as=require(_0xf3ea('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xf3ea('0x12'));var utils=require(_0xf3ea('0x13'));var config=require(_0xf3ea('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0xf3ea('0x15'))['db'];function respondWithStatusCode(_0x174c19,_0x146c8a){_0x146c8a=_0x146c8a||0xcc;return function(_0x4c3801){if(_0x4c3801){return _0x174c19[_0xf3ea('0x16')](_0x146c8a);}return _0x174c19[_0xf3ea('0x17')](_0x146c8a)[_0xf3ea('0x18')]();};}function respondWithResult(_0x462567,_0x25e16a){_0x25e16a=_0x25e16a||0xc8;return function(_0x212521){if(_0x212521){return _0x462567[_0xf3ea('0x17')](_0x25e16a)[_0xf3ea('0x19')](_0x212521);}};}function respondWithFilteredResult(_0x56fa75,_0x46f3c4){return function(_0x5a560b){if(_0x5a560b){var _0x56d00f=typeof _0x46f3c4[_0xf3ea('0x1a')]==='undefined'&&typeof _0x46f3c4[_0xf3ea('0x1b')]===_0xf3ea('0x1c');var _0x24f0ac=_0x5a560b[_0xf3ea('0x1d')];var _0x4806fb=_0x56d00f?0x0:_0x46f3c4[_0xf3ea('0x1a')];var _0x1806ec=_0x56d00f?_0x5a560b[_0xf3ea('0x1d')]:_0x46f3c4[_0xf3ea('0x1a')]+_0x46f3c4[_0xf3ea('0x1b')];var _0x4fb6c0;if(_0x1806ec>=_0x24f0ac){_0x1806ec=_0x24f0ac;_0x4fb6c0=0xc8;}else{_0x4fb6c0=0xce;}_0x56fa75['status'](_0x4fb6c0);return _0x56fa75[_0xf3ea('0x1e')](_0xf3ea('0x1f'),_0x4806fb+'-'+_0x1806ec+'/'+_0x24f0ac)['json'](_0x5a560b);}return null;};}function patchUpdates(_0x2c7419){return function(_0x42f13c){try{jsonpatch[_0xf3ea('0x20')](_0x42f13c,_0x2c7419,!![]);}catch(_0xc85489){return BPromise[_0xf3ea('0x21')](_0xc85489);}return _0x42f13c[_0xf3ea('0x22')]();};}function saveUpdates(_0x134b7d,_0x27d607){return function(_0x34ec8f){if(_0x34ec8f){return _0x34ec8f[_0xf3ea('0x23')](_0x134b7d)[_0xf3ea('0x24')](function(_0x591fca){return _0x591fca;});}return null;};}function removeEntity(_0x2aee66,_0x23ed4a){return function(_0x5931e1){if(_0x5931e1){return _0x5931e1['destroy']()['then'](function(){_0x2aee66[_0xf3ea('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2e089a,_0x38a1c8){return function(_0x4ea971){if(!_0x4ea971){_0x2e089a[_0xf3ea('0x16')](0x194);}return _0x4ea971;};}function handleError(_0x2877a2,_0x3e156d){_0x3e156d=_0x3e156d||0x1f4;return function(_0x4c29cc){logger[_0xf3ea('0x25')](_0x4c29cc['stack']);if(_0x4c29cc['name']){delete _0x4c29cc['name'];}_0x2877a2['status'](_0x3e156d)[_0xf3ea('0x26')](_0x4c29cc);};}exports[_0xf3ea('0x27')]=function(_0x120232,_0x10ef5f){var _0x15eed5={},_0x3ee79e={},_0x3c2cdb={'count':0x0,'rows':[]};var _0x65cdff=_['map'](db[_0xf3ea('0x28')][_0xf3ea('0x29')],function(_0x246103){return{'name':_0x246103[_0xf3ea('0x2a')],'type':_0x246103[_0xf3ea('0x2b')][_0xf3ea('0x2c')]};});_0x3ee79e[_0xf3ea('0x2d')]=_[_0xf3ea('0x2e')](_0x65cdff,_0xf3ea('0x2f'));_0x3ee79e[_0xf3ea('0x30')]=_['keys'](_0x120232['query']);_0x3ee79e[_0xf3ea('0x31')]=_[_0xf3ea('0x32')](_0x3ee79e[_0xf3ea('0x2d')],_0x3ee79e[_0xf3ea('0x30')]);_0x15eed5[_0xf3ea('0x33')]=_[_0xf3ea('0x32')](_0x3ee79e[_0xf3ea('0x2d')],qs[_0xf3ea('0x34')](_0x120232[_0xf3ea('0x30')]['fields']));_0x15eed5[_0xf3ea('0x33')]=_0x15eed5[_0xf3ea('0x33')][_0xf3ea('0x35')]?_0x15eed5[_0xf3ea('0x33')]:_0x3ee79e[_0xf3ea('0x2d')];if(!_0x120232[_0xf3ea('0x30')][_0xf3ea('0x36')](_0xf3ea('0x37'))){_0x15eed5[_0xf3ea('0x1b')]=qs[_0xf3ea('0x1b')](_0x120232[_0xf3ea('0x30')][_0xf3ea('0x1b')]);_0x15eed5[_0xf3ea('0x1a')]=qs[_0xf3ea('0x1a')](_0x120232[_0xf3ea('0x30')]['offset']);}_0x15eed5['order']=qs[_0xf3ea('0x38')](_0x120232[_0xf3ea('0x30')][_0xf3ea('0x38')]);_0x15eed5['where']=qs[_0xf3ea('0x31')](_['pick'](_0x120232[_0xf3ea('0x30')],_0x3ee79e['filters']),_0x65cdff);if(_0x120232[_0xf3ea('0x30')]['filter']){_0x15eed5[_0xf3ea('0x39')]=_[_0xf3ea('0x3a')](_0x15eed5[_0xf3ea('0x39')],{'$or':_[_0xf3ea('0x2e')](_0x65cdff,function(_0x26217b){if(_0x26217b[_0xf3ea('0x2b')]!==_0xf3ea('0x3b')){var _0x20505f={};_0x20505f[_0x26217b[_0xf3ea('0x2f')]]={'$like':'%'+_0x120232[_0xf3ea('0x30')][_0xf3ea('0x3c')]+'%'};return _0x20505f;}})});}_0x15eed5=_['merge']({},_0x15eed5,_0x120232[_0xf3ea('0x3d')]);var _0x49b938={'where':_0x15eed5['where']};return db[_0xf3ea('0x28')][_0xf3ea('0x1d')](_0x49b938)[_0xf3ea('0x24')](function(_0x55d496){_0x3c2cdb[_0xf3ea('0x1d')]=_0x55d496;if(_0x120232[_0xf3ea('0x30')]['includeAll']){_0x15eed5[_0xf3ea('0x3e')]=[{'all':!![]}];}return db[_0xf3ea('0x28')][_0xf3ea('0x3f')](_0x15eed5);})[_0xf3ea('0x24')](function(_0x4adffc){_0x3c2cdb[_0xf3ea('0x40')]=_0x4adffc;return _0x3c2cdb;})[_0xf3ea('0x24')](respondWithFilteredResult(_0x10ef5f,_0x15eed5))[_0xf3ea('0x41')](handleError(_0x10ef5f,null));};exports[_0xf3ea('0x42')]=function(_0x2badff,_0x4d688e){var _0x2ed142={'raw':!![],'where':{'id':_0x2badff[_0xf3ea('0x43')]['id']}},_0xe09c97={};_0xe09c97[_0xf3ea('0x2d')]=_[_0xf3ea('0x44')](db[_0xf3ea('0x28')][_0xf3ea('0x29')]);_0xe09c97[_0xf3ea('0x30')]=_[_0xf3ea('0x44')](_0x2badff[_0xf3ea('0x30')]);_0xe09c97['filters']=_[_0xf3ea('0x32')](_0xe09c97[_0xf3ea('0x2d')],_0xe09c97['query']);_0x2ed142[_0xf3ea('0x33')]=_['intersection'](_0xe09c97[_0xf3ea('0x2d')],qs['fields'](_0x2badff['query'][_0xf3ea('0x34')]));_0x2ed142[_0xf3ea('0x33')]=_0x2ed142[_0xf3ea('0x33')][_0xf3ea('0x35')]?_0x2ed142[_0xf3ea('0x33')]:_0xe09c97[_0xf3ea('0x2d')];if(_0x2badff['query'][_0xf3ea('0x45')]){_0x2ed142[_0xf3ea('0x3e')]=[{'all':!![]}];}_0x2ed142=_[_0xf3ea('0x3a')]({},_0x2ed142,_0x2badff[_0xf3ea('0x3d')]);return db['SquareMessage'][_0xf3ea('0x46')](_0x2ed142)['then'](handleEntityNotFound(_0x4d688e,null))[_0xf3ea('0x24')](respondWithResult(_0x4d688e,null))['catch'](handleError(_0x4d688e,null));};exports[_0xf3ea('0x47')]=function(_0x139666,_0x5d5a82){return db[_0xf3ea('0x28')][_0xf3ea('0x47')](_0x139666[_0xf3ea('0x48')],{})['then'](respondWithResult(_0x5d5a82,0xc9))['catch'](handleError(_0x5d5a82,null));};exports[_0xf3ea('0x23')]=function(_0xea830e,_0x34dcdc){if(_0xea830e[_0xf3ea('0x48')]['id']){delete _0xea830e['body']['id'];}return db['SquareMessage'][_0xf3ea('0x46')]({'where':{'id':_0xea830e[_0xf3ea('0x43')]['id']}})[_0xf3ea('0x24')](handleEntityNotFound(_0x34dcdc,null))['then'](saveUpdates(_0xea830e[_0xf3ea('0x48')],null))['then'](respondWithResult(_0x34dcdc,null))[_0xf3ea('0x41')](handleError(_0x34dcdc,null));};exports[_0xf3ea('0x49')]=function(_0x366202,_0x3be311){return db['SquareMessage'][_0xf3ea('0x46')]({'where':{'id':_0x366202['params']['id']}})[_0xf3ea('0x24')](handleEntityNotFound(_0x3be311,null))['then'](removeEntity(_0x3be311,null))[_0xf3ea('0x41')](handleError(_0x3be311,null));};