a35d3c6f78cfc56df66f39a6c65c54f3f7861fb7
[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 _0x9d1f=['ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','Content-Range','apply','reject','save','update','then','destroy','error','name','index','map','rawAttributes','fieldName','type','key','model','keys','query','intersection','attributes','fields','length','nolimit','sort','where','filters','filter','merge','VIRTUAL','options','SmsApplication','include','rows','catch','includeAll','create','body','find','params','rimraf','zip-dir','request-promise','moment','mustache','path','ejs','fs-extra','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse'];(function(_0x3ba0be,_0x46d639){var _0x21d7e3=function(_0x185dc6){while(--_0x185dc6){_0x3ba0be['push'](_0x3ba0be['shift']());}};_0x21d7e3(++_0x46d639);}(_0x9d1f,0x10d));var _0xf9d1=function(_0x1c208e,_0x2a0a5b){_0x1c208e=_0x1c208e-0x0;var _0x5104ff=_0x9d1f[_0x1c208e];return _0x5104ff;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xf9d1('0x0'));var zipdir=require(_0xf9d1('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xf9d1('0x2'));var moment=require(_0xf9d1('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xf9d1('0x4'));var util=require('util');var path=require(_0xf9d1('0x5'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xf9d1('0x6'));var fs=require('fs');var fs_extra=require(_0xf9d1('0x7'));var _=require('lodash');var squel=require(_0xf9d1('0x8'));var crypto=require(_0xf9d1('0x9'));var jsforce=require(_0xf9d1('0xa'));var deskjs=require(_0xf9d1('0xb'));var toCsv=require(_0xf9d1('0xc'));var querystring=require(_0xf9d1('0xd'));var Papa=require(_0xf9d1('0xe'));var Redis=require(_0xf9d1('0xf'));var authService=require(_0xf9d1('0x10'));var qs=require(_0xf9d1('0x11'));var as=require(_0xf9d1('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xf9d1('0x13'))(_0xf9d1('0x14'));var utils=require(_0xf9d1('0x15'));var config=require(_0xf9d1('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xf9d1('0x17'))['db'];function respondWithStatusCode(_0x5f345a,_0x58cc5d){_0x58cc5d=_0x58cc5d||0xcc;return function(_0x41da72){if(_0x41da72){return _0x5f345a[_0xf9d1('0x18')](_0x58cc5d);}return _0x5f345a[_0xf9d1('0x19')](_0x58cc5d)[_0xf9d1('0x1a')]();};}function respondWithResult(_0x56eb55,_0x2e7eb5){_0x2e7eb5=_0x2e7eb5||0xc8;return function(_0x142cc8){if(_0x142cc8){return _0x56eb55['status'](_0x2e7eb5)[_0xf9d1('0x1b')](_0x142cc8);}};}function respondWithFilteredResult(_0xf42c22,_0x1608e4){return function(_0x34cf91){if(_0x34cf91){var _0x57958b=typeof _0x1608e4[_0xf9d1('0x1c')]==='undefined'&&typeof _0x1608e4[_0xf9d1('0x1d')]===_0xf9d1('0x1e');var _0x3173f9=_0x34cf91[_0xf9d1('0x1f')];var _0x46e077=_0x57958b?0x0:_0x1608e4[_0xf9d1('0x1c')];var _0x35f177=_0x57958b?_0x34cf91[_0xf9d1('0x1f')]:_0x1608e4[_0xf9d1('0x1c')]+_0x1608e4[_0xf9d1('0x1d')];var _0x59490c;if(_0x35f177>=_0x3173f9){_0x35f177=_0x3173f9;_0x59490c=0xc8;}else{_0x59490c=0xce;}_0xf42c22[_0xf9d1('0x19')](_0x59490c);return _0xf42c22['set'](_0xf9d1('0x20'),_0x46e077+'-'+_0x35f177+'/'+_0x3173f9)[_0xf9d1('0x1b')](_0x34cf91);}return null;};}function patchUpdates(_0x43b02c){return function(_0xc0ba2d){try{jsonpatch[_0xf9d1('0x21')](_0xc0ba2d,_0x43b02c,!![]);}catch(_0x3e55e8){return BPromise[_0xf9d1('0x22')](_0x3e55e8);}return _0xc0ba2d[_0xf9d1('0x23')]();};}function saveUpdates(_0x384c2a,_0x48ee17){return function(_0x7aec38){if(_0x7aec38){return _0x7aec38[_0xf9d1('0x24')](_0x384c2a)[_0xf9d1('0x25')](function(_0x2cd9ab){return _0x2cd9ab;});}return null;};}function removeEntity(_0xe81203,_0x166402){return function(_0x2e2209){if(_0x2e2209){return _0x2e2209[_0xf9d1('0x26')]()[_0xf9d1('0x25')](function(){_0xe81203[_0xf9d1('0x19')](0xcc)[_0xf9d1('0x1a')]();});}};}function handleEntityNotFound(_0x3c36f1,_0x57173d){return function(_0x497ac8){if(!_0x497ac8){_0x3c36f1[_0xf9d1('0x18')](0x194);}return _0x497ac8;};}function handleError(_0xfa35fb,_0x3c3684){_0x3c3684=_0x3c3684||0x1f4;return function(_0x3a67a2){logger[_0xf9d1('0x27')](_0x3a67a2['stack']);if(_0x3a67a2[_0xf9d1('0x28')]){delete _0x3a67a2[_0xf9d1('0x28')];}_0xfa35fb['status'](_0x3c3684)['send'](_0x3a67a2);};}exports[_0xf9d1('0x29')]=function(_0x2bf8e1,_0x467abd){var _0x1adfc2={},_0x6c4bac={},_0x1205ef={'count':0x0,'rows':[]};var _0x5e865d=_[_0xf9d1('0x2a')](db['SmsApplication'][_0xf9d1('0x2b')],function(_0x513dc4){return{'name':_0x513dc4[_0xf9d1('0x2c')],'type':_0x513dc4[_0xf9d1('0x2d')][_0xf9d1('0x2e')]};});_0x6c4bac[_0xf9d1('0x2f')]=_[_0xf9d1('0x2a')](_0x5e865d,_0xf9d1('0x28'));_0x6c4bac['query']=_[_0xf9d1('0x30')](_0x2bf8e1[_0xf9d1('0x31')]);_0x6c4bac['filters']=_[_0xf9d1('0x32')](_0x6c4bac[_0xf9d1('0x2f')],_0x6c4bac['query']);_0x1adfc2[_0xf9d1('0x33')]=_[_0xf9d1('0x32')](_0x6c4bac['model'],qs['fields'](_0x2bf8e1[_0xf9d1('0x31')][_0xf9d1('0x34')]));_0x1adfc2[_0xf9d1('0x33')]=_0x1adfc2[_0xf9d1('0x33')][_0xf9d1('0x35')]?_0x1adfc2['attributes']:_0x6c4bac[_0xf9d1('0x2f')];if(!_0x2bf8e1[_0xf9d1('0x31')]['hasOwnProperty'](_0xf9d1('0x36'))){_0x1adfc2[_0xf9d1('0x1d')]=qs[_0xf9d1('0x1d')](_0x2bf8e1['query'][_0xf9d1('0x1d')]);_0x1adfc2['offset']=qs[_0xf9d1('0x1c')](_0x2bf8e1[_0xf9d1('0x31')][_0xf9d1('0x1c')]);}_0x1adfc2['order']=qs['sort'](_0x2bf8e1['query'][_0xf9d1('0x37')]);_0x1adfc2[_0xf9d1('0x38')]=qs['filters'](_['pick'](_0x2bf8e1[_0xf9d1('0x31')],_0x6c4bac[_0xf9d1('0x39')]),_0x5e865d);if(_0x2bf8e1[_0xf9d1('0x31')][_0xf9d1('0x3a')]){_0x1adfc2[_0xf9d1('0x38')]=_[_0xf9d1('0x3b')](_0x1adfc2[_0xf9d1('0x38')],{'$or':_[_0xf9d1('0x2a')](_0x5e865d,function(_0x3615fe){if(_0x3615fe[_0xf9d1('0x2d')]!==_0xf9d1('0x3c')){var _0x1f6268={};_0x1f6268[_0x3615fe['name']]={'$like':'%'+_0x2bf8e1['query'][_0xf9d1('0x3a')]+'%'};return _0x1f6268;}})});}_0x1adfc2=_['merge']({},_0x1adfc2,_0x2bf8e1[_0xf9d1('0x3d')]);var _0x137256={'where':_0x1adfc2[_0xf9d1('0x38')]};return db[_0xf9d1('0x3e')][_0xf9d1('0x1f')](_0x137256)['then'](function(_0x27bab6){_0x1205ef[_0xf9d1('0x1f')]=_0x27bab6;if(_0x2bf8e1[_0xf9d1('0x31')]['includeAll']){_0x1adfc2[_0xf9d1('0x3f')]=[{'all':!![]}];}return db[_0xf9d1('0x3e')]['findAll'](_0x1adfc2);})[_0xf9d1('0x25')](function(_0x4c9a0e){_0x1205ef[_0xf9d1('0x40')]=_0x4c9a0e;return _0x1205ef;})[_0xf9d1('0x25')](respondWithFilteredResult(_0x467abd,_0x1adfc2))[_0xf9d1('0x41')](handleError(_0x467abd,null));};exports['show']=function(_0x46bc9b,_0x518532){var _0x473e20={'raw':!![],'where':{'id':_0x46bc9b['params']['id']}},_0x1aed65={};_0x1aed65[_0xf9d1('0x2f')]=_[_0xf9d1('0x30')](db[_0xf9d1('0x3e')][_0xf9d1('0x2b')]);_0x1aed65[_0xf9d1('0x31')]=_['keys'](_0x46bc9b['query']);_0x1aed65[_0xf9d1('0x39')]=_[_0xf9d1('0x32')](_0x1aed65[_0xf9d1('0x2f')],_0x1aed65[_0xf9d1('0x31')]);_0x473e20[_0xf9d1('0x33')]=_['intersection'](_0x1aed65[_0xf9d1('0x2f')],qs['fields'](_0x46bc9b[_0xf9d1('0x31')][_0xf9d1('0x34')]));_0x473e20[_0xf9d1('0x33')]=_0x473e20[_0xf9d1('0x33')]['length']?_0x473e20[_0xf9d1('0x33')]:_0x1aed65[_0xf9d1('0x2f')];if(_0x46bc9b[_0xf9d1('0x31')][_0xf9d1('0x42')]){_0x473e20[_0xf9d1('0x3f')]=[{'all':!![]}];}_0x473e20=_[_0xf9d1('0x3b')]({},_0x473e20,_0x46bc9b[_0xf9d1('0x3d')]);return db[_0xf9d1('0x3e')]['find'](_0x473e20)[_0xf9d1('0x25')](handleEntityNotFound(_0x518532,null))['then'](respondWithResult(_0x518532,null))['catch'](handleError(_0x518532,null));};exports[_0xf9d1('0x43')]=function(_0x16979f,_0x300f01){return db[_0xf9d1('0x3e')][_0xf9d1('0x43')](_0x16979f['body'],{})[_0xf9d1('0x25')](respondWithResult(_0x300f01,0xc9))['catch'](handleError(_0x300f01,null));};exports['update']=function(_0xb3e957,_0x295607){if(_0xb3e957['body']['id']){delete _0xb3e957[_0xf9d1('0x44')]['id'];}return db[_0xf9d1('0x3e')][_0xf9d1('0x45')]({'where':{'id':_0xb3e957[_0xf9d1('0x46')]['id']}})['then'](handleEntityNotFound(_0x295607,null))[_0xf9d1('0x25')](saveUpdates(_0xb3e957[_0xf9d1('0x44')],null))[_0xf9d1('0x25')](respondWithResult(_0x295607,null))[_0xf9d1('0x41')](handleError(_0x295607,null));};exports[_0xf9d1('0x26')]=function(_0x48a919,_0x14c35c){return db['SmsApplication'][_0xf9d1('0x45')]({'where':{'id':_0x48a919['params']['id']}})[_0xf9d1('0x25')](handleEntityNotFound(_0x14c35c,null))['then'](removeEntity(_0x14c35c,null))['catch'](handleError(_0x14c35c,null));};