Built motion from commit 87cd5f02.|2.5.48
[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 _0xf431=['options','includeAll','include','catch','show','params','find','create','body','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','update','then','destroy','stack','name','send','index','map','SquareMessage','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','pick','filter','where','VIRTUAL','merge'];(function(_0x4e02bf,_0x113a69){var _0x967c26=function(_0x4cef5d){while(--_0x4cef5d){_0x4e02bf['push'](_0x4e02bf['shift']());}};_0x967c26(++_0x113a69);}(_0xf431,0x93));var _0x1f43=function(_0x2822b3,_0x49842b){_0x2822b3=_0x2822b3-0x0;var _0x4b9178=_0xf431[_0x2822b3];return _0x4b9178;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x1f43('0x0'));var zipdir=require(_0x1f43('0x1'));var jsonpatch=require(_0x1f43('0x2'));var rp=require('request-promise');var moment=require(_0x1f43('0x3'));var BPromise=require(_0x1f43('0x4'));var Mustache=require('mustache');var util=require(_0x1f43('0x5'));var path=require(_0x1f43('0x6'));var sox=require(_0x1f43('0x7'));var csv=require(_0x1f43('0x8'));var ejs=require(_0x1f43('0x9'));var fs=require('fs');var fs_extra=require(_0x1f43('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x1f43('0xb'));var jsforce=require(_0x1f43('0xc'));var deskjs=require(_0x1f43('0xd'));var toCsv=require(_0x1f43('0x8'));var querystring=require(_0x1f43('0xe'));var Papa=require('papaparse');var Redis=require(_0x1f43('0xf'));var authService=require(_0x1f43('0x10'));var qs=require(_0x1f43('0x11'));var as=require(_0x1f43('0x12'));var hardwareService=require(_0x1f43('0x13'));var logger=require(_0x1f43('0x14'))(_0x1f43('0x15'));var utils=require('../../config/utils');var config=require(_0x1f43('0x16'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2f9b0d,_0xa25bbc){_0xa25bbc=_0xa25bbc||0xcc;return function(_0x1f0057){if(_0x1f0057){return _0x2f9b0d[_0x1f43('0x17')](_0xa25bbc);}return _0x2f9b0d[_0x1f43('0x18')](_0xa25bbc)[_0x1f43('0x19')]();};}function respondWithResult(_0x94948d,_0xe5e0c1){_0xe5e0c1=_0xe5e0c1||0xc8;return function(_0x5418c5){if(_0x5418c5){return _0x94948d[_0x1f43('0x18')](_0xe5e0c1)[_0x1f43('0x1a')](_0x5418c5);}};}function respondWithFilteredResult(_0x297672,_0x1127f6){return function(_0x23a6f0){if(_0x23a6f0){var _0x9d7d9b=typeof _0x1127f6[_0x1f43('0x1b')]===_0x1f43('0x1c')&&typeof _0x1127f6[_0x1f43('0x1d')]===_0x1f43('0x1c');var _0x37c140=_0x23a6f0[_0x1f43('0x1e')];var _0x1ac7fd=_0x9d7d9b?0x0:_0x1127f6[_0x1f43('0x1b')];var _0x3d1f6c=_0x9d7d9b?_0x23a6f0[_0x1f43('0x1e')]:_0x1127f6[_0x1f43('0x1b')]+_0x1127f6[_0x1f43('0x1d')];var _0x3448b0;if(_0x3d1f6c>=_0x37c140){_0x3d1f6c=_0x37c140;_0x3448b0=0xc8;}else{_0x3448b0=0xce;}_0x297672[_0x1f43('0x18')](_0x3448b0);return _0x297672[_0x1f43('0x1f')]('Content-Range',_0x1ac7fd+'-'+_0x3d1f6c+'/'+_0x37c140)['json'](_0x23a6f0);}return null;};}function patchUpdates(_0x1eced8){return function(_0x3e63c7){try{jsonpatch[_0x1f43('0x20')](_0x3e63c7,_0x1eced8,!![]);}catch(_0x13d9e9){return BPromise['reject'](_0x13d9e9);}return _0x3e63c7['save']();};}function saveUpdates(_0x3c457a,_0x11fb59){return function(_0x1d82e2){if(_0x1d82e2){return _0x1d82e2[_0x1f43('0x21')](_0x3c457a)[_0x1f43('0x22')](function(_0xc32547){return _0xc32547;});}return null;};}function removeEntity(_0x2385d3,_0x634c3a){return function(_0x4fdd4a){if(_0x4fdd4a){return _0x4fdd4a[_0x1f43('0x23')]()['then'](function(){_0x2385d3['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x5b5409,_0x20bea8){return function(_0x2c0ee8){if(!_0x2c0ee8){_0x5b5409['sendStatus'](0x194);}return _0x2c0ee8;};}function handleError(_0x4aa4eb,_0x4dfbcc){_0x4dfbcc=_0x4dfbcc||0x1f4;return function(_0x21671e){logger['error'](_0x21671e[_0x1f43('0x24')]);if(_0x21671e['name']){delete _0x21671e[_0x1f43('0x25')];}_0x4aa4eb['status'](_0x4dfbcc)[_0x1f43('0x26')](_0x21671e);};}exports[_0x1f43('0x27')]=function(_0x12cf00,_0x1eaa34){var _0x5d5d6a={},_0x335d07={},_0x4199d6={'count':0x0,'rows':[]};var _0x5b49c9=_[_0x1f43('0x28')](db[_0x1f43('0x29')]['rawAttributes'],function(_0x2fc441){return{'name':_0x2fc441[_0x1f43('0x2a')],'type':_0x2fc441[_0x1f43('0x2b')]['key']};});_0x335d07[_0x1f43('0x2c')]=_[_0x1f43('0x28')](_0x5b49c9,_0x1f43('0x25'));_0x335d07[_0x1f43('0x2d')]=_[_0x1f43('0x2e')](_0x12cf00[_0x1f43('0x2d')]);_0x335d07[_0x1f43('0x2f')]=_[_0x1f43('0x30')](_0x335d07[_0x1f43('0x2c')],_0x335d07[_0x1f43('0x2d')]);_0x5d5d6a[_0x1f43('0x31')]=_['intersection'](_0x335d07[_0x1f43('0x2c')],qs[_0x1f43('0x32')](_0x12cf00[_0x1f43('0x2d')]['fields']));_0x5d5d6a[_0x1f43('0x31')]=_0x5d5d6a[_0x1f43('0x31')][_0x1f43('0x33')]?_0x5d5d6a[_0x1f43('0x31')]:_0x335d07[_0x1f43('0x2c')];if(!_0x12cf00[_0x1f43('0x2d')]['hasOwnProperty'](_0x1f43('0x34'))){_0x5d5d6a['limit']=qs[_0x1f43('0x1d')](_0x12cf00[_0x1f43('0x2d')]['limit']);_0x5d5d6a[_0x1f43('0x1b')]=qs[_0x1f43('0x1b')](_0x12cf00[_0x1f43('0x2d')][_0x1f43('0x1b')]);}_0x5d5d6a[_0x1f43('0x35')]=qs[_0x1f43('0x36')](_0x12cf00[_0x1f43('0x2d')][_0x1f43('0x36')]);_0x5d5d6a['where']=qs['filters'](_[_0x1f43('0x37')](_0x12cf00[_0x1f43('0x2d')],_0x335d07['filters']),_0x5b49c9);if(_0x12cf00['query'][_0x1f43('0x38')]){_0x5d5d6a[_0x1f43('0x39')]=_['merge'](_0x5d5d6a[_0x1f43('0x39')],{'$or':_[_0x1f43('0x28')](_0x5b49c9,function(_0x20637d){if(_0x20637d['type']!==_0x1f43('0x3a')){var _0x57fd37={};_0x57fd37[_0x20637d[_0x1f43('0x25')]]={'$like':'%'+_0x12cf00[_0x1f43('0x2d')][_0x1f43('0x38')]+'%'};return _0x57fd37;}})});}_0x5d5d6a=_[_0x1f43('0x3b')]({},_0x5d5d6a,_0x12cf00[_0x1f43('0x3c')]);var _0x72ada6={'where':_0x5d5d6a['where']};return db[_0x1f43('0x29')][_0x1f43('0x1e')](_0x72ada6)[_0x1f43('0x22')](function(_0x451de3){_0x4199d6[_0x1f43('0x1e')]=_0x451de3;if(_0x12cf00[_0x1f43('0x2d')][_0x1f43('0x3d')]){_0x5d5d6a[_0x1f43('0x3e')]=[{'all':!![]}];}return db['SquareMessage']['findAll'](_0x5d5d6a);})[_0x1f43('0x22')](function(_0x3ec7d6){_0x4199d6['rows']=_0x3ec7d6;return _0x4199d6;})[_0x1f43('0x22')](respondWithFilteredResult(_0x1eaa34,_0x5d5d6a))[_0x1f43('0x3f')](handleError(_0x1eaa34,null));};exports[_0x1f43('0x40')]=function(_0x13459b,_0x5ab397){var _0x50cf4a={'raw':!![],'where':{'id':_0x13459b[_0x1f43('0x41')]['id']}},_0xa4dc92={};_0xa4dc92[_0x1f43('0x2c')]=_[_0x1f43('0x2e')](db[_0x1f43('0x29')]['rawAttributes']);_0xa4dc92[_0x1f43('0x2d')]=_['keys'](_0x13459b[_0x1f43('0x2d')]);_0xa4dc92[_0x1f43('0x2f')]=_[_0x1f43('0x30')](_0xa4dc92[_0x1f43('0x2c')],_0xa4dc92[_0x1f43('0x2d')]);_0x50cf4a[_0x1f43('0x31')]=_[_0x1f43('0x30')](_0xa4dc92[_0x1f43('0x2c')],qs[_0x1f43('0x32')](_0x13459b[_0x1f43('0x2d')][_0x1f43('0x32')]));_0x50cf4a[_0x1f43('0x31')]=_0x50cf4a[_0x1f43('0x31')][_0x1f43('0x33')]?_0x50cf4a[_0x1f43('0x31')]:_0xa4dc92[_0x1f43('0x2c')];if(_0x13459b[_0x1f43('0x2d')][_0x1f43('0x3d')]){_0x50cf4a[_0x1f43('0x3e')]=[{'all':!![]}];}_0x50cf4a=_[_0x1f43('0x3b')]({},_0x50cf4a,_0x13459b[_0x1f43('0x3c')]);return db[_0x1f43('0x29')][_0x1f43('0x42')](_0x50cf4a)[_0x1f43('0x22')](handleEntityNotFound(_0x5ab397,null))['then'](respondWithResult(_0x5ab397,null))[_0x1f43('0x3f')](handleError(_0x5ab397,null));};exports[_0x1f43('0x43')]=function(_0x5542e7,_0x3ef084){return db[_0x1f43('0x29')][_0x1f43('0x43')](_0x5542e7['body'],{})[_0x1f43('0x22')](respondWithResult(_0x3ef084,0xc9))[_0x1f43('0x3f')](handleError(_0x3ef084,null));};exports['update']=function(_0x30bf64,_0x2785e5){if(_0x30bf64[_0x1f43('0x44')]['id']){delete _0x30bf64[_0x1f43('0x44')]['id'];}return db['SquareMessage'][_0x1f43('0x42')]({'where':{'id':_0x30bf64[_0x1f43('0x41')]['id']}})['then'](handleEntityNotFound(_0x2785e5,null))[_0x1f43('0x22')](saveUpdates(_0x30bf64[_0x1f43('0x44')],null))[_0x1f43('0x22')](respondWithResult(_0x2785e5,null))[_0x1f43('0x3f')](handleError(_0x2785e5,null));};exports[_0x1f43('0x23')]=function(_0x393b8f,_0x4fb78c){return db[_0x1f43('0x29')][_0x1f43('0x42')]({'where':{'id':_0x393b8f[_0x1f43('0x41')]['id']}})[_0x1f43('0x22')](handleEntityNotFound(_0x4fb78c,null))[_0x1f43('0x22')](removeEntity(_0x4fb78c,null))['catch'](handleError(_0x4fb78c,null));};