4d2599482a8fd34ab6ee1a56aee24d1d463a5716
[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 _0x8d84=['crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','offset','undefined','limit','count','Content-Range','json','apply','reject','update','then','sendStatus','error','stack','name','index','SquareMessage','rawAttributes','fieldName','type','key','model','keys','query','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filters','filter','merge','map','VIRTUAL','includeAll','rows','catch','params','include','options','create','body','find','eml-format','rimraf','request-promise','moment','util','path','sox','lodash'];(function(_0x15651d,_0x580b09){var _0x57ff45=function(_0x4d2187){while(--_0x4d2187){_0x15651d['push'](_0x15651d['shift']());}};_0x57ff45(++_0x580b09);}(_0x8d84,0x114));var _0x48d8=function(_0x27f6cc,_0x4b641e){_0x27f6cc=_0x27f6cc-0x0;var _0xf826b6=_0x8d84[_0x27f6cc];return _0xf826b6;};'use strict';var emlformat=require(_0x48d8('0x0'));var rimraf=require(_0x48d8('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x48d8('0x2'));var moment=require(_0x48d8('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x48d8('0x4'));var path=require(_0x48d8('0x5'));var sox=require(_0x48d8('0x6'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x48d8('0x7'));var squel=require('squel');var crypto=require(_0x48d8('0x8'));var jsforce=require(_0x48d8('0x9'));var deskjs=require(_0x48d8('0xa'));var toCsv=require(_0x48d8('0xb'));var querystring=require(_0x48d8('0xc'));var Papa=require(_0x48d8('0xd'));var Redis=require('ioredis');var authService=require(_0x48d8('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0x48d8('0xf'));var hardwareService=require(_0x48d8('0x10'));var logger=require(_0x48d8('0x11'))(_0x48d8('0x12'));var utils=require(_0x48d8('0x13'));var config=require(_0x48d8('0x14'));var licenseUtil=require(_0x48d8('0x15'));var db=require(_0x48d8('0x16'))['db'];function respondWithStatusCode(_0x4020fb,_0x49b02c){_0x49b02c=_0x49b02c||0xcc;return function(_0x1a14b2){if(_0x1a14b2){return _0x4020fb['sendStatus'](_0x49b02c);}return _0x4020fb[_0x48d8('0x17')](_0x49b02c)['end']();};}function respondWithResult(_0x3e621d,_0x56422a){_0x56422a=_0x56422a||0xc8;return function(_0x311708){if(_0x311708){return _0x3e621d[_0x48d8('0x17')](_0x56422a)['json'](_0x311708);}};}function respondWithFilteredResult(_0x2046c9,_0x4195f7){return function(_0x24d776){if(_0x24d776){var _0x3c3449=typeof _0x4195f7[_0x48d8('0x18')]===_0x48d8('0x19')&&typeof _0x4195f7[_0x48d8('0x1a')]===_0x48d8('0x19');var _0x250ee5=_0x24d776[_0x48d8('0x1b')];var _0x4813c5=_0x3c3449?0x0:_0x4195f7[_0x48d8('0x18')];var _0x45f9c9=_0x3c3449?_0x24d776[_0x48d8('0x1b')]:_0x4195f7[_0x48d8('0x18')]+_0x4195f7[_0x48d8('0x1a')];var _0x2c0609;if(_0x45f9c9>=_0x250ee5){_0x45f9c9=_0x250ee5;_0x2c0609=0xc8;}else{_0x2c0609=0xce;}_0x2046c9[_0x48d8('0x17')](_0x2c0609);return _0x2046c9['set'](_0x48d8('0x1c'),_0x4813c5+'-'+_0x45f9c9+'/'+_0x250ee5)[_0x48d8('0x1d')](_0x24d776);}return null;};}function patchUpdates(_0x37c7cc){return function(_0x556f11){try{jsonpatch[_0x48d8('0x1e')](_0x556f11,_0x37c7cc,!![]);}catch(_0x22cba3){return BPromise[_0x48d8('0x1f')](_0x22cba3);}return _0x556f11['save']();};}function saveUpdates(_0x286e2f,_0x411044){return function(_0x149d65){if(_0x149d65){return _0x149d65[_0x48d8('0x20')](_0x286e2f)[_0x48d8('0x21')](function(_0xfc68b8){return _0xfc68b8;});}return null;};}function removeEntity(_0x3f43b9,_0x56e82a){return function(_0x138732){if(_0x138732){return _0x138732['destroy']()[_0x48d8('0x21')](function(){_0x3f43b9['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x4f40b5,_0x27c689){return function(_0x4c622e){if(!_0x4c622e){_0x4f40b5[_0x48d8('0x22')](0x194);}return _0x4c622e;};}function handleError(_0x489193,_0x5b4919){_0x5b4919=_0x5b4919||0x1f4;return function(_0x3f7d04){logger[_0x48d8('0x23')](_0x3f7d04[_0x48d8('0x24')]);if(_0x3f7d04[_0x48d8('0x25')]){delete _0x3f7d04[_0x48d8('0x25')];}_0x489193[_0x48d8('0x17')](_0x5b4919)['send'](_0x3f7d04);};}exports[_0x48d8('0x26')]=function(_0x266426,_0x4bca69){var _0x5d4736={},_0x5b4607={},_0x5c5f64={'count':0x0,'rows':[]};var _0x2c9bfa=_['map'](db[_0x48d8('0x27')][_0x48d8('0x28')],function(_0x4581c1){return{'name':_0x4581c1[_0x48d8('0x29')],'type':_0x4581c1[_0x48d8('0x2a')][_0x48d8('0x2b')]};});_0x5b4607[_0x48d8('0x2c')]=_['map'](_0x2c9bfa,_0x48d8('0x25'));_0x5b4607['query']=_[_0x48d8('0x2d')](_0x266426[_0x48d8('0x2e')]);_0x5b4607['filters']=_['intersection'](_0x5b4607[_0x48d8('0x2c')],_0x5b4607['query']);_0x5d4736['attributes']=_[_0x48d8('0x2f')](_0x5b4607[_0x48d8('0x2c')],qs['fields'](_0x266426['query'][_0x48d8('0x30')]));_0x5d4736['attributes']=_0x5d4736[_0x48d8('0x31')][_0x48d8('0x32')]?_0x5d4736[_0x48d8('0x31')]:_0x5b4607[_0x48d8('0x2c')];if(!_0x266426['query'][_0x48d8('0x33')](_0x48d8('0x34'))){_0x5d4736['limit']=qs['limit'](_0x266426['query'][_0x48d8('0x1a')]);_0x5d4736[_0x48d8('0x18')]=qs[_0x48d8('0x18')](_0x266426[_0x48d8('0x2e')][_0x48d8('0x18')]);}_0x5d4736[_0x48d8('0x35')]=qs[_0x48d8('0x36')](_0x266426[_0x48d8('0x2e')]['sort']);_0x5d4736[_0x48d8('0x37')]=qs['filters'](_[_0x48d8('0x38')](_0x266426[_0x48d8('0x2e')],_0x5b4607[_0x48d8('0x39')]),_0x2c9bfa);if(_0x266426[_0x48d8('0x2e')][_0x48d8('0x3a')]){_0x5d4736['where']=_[_0x48d8('0x3b')](_0x5d4736['where'],{'$or':_[_0x48d8('0x3c')](_0x2c9bfa,function(_0x35efe4){if(_0x35efe4[_0x48d8('0x2a')]!==_0x48d8('0x3d')){var _0xa953de={};_0xa953de[_0x35efe4[_0x48d8('0x25')]]={'$like':'%'+_0x266426[_0x48d8('0x2e')][_0x48d8('0x3a')]+'%'};return _0xa953de;}})});}_0x5d4736=_[_0x48d8('0x3b')]({},_0x5d4736,_0x266426['options']);var _0x5ac37a={'where':_0x5d4736[_0x48d8('0x37')]};return db['SquareMessage']['count'](_0x5ac37a)[_0x48d8('0x21')](function(_0x43d3e4){_0x5c5f64[_0x48d8('0x1b')]=_0x43d3e4;if(_0x266426[_0x48d8('0x2e')][_0x48d8('0x3e')]){_0x5d4736['include']=[{'all':!![]}];}return db['SquareMessage']['findAll'](_0x5d4736);})[_0x48d8('0x21')](function(_0x58b60f){_0x5c5f64[_0x48d8('0x3f')]=_0x58b60f;return _0x5c5f64;})['then'](respondWithFilteredResult(_0x4bca69,_0x5d4736))[_0x48d8('0x40')](handleError(_0x4bca69,null));};exports['show']=function(_0x3bf6fc,_0x365d16){var _0x512bf2={'raw':!![],'where':{'id':_0x3bf6fc[_0x48d8('0x41')]['id']}},_0x13c0c5={};_0x13c0c5[_0x48d8('0x2c')]=_[_0x48d8('0x2d')](db[_0x48d8('0x27')][_0x48d8('0x28')]);_0x13c0c5[_0x48d8('0x2e')]=_[_0x48d8('0x2d')](_0x3bf6fc[_0x48d8('0x2e')]);_0x13c0c5['filters']=_[_0x48d8('0x2f')](_0x13c0c5['model'],_0x13c0c5[_0x48d8('0x2e')]);_0x512bf2[_0x48d8('0x31')]=_[_0x48d8('0x2f')](_0x13c0c5['model'],qs[_0x48d8('0x30')](_0x3bf6fc[_0x48d8('0x2e')][_0x48d8('0x30')]));_0x512bf2[_0x48d8('0x31')]=_0x512bf2[_0x48d8('0x31')][_0x48d8('0x32')]?_0x512bf2[_0x48d8('0x31')]:_0x13c0c5[_0x48d8('0x2c')];if(_0x3bf6fc[_0x48d8('0x2e')]['includeAll']){_0x512bf2[_0x48d8('0x42')]=[{'all':!![]}];}_0x512bf2=_[_0x48d8('0x3b')]({},_0x512bf2,_0x3bf6fc[_0x48d8('0x43')]);return db[_0x48d8('0x27')]['find'](_0x512bf2)[_0x48d8('0x21')](handleEntityNotFound(_0x365d16,null))['then'](respondWithResult(_0x365d16,null))[_0x48d8('0x40')](handleError(_0x365d16,null));};exports[_0x48d8('0x44')]=function(_0x37550a,_0x5c459c){return db['SquareMessage'][_0x48d8('0x44')](_0x37550a[_0x48d8('0x45')],{})[_0x48d8('0x21')](respondWithResult(_0x5c459c,0xc9))[_0x48d8('0x40')](handleError(_0x5c459c,null));};exports[_0x48d8('0x20')]=function(_0x157c8c,_0xdf160f){if(_0x157c8c[_0x48d8('0x45')]['id']){delete _0x157c8c[_0x48d8('0x45')]['id'];}return db[_0x48d8('0x27')]['find']({'where':{'id':_0x157c8c['params']['id']}})['then'](handleEntityNotFound(_0xdf160f,null))[_0x48d8('0x21')](saveUpdates(_0x157c8c[_0x48d8('0x45')],null))[_0x48d8('0x21')](respondWithResult(_0xdf160f,null))[_0x48d8('0x40')](handleError(_0xdf160f,null));};exports['destroy']=function(_0xcd1ce5,_0x388cd9){return db[_0x48d8('0x27')][_0x48d8('0x46')]({'where':{'id':_0xcd1ce5[_0x48d8('0x41')]['id']}})[_0x48d8('0x21')](handleEntityNotFound(_0x388cd9,null))[_0x48d8('0x21')](removeEntity(_0x388cd9,null))[_0x48d8('0x40')](handleError(_0x388cd9,null));};