Built motion from commit 896e83a8.|2.6.30
[motion2.git] / server / api / intZendeskField / intZendeskField.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 _0x88c9=['name','send','index','map','rawAttributes','filters','model','query','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','type','VIRTUAL','merge','options','ZendeskField','includeAll','findAll','rows','catch','show','keys','intersection','length','include','find','create','body','update','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','json','offset','undefined','limit','count','status','set','Content-Range','apply','reject','then','destroy','sendStatus','error'];(function(_0xd6675b,_0x353dda){var _0x4e98aa=function(_0x391372){while(--_0x391372){_0xd6675b['push'](_0xd6675b['shift']());}};_0x4e98aa(++_0x353dda);}(_0x88c9,0x1f2));var _0x988c=function(_0x301add,_0x3c2d76){_0x301add=_0x301add-0x0;var _0x4458d9=_0x88c9[_0x301add];return _0x4458d9;};'use strict';var emlformat=require(_0x988c('0x0'));var rimraf=require(_0x988c('0x1'));var zipdir=require(_0x988c('0x2'));var jsonpatch=require(_0x988c('0x3'));var rp=require(_0x988c('0x4'));var moment=require('moment');var BPromise=require(_0x988c('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0x988c('0x6'));var sox=require(_0x988c('0x7'));var csv=require(_0x988c('0x8'));var ejs=require(_0x988c('0x9'));var fs=require('fs');var fs_extra=require(_0x988c('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x988c('0xb'));var jsforce=require(_0x988c('0xc'));var deskjs=require(_0x988c('0xd'));var toCsv=require(_0x988c('0x8'));var querystring=require(_0x988c('0xe'));var Papa=require(_0x988c('0xf'));var Redis=require(_0x988c('0x10'));var authService=require(_0x988c('0x11'));var qs=require(_0x988c('0x12'));var as=require(_0x988c('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x988c('0x14'))(_0x988c('0x15'));var utils=require(_0x988c('0x16'));var config=require(_0x988c('0x17'));var licenseUtil=require(_0x988c('0x18'));var db=require(_0x988c('0x19'))['db'];function respondWithStatusCode(_0x185782,_0x528dd4){_0x528dd4=_0x528dd4||0xcc;return function(_0x4ed9f2){if(_0x4ed9f2){return _0x185782['sendStatus'](_0x528dd4);}return _0x185782['status'](_0x528dd4)[_0x988c('0x1a')]();};}function respondWithResult(_0x4a5bb3,_0x4b4343){_0x4b4343=_0x4b4343||0xc8;return function(_0x4331cf){if(_0x4331cf){return _0x4a5bb3['status'](_0x4b4343)[_0x988c('0x1b')](_0x4331cf);}};}function respondWithFilteredResult(_0xe30832,_0x182d3c){return function(_0x5a6410){if(_0x5a6410){var _0x1c67b4=typeof _0x182d3c[_0x988c('0x1c')]===_0x988c('0x1d')&&typeof _0x182d3c[_0x988c('0x1e')]===_0x988c('0x1d');var _0x1edd02=_0x5a6410[_0x988c('0x1f')];var _0x1e73c1=_0x1c67b4?0x0:_0x182d3c[_0x988c('0x1c')];var _0x2d2281=_0x1c67b4?_0x5a6410['count']:_0x182d3c[_0x988c('0x1c')]+_0x182d3c[_0x988c('0x1e')];var _0x5cadf1;if(_0x2d2281>=_0x1edd02){_0x2d2281=_0x1edd02;_0x5cadf1=0xc8;}else{_0x5cadf1=0xce;}_0xe30832[_0x988c('0x20')](_0x5cadf1);return _0xe30832[_0x988c('0x21')](_0x988c('0x22'),_0x1e73c1+'-'+_0x2d2281+'/'+_0x1edd02)['json'](_0x5a6410);}return null;};}function patchUpdates(_0x506d21){return function(_0x6e5a70){try{jsonpatch[_0x988c('0x23')](_0x6e5a70,_0x506d21,!![]);}catch(_0x317f72){return BPromise[_0x988c('0x24')](_0x317f72);}return _0x6e5a70['save']();};}function saveUpdates(_0x2c539d,_0x216d3e){return function(_0x48c62f){if(_0x48c62f){return _0x48c62f['update'](_0x2c539d)[_0x988c('0x25')](function(_0xbb5203){return _0xbb5203;});}return null;};}function removeEntity(_0x57173b,_0x537e23){return function(_0x11656a){if(_0x11656a){return _0x11656a[_0x988c('0x26')]()[_0x988c('0x25')](function(){_0x57173b[_0x988c('0x20')](0xcc)[_0x988c('0x1a')]();});}};}function handleEntityNotFound(_0x2316c7,_0x3ea40d){return function(_0x304e83){if(!_0x304e83){_0x2316c7[_0x988c('0x27')](0x194);}return _0x304e83;};}function handleError(_0x111211,_0x239dc2){_0x239dc2=_0x239dc2||0x1f4;return function(_0x665c6){logger[_0x988c('0x28')](_0x665c6['stack']);if(_0x665c6[_0x988c('0x29')]){delete _0x665c6[_0x988c('0x29')];}_0x111211[_0x988c('0x20')](_0x239dc2)[_0x988c('0x2a')](_0x665c6);};}exports[_0x988c('0x2b')]=function(_0x5e320a,_0x3be720){var _0x156e9d={},_0x509f99={},_0x53c1a7={'count':0x0,'rows':[]};var _0x5d5992=_[_0x988c('0x2c')](db['ZendeskField'][_0x988c('0x2d')],function(_0x1bc081){return{'name':_0x1bc081['fieldName'],'type':_0x1bc081['type']['key']};});_0x509f99['model']=_[_0x988c('0x2c')](_0x5d5992,'name');_0x509f99['query']=_['keys'](_0x5e320a['query']);_0x509f99[_0x988c('0x2e')]=_['intersection'](_0x509f99[_0x988c('0x2f')],_0x509f99[_0x988c('0x30')]);_0x156e9d[_0x988c('0x31')]=_['intersection'](_0x509f99[_0x988c('0x2f')],qs[_0x988c('0x32')](_0x5e320a[_0x988c('0x30')][_0x988c('0x32')]));_0x156e9d[_0x988c('0x31')]=_0x156e9d[_0x988c('0x31')]['length']?_0x156e9d[_0x988c('0x31')]:_0x509f99['model'];if(!_0x5e320a[_0x988c('0x30')][_0x988c('0x33')](_0x988c('0x34'))){_0x156e9d[_0x988c('0x1e')]=qs[_0x988c('0x1e')](_0x5e320a['query'][_0x988c('0x1e')]);_0x156e9d[_0x988c('0x1c')]=qs['offset'](_0x5e320a[_0x988c('0x30')][_0x988c('0x1c')]);}_0x156e9d[_0x988c('0x35')]=qs[_0x988c('0x36')](_0x5e320a[_0x988c('0x30')]['sort']);_0x156e9d[_0x988c('0x37')]=qs[_0x988c('0x2e')](_[_0x988c('0x38')](_0x5e320a[_0x988c('0x30')],_0x509f99[_0x988c('0x2e')]),_0x5d5992);if(_0x5e320a[_0x988c('0x30')][_0x988c('0x39')]){_0x156e9d[_0x988c('0x37')]=_['merge'](_0x156e9d[_0x988c('0x37')],{'$or':_[_0x988c('0x2c')](_0x5d5992,function(_0x4c421b){if(_0x4c421b[_0x988c('0x3a')]!==_0x988c('0x3b')){var _0x217b18={};_0x217b18[_0x4c421b['name']]={'$like':'%'+_0x5e320a[_0x988c('0x30')][_0x988c('0x39')]+'%'};return _0x217b18;}})});}_0x156e9d=_[_0x988c('0x3c')]({},_0x156e9d,_0x5e320a[_0x988c('0x3d')]);var _0x3a21a2={'where':_0x156e9d['where']};return db[_0x988c('0x3e')][_0x988c('0x1f')](_0x3a21a2)[_0x988c('0x25')](function(_0x37856f){_0x53c1a7[_0x988c('0x1f')]=_0x37856f;if(_0x5e320a[_0x988c('0x30')][_0x988c('0x3f')]){_0x156e9d['include']=[{'all':!![]}];}return db['ZendeskField'][_0x988c('0x40')](_0x156e9d);})[_0x988c('0x25')](function(_0x54c075){_0x53c1a7[_0x988c('0x41')]=_0x54c075;return _0x53c1a7;})[_0x988c('0x25')](respondWithFilteredResult(_0x3be720,_0x156e9d))[_0x988c('0x42')](handleError(_0x3be720,null));};exports[_0x988c('0x43')]=function(_0x3266b0,_0x58c768){var _0x4a83d3={'raw':!![],'where':{'id':_0x3266b0['params']['id']}},_0x1adb68={};_0x1adb68['model']=_[_0x988c('0x44')](db[_0x988c('0x3e')]['rawAttributes']);_0x1adb68[_0x988c('0x30')]=_[_0x988c('0x44')](_0x3266b0[_0x988c('0x30')]);_0x1adb68[_0x988c('0x2e')]=_[_0x988c('0x45')](_0x1adb68[_0x988c('0x2f')],_0x1adb68[_0x988c('0x30')]);_0x4a83d3['attributes']=_['intersection'](_0x1adb68[_0x988c('0x2f')],qs['fields'](_0x3266b0[_0x988c('0x30')][_0x988c('0x32')]));_0x4a83d3[_0x988c('0x31')]=_0x4a83d3[_0x988c('0x31')][_0x988c('0x46')]?_0x4a83d3[_0x988c('0x31')]:_0x1adb68['model'];if(_0x3266b0[_0x988c('0x30')][_0x988c('0x3f')]){_0x4a83d3[_0x988c('0x47')]=[{'all':!![]}];}_0x4a83d3=_[_0x988c('0x3c')]({},_0x4a83d3,_0x3266b0[_0x988c('0x3d')]);return db[_0x988c('0x3e')][_0x988c('0x48')](_0x4a83d3)['then'](handleEntityNotFound(_0x58c768,null))['then'](respondWithResult(_0x58c768,null))[_0x988c('0x42')](handleError(_0x58c768,null));};exports[_0x988c('0x49')]=function(_0x4246bf,_0x382030){return db['ZendeskField']['create'](_0x4246bf[_0x988c('0x4a')],{})[_0x988c('0x25')](respondWithResult(_0x382030,0xc9))[_0x988c('0x42')](handleError(_0x382030,null));};exports[_0x988c('0x4b')]=function(_0x4b59dc,_0x32cdb6){if(_0x4b59dc[_0x988c('0x4a')]['id']){delete _0x4b59dc[_0x988c('0x4a')]['id'];}return db[_0x988c('0x3e')]['find']({'where':{'id':_0x4b59dc[_0x988c('0x4c')]['id']}})['then'](handleEntityNotFound(_0x32cdb6,null))[_0x988c('0x25')](saveUpdates(_0x4b59dc[_0x988c('0x4a')],null))['then'](respondWithResult(_0x32cdb6,null))[_0x988c('0x42')](handleError(_0x32cdb6,null));};exports[_0x988c('0x26')]=function(_0x9993f4,_0x3dc5c5){return db[_0x988c('0x3e')][_0x988c('0x48')]({'where':{'id':_0x9993f4[_0x988c('0x4c')]['id']}})[_0x988c('0x25')](handleEntityNotFound(_0x3dc5c5,null))['then'](removeEntity(_0x3dc5c5,null))[_0x988c('0x42')](handleError(_0x3dc5c5,null));};