Built motion from commit 67e5df37.|2.0.66
[motion2.git] / server / api / variable / variable.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 _0x11a2=['count','includeAll','include','rows','catch','keys','find','create','body','params','request-promise','moment','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','status','end','json','offset','limit','set','Content-Range','apply','reject','update','then','destroy','sendStatus','error','stack','name','send','index','model','Variable','rawAttributes','query','dateEnd','filters','attributes','intersection','fields','length','hasOwnProperty','order','sort','where','pick','dateStart','add','day','merge','filter','options'];(function(_0x270a54,_0x307ff6){var _0x4d07d0=function(_0x59ac5a){while(--_0x59ac5a){_0x270a54['push'](_0x270a54['shift']());}};_0x4d07d0(++_0x307ff6);}(_0x11a2,0x1d8));var _0x211a=function(_0x197f36,_0x10d97a){_0x197f36=_0x197f36-0x0;var _0x5268b4=_0x11a2[_0x197f36];return _0x5268b4;};'use strict';var jsonpatch=require('fast-json-patch');var rp=require(_0x211a('0x0'));var moment=require(_0x211a('0x1'));var BPromise=require('bluebird');var Mustache=require(_0x211a('0x2'));var util=require('util');var path=require(_0x211a('0x3'));var sox=require(_0x211a('0x4'));var csv=require(_0x211a('0x5'));var ejs=require(_0x211a('0x6'));var fs=require('fs');var _=require(_0x211a('0x7'));var squel=require(_0x211a('0x8'));var crypto=require(_0x211a('0x9'));var jsforce=require('jsforce');var deskjs=require(_0x211a('0xa'));var toCsv=require(_0x211a('0x5'));var querystring=require(_0x211a('0xb'));var Papa=require(_0x211a('0xc'));var qs=require('../../components/parsers/qs');var logger=require(_0x211a('0xd'))('api');var utils=require(_0x211a('0xe'));var config=require(_0x211a('0xf'));var db=require(_0x211a('0x10'))['db'];function respondWithStatusCode(_0x59f04c,_0x21b061){_0x21b061=_0x21b061||0xcc;return function(_0x1d8bd9){if(_0x1d8bd9){return _0x59f04c['sendStatus'](_0x21b061);}return _0x59f04c[_0x211a('0x11')](_0x21b061)[_0x211a('0x12')]();};}function respondWithResult(_0xf0e609,_0x15f89a){_0x15f89a=_0x15f89a||0xc8;return function(_0x16bb9a){if(_0x16bb9a){return _0xf0e609[_0x211a('0x11')](_0x15f89a)[_0x211a('0x13')](_0x16bb9a);}};}function respondWithFilteredResult(_0x565e6a,_0x370e39){return function(_0x52523d){if(_0x52523d){var _0x35d6f3=_0x52523d['count'],_0x471d5f=_0x370e39[_0x211a('0x14')],_0x23e6d5=_0x370e39[_0x211a('0x14')]+_0x370e39[_0x211a('0x15')],_0x38f814;if(_0x23e6d5>=_0x35d6f3){_0x23e6d5=_0x35d6f3;_0x38f814=0xc8;}else{_0x38f814=0xce;}_0x565e6a['status'](_0x38f814);return _0x565e6a[_0x211a('0x16')](_0x211a('0x17'),_0x471d5f+'-'+_0x23e6d5+'/'+_0x35d6f3)[_0x211a('0x13')](_0x52523d);}return null;};}function patchUpdates(_0x1718f0){return function(_0x8230f8){try{jsonpatch[_0x211a('0x18')](_0x8230f8,_0x1718f0,!![]);}catch(_0x5108f9){return BPromise[_0x211a('0x19')](_0x5108f9);}return _0x8230f8['save']();};}function saveUpdates(_0x19eee2,_0x21990c){return function(_0x178d47){if(_0x178d47){return _0x178d47[_0x211a('0x1a')](_0x19eee2)[_0x211a('0x1b')](function(_0x11267f){return _0x11267f;});}return null;};}function removeEntity(_0x12829b,_0x4b2421){return function(_0x2d2ab0){if(_0x2d2ab0){return _0x2d2ab0[_0x211a('0x1c')]()[_0x211a('0x1b')](function(){_0x12829b['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x3195c1,_0xfe557c){return function(_0x2e8f9e){if(!_0x2e8f9e){_0x3195c1[_0x211a('0x1d')](0x194);}return _0x2e8f9e;};}function handleError(_0x2978fe,_0x4e7846){_0x4e7846=_0x4e7846||0x1f4;return function(_0x3378de){logger[_0x211a('0x1e')](_0x3378de[_0x211a('0x1f')]);if(_0x3378de[_0x211a('0x20')]){delete _0x3378de['name'];}_0x2978fe[_0x211a('0x11')](_0x4e7846)[_0x211a('0x21')](_0x3378de);};}exports[_0x211a('0x22')]=function(_0x3c1287,_0x10cf1c){var _0x278f81={},_0x2abf51={},_0x409f90={'count':0x0,'rows':[]};_0x2abf51[_0x211a('0x23')]=_['keys'](db[_0x211a('0x24')][_0x211a('0x25')]);var _0x260145={'dateStart':_0x3c1287['query']['dateStart'],'dateEnd':_0x3c1287[_0x211a('0x26')][_0x211a('0x27')]};delete _0x3c1287['query']['dateStart'];delete _0x3c1287['query'][_0x211a('0x27')];_0x2abf51[_0x211a('0x26')]=_['keys'](_0x3c1287[_0x211a('0x26')]);_0x2abf51[_0x211a('0x28')]=_['intersection'](_0x2abf51[_0x211a('0x23')],_0x2abf51[_0x211a('0x26')]);_0x278f81[_0x211a('0x29')]=_[_0x211a('0x2a')](_0x2abf51[_0x211a('0x23')],qs[_0x211a('0x2b')](_0x3c1287[_0x211a('0x26')]['fields']));_0x278f81[_0x211a('0x29')]=_0x278f81['attributes'][_0x211a('0x2c')]?_0x278f81['attributes']:_0x2abf51['model'];if(!_0x3c1287['query'][_0x211a('0x2d')]('nolimit')){_0x278f81[_0x211a('0x15')]=qs[_0x211a('0x15')](_0x3c1287[_0x211a('0x26')][_0x211a('0x15')]);_0x278f81['offset']=qs[_0x211a('0x14')](_0x3c1287[_0x211a('0x26')][_0x211a('0x14')]);}_0x278f81[_0x211a('0x2e')]=qs[_0x211a('0x2f')](_0x3c1287[_0x211a('0x26')][_0x211a('0x2f')]);_0x278f81[_0x211a('0x30')]=qs[_0x211a('0x28')](_[_0x211a('0x31')](_0x3c1287['query'],_0x2abf51[_0x211a('0x28')]));if(_0x260145[_0x211a('0x32')]){if(_0x260145[_0x211a('0x27')]){_0x260145[_0x211a('0x27')]=moment(_0x260145[_0x211a('0x27')])[_0x211a('0x33')](0x1,_0x211a('0x34'));}else{_0x260145[_0x211a('0x27')]=moment(_0x260145[_0x211a('0x32')])['add'](0x1,'day');}_[_0x211a('0x35')](_0x278f81[_0x211a('0x30')],{'createdAt':{'$gte':_0x260145[_0x211a('0x32')],'$lte':_0x260145[_0x211a('0x27')]}});}if(_0x3c1287[_0x211a('0x26')][_0x211a('0x36')]){_0x278f81[_0x211a('0x30')]=_[_0x211a('0x35')](_0x278f81[_0x211a('0x30')],{'$or':_['map'](_0x278f81['attributes'],function(_0x6701c2){var _0x2d6c18={};_0x2d6c18[_0x6701c2]={'$like':'%'+_0x3c1287[_0x211a('0x26')][_0x211a('0x36')]+'%'};return _0x2d6c18;})});}_0x278f81=_[_0x211a('0x35')]({},_0x278f81,_0x3c1287[_0x211a('0x37')]);var _0x4dd41a={'where':_0x278f81[_0x211a('0x30')]};return db[_0x211a('0x24')]['count'](_0x4dd41a)['then'](function(_0x5db1dc){_0x409f90[_0x211a('0x38')]=_0x5db1dc;if(_0x3c1287[_0x211a('0x26')][_0x211a('0x39')]){_0x278f81[_0x211a('0x3a')]=[{'all':!![]}];}return db['Variable']['findAll'](_0x278f81);})[_0x211a('0x1b')](function(_0x59e565){_0x409f90[_0x211a('0x3b')]=_0x59e565;return _0x409f90;})[_0x211a('0x1b')](respondWithFilteredResult(_0x10cf1c,_0x278f81))[_0x211a('0x3c')](handleError(_0x10cf1c,null));};exports['show']=function(_0x3715e6,_0x30427e){var _0x872cd2={'raw':!![],'where':{'id':_0x3715e6['params']['id']}},_0x4e466b={};_0x4e466b[_0x211a('0x23')]=_['keys'](db[_0x211a('0x24')][_0x211a('0x25')]);_0x4e466b['query']=_[_0x211a('0x3d')](_0x3715e6[_0x211a('0x26')]);_0x4e466b[_0x211a('0x28')]=_[_0x211a('0x2a')](_0x4e466b[_0x211a('0x23')],_0x4e466b[_0x211a('0x26')]);_0x872cd2[_0x211a('0x29')]=_[_0x211a('0x2a')](_0x4e466b[_0x211a('0x23')],qs[_0x211a('0x2b')](_0x3715e6[_0x211a('0x26')][_0x211a('0x2b')]));_0x872cd2[_0x211a('0x29')]=_0x872cd2['attributes'][_0x211a('0x2c')]?_0x872cd2['attributes']:_0x4e466b[_0x211a('0x23')];if(_0x3715e6[_0x211a('0x26')][_0x211a('0x39')]){_0x872cd2[_0x211a('0x3a')]=[{'all':!![]}];}_0x872cd2=_['merge']({},_0x872cd2,_0x3715e6['options']);return db[_0x211a('0x24')][_0x211a('0x3e')](_0x872cd2)[_0x211a('0x1b')](handleEntityNotFound(_0x30427e,null))['then'](respondWithResult(_0x30427e,null))['catch'](handleError(_0x30427e,null));};exports[_0x211a('0x3f')]=function(_0x53736e,_0x436d0e){return db[_0x211a('0x24')]['create'](_0x53736e[_0x211a('0x40')],{})[_0x211a('0x1b')](respondWithResult(_0x436d0e,0xc9))['catch'](handleError(_0x436d0e,null));};exports[_0x211a('0x1a')]=function(_0x3209fb,_0x3a0203){if(_0x3209fb[_0x211a('0x40')]['id']){delete _0x3209fb[_0x211a('0x40')]['id'];}return db[_0x211a('0x24')]['find']({'where':{'id':_0x3209fb[_0x211a('0x41')]['id']}})[_0x211a('0x1b')](handleEntityNotFound(_0x3a0203,null))[_0x211a('0x1b')](saveUpdates(_0x3209fb['body'],null))[_0x211a('0x1b')](respondWithResult(_0x3a0203,null))[_0x211a('0x3c')](handleError(_0x3a0203,null));};exports[_0x211a('0x1c')]=function(_0x35bf5e,_0x44e14e){return db[_0x211a('0x24')][_0x211a('0x3e')]({'where':{'id':_0x35bf5e[_0x211a('0x41')]['id']}})[_0x211a('0x1b')](handleEntityNotFound(_0x44e14e,null))[_0x211a('0x1b')](removeEntity(_0x44e14e,null))['catch'](handleError(_0x44e14e,null));};