a0af2d70c07dc10043213038b18846fb48493331
[motion2.git] / server / api / smsApplication / smsApplication.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 _0x4db8=['bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','json','undefined','limit','count','offset','set','Content-Range','reject','save','update','then','status','end','error','stack','name','send','render','merge','body','contact','message','agent','account','map','rawAttributes','fieldName','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','order','sort','filter','where','VIRTUAL','options','SmsApplication','includeAll','findAll','rows','catch','params','include','find','create','destroy','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment'];(function(_0x32f26d,_0x2c0b5d){var _0x5d9ddc=function(_0x1f0e26){while(--_0x1f0e26){_0x32f26d['push'](_0x32f26d['shift']());}};_0x5d9ddc(++_0x2c0b5d);}(_0x4db8,0x18a));var _0x84db=function(_0x5edf56,_0x1a5c7f){_0x5edf56=_0x5edf56-0x0;var _0x195b66=_0x4db8[_0x5edf56];return _0x195b66;};'use strict';var emlformat=require(_0x84db('0x0'));var rimraf=require(_0x84db('0x1'));var zipdir=require(_0x84db('0x2'));var jsonpatch=require(_0x84db('0x3'));var rp=require(_0x84db('0x4'));var moment=require(_0x84db('0x5'));var BPromise=require(_0x84db('0x6'));var Mustache=require(_0x84db('0x7'));var util=require(_0x84db('0x8'));var path=require(_0x84db('0x9'));var sox=require(_0x84db('0xa'));var csv=require(_0x84db('0xb'));var ejs=require(_0x84db('0xc'));var fs=require('fs');var fs_extra=require(_0x84db('0xd'));var _=require(_0x84db('0xe'));var squel=require(_0x84db('0xf'));var crypto=require(_0x84db('0x10'));var jsforce=require(_0x84db('0x11'));var deskjs=require(_0x84db('0x12'));var toCsv=require(_0x84db('0xb'));var querystring=require(_0x84db('0x13'));var Papa=require('papaparse');var Redis=require(_0x84db('0x14'));var authService=require(_0x84db('0x15'));var qs=require(_0x84db('0x16'));var as=require(_0x84db('0x17'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0x84db('0x18'));var config=require(_0x84db('0x19'));var licenseUtil=require(_0x84db('0x1a'));var db=require(_0x84db('0x1b'))['db'];function respondWithStatusCode(_0x1096bd,_0x1f5e91){_0x1f5e91=_0x1f5e91||0xcc;return function(_0x4edfc3){if(_0x4edfc3){return _0x1096bd[_0x84db('0x1c')](_0x1f5e91);}return _0x1096bd['status'](_0x1f5e91)['end']();};}function respondWithResult(_0x4c2fa2,_0x47225e){_0x47225e=_0x47225e||0xc8;return function(_0x4c7454){if(_0x4c7454){return _0x4c2fa2['status'](_0x47225e)[_0x84db('0x1d')](_0x4c7454);}};}function respondWithFilteredResult(_0x496333,_0x6163bb){return function(_0x49e50c){if(_0x49e50c){var _0x4f2e75=typeof _0x6163bb['offset']===_0x84db('0x1e')&&typeof _0x6163bb[_0x84db('0x1f')]===_0x84db('0x1e');var _0x2d07b0=_0x49e50c[_0x84db('0x20')];var _0xe0c77c=_0x4f2e75?0x0:_0x6163bb[_0x84db('0x21')];var _0x31c7db=_0x4f2e75?_0x49e50c['count']:_0x6163bb[_0x84db('0x21')]+_0x6163bb[_0x84db('0x1f')];var _0x7248b6;if(_0x31c7db>=_0x2d07b0){_0x31c7db=_0x2d07b0;_0x7248b6=0xc8;}else{_0x7248b6=0xce;}_0x496333['status'](_0x7248b6);return _0x496333[_0x84db('0x22')](_0x84db('0x23'),_0xe0c77c+'-'+_0x31c7db+'/'+_0x2d07b0)[_0x84db('0x1d')](_0x49e50c);}return null;};}function patchUpdates(_0x512454){return function(_0x4ceb27){try{jsonpatch['apply'](_0x4ceb27,_0x512454,!![]);}catch(_0x1b3899){return BPromise[_0x84db('0x24')](_0x1b3899);}return _0x4ceb27[_0x84db('0x25')]();};}function saveUpdates(_0x2fa701,_0xac65dd){return function(_0x3a5479){if(_0x3a5479){return _0x3a5479[_0x84db('0x26')](_0x2fa701)[_0x84db('0x27')](function(_0x4761c6){return _0x4761c6;});}return null;};}function removeEntity(_0x3bbc3c,_0x16a717){return function(_0x365af9){if(_0x365af9){return _0x365af9['destroy']()['then'](function(){_0x3bbc3c[_0x84db('0x28')](0xcc)[_0x84db('0x29')]();});}};}function handleEntityNotFound(_0x25e9ec,_0x243874){return function(_0x12c475){if(!_0x12c475){_0x25e9ec[_0x84db('0x1c')](0x194);}return _0x12c475;};}function handleError(_0x390f8e,_0x46f9ee){_0x46f9ee=_0x46f9ee||0x1f4;return function(_0x1319d3){logger[_0x84db('0x2a')](_0x1319d3[_0x84db('0x2b')]);if(_0x1319d3[_0x84db('0x2c')]){delete _0x1319d3[_0x84db('0x2c')];}_0x390f8e[_0x84db('0x28')](_0x46f9ee)[_0x84db('0x2d')](_0x1319d3);};}function getMustacheRender(_0x4a0f49,_0x100b96){return Mustache[_0x84db('0x2e')](_0x4a0f49,_[_0x84db('0x2f')](_0x100b96[_0x84db('0x30')],{'contact':_0x100b96[_0x84db('0x31')],'message':_0x100b96[_0x84db('0x32')],'agent':_0x100b96[_0x84db('0x33')],'interaction':_0x100b96['interaction'],'account':_0x100b96[_0x84db('0x34')]}))||'';}exports['index']=function(_0x4190f8,_0x23ef93){var _0x2a1fd1={},_0x1bef1a={},_0x41f4c4={'count':0x0,'rows':[]};var _0x1bc8d1=_[_0x84db('0x35')](db['SmsApplication'][_0x84db('0x36')],function(_0x3ccb1c){return{'name':_0x3ccb1c[_0x84db('0x37')],'type':_0x3ccb1c['type']['key']};});_0x1bef1a[_0x84db('0x38')]=_[_0x84db('0x35')](_0x1bc8d1,_0x84db('0x2c'));_0x1bef1a[_0x84db('0x39')]=_[_0x84db('0x3a')](_0x4190f8[_0x84db('0x39')]);_0x1bef1a[_0x84db('0x3b')]=_[_0x84db('0x3c')](_0x1bef1a[_0x84db('0x38')],_0x1bef1a[_0x84db('0x39')]);_0x2a1fd1[_0x84db('0x3d')]=_[_0x84db('0x3c')](_0x1bef1a[_0x84db('0x38')],qs['fields'](_0x4190f8['query'][_0x84db('0x3e')]));_0x2a1fd1[_0x84db('0x3d')]=_0x2a1fd1['attributes']['length']?_0x2a1fd1[_0x84db('0x3d')]:_0x1bef1a['model'];if(!_0x4190f8[_0x84db('0x39')][_0x84db('0x3f')]('nolimit')){_0x2a1fd1[_0x84db('0x1f')]=qs[_0x84db('0x1f')](_0x4190f8[_0x84db('0x39')][_0x84db('0x1f')]);_0x2a1fd1[_0x84db('0x21')]=qs['offset'](_0x4190f8['query'][_0x84db('0x21')]);}_0x2a1fd1[_0x84db('0x40')]=qs[_0x84db('0x41')](_0x4190f8[_0x84db('0x39')][_0x84db('0x41')]);_0x2a1fd1['where']=qs[_0x84db('0x3b')](_['pick'](_0x4190f8['query'],_0x1bef1a['filters']),_0x1bc8d1);if(_0x4190f8['query'][_0x84db('0x42')]){_0x2a1fd1[_0x84db('0x43')]=_[_0x84db('0x2f')](_0x2a1fd1['where'],{'$or':_['map'](_0x1bc8d1,function(_0x18b825){if(_0x18b825['type']!==_0x84db('0x44')){var _0x46d926={};_0x46d926[_0x18b825[_0x84db('0x2c')]]={'$like':'%'+_0x4190f8[_0x84db('0x39')][_0x84db('0x42')]+'%'};return _0x46d926;}})});}_0x2a1fd1=_[_0x84db('0x2f')]({},_0x2a1fd1,_0x4190f8[_0x84db('0x45')]);var _0x5e00c7={'where':_0x2a1fd1['where']};return db[_0x84db('0x46')][_0x84db('0x20')](_0x5e00c7)['then'](function(_0x50b627){_0x41f4c4[_0x84db('0x20')]=_0x50b627;if(_0x4190f8[_0x84db('0x39')][_0x84db('0x47')]){_0x2a1fd1['include']=[{'all':!![]}];}return db[_0x84db('0x46')][_0x84db('0x48')](_0x2a1fd1);})[_0x84db('0x27')](function(_0x1f369d){_0x41f4c4[_0x84db('0x49')]=_0x1f369d;return _0x41f4c4;})[_0x84db('0x27')](respondWithFilteredResult(_0x23ef93,_0x2a1fd1))[_0x84db('0x4a')](handleError(_0x23ef93,null));};exports['show']=function(_0x2ececb,_0x2aa7d8){var _0x2275f1={'raw':!![],'where':{'id':_0x2ececb[_0x84db('0x4b')]['id']}},_0x29290c={};_0x29290c[_0x84db('0x38')]=_[_0x84db('0x3a')](db[_0x84db('0x46')][_0x84db('0x36')]);_0x29290c['query']=_['keys'](_0x2ececb[_0x84db('0x39')]);_0x29290c['filters']=_[_0x84db('0x3c')](_0x29290c['model'],_0x29290c[_0x84db('0x39')]);_0x2275f1[_0x84db('0x3d')]=_[_0x84db('0x3c')](_0x29290c[_0x84db('0x38')],qs[_0x84db('0x3e')](_0x2ececb['query']['fields']));_0x2275f1[_0x84db('0x3d')]=_0x2275f1[_0x84db('0x3d')]['length']?_0x2275f1['attributes']:_0x29290c['model'];if(_0x2ececb['query'][_0x84db('0x47')]){_0x2275f1[_0x84db('0x4c')]=[{'all':!![]}];}_0x2275f1=_[_0x84db('0x2f')]({},_0x2275f1,_0x2ececb[_0x84db('0x45')]);return db[_0x84db('0x46')][_0x84db('0x4d')](_0x2275f1)[_0x84db('0x27')](handleEntityNotFound(_0x2aa7d8,null))[_0x84db('0x27')](respondWithResult(_0x2aa7d8,null))['catch'](handleError(_0x2aa7d8,null));};exports[_0x84db('0x4e')]=function(_0x2e4ba8,_0x427c17){return db['SmsApplication']['create'](_0x2e4ba8[_0x84db('0x30')],{})['then'](respondWithResult(_0x427c17,0xc9))['catch'](handleError(_0x427c17,null));};exports['update']=function(_0x495251,_0x2c2394){if(_0x495251[_0x84db('0x30')]['id']){delete _0x495251[_0x84db('0x30')]['id'];}return db[_0x84db('0x46')]['find']({'where':{'id':_0x495251[_0x84db('0x4b')]['id']}})[_0x84db('0x27')](handleEntityNotFound(_0x2c2394,null))['then'](saveUpdates(_0x495251['body'],null))['then'](respondWithResult(_0x2c2394,null))[_0x84db('0x4a')](handleError(_0x2c2394,null));};exports[_0x84db('0x4f')]=function(_0x57df19,_0x2107ca){return db[_0x84db('0x46')][_0x84db('0x4d')]({'where':{'id':_0x57df19[_0x84db('0x4b')]['id']}})[_0x84db('0x27')](handleEntityNotFound(_0x2107ca,null))[_0x84db('0x27')](removeEntity(_0x2107ca,null))[_0x84db('0x4a')](handleError(_0x2107ca,null));};