94150a3f4d587955fd8367ed2f41d4714f23eb30
[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 _0xf74d=['options','include','findAll','catch','show','params','includeAll','find','create','body','eml-format','rimraf','fast-json-patch','request-promise','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','sendStatus','status','end','offset','limit','undefined','count','set','apply','reject','save','update','destroy','then','error','stack','name','send','map','SmsApplication','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL'];(function(_0xd165df,_0x47825c){var _0x2c5287=function(_0x17b4ba){while(--_0x17b4ba){_0xd165df['push'](_0xd165df['shift']());}};_0x2c5287(++_0x47825c);}(_0xf74d,0x1b4));var _0xdf74=function(_0x286922,_0xe5b722){_0x286922=_0x286922-0x0;var _0x41af43=_0xf74d[_0x286922];return _0x41af43;};'use strict';var emlformat=require(_0xdf74('0x0'));var rimraf=require(_0xdf74('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xdf74('0x2'));var rp=require(_0xdf74('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xdf74('0x4'));var util=require('util');var path=require(_0xdf74('0x5'));var sox=require(_0xdf74('0x6'));var csv=require(_0xdf74('0x7'));var ejs=require(_0xdf74('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xdf74('0x9'));var squel=require(_0xdf74('0xa'));var crypto=require(_0xdf74('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xdf74('0xc'));var toCsv=require('to-csv');var querystring=require(_0xdf74('0xd'));var Papa=require(_0xdf74('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xdf74('0xf'));var as=require(_0xdf74('0x10'));var hardwareService=require(_0xdf74('0x11'));var logger=require('../../config/logger')(_0xdf74('0x12'));var utils=require('../../config/utils');var config=require(_0xdf74('0x13'));var licenseUtil=require(_0xdf74('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x38b954,_0x241f31){_0x241f31=_0x241f31||0xcc;return function(_0x2a12bd){if(_0x2a12bd){return _0x38b954[_0xdf74('0x15')](_0x241f31);}return _0x38b954[_0xdf74('0x16')](_0x241f31)[_0xdf74('0x17')]();};}function respondWithResult(_0x4d1dea,_0x2308bf){_0x2308bf=_0x2308bf||0xc8;return function(_0x2f7b68){if(_0x2f7b68){return _0x4d1dea['status'](_0x2308bf)['json'](_0x2f7b68);}};}function respondWithFilteredResult(_0xd269f8,_0x35c40e){return function(_0x56b80d){if(_0x56b80d){var _0x5c5c7d=typeof _0x35c40e[_0xdf74('0x18')]==='undefined'&&typeof _0x35c40e[_0xdf74('0x19')]===_0xdf74('0x1a');var _0x16f609=_0x56b80d[_0xdf74('0x1b')];var _0x1f40aa=_0x5c5c7d?0x0:_0x35c40e['offset'];var _0x433ff0=_0x5c5c7d?_0x56b80d[_0xdf74('0x1b')]:_0x35c40e[_0xdf74('0x18')]+_0x35c40e['limit'];var _0x5c50b5;if(_0x433ff0>=_0x16f609){_0x433ff0=_0x16f609;_0x5c50b5=0xc8;}else{_0x5c50b5=0xce;}_0xd269f8[_0xdf74('0x16')](_0x5c50b5);return _0xd269f8[_0xdf74('0x1c')]('Content-Range',_0x1f40aa+'-'+_0x433ff0+'/'+_0x16f609)['json'](_0x56b80d);}return null;};}function patchUpdates(_0x41b9a4){return function(_0x46c5bd){try{jsonpatch[_0xdf74('0x1d')](_0x46c5bd,_0x41b9a4,!![]);}catch(_0x185a12){return BPromise[_0xdf74('0x1e')](_0x185a12);}return _0x46c5bd[_0xdf74('0x1f')]();};}function saveUpdates(_0x107aaa,_0x452dc7){return function(_0x3bf8ca){if(_0x3bf8ca){return _0x3bf8ca[_0xdf74('0x20')](_0x107aaa)['then'](function(_0x3d6a92){return _0x3d6a92;});}return null;};}function removeEntity(_0x339014,_0x58d4f5){return function(_0x433890){if(_0x433890){return _0x433890[_0xdf74('0x21')]()[_0xdf74('0x22')](function(){_0x339014[_0xdf74('0x16')](0xcc)[_0xdf74('0x17')]();});}};}function handleEntityNotFound(_0x11c2f5,_0x537bdb){return function(_0x320abb){if(!_0x320abb){_0x11c2f5[_0xdf74('0x15')](0x194);}return _0x320abb;};}function handleError(_0x54435c,_0xe68685){_0xe68685=_0xe68685||0x1f4;return function(_0x3a82a7){logger[_0xdf74('0x23')](_0x3a82a7[_0xdf74('0x24')]);if(_0x3a82a7['name']){delete _0x3a82a7[_0xdf74('0x25')];}_0x54435c['status'](_0xe68685)[_0xdf74('0x26')](_0x3a82a7);};}exports['index']=function(_0xbd00dc,_0x14e032){var _0x4d2c1f={},_0xac3499={},_0x34426a={'count':0x0,'rows':[]};var _0x4dd8c3=_[_0xdf74('0x27')](db[_0xdf74('0x28')][_0xdf74('0x29')],function(_0x1d5b1c){return{'name':_0x1d5b1c[_0xdf74('0x2a')],'type':_0x1d5b1c['type'][_0xdf74('0x2b')]};});_0xac3499[_0xdf74('0x2c')]=_[_0xdf74('0x27')](_0x4dd8c3,_0xdf74('0x25'));_0xac3499[_0xdf74('0x2d')]=_[_0xdf74('0x2e')](_0xbd00dc[_0xdf74('0x2d')]);_0xac3499[_0xdf74('0x2f')]=_[_0xdf74('0x30')](_0xac3499[_0xdf74('0x2c')],_0xac3499[_0xdf74('0x2d')]);_0x4d2c1f[_0xdf74('0x31')]=_[_0xdf74('0x30')](_0xac3499[_0xdf74('0x2c')],qs['fields'](_0xbd00dc[_0xdf74('0x2d')][_0xdf74('0x32')]));_0x4d2c1f[_0xdf74('0x31')]=_0x4d2c1f[_0xdf74('0x31')][_0xdf74('0x33')]?_0x4d2c1f['attributes']:_0xac3499[_0xdf74('0x2c')];if(!_0xbd00dc[_0xdf74('0x2d')][_0xdf74('0x34')](_0xdf74('0x35'))){_0x4d2c1f[_0xdf74('0x19')]=qs[_0xdf74('0x19')](_0xbd00dc[_0xdf74('0x2d')][_0xdf74('0x19')]);_0x4d2c1f[_0xdf74('0x18')]=qs[_0xdf74('0x18')](_0xbd00dc[_0xdf74('0x2d')][_0xdf74('0x18')]);}_0x4d2c1f[_0xdf74('0x36')]=qs[_0xdf74('0x37')](_0xbd00dc['query'][_0xdf74('0x37')]);_0x4d2c1f[_0xdf74('0x38')]=qs[_0xdf74('0x2f')](_[_0xdf74('0x39')](_0xbd00dc[_0xdf74('0x2d')],_0xac3499[_0xdf74('0x2f')]),_0x4dd8c3);if(_0xbd00dc[_0xdf74('0x2d')][_0xdf74('0x3a')]){_0x4d2c1f[_0xdf74('0x38')]=_[_0xdf74('0x3b')](_0x4d2c1f['where'],{'$or':_[_0xdf74('0x27')](_0x4dd8c3,function(_0x82ac88){if(_0x82ac88['type']!==_0xdf74('0x3c')){var _0xda1ab5={};_0xda1ab5[_0x82ac88[_0xdf74('0x25')]]={'$like':'%'+_0xbd00dc[_0xdf74('0x2d')][_0xdf74('0x3a')]+'%'};return _0xda1ab5;}})});}_0x4d2c1f=_['merge']({},_0x4d2c1f,_0xbd00dc[_0xdf74('0x3d')]);var _0x46423f={'where':_0x4d2c1f[_0xdf74('0x38')]};return db[_0xdf74('0x28')][_0xdf74('0x1b')](_0x46423f)[_0xdf74('0x22')](function(_0x442353){_0x34426a[_0xdf74('0x1b')]=_0x442353;if(_0xbd00dc['query']['includeAll']){_0x4d2c1f[_0xdf74('0x3e')]=[{'all':!![]}];}return db[_0xdf74('0x28')][_0xdf74('0x3f')](_0x4d2c1f);})['then'](function(_0xc923dc){_0x34426a['rows']=_0xc923dc;return _0x34426a;})[_0xdf74('0x22')](respondWithFilteredResult(_0x14e032,_0x4d2c1f))[_0xdf74('0x40')](handleError(_0x14e032,null));};exports[_0xdf74('0x41')]=function(_0x5ebf6a,_0x8669c){var _0x658180={'raw':!![],'where':{'id':_0x5ebf6a[_0xdf74('0x42')]['id']}},_0x115508={};_0x115508[_0xdf74('0x2c')]=_[_0xdf74('0x2e')](db['SmsApplication']['rawAttributes']);_0x115508[_0xdf74('0x2d')]=_[_0xdf74('0x2e')](_0x5ebf6a[_0xdf74('0x2d')]);_0x115508[_0xdf74('0x2f')]=_[_0xdf74('0x30')](_0x115508[_0xdf74('0x2c')],_0x115508['query']);_0x658180[_0xdf74('0x31')]=_[_0xdf74('0x30')](_0x115508['model'],qs['fields'](_0x5ebf6a['query']['fields']));_0x658180[_0xdf74('0x31')]=_0x658180[_0xdf74('0x31')][_0xdf74('0x33')]?_0x658180['attributes']:_0x115508[_0xdf74('0x2c')];if(_0x5ebf6a[_0xdf74('0x2d')][_0xdf74('0x43')]){_0x658180[_0xdf74('0x3e')]=[{'all':!![]}];}_0x658180=_['merge']({},_0x658180,_0x5ebf6a['options']);return db[_0xdf74('0x28')][_0xdf74('0x44')](_0x658180)[_0xdf74('0x22')](handleEntityNotFound(_0x8669c,null))['then'](respondWithResult(_0x8669c,null))[_0xdf74('0x40')](handleError(_0x8669c,null));};exports[_0xdf74('0x45')]=function(_0x5aca4b,_0x29e42b){return db[_0xdf74('0x28')][_0xdf74('0x45')](_0x5aca4b[_0xdf74('0x46')],{})[_0xdf74('0x22')](respondWithResult(_0x29e42b,0xc9))[_0xdf74('0x40')](handleError(_0x29e42b,null));};exports[_0xdf74('0x20')]=function(_0x2dacda,_0xd3f6a6){if(_0x2dacda[_0xdf74('0x46')]['id']){delete _0x2dacda[_0xdf74('0x46')]['id'];}return db[_0xdf74('0x28')]['find']({'where':{'id':_0x2dacda[_0xdf74('0x42')]['id']}})[_0xdf74('0x22')](handleEntityNotFound(_0xd3f6a6,null))['then'](saveUpdates(_0x2dacda[_0xdf74('0x46')],null))['then'](respondWithResult(_0xd3f6a6,null))['catch'](handleError(_0xd3f6a6,null));};exports[_0xdf74('0x21')]=function(_0x130efd,_0x434b6e){return db['SmsApplication'][_0xdf74('0x44')]({'where':{'id':_0x130efd[_0xdf74('0x42')]['id']}})[_0xdf74('0x22')](handleEntityNotFound(_0x434b6e,null))['then'](removeEntity(_0x434b6e,null))[_0xdf74('0x40')](handleError(_0x434b6e,null));};