Built motion from commit (unavailable).|2.4.4
[motion2.git] / server / api / saProduct / saProduct.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 _0x5230=['error','name','send','index','rawAttributes','model','keys','query','attributes','intersection','fields','length','nolimit','offset','order','sort','where','filters','merge','map','key','field','filter','options','SAProduct','includeAll','include','findAll','rows','catch','params','find','create','clone','get','omit','createdAt','updatedAt','body','describe','html-pdf','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','squel','crypto','desk.js','to-csv','papaparse','../../components/parsers/qs','../../config/license/hardware','../../config/environment','sendStatus','status','end','json','count','limit','Content-Range','reject','save','update','destroy','then'];(function(_0x13b3f2,_0x1f230e){var _0x476495=function(_0x34670c){while(--_0x34670c){_0x13b3f2['push'](_0x13b3f2['shift']());}};_0x476495(++_0x1f230e);}(_0x5230,0xb6));var _0x0523=function(_0x4476de,_0x2beb1b){_0x4476de=_0x4476de-0x0;var _0x20ce10=_0x5230[_0x4476de];return _0x20ce10;};'use strict';var pdf=require(_0x0523('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x0523('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x0523('0x2'));var rp=require(_0x0523('0x3'));var moment=require(_0x0523('0x4'));var BPromise=require(_0x0523('0x5'));var Mustache=require(_0x0523('0x6'));var util=require(_0x0523('0x7'));var path=require(_0x0523('0x8'));var sox=require(_0x0523('0x9'));var csv=require('to-csv');var ejs=require(_0x0523('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0x0523('0xb'));var crypto=require(_0x0523('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x0523('0xd'));var toCsv=require(_0x0523('0xe'));var querystring=require('querystring');var Papa=require(_0x0523('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x0523('0x10'));var hardwareService=require(_0x0523('0x11'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0x0523('0x12'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2f8400,_0x23685b){_0x23685b=_0x23685b||0xcc;return function(_0x4e6047){if(_0x4e6047){return _0x2f8400[_0x0523('0x13')](_0x23685b);}return _0x2f8400[_0x0523('0x14')](_0x23685b)[_0x0523('0x15')]();};}function respondWithResult(_0x3fb1bc,_0xf55720){_0xf55720=_0xf55720||0xc8;return function(_0x31aa5f){if(_0x31aa5f){return _0x3fb1bc[_0x0523('0x14')](_0xf55720)[_0x0523('0x16')](_0x31aa5f);}};}function respondWithFilteredResult(_0x4265e4,_0x5d671e){return function(_0x714140){if(_0x714140){var _0x159a64=_0x714140[_0x0523('0x17')],_0x54caee=_0x5d671e['offset'],_0xa760dd=_0x5d671e['offset']+_0x5d671e[_0x0523('0x18')],_0x1db6d7;if(_0xa760dd>=_0x159a64){_0xa760dd=_0x159a64;_0x1db6d7=0xc8;}else{_0x1db6d7=0xce;}_0x4265e4[_0x0523('0x14')](_0x1db6d7);return _0x4265e4['set'](_0x0523('0x19'),_0x54caee+'-'+_0xa760dd+'/'+_0x159a64)['json'](_0x714140);}return null;};}function patchUpdates(_0x632ceb){return function(_0x20716b){try{jsonpatch['apply'](_0x20716b,_0x632ceb,!![]);}catch(_0x1d2da9){return BPromise[_0x0523('0x1a')](_0x1d2da9);}return _0x20716b[_0x0523('0x1b')]();};}function saveUpdates(_0x2f1cc8,_0x19b344){return function(_0x1e9cba){if(_0x1e9cba){return _0x1e9cba[_0x0523('0x1c')](_0x2f1cc8)['then'](function(_0x51abee){return _0x51abee;});}return null;};}function removeEntity(_0x51110d,_0x22f990){return function(_0x421261){if(_0x421261){return _0x421261[_0x0523('0x1d')]()[_0x0523('0x1e')](function(){_0x51110d[_0x0523('0x14')](0xcc)[_0x0523('0x15')]();});}};}function handleEntityNotFound(_0x1e501d,_0x9b433a){return function(_0xe22e6){if(!_0xe22e6){_0x1e501d['sendStatus'](0x194);}return _0xe22e6;};}function handleError(_0xeb990d,_0x3e225f){_0x3e225f=_0x3e225f||0x1f4;return function(_0x4e3005){logger[_0x0523('0x1f')](_0x4e3005['stack']);if(_0x4e3005[_0x0523('0x20')]){delete _0x4e3005[_0x0523('0x20')];}_0xeb990d[_0x0523('0x14')](_0x3e225f)[_0x0523('0x21')](_0x4e3005);};}exports[_0x0523('0x22')]=function(_0x56bff9,_0x3a7aa9){var _0x47e765={},_0x1579e5={},_0x3e76da={'count':0x0,'rows':[]};var _0x3954d1=db['SAProduct'][_0x0523('0x23')];_0x1579e5[_0x0523('0x24')]=_[_0x0523('0x25')](_0x3954d1);_0x1579e5[_0x0523('0x26')]=_[_0x0523('0x25')](_0x56bff9[_0x0523('0x26')]);_0x1579e5['filters']=_['intersection'](_0x1579e5['model'],_0x1579e5['query']);_0x47e765[_0x0523('0x27')]=_[_0x0523('0x28')](_0x1579e5[_0x0523('0x24')],qs[_0x0523('0x29')](_0x56bff9[_0x0523('0x26')][_0x0523('0x29')]));_0x47e765[_0x0523('0x27')]=_0x47e765[_0x0523('0x27')][_0x0523('0x2a')]?_0x47e765['attributes']:_0x1579e5[_0x0523('0x24')];if(!_0x56bff9['query']['hasOwnProperty'](_0x0523('0x2b'))){_0x47e765[_0x0523('0x18')]=qs['limit'](_0x56bff9[_0x0523('0x26')]['limit']);_0x47e765[_0x0523('0x2c')]=qs['offset'](_0x56bff9[_0x0523('0x26')][_0x0523('0x2c')]);}_0x47e765[_0x0523('0x2d')]=qs[_0x0523('0x2e')](_0x56bff9['query'][_0x0523('0x2e')]);_0x47e765[_0x0523('0x2f')]=qs[_0x0523('0x30')](_['pick'](_0x56bff9['query'],_0x1579e5[_0x0523('0x30')]));if(_0x56bff9['query']['filter']){_0x47e765['where']=_[_0x0523('0x31')](_0x47e765[_0x0523('0x2f')],{'$or':_[_0x0523('0x32')](_0x3954d1,function(_0x2142ca){if(_0x2142ca['type'][_0x0523('0x33')]!=='VIRTUAL'){var _0x337bc1={};_0x337bc1[_0x2142ca[_0x0523('0x34')]]={'$like':'%'+_0x56bff9[_0x0523('0x26')][_0x0523('0x35')]+'%'};return _0x337bc1;}})});}_0x47e765=_[_0x0523('0x31')]({},_0x47e765,_0x56bff9[_0x0523('0x36')]);var _0x1847fc={'where':_0x47e765[_0x0523('0x2f')]};return db[_0x0523('0x37')][_0x0523('0x17')](_0x1847fc)['then'](function(_0x25d4c7){_0x3e76da[_0x0523('0x17')]=_0x25d4c7;if(_0x56bff9[_0x0523('0x26')][_0x0523('0x38')]){_0x47e765[_0x0523('0x39')]=[{'all':!![]}];}return db[_0x0523('0x37')][_0x0523('0x3a')](_0x47e765);})['then'](function(_0x16d30d){_0x3e76da[_0x0523('0x3b')]=_0x16d30d;return _0x3e76da;})[_0x0523('0x1e')](respondWithFilteredResult(_0x3a7aa9,_0x47e765))[_0x0523('0x3c')](handleError(_0x3a7aa9,null));};exports['show']=function(_0x45cf4f,_0x247add){var _0x18d749={'raw':![],'where':{'id':_0x45cf4f[_0x0523('0x3d')]['id']}},_0x1a276b={};_0x1a276b[_0x0523('0x24')]=_[_0x0523('0x25')](db[_0x0523('0x37')][_0x0523('0x23')]);_0x1a276b['query']=_[_0x0523('0x25')](_0x45cf4f[_0x0523('0x26')]);_0x1a276b[_0x0523('0x30')]=_['intersection'](_0x1a276b[_0x0523('0x24')],_0x1a276b['query']);_0x18d749[_0x0523('0x27')]=_[_0x0523('0x28')](_0x1a276b[_0x0523('0x24')],qs[_0x0523('0x29')](_0x45cf4f[_0x0523('0x26')][_0x0523('0x29')]));_0x18d749[_0x0523('0x27')]=_0x18d749[_0x0523('0x27')]['length']?_0x18d749['attributes']:_0x1a276b[_0x0523('0x24')];if(_0x45cf4f[_0x0523('0x26')][_0x0523('0x38')]){_0x18d749[_0x0523('0x39')]=[{'all':!![]}];}_0x18d749=_[_0x0523('0x31')]({},_0x18d749,_0x45cf4f['options']);return db[_0x0523('0x37')][_0x0523('0x3e')](_0x18d749)[_0x0523('0x1e')](handleEntityNotFound(_0x247add,null))['then'](respondWithResult(_0x247add,null))[_0x0523('0x3c')](handleError(_0x247add,null));};exports[_0x0523('0x3f')]=function(_0xe93464,_0x48fb09){return db[_0x0523('0x37')][_0x0523('0x3f')](_0xe93464['body'],{})[_0x0523('0x1e')](respondWithResult(_0x48fb09,0xc9))[_0x0523('0x3c')](handleError(_0x48fb09,null));};exports[_0x0523('0x40')]=function(_0x485f0e,_0x2519ab){var _0x239f21={'raw':![],'where':{'id':_0x485f0e[_0x0523('0x3d')]['id']}},_0x2010c2={};_0x2010c2[_0x0523('0x24')]=_[_0x0523('0x25')](db[_0x0523('0x37')][_0x0523('0x23')]);_0x239f21[_0x0523('0x27')]=_[_0x0523('0x28')](_0x2010c2['model'],qs[_0x0523('0x29')](_0x485f0e['query'][_0x0523('0x29')]));_0x239f21[_0x0523('0x27')]=_0x239f21['attributes'][_0x0523('0x2a')]?_0x239f21[_0x0523('0x27')]:_0x2010c2[_0x0523('0x24')];if(_0x485f0e['query']['includeAll']){_0x239f21[_0x0523('0x39')]=[{'all':!![]}];}_0x239f21=_[_0x0523('0x31')]({},_0x239f21,_0x485f0e['options']);return db[_0x0523('0x37')][_0x0523('0x3e')](_0x239f21)['then'](handleEntityNotFound(_0x2519ab,null))['then'](function(_0x447307){if(_0x447307){var _0xd73cd0=_0x447307[_0x0523('0x41')]({'plain':!![]});_0xd73cd0=qs[_0x0523('0x42')](_0xd73cd0,['id',_0x0523('0x43'),_0x0523('0x44')]);_0x485f0e['body']=_['omit'](_0x485f0e[_0x0523('0x45')],['id',_0x0523('0x43'),_0x0523('0x44')]);return db[_0x0523('0x37')]['create'](_[_0x0523('0x31')](_0xd73cd0,_0x485f0e[_0x0523('0x45')]),{'include':_0x485f0e[_0x0523('0x26')]['includeAll']?[{'all':!![]}]:undefined});}})[_0x0523('0x1e')](respondWithResult(_0x2519ab,0xc9))[_0x0523('0x3c')](handleError(_0x2519ab,null));};exports[_0x0523('0x1c')]=function(_0x94159e,_0xa9e06c){if(_0x94159e[_0x0523('0x45')]['id']){delete _0x94159e[_0x0523('0x45')]['id'];}return db[_0x0523('0x37')][_0x0523('0x3e')]({'where':{'id':_0x94159e['params']['id']}})[_0x0523('0x1e')](handleEntityNotFound(_0xa9e06c,null))[_0x0523('0x1e')](saveUpdates(_0x94159e['body'],null))['then'](respondWithResult(_0xa9e06c,null))['catch'](handleError(_0xa9e06c,null));};exports['describe']=function(_0x198d0f,_0xab1121){return db[_0x0523('0x37')][_0x0523('0x46')]()[_0x0523('0x1e')](respondWithResult(_0xab1121,null))[_0x0523('0x3c')](handleError(_0xab1121,null));};