9b021e2bc76f3e36bf7afe4783cae2735140dce9
[motion2.git] / server / api / intDynamics365Field / intDynamics365Field.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 _0x60ac=['sendStatus','status','end','json','offset','limit','set','Content-Range','apply','reject','save','then','destroy','error','stack','name','send','index','map','Dynamics365Field','rawAttributes','fieldName','model','keys','filters','intersection','query','fields','attributes','length','sort','where','pick','merge','VIRTUAL','filter','count','includeAll','include','findAll','rows','catch','show','options','find','create','body','update','params','html-pdf','eml-format','zip-dir','fast-json-patch','moment','util','path','to-csv','lodash','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util'];(function(_0x2f906a,_0x24f53c){var _0x7df297=function(_0x45de1e){while(--_0x45de1e){_0x2f906a['push'](_0x2f906a['shift']());}};_0x7df297(++_0x24f53c);}(_0x60ac,0x1d5));var _0xc60a=function(_0x451237,_0x236620){_0x451237=_0x451237-0x0;var _0x21d903=_0x60ac[_0x451237];return _0x21d903;};'use strict';var pdf=require(_0xc60a('0x0'));var emlformat=require(_0xc60a('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xc60a('0x2'));var jsonpatch=require(_0xc60a('0x3'));var rp=require('request-promise');var moment=require(_0xc60a('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xc60a('0x5'));var path=require(_0xc60a('0x6'));var sox=require('sox');var csv=require(_0xc60a('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xc60a('0x8'));var squel=require('squel');var crypto=require(_0xc60a('0x9'));var jsforce=require(_0xc60a('0xa'));var deskjs=require(_0xc60a('0xb'));var toCsv=require(_0xc60a('0x7'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xc60a('0xc'));var authService=require(_0xc60a('0xd'));var qs=require(_0xc60a('0xe'));var as=require(_0xc60a('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xc60a('0x10'))(_0xc60a('0x11'));var utils=require(_0xc60a('0x12'));var config=require(_0xc60a('0x13'));var licenseUtil=require(_0xc60a('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x46ecbe,_0x5dfd8c){_0x5dfd8c=_0x5dfd8c||0xcc;return function(_0x3fc705){if(_0x3fc705){return _0x46ecbe[_0xc60a('0x15')](_0x5dfd8c);}return _0x46ecbe[_0xc60a('0x16')](_0x5dfd8c)[_0xc60a('0x17')]();};}function respondWithResult(_0x588b0e,_0x24a474){_0x24a474=_0x24a474||0xc8;return function(_0x2e3369){if(_0x2e3369){return _0x588b0e[_0xc60a('0x16')](_0x24a474)[_0xc60a('0x18')](_0x2e3369);}};}function respondWithFilteredResult(_0x4fd5a3,_0xb96b4a){return function(_0x3ca15d){if(_0x3ca15d){var _0x20226e=_0x3ca15d['count'],_0x69a6f=_0xb96b4a['offset'],_0x199e43=_0xb96b4a[_0xc60a('0x19')]+_0xb96b4a[_0xc60a('0x1a')],_0x2794f7;if(_0x199e43>=_0x20226e){_0x199e43=_0x20226e;_0x2794f7=0xc8;}else{_0x2794f7=0xce;}_0x4fd5a3['status'](_0x2794f7);return _0x4fd5a3[_0xc60a('0x1b')](_0xc60a('0x1c'),_0x69a6f+'-'+_0x199e43+'/'+_0x20226e)[_0xc60a('0x18')](_0x3ca15d);}return null;};}function patchUpdates(_0x2bcc19){return function(_0x24a098){try{jsonpatch[_0xc60a('0x1d')](_0x24a098,_0x2bcc19,!![]);}catch(_0x4a5644){return BPromise[_0xc60a('0x1e')](_0x4a5644);}return _0x24a098[_0xc60a('0x1f')]();};}function saveUpdates(_0x15af1a,_0x155379){return function(_0xc3e402){if(_0xc3e402){return _0xc3e402['update'](_0x15af1a)[_0xc60a('0x20')](function(_0x201a76){return _0x201a76;});}return null;};}function removeEntity(_0x58dc6a,_0x40bc0c){return function(_0x5e7c78){if(_0x5e7c78){return _0x5e7c78[_0xc60a('0x21')]()['then'](function(){_0x58dc6a[_0xc60a('0x16')](0xcc)[_0xc60a('0x17')]();});}};}function handleEntityNotFound(_0x1b9bbe,_0x43a029){return function(_0x58421d){if(!_0x58421d){_0x1b9bbe['sendStatus'](0x194);}return _0x58421d;};}function handleError(_0xba7c,_0x3a9fb9){_0x3a9fb9=_0x3a9fb9||0x1f4;return function(_0x21a3fd){logger[_0xc60a('0x22')](_0x21a3fd[_0xc60a('0x23')]);if(_0x21a3fd[_0xc60a('0x24')]){delete _0x21a3fd[_0xc60a('0x24')];}_0xba7c['status'](_0x3a9fb9)[_0xc60a('0x25')](_0x21a3fd);};}exports[_0xc60a('0x26')]=function(_0x21da8d,_0x1b56a5){var _0x57610d={},_0x45cba9={},_0x335d4b={'count':0x0,'rows':[]};var _0x119134=_[_0xc60a('0x27')](db[_0xc60a('0x28')][_0xc60a('0x29')],function(_0x88b832){return{'name':_0x88b832[_0xc60a('0x2a')],'type':_0x88b832['type']['key']};});_0x45cba9[_0xc60a('0x2b')]=_[_0xc60a('0x27')](_0x119134,'name');_0x45cba9['query']=_[_0xc60a('0x2c')](_0x21da8d['query']);_0x45cba9[_0xc60a('0x2d')]=_[_0xc60a('0x2e')](_0x45cba9[_0xc60a('0x2b')],_0x45cba9[_0xc60a('0x2f')]);_0x57610d['attributes']=_[_0xc60a('0x2e')](_0x45cba9[_0xc60a('0x2b')],qs[_0xc60a('0x30')](_0x21da8d[_0xc60a('0x2f')]['fields']));_0x57610d[_0xc60a('0x31')]=_0x57610d['attributes'][_0xc60a('0x32')]?_0x57610d[_0xc60a('0x31')]:_0x45cba9['model'];if(!_0x21da8d[_0xc60a('0x2f')]['hasOwnProperty']('nolimit')){_0x57610d['limit']=qs[_0xc60a('0x1a')](_0x21da8d['query'][_0xc60a('0x1a')]);_0x57610d['offset']=qs[_0xc60a('0x19')](_0x21da8d[_0xc60a('0x2f')][_0xc60a('0x19')]);}_0x57610d['order']=qs[_0xc60a('0x33')](_0x21da8d[_0xc60a('0x2f')]['sort']);_0x57610d[_0xc60a('0x34')]=qs[_0xc60a('0x2d')](_[_0xc60a('0x35')](_0x21da8d['query'],_0x45cba9[_0xc60a('0x2d')]),_0x119134);if(_0x21da8d[_0xc60a('0x2f')]['filter']){_0x57610d['where']=_[_0xc60a('0x36')](_0x57610d['where'],{'$or':_['map'](_0x119134,function(_0x5ebada){if(_0x5ebada['type']!==_0xc60a('0x37')){var _0x4834bb={};_0x4834bb[_0x5ebada['name']]={'$like':'%'+_0x21da8d['query'][_0xc60a('0x38')]+'%'};return _0x4834bb;}})});}_0x57610d=_[_0xc60a('0x36')]({},_0x57610d,_0x21da8d['options']);var _0x544a4f={'where':_0x57610d['where']};return db[_0xc60a('0x28')][_0xc60a('0x39')](_0x544a4f)['then'](function(_0x3f6006){_0x335d4b[_0xc60a('0x39')]=_0x3f6006;if(_0x21da8d[_0xc60a('0x2f')][_0xc60a('0x3a')]){_0x57610d[_0xc60a('0x3b')]=[{'all':!![]}];}return db[_0xc60a('0x28')][_0xc60a('0x3c')](_0x57610d);})[_0xc60a('0x20')](function(_0x3b1750){_0x335d4b[_0xc60a('0x3d')]=_0x3b1750;return _0x335d4b;})[_0xc60a('0x20')](respondWithFilteredResult(_0x1b56a5,_0x57610d))[_0xc60a('0x3e')](handleError(_0x1b56a5,null));};exports[_0xc60a('0x3f')]=function(_0x37c87e,_0x56db6a){var _0x4f2ed2={'raw':!![],'where':{'id':_0x37c87e['params']['id']}},_0x7bd06c={};_0x7bd06c[_0xc60a('0x2b')]=_['keys'](db[_0xc60a('0x28')][_0xc60a('0x29')]);_0x7bd06c[_0xc60a('0x2f')]=_[_0xc60a('0x2c')](_0x37c87e[_0xc60a('0x2f')]);_0x7bd06c[_0xc60a('0x2d')]=_[_0xc60a('0x2e')](_0x7bd06c[_0xc60a('0x2b')],_0x7bd06c[_0xc60a('0x2f')]);_0x4f2ed2[_0xc60a('0x31')]=_[_0xc60a('0x2e')](_0x7bd06c[_0xc60a('0x2b')],qs[_0xc60a('0x30')](_0x37c87e[_0xc60a('0x2f')][_0xc60a('0x30')]));_0x4f2ed2[_0xc60a('0x31')]=_0x4f2ed2[_0xc60a('0x31')]['length']?_0x4f2ed2[_0xc60a('0x31')]:_0x7bd06c[_0xc60a('0x2b')];if(_0x37c87e[_0xc60a('0x2f')]['includeAll']){_0x4f2ed2[_0xc60a('0x3b')]=[{'all':!![]}];}_0x4f2ed2=_['merge']({},_0x4f2ed2,_0x37c87e[_0xc60a('0x40')]);return db[_0xc60a('0x28')][_0xc60a('0x41')](_0x4f2ed2)['then'](handleEntityNotFound(_0x56db6a,null))[_0xc60a('0x20')](respondWithResult(_0x56db6a,null))[_0xc60a('0x3e')](handleError(_0x56db6a,null));};exports[_0xc60a('0x42')]=function(_0x4aa8b4,_0x355281){return db['Dynamics365Field'][_0xc60a('0x42')](_0x4aa8b4[_0xc60a('0x43')],{})[_0xc60a('0x20')](respondWithResult(_0x355281,0xc9))[_0xc60a('0x3e')](handleError(_0x355281,null));};exports[_0xc60a('0x44')]=function(_0x540820,_0xb2cb6d){if(_0x540820[_0xc60a('0x43')]['id']){delete _0x540820['body']['id'];}return db[_0xc60a('0x28')][_0xc60a('0x41')]({'where':{'id':_0x540820[_0xc60a('0x45')]['id']}})[_0xc60a('0x20')](handleEntityNotFound(_0xb2cb6d,null))[_0xc60a('0x20')](saveUpdates(_0x540820[_0xc60a('0x43')],null))[_0xc60a('0x20')](respondWithResult(_0xb2cb6d,null))[_0xc60a('0x3e')](handleError(_0xb2cb6d,null));};exports['destroy']=function(_0x216ccc,_0x1dfbbf){return db[_0xc60a('0x28')]['find']({'where':{'id':_0x216ccc[_0xc60a('0x45')]['id']}})[_0xc60a('0x20')](handleEntityNotFound(_0x1dfbbf,null))[_0xc60a('0x20')](removeEntity(_0x1dfbbf,null))[_0xc60a('0x3e')](handleError(_0x1dfbbf,null));};