e033b188526913148a72331ee328f34e15eaa193
[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 _0x93fd=['request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','limit','set','apply','reject','save','update','then','end','stack','name','send','map','rawAttributes','fieldName','key','model','query','keys','intersection','attributes','fields','length','nolimit','order','sort','where','filters','pick','merge','type','VIRTUAL','filter','SquareMessage','includeAll','include','show','params','options','find','catch','create','body','destroy','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch'];(function(_0x38c2d1,_0xad45cb){var _0x599125=function(_0x22a974){while(--_0x22a974){_0x38c2d1['push'](_0x38c2d1['shift']());}};_0x599125(++_0xad45cb);}(_0x93fd,0x91));var _0xd93f=function(_0x1facfa,_0x1acf7d){_0x1facfa=_0x1facfa-0x0;var _0x9ec701=_0x93fd[_0x1facfa];return _0x9ec701;};'use strict';var pdf=require(_0xd93f('0x0'));var emlformat=require(_0xd93f('0x1'));var rimraf=require(_0xd93f('0x2'));var zipdir=require(_0xd93f('0x3'));var jsonpatch=require(_0xd93f('0x4'));var rp=require(_0xd93f('0x5'));var moment=require(_0xd93f('0x6'));var BPromise=require(_0xd93f('0x7'));var Mustache=require(_0xd93f('0x8'));var util=require(_0xd93f('0x9'));var path=require(_0xd93f('0xa'));var sox=require('sox');var csv=require(_0xd93f('0xb'));var ejs=require(_0xd93f('0xc'));var fs=require('fs');var _=require(_0xd93f('0xd'));var squel=require(_0xd93f('0xe'));var crypto=require(_0xd93f('0xf'));var jsforce=require(_0xd93f('0x10'));var deskjs=require(_0xd93f('0x11'));var toCsv=require('to-csv');var querystring=require(_0xd93f('0x12'));var Papa=require('papaparse');var Redis=require(_0xd93f('0x13'));var authService=require(_0xd93f('0x14'));var qs=require(_0xd93f('0x15'));var as=require(_0xd93f('0x16'));var hardwareService=require(_0xd93f('0x17'));var logger=require('../../config/logger')('api');var utils=require(_0xd93f('0x18'));var config=require(_0xd93f('0x19'));var licenseUtil=require(_0xd93f('0x1a'));var db=require(_0xd93f('0x1b'))['db'];function respondWithStatusCode(_0x190d8d,_0x5afdd5){_0x5afdd5=_0x5afdd5||0xcc;return function(_0x514deb){if(_0x514deb){return _0x190d8d[_0xd93f('0x1c')](_0x5afdd5);}return _0x190d8d[_0xd93f('0x1d')](_0x5afdd5)['end']();};}function respondWithResult(_0x5728b4,_0x112b3d){_0x112b3d=_0x112b3d||0xc8;return function(_0x2222da){if(_0x2222da){return _0x5728b4[_0xd93f('0x1d')](_0x112b3d)[_0xd93f('0x1e')](_0x2222da);}};}function respondWithFilteredResult(_0x176a48,_0x5ae08c){return function(_0x163131){if(_0x163131){var _0x22cd4c=_0x163131['count'],_0x33539c=_0x5ae08c[_0xd93f('0x1f')],_0x15d21f=_0x5ae08c[_0xd93f('0x1f')]+_0x5ae08c[_0xd93f('0x20')],_0x2086a3;if(_0x15d21f>=_0x22cd4c){_0x15d21f=_0x22cd4c;_0x2086a3=0xc8;}else{_0x2086a3=0xce;}_0x176a48[_0xd93f('0x1d')](_0x2086a3);return _0x176a48[_0xd93f('0x21')]('Content-Range',_0x33539c+'-'+_0x15d21f+'/'+_0x22cd4c)[_0xd93f('0x1e')](_0x163131);}return null;};}function patchUpdates(_0x2d18c2){return function(_0x410f64){try{jsonpatch[_0xd93f('0x22')](_0x410f64,_0x2d18c2,!![]);}catch(_0x5a7553){return BPromise[_0xd93f('0x23')](_0x5a7553);}return _0x410f64[_0xd93f('0x24')]();};}function saveUpdates(_0x129590,_0xd527cc){return function(_0x5b2881){if(_0x5b2881){return _0x5b2881[_0xd93f('0x25')](_0x129590)[_0xd93f('0x26')](function(_0xcbf389){return _0xcbf389;});}return null;};}function removeEntity(_0x20c998,_0x5ca14d){return function(_0x4010a5){if(_0x4010a5){return _0x4010a5['destroy']()[_0xd93f('0x26')](function(){_0x20c998[_0xd93f('0x1d')](0xcc)[_0xd93f('0x27')]();});}};}function handleEntityNotFound(_0x56c99a,_0x58efa0){return function(_0x2b87fb){if(!_0x2b87fb){_0x56c99a[_0xd93f('0x1c')](0x194);}return _0x2b87fb;};}function handleError(_0x4d89ca,_0x2eefda){_0x2eefda=_0x2eefda||0x1f4;return function(_0x289af8){logger['error'](_0x289af8[_0xd93f('0x28')]);if(_0x289af8[_0xd93f('0x29')]){delete _0x289af8[_0xd93f('0x29')];}_0x4d89ca[_0xd93f('0x1d')](_0x2eefda)[_0xd93f('0x2a')](_0x289af8);};}exports['index']=function(_0x30c0f8,_0x5290e6){var _0x34de4b={},_0x4491f5={},_0x1cedcf={'count':0x0,'rows':[]};var _0x33e66c=_[_0xd93f('0x2b')](db['SquareMessage'][_0xd93f('0x2c')],function(_0x1a1228){return{'name':_0x1a1228[_0xd93f('0x2d')],'type':_0x1a1228['type'][_0xd93f('0x2e')]};});_0x4491f5[_0xd93f('0x2f')]=_['map'](_0x33e66c,'name');_0x4491f5[_0xd93f('0x30')]=_[_0xd93f('0x31')](_0x30c0f8[_0xd93f('0x30')]);_0x4491f5['filters']=_[_0xd93f('0x32')](_0x4491f5[_0xd93f('0x2f')],_0x4491f5[_0xd93f('0x30')]);_0x34de4b[_0xd93f('0x33')]=_[_0xd93f('0x32')](_0x4491f5[_0xd93f('0x2f')],qs[_0xd93f('0x34')](_0x30c0f8[_0xd93f('0x30')][_0xd93f('0x34')]));_0x34de4b[_0xd93f('0x33')]=_0x34de4b[_0xd93f('0x33')][_0xd93f('0x35')]?_0x34de4b[_0xd93f('0x33')]:_0x4491f5[_0xd93f('0x2f')];if(!_0x30c0f8['query']['hasOwnProperty'](_0xd93f('0x36'))){_0x34de4b['limit']=qs[_0xd93f('0x20')](_0x30c0f8[_0xd93f('0x30')][_0xd93f('0x20')]);_0x34de4b['offset']=qs['offset'](_0x30c0f8[_0xd93f('0x30')]['offset']);}_0x34de4b[_0xd93f('0x37')]=qs[_0xd93f('0x38')](_0x30c0f8[_0xd93f('0x30')][_0xd93f('0x38')]);_0x34de4b[_0xd93f('0x39')]=qs[_0xd93f('0x3a')](_[_0xd93f('0x3b')](_0x30c0f8[_0xd93f('0x30')],_0x4491f5[_0xd93f('0x3a')]),_0x33e66c);if(_0x30c0f8[_0xd93f('0x30')]['filter']){_0x34de4b[_0xd93f('0x39')]=_[_0xd93f('0x3c')](_0x34de4b[_0xd93f('0x39')],{'$or':_['map'](_0x33e66c,function(_0xe5e6b0){if(_0xe5e6b0[_0xd93f('0x3d')]!==_0xd93f('0x3e')){var _0x1976fc={};_0x1976fc[_0xe5e6b0[_0xd93f('0x29')]]={'$like':'%'+_0x30c0f8[_0xd93f('0x30')][_0xd93f('0x3f')]+'%'};return _0x1976fc;}})});}_0x34de4b=_[_0xd93f('0x3c')]({},_0x34de4b,_0x30c0f8['options']);var _0x3acdf8={'where':_0x34de4b[_0xd93f('0x39')]};return db[_0xd93f('0x40')]['count'](_0x3acdf8)[_0xd93f('0x26')](function(_0x318790){_0x1cedcf['count']=_0x318790;if(_0x30c0f8[_0xd93f('0x30')][_0xd93f('0x41')]){_0x34de4b[_0xd93f('0x42')]=[{'all':!![]}];}return db[_0xd93f('0x40')]['findAll'](_0x34de4b);})[_0xd93f('0x26')](function(_0x3711ae){_0x1cedcf['rows']=_0x3711ae;return _0x1cedcf;})[_0xd93f('0x26')](respondWithFilteredResult(_0x5290e6,_0x34de4b))['catch'](handleError(_0x5290e6,null));};exports[_0xd93f('0x43')]=function(_0x56edcd,_0x2e6839){var _0x544492={'raw':!![],'where':{'id':_0x56edcd[_0xd93f('0x44')]['id']}},_0x5148ef={};_0x5148ef['model']=_[_0xd93f('0x31')](db[_0xd93f('0x40')]['rawAttributes']);_0x5148ef['query']=_[_0xd93f('0x31')](_0x56edcd[_0xd93f('0x30')]);_0x5148ef[_0xd93f('0x3a')]=_[_0xd93f('0x32')](_0x5148ef[_0xd93f('0x2f')],_0x5148ef[_0xd93f('0x30')]);_0x544492[_0xd93f('0x33')]=_[_0xd93f('0x32')](_0x5148ef[_0xd93f('0x2f')],qs[_0xd93f('0x34')](_0x56edcd[_0xd93f('0x30')]['fields']));_0x544492['attributes']=_0x544492[_0xd93f('0x33')][_0xd93f('0x35')]?_0x544492['attributes']:_0x5148ef['model'];if(_0x56edcd[_0xd93f('0x30')][_0xd93f('0x41')]){_0x544492[_0xd93f('0x42')]=[{'all':!![]}];}_0x544492=_[_0xd93f('0x3c')]({},_0x544492,_0x56edcd[_0xd93f('0x45')]);return db[_0xd93f('0x40')][_0xd93f('0x46')](_0x544492)[_0xd93f('0x26')](handleEntityNotFound(_0x2e6839,null))[_0xd93f('0x26')](respondWithResult(_0x2e6839,null))[_0xd93f('0x47')](handleError(_0x2e6839,null));};exports['create']=function(_0xb4485e,_0x41b02b){return db[_0xd93f('0x40')][_0xd93f('0x48')](_0xb4485e['body'],{})['then'](respondWithResult(_0x41b02b,0xc9))[_0xd93f('0x47')](handleError(_0x41b02b,null));};exports['update']=function(_0xc655cc,_0x37ce23){if(_0xc655cc[_0xd93f('0x49')]['id']){delete _0xc655cc['body']['id'];}return db[_0xd93f('0x40')][_0xd93f('0x46')]({'where':{'id':_0xc655cc['params']['id']}})[_0xd93f('0x26')](handleEntityNotFound(_0x37ce23,null))[_0xd93f('0x26')](saveUpdates(_0xc655cc[_0xd93f('0x49')],null))[_0xd93f('0x26')](respondWithResult(_0x37ce23,null))['catch'](handleError(_0x37ce23,null));};exports[_0xd93f('0x4a')]=function(_0x5c5b1e,_0xb34c01){return db['SquareMessage'][_0xd93f('0x46')]({'where':{'id':_0x5c5b1e[_0xd93f('0x44')]['id']}})[_0xd93f('0x26')](handleEntityNotFound(_0xb34c01,null))[_0xd93f('0x26')](removeEntity(_0xb34c01,null))[_0xd93f('0x47')](handleError(_0xb34c01,null));};