c1f65b77d6e9313bd2ed331df1defb63928a8639
[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 _0xe6e4=['lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','end','error','stack','name','send','index','rawAttributes','fieldName','key','map','query','keys','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','SquareMessage','includeAll','include','findAll','rows','catch','show','params','options','find','create','body','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','fs-extra'];(function(_0x5b083b,_0x145a9b){var _0x6c2225=function(_0xcc6435){while(--_0xcc6435){_0x5b083b['push'](_0x5b083b['shift']());}};_0x6c2225(++_0x145a9b);}(_0xe6e4,0x139));var _0x4e6e=function(_0x5dd351,_0x19ebc5){_0x5dd351=_0x5dd351-0x0;var _0x1fbdba=_0xe6e4[_0x5dd351];return _0x1fbdba;};'use strict';var emlformat=require(_0x4e6e('0x0'));var rimraf=require(_0x4e6e('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x4e6e('0x2'));var rp=require(_0x4e6e('0x3'));var moment=require(_0x4e6e('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x4e6e('0x5'));var util=require(_0x4e6e('0x6'));var path=require(_0x4e6e('0x7'));var sox=require(_0x4e6e('0x8'));var csv=require('to-csv');var ejs=require(_0x4e6e('0x9'));var fs=require('fs');var fs_extra=require(_0x4e6e('0xa'));var _=require(_0x4e6e('0xb'));var squel=require(_0x4e6e('0xc'));var crypto=require(_0x4e6e('0xd'));var jsforce=require(_0x4e6e('0xe'));var deskjs=require(_0x4e6e('0xf'));var toCsv=require('to-csv');var querystring=require(_0x4e6e('0x10'));var Papa=require(_0x4e6e('0x11'));var Redis=require(_0x4e6e('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x4e6e('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4e6e('0x14'));var logger=require(_0x4e6e('0x15'))(_0x4e6e('0x16'));var utils=require('../../config/utils');var config=require(_0x4e6e('0x17'));var licenseUtil=require(_0x4e6e('0x18'));var db=require(_0x4e6e('0x19'))['db'];function respondWithStatusCode(_0x2163e8,_0x2b1ef8){_0x2b1ef8=_0x2b1ef8||0xcc;return function(_0xef9381){if(_0xef9381){return _0x2163e8[_0x4e6e('0x1a')](_0x2b1ef8);}return _0x2163e8['status'](_0x2b1ef8)['end']();};}function respondWithResult(_0x1795ee,_0x30712c){_0x30712c=_0x30712c||0xc8;return function(_0x22b970){if(_0x22b970){return _0x1795ee[_0x4e6e('0x1b')](_0x30712c)[_0x4e6e('0x1c')](_0x22b970);}};}function respondWithFilteredResult(_0x1a3a68,_0x75fa54){return function(_0x3dad06){if(_0x3dad06){var _0x2af2fe=typeof _0x75fa54[_0x4e6e('0x1d')]===_0x4e6e('0x1e')&&typeof _0x75fa54[_0x4e6e('0x1f')]===_0x4e6e('0x1e');var _0x361feb=_0x3dad06[_0x4e6e('0x20')];var _0x4924e9=_0x2af2fe?0x0:_0x75fa54['offset'];var _0x45f45b=_0x2af2fe?_0x3dad06[_0x4e6e('0x20')]:_0x75fa54['offset']+_0x75fa54[_0x4e6e('0x1f')];var _0x575591;if(_0x45f45b>=_0x361feb){_0x45f45b=_0x361feb;_0x575591=0xc8;}else{_0x575591=0xce;}_0x1a3a68[_0x4e6e('0x1b')](_0x575591);return _0x1a3a68[_0x4e6e('0x21')](_0x4e6e('0x22'),_0x4924e9+'-'+_0x45f45b+'/'+_0x361feb)['json'](_0x3dad06);}return null;};}function patchUpdates(_0x56f592){return function(_0x65770){try{jsonpatch[_0x4e6e('0x23')](_0x65770,_0x56f592,!![]);}catch(_0x1767eb){return BPromise[_0x4e6e('0x24')](_0x1767eb);}return _0x65770[_0x4e6e('0x25')]();};}function saveUpdates(_0x5860a2,_0x16f958){return function(_0x13b0b9){if(_0x13b0b9){return _0x13b0b9[_0x4e6e('0x26')](_0x5860a2)[_0x4e6e('0x27')](function(_0x105c60){return _0x105c60;});}return null;};}function removeEntity(_0x5df95f,_0x44eab1){return function(_0x53d08c){if(_0x53d08c){return _0x53d08c[_0x4e6e('0x28')]()[_0x4e6e('0x27')](function(){_0x5df95f[_0x4e6e('0x1b')](0xcc)[_0x4e6e('0x29')]();});}};}function handleEntityNotFound(_0x2122fc,_0xeff3af){return function(_0x3419f2){if(!_0x3419f2){_0x2122fc[_0x4e6e('0x1a')](0x194);}return _0x3419f2;};}function handleError(_0x4ac91a,_0x164c3c){_0x164c3c=_0x164c3c||0x1f4;return function(_0x334bac){logger[_0x4e6e('0x2a')](_0x334bac[_0x4e6e('0x2b')]);if(_0x334bac[_0x4e6e('0x2c')]){delete _0x334bac['name'];}_0x4ac91a[_0x4e6e('0x1b')](_0x164c3c)[_0x4e6e('0x2d')](_0x334bac);};}exports[_0x4e6e('0x2e')]=function(_0x4d9ac9,_0x598bb6){var _0x476b4b={},_0x406dd6={},_0x137ce0={'count':0x0,'rows':[]};var _0x4f01dd=_['map'](db['SquareMessage'][_0x4e6e('0x2f')],function(_0x25da20){return{'name':_0x25da20[_0x4e6e('0x30')],'type':_0x25da20['type'][_0x4e6e('0x31')]};});_0x406dd6['model']=_[_0x4e6e('0x32')](_0x4f01dd,'name');_0x406dd6[_0x4e6e('0x33')]=_[_0x4e6e('0x34')](_0x4d9ac9[_0x4e6e('0x33')]);_0x406dd6[_0x4e6e('0x35')]=_['intersection'](_0x406dd6[_0x4e6e('0x36')],_0x406dd6[_0x4e6e('0x33')]);_0x476b4b[_0x4e6e('0x37')]=_[_0x4e6e('0x38')](_0x406dd6[_0x4e6e('0x36')],qs[_0x4e6e('0x39')](_0x4d9ac9[_0x4e6e('0x33')][_0x4e6e('0x39')]));_0x476b4b[_0x4e6e('0x37')]=_0x476b4b[_0x4e6e('0x37')][_0x4e6e('0x3a')]?_0x476b4b[_0x4e6e('0x37')]:_0x406dd6['model'];if(!_0x4d9ac9[_0x4e6e('0x33')][_0x4e6e('0x3b')](_0x4e6e('0x3c'))){_0x476b4b[_0x4e6e('0x1f')]=qs[_0x4e6e('0x1f')](_0x4d9ac9[_0x4e6e('0x33')][_0x4e6e('0x1f')]);_0x476b4b[_0x4e6e('0x1d')]=qs[_0x4e6e('0x1d')](_0x4d9ac9[_0x4e6e('0x33')]['offset']);}_0x476b4b[_0x4e6e('0x3d')]=qs[_0x4e6e('0x3e')](_0x4d9ac9['query'][_0x4e6e('0x3e')]);_0x476b4b[_0x4e6e('0x3f')]=qs[_0x4e6e('0x35')](_[_0x4e6e('0x40')](_0x4d9ac9[_0x4e6e('0x33')],_0x406dd6[_0x4e6e('0x35')]),_0x4f01dd);if(_0x4d9ac9[_0x4e6e('0x33')][_0x4e6e('0x41')]){_0x476b4b['where']=_[_0x4e6e('0x42')](_0x476b4b['where'],{'$or':_[_0x4e6e('0x32')](_0x4f01dd,function(_0x3f74c8){if(_0x3f74c8[_0x4e6e('0x43')]!==_0x4e6e('0x44')){var _0x2ba26c={};_0x2ba26c[_0x3f74c8[_0x4e6e('0x2c')]]={'$like':'%'+_0x4d9ac9[_0x4e6e('0x33')]['filter']+'%'};return _0x2ba26c;}})});}_0x476b4b=_[_0x4e6e('0x42')]({},_0x476b4b,_0x4d9ac9['options']);var _0x19281a={'where':_0x476b4b[_0x4e6e('0x3f')]};return db[_0x4e6e('0x45')][_0x4e6e('0x20')](_0x19281a)[_0x4e6e('0x27')](function(_0xff8fcd){_0x137ce0[_0x4e6e('0x20')]=_0xff8fcd;if(_0x4d9ac9[_0x4e6e('0x33')][_0x4e6e('0x46')]){_0x476b4b[_0x4e6e('0x47')]=[{'all':!![]}];}return db['SquareMessage'][_0x4e6e('0x48')](_0x476b4b);})[_0x4e6e('0x27')](function(_0x210083){_0x137ce0[_0x4e6e('0x49')]=_0x210083;return _0x137ce0;})['then'](respondWithFilteredResult(_0x598bb6,_0x476b4b))[_0x4e6e('0x4a')](handleError(_0x598bb6,null));};exports[_0x4e6e('0x4b')]=function(_0x2051cb,_0x37b306){var _0x25ba3e={'raw':!![],'where':{'id':_0x2051cb[_0x4e6e('0x4c')]['id']}},_0x5c1948={};_0x5c1948[_0x4e6e('0x36')]=_['keys'](db[_0x4e6e('0x45')][_0x4e6e('0x2f')]);_0x5c1948['query']=_[_0x4e6e('0x34')](_0x2051cb[_0x4e6e('0x33')]);_0x5c1948[_0x4e6e('0x35')]=_[_0x4e6e('0x38')](_0x5c1948['model'],_0x5c1948[_0x4e6e('0x33')]);_0x25ba3e[_0x4e6e('0x37')]=_[_0x4e6e('0x38')](_0x5c1948[_0x4e6e('0x36')],qs[_0x4e6e('0x39')](_0x2051cb[_0x4e6e('0x33')][_0x4e6e('0x39')]));_0x25ba3e[_0x4e6e('0x37')]=_0x25ba3e[_0x4e6e('0x37')][_0x4e6e('0x3a')]?_0x25ba3e['attributes']:_0x5c1948[_0x4e6e('0x36')];if(_0x2051cb['query']['includeAll']){_0x25ba3e[_0x4e6e('0x47')]=[{'all':!![]}];}_0x25ba3e=_[_0x4e6e('0x42')]({},_0x25ba3e,_0x2051cb[_0x4e6e('0x4d')]);return db[_0x4e6e('0x45')][_0x4e6e('0x4e')](_0x25ba3e)['then'](handleEntityNotFound(_0x37b306,null))[_0x4e6e('0x27')](respondWithResult(_0x37b306,null))[_0x4e6e('0x4a')](handleError(_0x37b306,null));};exports[_0x4e6e('0x4f')]=function(_0x4379b7,_0x358e9a){return db['SquareMessage'][_0x4e6e('0x4f')](_0x4379b7[_0x4e6e('0x50')],{})[_0x4e6e('0x27')](respondWithResult(_0x358e9a,0xc9))[_0x4e6e('0x4a')](handleError(_0x358e9a,null));};exports[_0x4e6e('0x26')]=function(_0x1c562c,_0x3f3aae){if(_0x1c562c[_0x4e6e('0x50')]['id']){delete _0x1c562c[_0x4e6e('0x50')]['id'];}return db['SquareMessage'][_0x4e6e('0x4e')]({'where':{'id':_0x1c562c[_0x4e6e('0x4c')]['id']}})['then'](handleEntityNotFound(_0x3f3aae,null))[_0x4e6e('0x27')](saveUpdates(_0x1c562c[_0x4e6e('0x50')],null))[_0x4e6e('0x27')](respondWithResult(_0x3f3aae,null))[_0x4e6e('0x4a')](handleError(_0x3f3aae,null));};exports[_0x4e6e('0x28')]=function(_0x31ed68,_0x36fc43){return db[_0x4e6e('0x45')]['find']({'where':{'id':_0x31ed68['params']['id']}})[_0x4e6e('0x27')](handleEntityNotFound(_0x36fc43,null))['then'](removeEntity(_0x36fc43,null))[_0x4e6e('0x4a')](handleError(_0x36fc43,null));};