0e5aa6a0dda78212af5027dfda881bcf758b6fff
[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 _0x5484=['request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','count','offset','set','Content-Range','json','apply','reject','save','update','then','destroy','end','name','send','index','rawAttributes','type','map','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','limit','order','sort','where','pick','filter','merge','SquareMessage','includeAll','include','findAll','show','params','options','create','catch','body','find','eml-format','rimraf','zip-dir'];(function(_0x2b10c6,_0x185590){var _0x3789d2=function(_0x272987){while(--_0x272987){_0x2b10c6['push'](_0x2b10c6['shift']());}};_0x3789d2(++_0x185590);}(_0x5484,0x165));var _0x4548=function(_0x14e1d8,_0x2ab24c){_0x14e1d8=_0x14e1d8-0x0;var _0x23452e=_0x5484[_0x14e1d8];return _0x23452e;};'use strict';var emlformat=require(_0x4548('0x0'));var rimraf=require(_0x4548('0x1'));var zipdir=require(_0x4548('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x4548('0x3'));var moment=require(_0x4548('0x4'));var BPromise=require(_0x4548('0x5'));var Mustache=require(_0x4548('0x6'));var util=require(_0x4548('0x7'));var path=require('path');var sox=require(_0x4548('0x8'));var csv=require(_0x4548('0x9'));var ejs=require(_0x4548('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x4548('0xb'));var squel=require(_0x4548('0xc'));var crypto=require(_0x4548('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x4548('0xe'));var toCsv=require(_0x4548('0x9'));var querystring=require(_0x4548('0xf'));var Papa=require(_0x4548('0x10'));var Redis=require(_0x4548('0x11'));var authService=require(_0x4548('0x12'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4548('0x13'));var logger=require(_0x4548('0x14'))(_0x4548('0x15'));var utils=require('../../config/utils');var config=require(_0x4548('0x16'));var licenseUtil=require(_0x4548('0x17'));var db=require(_0x4548('0x18'))['db'];function respondWithStatusCode(_0x4f9538,_0x5be10e){_0x5be10e=_0x5be10e||0xcc;return function(_0x1144cd){if(_0x1144cd){return _0x4f9538[_0x4548('0x19')](_0x5be10e);}return _0x4f9538[_0x4548('0x1a')](_0x5be10e)['end']();};}function respondWithResult(_0x562f48,_0x4572da){_0x4572da=_0x4572da||0xc8;return function(_0x579cc4){if(_0x579cc4){return _0x562f48[_0x4548('0x1a')](_0x4572da)['json'](_0x579cc4);}};}function respondWithFilteredResult(_0x3573f2,_0xcaee87){return function(_0x74ca67){if(_0x74ca67){var _0x101e5c=_0x74ca67[_0x4548('0x1b')],_0x1059fe=_0xcaee87[_0x4548('0x1c')],_0x1ebc8a=_0xcaee87[_0x4548('0x1c')]+_0xcaee87['limit'],_0x13c6d2;if(_0x1ebc8a>=_0x101e5c){_0x1ebc8a=_0x101e5c;_0x13c6d2=0xc8;}else{_0x13c6d2=0xce;}_0x3573f2[_0x4548('0x1a')](_0x13c6d2);return _0x3573f2[_0x4548('0x1d')](_0x4548('0x1e'),_0x1059fe+'-'+_0x1ebc8a+'/'+_0x101e5c)[_0x4548('0x1f')](_0x74ca67);}return null;};}function patchUpdates(_0x3aabfb){return function(_0x55dabe){try{jsonpatch[_0x4548('0x20')](_0x55dabe,_0x3aabfb,!![]);}catch(_0x16aa32){return BPromise[_0x4548('0x21')](_0x16aa32);}return _0x55dabe[_0x4548('0x22')]();};}function saveUpdates(_0x99c97a,_0x12901e){return function(_0x209b4e){if(_0x209b4e){return _0x209b4e[_0x4548('0x23')](_0x99c97a)[_0x4548('0x24')](function(_0x40bd8f){return _0x40bd8f;});}return null;};}function removeEntity(_0x56a618,_0x1389bf){return function(_0x1e2e46){if(_0x1e2e46){return _0x1e2e46[_0x4548('0x25')]()[_0x4548('0x24')](function(){_0x56a618[_0x4548('0x1a')](0xcc)[_0x4548('0x26')]();});}};}function handleEntityNotFound(_0x57c56d,_0x5eb6bf){return function(_0x222085){if(!_0x222085){_0x57c56d[_0x4548('0x19')](0x194);}return _0x222085;};}function handleError(_0x1f13ea,_0x106879){_0x106879=_0x106879||0x1f4;return function(_0x22f9c1){logger['error'](_0x22f9c1['stack']);if(_0x22f9c1[_0x4548('0x27')]){delete _0x22f9c1[_0x4548('0x27')];}_0x1f13ea[_0x4548('0x1a')](_0x106879)[_0x4548('0x28')](_0x22f9c1);};}exports[_0x4548('0x29')]=function(_0x4bfeac,_0x3dfc47){var _0x1b0dd7={},_0x4ed31f={},_0x34cca8={'count':0x0,'rows':[]};var _0x12c238=_['map'](db['SquareMessage'][_0x4548('0x2a')],function(_0x268255){return{'name':_0x268255['fieldName'],'type':_0x268255[_0x4548('0x2b')]['key']};});_0x4ed31f['model']=_[_0x4548('0x2c')](_0x12c238,_0x4548('0x27'));_0x4ed31f['query']=_[_0x4548('0x2d')](_0x4bfeac[_0x4548('0x2e')]);_0x4ed31f[_0x4548('0x2f')]=_[_0x4548('0x30')](_0x4ed31f[_0x4548('0x31')],_0x4ed31f[_0x4548('0x2e')]);_0x1b0dd7[_0x4548('0x32')]=_[_0x4548('0x30')](_0x4ed31f[_0x4548('0x31')],qs[_0x4548('0x33')](_0x4bfeac[_0x4548('0x2e')]['fields']));_0x1b0dd7[_0x4548('0x32')]=_0x1b0dd7[_0x4548('0x32')][_0x4548('0x34')]?_0x1b0dd7['attributes']:_0x4ed31f[_0x4548('0x31')];if(!_0x4bfeac['query'][_0x4548('0x35')]('nolimit')){_0x1b0dd7[_0x4548('0x36')]=qs['limit'](_0x4bfeac[_0x4548('0x2e')][_0x4548('0x36')]);_0x1b0dd7[_0x4548('0x1c')]=qs[_0x4548('0x1c')](_0x4bfeac[_0x4548('0x2e')]['offset']);}_0x1b0dd7[_0x4548('0x37')]=qs[_0x4548('0x38')](_0x4bfeac[_0x4548('0x2e')]['sort']);_0x1b0dd7[_0x4548('0x39')]=qs[_0x4548('0x2f')](_[_0x4548('0x3a')](_0x4bfeac[_0x4548('0x2e')],_0x4ed31f[_0x4548('0x2f')]),_0x12c238);if(_0x4bfeac[_0x4548('0x2e')][_0x4548('0x3b')]){_0x1b0dd7[_0x4548('0x39')]=_[_0x4548('0x3c')](_0x1b0dd7[_0x4548('0x39')],{'$or':_[_0x4548('0x2c')](_0x12c238,function(_0x1a659d){if(_0x1a659d[_0x4548('0x2b')]!=='VIRTUAL'){var _0x2a416e={};_0x2a416e[_0x1a659d[_0x4548('0x27')]]={'$like':'%'+_0x4bfeac[_0x4548('0x2e')][_0x4548('0x3b')]+'%'};return _0x2a416e;}})});}_0x1b0dd7=_[_0x4548('0x3c')]({},_0x1b0dd7,_0x4bfeac['options']);var _0x29b27a={'where':_0x1b0dd7[_0x4548('0x39')]};return db[_0x4548('0x3d')]['count'](_0x29b27a)['then'](function(_0x1cfdb8){_0x34cca8['count']=_0x1cfdb8;if(_0x4bfeac['query'][_0x4548('0x3e')]){_0x1b0dd7[_0x4548('0x3f')]=[{'all':!![]}];}return db['SquareMessage'][_0x4548('0x40')](_0x1b0dd7);})['then'](function(_0x51f09c){_0x34cca8['rows']=_0x51f09c;return _0x34cca8;})[_0x4548('0x24')](respondWithFilteredResult(_0x3dfc47,_0x1b0dd7))['catch'](handleError(_0x3dfc47,null));};exports[_0x4548('0x41')]=function(_0x65d190,_0xb85008){var _0x41b615={'raw':!![],'where':{'id':_0x65d190[_0x4548('0x42')]['id']}},_0x9b0d5d={};_0x9b0d5d[_0x4548('0x31')]=_['keys'](db[_0x4548('0x3d')][_0x4548('0x2a')]);_0x9b0d5d[_0x4548('0x2e')]=_[_0x4548('0x2d')](_0x65d190[_0x4548('0x2e')]);_0x9b0d5d[_0x4548('0x2f')]=_[_0x4548('0x30')](_0x9b0d5d['model'],_0x9b0d5d['query']);_0x41b615['attributes']=_[_0x4548('0x30')](_0x9b0d5d[_0x4548('0x31')],qs['fields'](_0x65d190[_0x4548('0x2e')][_0x4548('0x33')]));_0x41b615[_0x4548('0x32')]=_0x41b615[_0x4548('0x32')][_0x4548('0x34')]?_0x41b615[_0x4548('0x32')]:_0x9b0d5d[_0x4548('0x31')];if(_0x65d190['query']['includeAll']){_0x41b615[_0x4548('0x3f')]=[{'all':!![]}];}_0x41b615=_[_0x4548('0x3c')]({},_0x41b615,_0x65d190[_0x4548('0x43')]);return db[_0x4548('0x3d')]['find'](_0x41b615)['then'](handleEntityNotFound(_0xb85008,null))[_0x4548('0x24')](respondWithResult(_0xb85008,null))['catch'](handleError(_0xb85008,null));};exports[_0x4548('0x44')]=function(_0x102286,_0x4410e1){return db['SquareMessage']['create'](_0x102286['body'],{})[_0x4548('0x24')](respondWithResult(_0x4410e1,0xc9))[_0x4548('0x45')](handleError(_0x4410e1,null));};exports[_0x4548('0x23')]=function(_0x2c7943,_0x1f6dfc){if(_0x2c7943['body']['id']){delete _0x2c7943[_0x4548('0x46')]['id'];}return db[_0x4548('0x3d')][_0x4548('0x47')]({'where':{'id':_0x2c7943[_0x4548('0x42')]['id']}})[_0x4548('0x24')](handleEntityNotFound(_0x1f6dfc,null))[_0x4548('0x24')](saveUpdates(_0x2c7943[_0x4548('0x46')],null))['then'](respondWithResult(_0x1f6dfc,null))[_0x4548('0x45')](handleError(_0x1f6dfc,null));};exports[_0x4548('0x25')]=function(_0x299261,_0x2d19ea){return db[_0x4548('0x3d')]['find']({'where':{'id':_0x299261[_0x4548('0x42')]['id']}})[_0x4548('0x24')](handleEntityNotFound(_0x2d19ea,null))[_0x4548('0x24')](removeEntity(_0x2d19ea,null))[_0x4548('0x45')](handleError(_0x2d19ea,null));};