af416c71433af0c0b054c42ad634f1a01c104cb6
[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 _0x82b6=['destroy','stack','name','send','index','map','SmsApplication','fieldName','query','keys','intersection','fields','attributes','model','nolimit','order','sort','where','filters','pick','merge','type','VIRTUAL','options','findAll','catch','show','rawAttributes','length','include','find','create','body','params','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','squel','jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','apply','save','update','then'];(function(_0x2958a7,_0x569f19){var _0x1e0865=function(_0x230883){while(--_0x230883){_0x2958a7['push'](_0x2958a7['shift']());}};_0x1e0865(++_0x569f19);}(_0x82b6,0x185));var _0x682b=function(_0x4d8dc3,_0x585fd1){_0x4d8dc3=_0x4d8dc3-0x0;var _0x9b03d9=_0x82b6[_0x4d8dc3];return _0x9b03d9;};'use strict';var emlformat=require(_0x682b('0x0'));var rimraf=require(_0x682b('0x1'));var zipdir=require(_0x682b('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x682b('0x3'));var moment=require(_0x682b('0x4'));var BPromise=require(_0x682b('0x5'));var Mustache=require(_0x682b('0x6'));var util=require(_0x682b('0x7'));var path=require(_0x682b('0x8'));var sox=require('sox');var csv=require(_0x682b('0x9'));var ejs=require(_0x682b('0xa'));var fs=require('fs');var fs_extra=require(_0x682b('0xb'));var _=require('lodash');var squel=require(_0x682b('0xc'));var crypto=require('crypto');var jsforce=require(_0x682b('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x682b('0x9'));var querystring=require(_0x682b('0xe'));var Papa=require(_0x682b('0xf'));var Redis=require(_0x682b('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x682b('0x11'));var as=require(_0x682b('0x12'));var hardwareService=require(_0x682b('0x13'));var logger=require(_0x682b('0x14'))('api');var utils=require(_0x682b('0x15'));var config=require(_0x682b('0x16'));var licenseUtil=require(_0x682b('0x17'));var db=require(_0x682b('0x18'))['db'];function respondWithStatusCode(_0x1449a5,_0x16179a){_0x16179a=_0x16179a||0xcc;return function(_0x4e24fe){if(_0x4e24fe){return _0x1449a5[_0x682b('0x19')](_0x16179a);}return _0x1449a5['status'](_0x16179a)[_0x682b('0x1a')]();};}function respondWithResult(_0x5504ec,_0xe3d5a9){_0xe3d5a9=_0xe3d5a9||0xc8;return function(_0x1c89f2){if(_0x1c89f2){return _0x5504ec[_0x682b('0x1b')](_0xe3d5a9)[_0x682b('0x1c')](_0x1c89f2);}};}function respondWithFilteredResult(_0x1bb8dd,_0x244f38){return function(_0x417a90){if(_0x417a90){var _0x3e0918=typeof _0x244f38[_0x682b('0x1d')]===_0x682b('0x1e')&&typeof _0x244f38[_0x682b('0x1f')]===_0x682b('0x1e');var _0x15072f=_0x417a90[_0x682b('0x20')];var _0x49b293=_0x3e0918?0x0:_0x244f38[_0x682b('0x1d')];var _0x4e6149=_0x3e0918?_0x417a90['count']:_0x244f38['offset']+_0x244f38[_0x682b('0x1f')];var _0x106e43;if(_0x4e6149>=_0x15072f){_0x4e6149=_0x15072f;_0x106e43=0xc8;}else{_0x106e43=0xce;}_0x1bb8dd[_0x682b('0x1b')](_0x106e43);return _0x1bb8dd['set']('Content-Range',_0x49b293+'-'+_0x4e6149+'/'+_0x15072f)[_0x682b('0x1c')](_0x417a90);}return null;};}function patchUpdates(_0x39a41e){return function(_0x5151df){try{jsonpatch[_0x682b('0x21')](_0x5151df,_0x39a41e,!![]);}catch(_0x23ac89){return BPromise['reject'](_0x23ac89);}return _0x5151df[_0x682b('0x22')]();};}function saveUpdates(_0x5f2fb1,_0x19401f){return function(_0x240d4d){if(_0x240d4d){return _0x240d4d[_0x682b('0x23')](_0x5f2fb1)[_0x682b('0x24')](function(_0x336f1d){return _0x336f1d;});}return null;};}function removeEntity(_0x3ccaa9,_0x268e82){return function(_0x12303f){if(_0x12303f){return _0x12303f[_0x682b('0x25')]()[_0x682b('0x24')](function(){_0x3ccaa9[_0x682b('0x1b')](0xcc)[_0x682b('0x1a')]();});}};}function handleEntityNotFound(_0x2cedee,_0x14d85b){return function(_0x5a3dfa){if(!_0x5a3dfa){_0x2cedee[_0x682b('0x19')](0x194);}return _0x5a3dfa;};}function handleError(_0x1e7e97,_0x38b7be){_0x38b7be=_0x38b7be||0x1f4;return function(_0x1f80fd){logger['error'](_0x1f80fd[_0x682b('0x26')]);if(_0x1f80fd[_0x682b('0x27')]){delete _0x1f80fd[_0x682b('0x27')];}_0x1e7e97[_0x682b('0x1b')](_0x38b7be)[_0x682b('0x28')](_0x1f80fd);};}exports[_0x682b('0x29')]=function(_0x6f6817,_0x2b337a){var _0x5513b6={},_0x2fedb8={},_0x3d1039={'count':0x0,'rows':[]};var _0x22a52e=_[_0x682b('0x2a')](db[_0x682b('0x2b')]['rawAttributes'],function(_0x16fff1){return{'name':_0x16fff1[_0x682b('0x2c')],'type':_0x16fff1['type']['key']};});_0x2fedb8['model']=_[_0x682b('0x2a')](_0x22a52e,_0x682b('0x27'));_0x2fedb8[_0x682b('0x2d')]=_[_0x682b('0x2e')](_0x6f6817[_0x682b('0x2d')]);_0x2fedb8['filters']=_[_0x682b('0x2f')](_0x2fedb8['model'],_0x2fedb8[_0x682b('0x2d')]);_0x5513b6['attributes']=_[_0x682b('0x2f')](_0x2fedb8['model'],qs[_0x682b('0x30')](_0x6f6817[_0x682b('0x2d')][_0x682b('0x30')]));_0x5513b6['attributes']=_0x5513b6[_0x682b('0x31')]['length']?_0x5513b6[_0x682b('0x31')]:_0x2fedb8[_0x682b('0x32')];if(!_0x6f6817[_0x682b('0x2d')]['hasOwnProperty'](_0x682b('0x33'))){_0x5513b6[_0x682b('0x1f')]=qs[_0x682b('0x1f')](_0x6f6817['query']['limit']);_0x5513b6[_0x682b('0x1d')]=qs[_0x682b('0x1d')](_0x6f6817['query'][_0x682b('0x1d')]);}_0x5513b6[_0x682b('0x34')]=qs[_0x682b('0x35')](_0x6f6817[_0x682b('0x2d')][_0x682b('0x35')]);_0x5513b6[_0x682b('0x36')]=qs[_0x682b('0x37')](_[_0x682b('0x38')](_0x6f6817['query'],_0x2fedb8[_0x682b('0x37')]),_0x22a52e);if(_0x6f6817['query']['filter']){_0x5513b6[_0x682b('0x36')]=_[_0x682b('0x39')](_0x5513b6[_0x682b('0x36')],{'$or':_[_0x682b('0x2a')](_0x22a52e,function(_0x8d8467){if(_0x8d8467[_0x682b('0x3a')]!==_0x682b('0x3b')){var _0x359902={};_0x359902[_0x8d8467[_0x682b('0x27')]]={'$like':'%'+_0x6f6817[_0x682b('0x2d')]['filter']+'%'};return _0x359902;}})});}_0x5513b6=_[_0x682b('0x39')]({},_0x5513b6,_0x6f6817[_0x682b('0x3c')]);var _0x4ee216={'where':_0x5513b6['where']};return db[_0x682b('0x2b')][_0x682b('0x20')](_0x4ee216)[_0x682b('0x24')](function(_0x37db82){_0x3d1039['count']=_0x37db82;if(_0x6f6817[_0x682b('0x2d')]['includeAll']){_0x5513b6['include']=[{'all':!![]}];}return db['SmsApplication'][_0x682b('0x3d')](_0x5513b6);})['then'](function(_0x306b36){_0x3d1039['rows']=_0x306b36;return _0x3d1039;})[_0x682b('0x24')](respondWithFilteredResult(_0x2b337a,_0x5513b6))[_0x682b('0x3e')](handleError(_0x2b337a,null));};exports[_0x682b('0x3f')]=function(_0x327c79,_0x1ff534){var _0x194da5={'raw':!![],'where':{'id':_0x327c79['params']['id']}},_0x3ac117={};_0x3ac117[_0x682b('0x32')]=_[_0x682b('0x2e')](db['SmsApplication'][_0x682b('0x40')]);_0x3ac117[_0x682b('0x2d')]=_[_0x682b('0x2e')](_0x327c79[_0x682b('0x2d')]);_0x3ac117[_0x682b('0x37')]=_[_0x682b('0x2f')](_0x3ac117['model'],_0x3ac117[_0x682b('0x2d')]);_0x194da5[_0x682b('0x31')]=_[_0x682b('0x2f')](_0x3ac117[_0x682b('0x32')],qs[_0x682b('0x30')](_0x327c79['query']['fields']));_0x194da5[_0x682b('0x31')]=_0x194da5[_0x682b('0x31')][_0x682b('0x41')]?_0x194da5['attributes']:_0x3ac117[_0x682b('0x32')];if(_0x327c79[_0x682b('0x2d')]['includeAll']){_0x194da5[_0x682b('0x42')]=[{'all':!![]}];}_0x194da5=_[_0x682b('0x39')]({},_0x194da5,_0x327c79[_0x682b('0x3c')]);return db[_0x682b('0x2b')][_0x682b('0x43')](_0x194da5)['then'](handleEntityNotFound(_0x1ff534,null))[_0x682b('0x24')](respondWithResult(_0x1ff534,null))[_0x682b('0x3e')](handleError(_0x1ff534,null));};exports[_0x682b('0x44')]=function(_0x165858,_0x6bb180){return db['SmsApplication'][_0x682b('0x44')](_0x165858[_0x682b('0x45')],{})[_0x682b('0x24')](respondWithResult(_0x6bb180,0xc9))[_0x682b('0x3e')](handleError(_0x6bb180,null));};exports[_0x682b('0x23')]=function(_0x112838,_0x28ae5a){if(_0x112838[_0x682b('0x45')]['id']){delete _0x112838['body']['id'];}return db[_0x682b('0x2b')][_0x682b('0x43')]({'where':{'id':_0x112838[_0x682b('0x46')]['id']}})[_0x682b('0x24')](handleEntityNotFound(_0x28ae5a,null))[_0x682b('0x24')](saveUpdates(_0x112838[_0x682b('0x45')],null))[_0x682b('0x24')](respondWithResult(_0x28ae5a,null))[_0x682b('0x3e')](handleError(_0x28ae5a,null));};exports[_0x682b('0x25')]=function(_0x1dd42f,_0x5d32a9){return db[_0x682b('0x2b')][_0x682b('0x43')]({'where':{'id':_0x1dd42f['params']['id']}})[_0x682b('0x24')](handleEntityNotFound(_0x5d32a9,null))[_0x682b('0x24')](removeEntity(_0x5d32a9,null))[_0x682b('0x3e')](handleError(_0x5d32a9,null));};