Built motion from commit b5413ace.|2.6.9
[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 _0x9bbc=['params','SmsApplication','rawAttributes','include','find','create','body','catch','rimraf','fast-json-patch','request-promise','moment','mustache','util','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','set','Content-Range','apply','reject','save','update','destroy','then','error','stack','name','send','fieldName','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','where','VIRTUAL','filter','merge','options','count','includeAll','findAll','rows','show'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0x9bbc,0x175));var _0xc9bb=function(_0x323062,_0x126ee3){_0x323062=_0x323062-0x0;var _0x59f0f5=_0x9bbc[_0x323062];return _0x59f0f5;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xc9bb('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc9bb('0x1'));var rp=require(_0xc9bb('0x2'));var moment=require(_0xc9bb('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xc9bb('0x4'));var util=require(_0xc9bb('0x5'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xc9bb('0x6'));var fs=require('fs');var fs_extra=require(_0xc9bb('0x7'));var _=require(_0xc9bb('0x8'));var squel=require(_0xc9bb('0x9'));var crypto=require(_0xc9bb('0xa'));var jsforce=require(_0xc9bb('0xb'));var deskjs=require(_0xc9bb('0xc'));var toCsv=require(_0xc9bb('0xd'));var querystring=require('querystring');var Papa=require(_0xc9bb('0xe'));var Redis=require(_0xc9bb('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xc9bb('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xc9bb('0x11'))('api');var utils=require(_0xc9bb('0x12'));var config=require('../../config/environment');var licenseUtil=require(_0xc9bb('0x13'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3d262f,_0x16f890){_0x16f890=_0x16f890||0xcc;return function(_0x537607){if(_0x537607){return _0x3d262f[_0xc9bb('0x14')](_0x16f890);}return _0x3d262f[_0xc9bb('0x15')](_0x16f890)[_0xc9bb('0x16')]();};}function respondWithResult(_0x3e844a,_0x48074a){_0x48074a=_0x48074a||0xc8;return function(_0x129913){if(_0x129913){return _0x3e844a[_0xc9bb('0x15')](_0x48074a)[_0xc9bb('0x17')](_0x129913);}};}function respondWithFilteredResult(_0x46dd1f,_0x4fcc68){return function(_0x136f83){if(_0x136f83){var _0x2d52a1=typeof _0x4fcc68[_0xc9bb('0x18')]===_0xc9bb('0x19')&&typeof _0x4fcc68[_0xc9bb('0x1a')]===_0xc9bb('0x19');var _0x48c4bc=_0x136f83['count'];var _0x4865cf=_0x2d52a1?0x0:_0x4fcc68[_0xc9bb('0x18')];var _0x1f6962=_0x2d52a1?_0x136f83['count']:_0x4fcc68[_0xc9bb('0x18')]+_0x4fcc68[_0xc9bb('0x1a')];var _0xaf68e6;if(_0x1f6962>=_0x48c4bc){_0x1f6962=_0x48c4bc;_0xaf68e6=0xc8;}else{_0xaf68e6=0xce;}_0x46dd1f['status'](_0xaf68e6);return _0x46dd1f[_0xc9bb('0x1b')](_0xc9bb('0x1c'),_0x4865cf+'-'+_0x1f6962+'/'+_0x48c4bc)['json'](_0x136f83);}return null;};}function patchUpdates(_0x422108){return function(_0x58ec52){try{jsonpatch[_0xc9bb('0x1d')](_0x58ec52,_0x422108,!![]);}catch(_0x4a205d){return BPromise[_0xc9bb('0x1e')](_0x4a205d);}return _0x58ec52[_0xc9bb('0x1f')]();};}function saveUpdates(_0x2a8633,_0x34697c){return function(_0xfc09d6){if(_0xfc09d6){return _0xfc09d6[_0xc9bb('0x20')](_0x2a8633)['then'](function(_0x80ae63){return _0x80ae63;});}return null;};}function removeEntity(_0x689f7,_0x235326){return function(_0x2f2867){if(_0x2f2867){return _0x2f2867[_0xc9bb('0x21')]()[_0xc9bb('0x22')](function(){_0x689f7[_0xc9bb('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0x444e22,_0x490545){return function(_0x4a8ae2){if(!_0x4a8ae2){_0x444e22[_0xc9bb('0x14')](0x194);}return _0x4a8ae2;};}function handleError(_0x300b94,_0x3f43e1){_0x3f43e1=_0x3f43e1||0x1f4;return function(_0xe50eee){logger[_0xc9bb('0x23')](_0xe50eee[_0xc9bb('0x24')]);if(_0xe50eee['name']){delete _0xe50eee[_0xc9bb('0x25')];}_0x300b94[_0xc9bb('0x15')](_0x3f43e1)[_0xc9bb('0x26')](_0xe50eee);};}exports['index']=function(_0x5620f0,_0x28e928){var _0x4eeb60={},_0x152a28={},_0x4f6429={'count':0x0,'rows':[]};var _0x160d0b=_['map'](db['SmsApplication']['rawAttributes'],function(_0x4a651f){return{'name':_0x4a651f[_0xc9bb('0x27')],'type':_0x4a651f['type'][_0xc9bb('0x28')]};});_0x152a28[_0xc9bb('0x29')]=_[_0xc9bb('0x2a')](_0x160d0b,'name');_0x152a28[_0xc9bb('0x2b')]=_[_0xc9bb('0x2c')](_0x5620f0[_0xc9bb('0x2b')]);_0x152a28[_0xc9bb('0x2d')]=_[_0xc9bb('0x2e')](_0x152a28['model'],_0x152a28[_0xc9bb('0x2b')]);_0x4eeb60[_0xc9bb('0x2f')]=_['intersection'](_0x152a28[_0xc9bb('0x29')],qs[_0xc9bb('0x30')](_0x5620f0['query'][_0xc9bb('0x30')]));_0x4eeb60['attributes']=_0x4eeb60[_0xc9bb('0x2f')][_0xc9bb('0x31')]?_0x4eeb60['attributes']:_0x152a28[_0xc9bb('0x29')];if(!_0x5620f0[_0xc9bb('0x2b')][_0xc9bb('0x32')](_0xc9bb('0x33'))){_0x4eeb60[_0xc9bb('0x1a')]=qs[_0xc9bb('0x1a')](_0x5620f0[_0xc9bb('0x2b')]['limit']);_0x4eeb60[_0xc9bb('0x18')]=qs['offset'](_0x5620f0[_0xc9bb('0x2b')][_0xc9bb('0x18')]);}_0x4eeb60[_0xc9bb('0x34')]=qs['sort'](_0x5620f0[_0xc9bb('0x2b')][_0xc9bb('0x35')]);_0x4eeb60['where']=qs[_0xc9bb('0x2d')](_[_0xc9bb('0x36')](_0x5620f0[_0xc9bb('0x2b')],_0x152a28[_0xc9bb('0x2d')]),_0x160d0b);if(_0x5620f0[_0xc9bb('0x2b')]['filter']){_0x4eeb60[_0xc9bb('0x37')]=_['merge'](_0x4eeb60['where'],{'$or':_[_0xc9bb('0x2a')](_0x160d0b,function(_0x30d0cc){if(_0x30d0cc['type']!==_0xc9bb('0x38')){var _0x13f9f3={};_0x13f9f3[_0x30d0cc[_0xc9bb('0x25')]]={'$like':'%'+_0x5620f0[_0xc9bb('0x2b')][_0xc9bb('0x39')]+'%'};return _0x13f9f3;}})});}_0x4eeb60=_[_0xc9bb('0x3a')]({},_0x4eeb60,_0x5620f0[_0xc9bb('0x3b')]);var _0x46e304={'where':_0x4eeb60[_0xc9bb('0x37')]};return db['SmsApplication'][_0xc9bb('0x3c')](_0x46e304)[_0xc9bb('0x22')](function(_0x2c414a){_0x4f6429['count']=_0x2c414a;if(_0x5620f0[_0xc9bb('0x2b')][_0xc9bb('0x3d')]){_0x4eeb60['include']=[{'all':!![]}];}return db['SmsApplication'][_0xc9bb('0x3e')](_0x4eeb60);})['then'](function(_0x363a63){_0x4f6429[_0xc9bb('0x3f')]=_0x363a63;return _0x4f6429;})[_0xc9bb('0x22')](respondWithFilteredResult(_0x28e928,_0x4eeb60))['catch'](handleError(_0x28e928,null));};exports[_0xc9bb('0x40')]=function(_0x3fe3f3,_0x1e3285){var _0x464d92={'raw':!![],'where':{'id':_0x3fe3f3[_0xc9bb('0x41')]['id']}},_0x34e543={};_0x34e543[_0xc9bb('0x29')]=_[_0xc9bb('0x2c')](db[_0xc9bb('0x42')][_0xc9bb('0x43')]);_0x34e543['query']=_[_0xc9bb('0x2c')](_0x3fe3f3['query']);_0x34e543[_0xc9bb('0x2d')]=_['intersection'](_0x34e543[_0xc9bb('0x29')],_0x34e543[_0xc9bb('0x2b')]);_0x464d92[_0xc9bb('0x2f')]=_[_0xc9bb('0x2e')](_0x34e543[_0xc9bb('0x29')],qs[_0xc9bb('0x30')](_0x3fe3f3[_0xc9bb('0x2b')][_0xc9bb('0x30')]));_0x464d92[_0xc9bb('0x2f')]=_0x464d92[_0xc9bb('0x2f')]['length']?_0x464d92[_0xc9bb('0x2f')]:_0x34e543[_0xc9bb('0x29')];if(_0x3fe3f3['query'][_0xc9bb('0x3d')]){_0x464d92[_0xc9bb('0x44')]=[{'all':!![]}];}_0x464d92=_[_0xc9bb('0x3a')]({},_0x464d92,_0x3fe3f3[_0xc9bb('0x3b')]);return db[_0xc9bb('0x42')][_0xc9bb('0x45')](_0x464d92)[_0xc9bb('0x22')](handleEntityNotFound(_0x1e3285,null))[_0xc9bb('0x22')](respondWithResult(_0x1e3285,null))['catch'](handleError(_0x1e3285,null));};exports[_0xc9bb('0x46')]=function(_0x59d944,_0x1618d3){return db['SmsApplication']['create'](_0x59d944[_0xc9bb('0x47')],{})['then'](respondWithResult(_0x1618d3,0xc9))[_0xc9bb('0x48')](handleError(_0x1618d3,null));};exports[_0xc9bb('0x20')]=function(_0x2b178b,_0x1b3411){if(_0x2b178b['body']['id']){delete _0x2b178b[_0xc9bb('0x47')]['id'];}return db[_0xc9bb('0x42')][_0xc9bb('0x45')]({'where':{'id':_0x2b178b[_0xc9bb('0x41')]['id']}})['then'](handleEntityNotFound(_0x1b3411,null))[_0xc9bb('0x22')](saveUpdates(_0x2b178b['body'],null))[_0xc9bb('0x22')](respondWithResult(_0x1b3411,null))[_0xc9bb('0x48')](handleError(_0x1b3411,null));};exports[_0xc9bb('0x21')]=function(_0xed8b6,_0x37b13d){return db[_0xc9bb('0x42')][_0xc9bb('0x45')]({'where':{'id':_0xed8b6[_0xc9bb('0x41')]['id']}})[_0xc9bb('0x22')](handleEntityNotFound(_0x37b13d,null))['then'](removeEntity(_0x37b13d,null))[_0xc9bb('0x48')](handleError(_0x37b13d,null));};