184bfd09477447ed054c21dd88c6e3bc0c30ccb4
[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 _0xb393=['then','error','stack','name','send','index','map','SmsApplication','rawAttributes','fieldName','type','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','pick','filter','merge','count','includeAll','include','findAll','rows','catch','show','params','create','body','find','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','status','json','offset','undefined','limit','Content-Range','apply','update'];(function(_0x1f7d23,_0x351ffa){var _0x1bd3f7=function(_0x4b6b06){while(--_0x4b6b06){_0x1f7d23['push'](_0x1f7d23['shift']());}};_0x1bd3f7(++_0x351ffa);}(_0xb393,0xf1));var _0x3b39=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xb393[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x3b39('0x0'));var rp=require(_0x3b39('0x1'));var moment=require(_0x3b39('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x3b39('0x3'));var util=require(_0x3b39('0x4'));var path=require(_0x3b39('0x5'));var sox=require(_0x3b39('0x6'));var csv=require(_0x3b39('0x7'));var ejs=require(_0x3b39('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x3b39('0x9'));var squel=require('squel');var crypto=require(_0x3b39('0xa'));var jsforce=require(_0x3b39('0xb'));var deskjs=require(_0x3b39('0xc'));var toCsv=require(_0x3b39('0x7'));var querystring=require('querystring');var Papa=require(_0x3b39('0xd'));var Redis=require(_0x3b39('0xe'));var authService=require(_0x3b39('0xf'));var qs=require(_0x3b39('0x10'));var as=require(_0x3b39('0x11'));var hardwareService=require(_0x3b39('0x12'));var logger=require(_0x3b39('0x13'))(_0x3b39('0x14'));var utils=require(_0x3b39('0x15'));var config=require(_0x3b39('0x16'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3bec84,_0x243dd2){_0x243dd2=_0x243dd2||0xcc;return function(_0x5cb74c){if(_0x5cb74c){return _0x3bec84['sendStatus'](_0x243dd2);}return _0x3bec84[_0x3b39('0x17')](_0x243dd2)['end']();};}function respondWithResult(_0x50d5d7,_0x1b2171){_0x1b2171=_0x1b2171||0xc8;return function(_0x563cce){if(_0x563cce){return _0x50d5d7[_0x3b39('0x17')](_0x1b2171)[_0x3b39('0x18')](_0x563cce);}};}function respondWithFilteredResult(_0xcc0dcf,_0x5259ea){return function(_0xf9a73d){if(_0xf9a73d){var _0x395705=typeof _0x5259ea[_0x3b39('0x19')]===_0x3b39('0x1a')&&typeof _0x5259ea['limit']===_0x3b39('0x1a');var _0x3c9929=_0xf9a73d['count'];var _0x2742bf=_0x395705?0x0:_0x5259ea['offset'];var _0x458684=_0x395705?_0xf9a73d['count']:_0x5259ea[_0x3b39('0x19')]+_0x5259ea[_0x3b39('0x1b')];var _0x42de02;if(_0x458684>=_0x3c9929){_0x458684=_0x3c9929;_0x42de02=0xc8;}else{_0x42de02=0xce;}_0xcc0dcf[_0x3b39('0x17')](_0x42de02);return _0xcc0dcf['set'](_0x3b39('0x1c'),_0x2742bf+'-'+_0x458684+'/'+_0x3c9929)[_0x3b39('0x18')](_0xf9a73d);}return null;};}function patchUpdates(_0x48689d){return function(_0x4d7bae){try{jsonpatch[_0x3b39('0x1d')](_0x4d7bae,_0x48689d,!![]);}catch(_0x220a4b){return BPromise['reject'](_0x220a4b);}return _0x4d7bae['save']();};}function saveUpdates(_0x30fe05,_0x19f1c6){return function(_0x214c5c){if(_0x214c5c){return _0x214c5c[_0x3b39('0x1e')](_0x30fe05)[_0x3b39('0x1f')](function(_0x1a2760){return _0x1a2760;});}return null;};}function removeEntity(_0x20e4b3,_0x38a67f){return function(_0x3f4d92){if(_0x3f4d92){return _0x3f4d92['destroy']()['then'](function(){_0x20e4b3[_0x3b39('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1cce41,_0x2046ef){return function(_0x18f1cd){if(!_0x18f1cd){_0x1cce41['sendStatus'](0x194);}return _0x18f1cd;};}function handleError(_0x223bea,_0x1d42e2){_0x1d42e2=_0x1d42e2||0x1f4;return function(_0x29d231){logger[_0x3b39('0x20')](_0x29d231[_0x3b39('0x21')]);if(_0x29d231[_0x3b39('0x22')]){delete _0x29d231[_0x3b39('0x22')];}_0x223bea[_0x3b39('0x17')](_0x1d42e2)[_0x3b39('0x23')](_0x29d231);};}exports[_0x3b39('0x24')]=function(_0x306284,_0x5494e9){var _0x38eca={},_0x1985ff={},_0x329285={'count':0x0,'rows':[]};var _0x6a5593=_[_0x3b39('0x25')](db[_0x3b39('0x26')][_0x3b39('0x27')],function(_0x1c85bd){return{'name':_0x1c85bd[_0x3b39('0x28')],'type':_0x1c85bd[_0x3b39('0x29')]['key']};});_0x1985ff[_0x3b39('0x2a')]=_['map'](_0x6a5593,_0x3b39('0x22'));_0x1985ff[_0x3b39('0x2b')]=_[_0x3b39('0x2c')](_0x306284[_0x3b39('0x2b')]);_0x1985ff[_0x3b39('0x2d')]=_[_0x3b39('0x2e')](_0x1985ff[_0x3b39('0x2a')],_0x1985ff['query']);_0x38eca['attributes']=_[_0x3b39('0x2e')](_0x1985ff[_0x3b39('0x2a')],qs[_0x3b39('0x2f')](_0x306284[_0x3b39('0x2b')][_0x3b39('0x2f')]));_0x38eca[_0x3b39('0x30')]=_0x38eca[_0x3b39('0x30')][_0x3b39('0x31')]?_0x38eca[_0x3b39('0x30')]:_0x1985ff[_0x3b39('0x2a')];if(!_0x306284[_0x3b39('0x2b')][_0x3b39('0x32')]('nolimit')){_0x38eca[_0x3b39('0x1b')]=qs[_0x3b39('0x1b')](_0x306284[_0x3b39('0x2b')][_0x3b39('0x1b')]);_0x38eca[_0x3b39('0x19')]=qs[_0x3b39('0x19')](_0x306284[_0x3b39('0x2b')][_0x3b39('0x19')]);}_0x38eca[_0x3b39('0x33')]=qs['sort'](_0x306284[_0x3b39('0x2b')][_0x3b39('0x34')]);_0x38eca[_0x3b39('0x35')]=qs[_0x3b39('0x2d')](_[_0x3b39('0x36')](_0x306284[_0x3b39('0x2b')],_0x1985ff[_0x3b39('0x2d')]),_0x6a5593);if(_0x306284[_0x3b39('0x2b')][_0x3b39('0x37')]){_0x38eca['where']=_[_0x3b39('0x38')](_0x38eca[_0x3b39('0x35')],{'$or':_['map'](_0x6a5593,function(_0x57310f){if(_0x57310f[_0x3b39('0x29')]!=='VIRTUAL'){var _0x263c58={};_0x263c58[_0x57310f['name']]={'$like':'%'+_0x306284[_0x3b39('0x2b')]['filter']+'%'};return _0x263c58;}})});}_0x38eca=_[_0x3b39('0x38')]({},_0x38eca,_0x306284['options']);var _0x32ee36={'where':_0x38eca['where']};return db[_0x3b39('0x26')][_0x3b39('0x39')](_0x32ee36)[_0x3b39('0x1f')](function(_0x3a6dce){_0x329285['count']=_0x3a6dce;if(_0x306284['query'][_0x3b39('0x3a')]){_0x38eca[_0x3b39('0x3b')]=[{'all':!![]}];}return db[_0x3b39('0x26')][_0x3b39('0x3c')](_0x38eca);})[_0x3b39('0x1f')](function(_0x4e4506){_0x329285[_0x3b39('0x3d')]=_0x4e4506;return _0x329285;})[_0x3b39('0x1f')](respondWithFilteredResult(_0x5494e9,_0x38eca))[_0x3b39('0x3e')](handleError(_0x5494e9,null));};exports[_0x3b39('0x3f')]=function(_0x52ccc7,_0xb817c3){var _0x2b2d59={'raw':!![],'where':{'id':_0x52ccc7[_0x3b39('0x40')]['id']}},_0x38a7c6={};_0x38a7c6[_0x3b39('0x2a')]=_[_0x3b39('0x2c')](db[_0x3b39('0x26')][_0x3b39('0x27')]);_0x38a7c6[_0x3b39('0x2b')]=_[_0x3b39('0x2c')](_0x52ccc7['query']);_0x38a7c6[_0x3b39('0x2d')]=_['intersection'](_0x38a7c6['model'],_0x38a7c6[_0x3b39('0x2b')]);_0x2b2d59[_0x3b39('0x30')]=_[_0x3b39('0x2e')](_0x38a7c6['model'],qs['fields'](_0x52ccc7[_0x3b39('0x2b')][_0x3b39('0x2f')]));_0x2b2d59['attributes']=_0x2b2d59[_0x3b39('0x30')]['length']?_0x2b2d59['attributes']:_0x38a7c6[_0x3b39('0x2a')];if(_0x52ccc7[_0x3b39('0x2b')][_0x3b39('0x3a')]){_0x2b2d59[_0x3b39('0x3b')]=[{'all':!![]}];}_0x2b2d59=_[_0x3b39('0x38')]({},_0x2b2d59,_0x52ccc7['options']);return db[_0x3b39('0x26')]['find'](_0x2b2d59)['then'](handleEntityNotFound(_0xb817c3,null))['then'](respondWithResult(_0xb817c3,null))[_0x3b39('0x3e')](handleError(_0xb817c3,null));};exports['create']=function(_0xe3521f,_0x39d38f){return db['SmsApplication'][_0x3b39('0x41')](_0xe3521f['body'],{})[_0x3b39('0x1f')](respondWithResult(_0x39d38f,0xc9))[_0x3b39('0x3e')](handleError(_0x39d38f,null));};exports[_0x3b39('0x1e')]=function(_0x350c57,_0x388054){if(_0x350c57[_0x3b39('0x42')]['id']){delete _0x350c57[_0x3b39('0x42')]['id'];}return db[_0x3b39('0x26')][_0x3b39('0x43')]({'where':{'id':_0x350c57[_0x3b39('0x40')]['id']}})[_0x3b39('0x1f')](handleEntityNotFound(_0x388054,null))[_0x3b39('0x1f')](saveUpdates(_0x350c57[_0x3b39('0x42')],null))[_0x3b39('0x1f')](respondWithResult(_0x388054,null))[_0x3b39('0x3e')](handleError(_0x388054,null));};exports['destroy']=function(_0x4a8300,_0x1bf085){return db[_0x3b39('0x26')][_0x3b39('0x43')]({'where':{'id':_0x4a8300[_0x3b39('0x40')]['id']}})[_0x3b39('0x1f')](handleEntityNotFound(_0x1bf085,null))[_0x3b39('0x1f')](removeEntity(_0x1bf085,null))[_0x3b39('0x3e')](handleError(_0x1bf085,null));};