ec743a8bd81c14994eec6f90a9bf296f4e574e77
[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 _0x7366=['findAll','rows','show','params','includeAll','find','catch','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','fs-extra','lodash','squel','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','name','send','SquareMessage','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','options','include'];(function(_0x6f89e0,_0x1ec09f){var _0x330146=function(_0x57ab4c){while(--_0x57ab4c){_0x6f89e0['push'](_0x6f89e0['shift']());}};_0x330146(++_0x1ec09f);}(_0x7366,0x9d));var _0x6736=function(_0xe6cbf9,_0x6123c2){_0xe6cbf9=_0xe6cbf9-0x0;var _0x172772=_0x7366[_0xe6cbf9];return _0x172772;};'use strict';var emlformat=require(_0x6736('0x0'));var rimraf=require(_0x6736('0x1'));var zipdir=require(_0x6736('0x2'));var jsonpatch=require(_0x6736('0x3'));var rp=require(_0x6736('0x4'));var moment=require(_0x6736('0x5'));var BPromise=require(_0x6736('0x6'));var Mustache=require(_0x6736('0x7'));var util=require(_0x6736('0x8'));var path=require('path');var sox=require(_0x6736('0x9'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x6736('0xa'));var _=require(_0x6736('0xb'));var squel=require(_0x6736('0xc'));var crypto=require('crypto');var jsforce=require(_0x6736('0xd'));var deskjs=require(_0x6736('0xe'));var toCsv=require(_0x6736('0xf'));var querystring=require('querystring');var Papa=require(_0x6736('0x10'));var Redis=require(_0x6736('0x11'));var authService=require(_0x6736('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x6736('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x6736('0x14'))(_0x6736('0x15'));var utils=require('../../config/utils');var config=require(_0x6736('0x16'));var licenseUtil=require(_0x6736('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x54a33b,_0x5327ae){_0x5327ae=_0x5327ae||0xcc;return function(_0x33fa75){if(_0x33fa75){return _0x54a33b[_0x6736('0x18')](_0x5327ae);}return _0x54a33b[_0x6736('0x19')](_0x5327ae)[_0x6736('0x1a')]();};}function respondWithResult(_0x419a6d,_0x200a47){_0x200a47=_0x200a47||0xc8;return function(_0x34457a){if(_0x34457a){return _0x419a6d[_0x6736('0x19')](_0x200a47)[_0x6736('0x1b')](_0x34457a);}};}function respondWithFilteredResult(_0x19a7ed,_0x1cc748){return function(_0x219522){if(_0x219522){var _0x189906=typeof _0x1cc748[_0x6736('0x1c')]===_0x6736('0x1d')&&typeof _0x1cc748[_0x6736('0x1e')]==='undefined';var _0x454771=_0x219522[_0x6736('0x1f')];var _0x22417f=_0x189906?0x0:_0x1cc748['offset'];var _0x450e26=_0x189906?_0x219522['count']:_0x1cc748[_0x6736('0x1c')]+_0x1cc748[_0x6736('0x1e')];var _0x821e27;if(_0x450e26>=_0x454771){_0x450e26=_0x454771;_0x821e27=0xc8;}else{_0x821e27=0xce;}_0x19a7ed[_0x6736('0x19')](_0x821e27);return _0x19a7ed[_0x6736('0x20')](_0x6736('0x21'),_0x22417f+'-'+_0x450e26+'/'+_0x454771)['json'](_0x219522);}return null;};}function patchUpdates(_0x59e2bb){return function(_0x445064){try{jsonpatch[_0x6736('0x22')](_0x445064,_0x59e2bb,!![]);}catch(_0x1454f3){return BPromise[_0x6736('0x23')](_0x1454f3);}return _0x445064[_0x6736('0x24')]();};}function saveUpdates(_0x36b84d,_0x3f59d5){return function(_0x4b2600){if(_0x4b2600){return _0x4b2600[_0x6736('0x25')](_0x36b84d)[_0x6736('0x26')](function(_0x256f03){return _0x256f03;});}return null;};}function removeEntity(_0x2cc815,_0x2e7692){return function(_0xf2957d){if(_0xf2957d){return _0xf2957d[_0x6736('0x27')]()['then'](function(){_0x2cc815[_0x6736('0x19')](0xcc)[_0x6736('0x1a')]();});}};}function handleEntityNotFound(_0x3f3bef,_0x1accc4){return function(_0x5a1dd7){if(!_0x5a1dd7){_0x3f3bef['sendStatus'](0x194);}return _0x5a1dd7;};}function handleError(_0xa84f84,_0x2b9de4){_0x2b9de4=_0x2b9de4||0x1f4;return function(_0x390e3f){logger['error'](_0x390e3f['stack']);if(_0x390e3f[_0x6736('0x28')]){delete _0x390e3f[_0x6736('0x28')];}_0xa84f84[_0x6736('0x19')](_0x2b9de4)[_0x6736('0x29')](_0x390e3f);};}exports['index']=function(_0x4e3264,_0x4ff41a){var _0x3f60b7={},_0x24eb0b={},_0x4f8ab0={'count':0x0,'rows':[]};var _0x25106e=_['map'](db[_0x6736('0x2a')][_0x6736('0x2b')],function(_0x22952c){return{'name':_0x22952c[_0x6736('0x2c')],'type':_0x22952c[_0x6736('0x2d')][_0x6736('0x2e')]};});_0x24eb0b[_0x6736('0x2f')]=_[_0x6736('0x30')](_0x25106e,_0x6736('0x28'));_0x24eb0b[_0x6736('0x31')]=_[_0x6736('0x32')](_0x4e3264['query']);_0x24eb0b[_0x6736('0x33')]=_[_0x6736('0x34')](_0x24eb0b[_0x6736('0x2f')],_0x24eb0b['query']);_0x3f60b7[_0x6736('0x35')]=_[_0x6736('0x34')](_0x24eb0b['model'],qs[_0x6736('0x36')](_0x4e3264[_0x6736('0x31')][_0x6736('0x36')]));_0x3f60b7[_0x6736('0x35')]=_0x3f60b7[_0x6736('0x35')][_0x6736('0x37')]?_0x3f60b7[_0x6736('0x35')]:_0x24eb0b[_0x6736('0x2f')];if(!_0x4e3264['query'][_0x6736('0x38')]('nolimit')){_0x3f60b7['limit']=qs['limit'](_0x4e3264[_0x6736('0x31')]['limit']);_0x3f60b7[_0x6736('0x1c')]=qs[_0x6736('0x1c')](_0x4e3264['query'][_0x6736('0x1c')]);}_0x3f60b7[_0x6736('0x39')]=qs[_0x6736('0x3a')](_0x4e3264['query']['sort']);_0x3f60b7[_0x6736('0x3b')]=qs['filters'](_[_0x6736('0x3c')](_0x4e3264[_0x6736('0x31')],_0x24eb0b[_0x6736('0x33')]),_0x25106e);if(_0x4e3264['query'][_0x6736('0x3d')]){_0x3f60b7['where']=_[_0x6736('0x3e')](_0x3f60b7[_0x6736('0x3b')],{'$or':_[_0x6736('0x30')](_0x25106e,function(_0x2aec7e){if(_0x2aec7e[_0x6736('0x2d')]!=='VIRTUAL'){var _0x571ee5={};_0x571ee5[_0x2aec7e[_0x6736('0x28')]]={'$like':'%'+_0x4e3264['query'][_0x6736('0x3d')]+'%'};return _0x571ee5;}})});}_0x3f60b7=_[_0x6736('0x3e')]({},_0x3f60b7,_0x4e3264[_0x6736('0x3f')]);var _0x14fb32={'where':_0x3f60b7['where']};return db[_0x6736('0x2a')][_0x6736('0x1f')](_0x14fb32)[_0x6736('0x26')](function(_0x5c3182){_0x4f8ab0[_0x6736('0x1f')]=_0x5c3182;if(_0x4e3264['query']['includeAll']){_0x3f60b7[_0x6736('0x40')]=[{'all':!![]}];}return db[_0x6736('0x2a')][_0x6736('0x41')](_0x3f60b7);})[_0x6736('0x26')](function(_0x5e167e){_0x4f8ab0[_0x6736('0x42')]=_0x5e167e;return _0x4f8ab0;})[_0x6736('0x26')](respondWithFilteredResult(_0x4ff41a,_0x3f60b7))['catch'](handleError(_0x4ff41a,null));};exports[_0x6736('0x43')]=function(_0x85a745,_0x54f38a){var _0x56ea75={'raw':!![],'where':{'id':_0x85a745[_0x6736('0x44')]['id']}},_0x210fb6={};_0x210fb6[_0x6736('0x2f')]=_[_0x6736('0x32')](db[_0x6736('0x2a')][_0x6736('0x2b')]);_0x210fb6['query']=_[_0x6736('0x32')](_0x85a745[_0x6736('0x31')]);_0x210fb6['filters']=_[_0x6736('0x34')](_0x210fb6[_0x6736('0x2f')],_0x210fb6['query']);_0x56ea75[_0x6736('0x35')]=_[_0x6736('0x34')](_0x210fb6[_0x6736('0x2f')],qs[_0x6736('0x36')](_0x85a745['query'][_0x6736('0x36')]));_0x56ea75[_0x6736('0x35')]=_0x56ea75[_0x6736('0x35')][_0x6736('0x37')]?_0x56ea75[_0x6736('0x35')]:_0x210fb6[_0x6736('0x2f')];if(_0x85a745[_0x6736('0x31')][_0x6736('0x45')]){_0x56ea75['include']=[{'all':!![]}];}_0x56ea75=_[_0x6736('0x3e')]({},_0x56ea75,_0x85a745['options']);return db[_0x6736('0x2a')][_0x6736('0x46')](_0x56ea75)[_0x6736('0x26')](handleEntityNotFound(_0x54f38a,null))[_0x6736('0x26')](respondWithResult(_0x54f38a,null))[_0x6736('0x47')](handleError(_0x54f38a,null));};exports['create']=function(_0x34c5c5,_0x3c7f5e){return db[_0x6736('0x2a')][_0x6736('0x48')](_0x34c5c5['body'],{})[_0x6736('0x26')](respondWithResult(_0x3c7f5e,0xc9))[_0x6736('0x47')](handleError(_0x3c7f5e,null));};exports[_0x6736('0x25')]=function(_0x35cb1f,_0x4810b7){if(_0x35cb1f[_0x6736('0x49')]['id']){delete _0x35cb1f[_0x6736('0x49')]['id'];}return db[_0x6736('0x2a')][_0x6736('0x46')]({'where':{'id':_0x35cb1f[_0x6736('0x44')]['id']}})[_0x6736('0x26')](handleEntityNotFound(_0x4810b7,null))['then'](saveUpdates(_0x35cb1f[_0x6736('0x49')],null))['then'](respondWithResult(_0x4810b7,null))[_0x6736('0x47')](handleError(_0x4810b7,null));};exports[_0x6736('0x27')]=function(_0x1cb7b4,_0x1cbe3d){return db[_0x6736('0x2a')][_0x6736('0x46')]({'where':{'id':_0x1cb7b4['params']['id']}})['then'](handleEntityNotFound(_0x1cbe3d,null))['then'](removeEntity(_0x1cbe3d,null))[_0x6736('0x47')](handleError(_0x1cbe3d,null));};