8c12a9ff75ef776c9a873309ecf713f0fe868a70
[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 _0x72fd=['util','path','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','end','offset','limit','set','Content-Range','json','apply','reject','save','update','then','destroy','error','stack','name','index','map','ZendeskField','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','nolimit','order','sort','where','pick','filter','merge','options','count','findAll','rows','catch','params','filters','length','include','find','create','body','zip-dir','fast-json-patch','request-promise','moment','mustache'];(function(_0x19e4fd,_0x56730b){var _0x13e754=function(_0x4665cc){while(--_0x4665cc){_0x19e4fd['push'](_0x19e4fd['shift']());}};_0x13e754(++_0x56730b);}(_0x72fd,0x1b1));var _0xd72f=function(_0x710355,_0x2f4947){_0x710355=_0x710355-0x0;var _0x1983a4=_0x72fd[_0x710355];return _0x1983a4;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xd72f('0x0'));var jsonpatch=require(_0xd72f('0x1'));var rp=require(_0xd72f('0x2'));var moment=require(_0xd72f('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xd72f('0x4'));var util=require(_0xd72f('0x5'));var path=require(_0xd72f('0x6'));var sox=require('sox');var csv=require(_0xd72f('0x7'));var ejs=require(_0xd72f('0x8'));var fs=require('fs');var fs_extra=require(_0xd72f('0x9'));var _=require('lodash');var squel=require(_0xd72f('0xa'));var crypto=require(_0xd72f('0xb'));var jsforce=require(_0xd72f('0xc'));var deskjs=require(_0xd72f('0xd'));var toCsv=require(_0xd72f('0x7'));var querystring=require(_0xd72f('0xe'));var Papa=require(_0xd72f('0xf'));var Redis=require(_0xd72f('0x10'));var authService=require(_0xd72f('0x11'));var qs=require(_0xd72f('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd72f('0x13'));var logger=require(_0xd72f('0x14'))(_0xd72f('0x15'));var utils=require(_0xd72f('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xd72f('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5c8192,_0x32f155){_0x32f155=_0x32f155||0xcc;return function(_0x153cb3){if(_0x153cb3){return _0x5c8192[_0xd72f('0x18')](_0x32f155);}return _0x5c8192[_0xd72f('0x19')](_0x32f155)[_0xd72f('0x1a')]();};}function respondWithResult(_0x3191f1,_0x43cd34){_0x43cd34=_0x43cd34||0xc8;return function(_0x1eaca2){if(_0x1eaca2){return _0x3191f1[_0xd72f('0x19')](_0x43cd34)['json'](_0x1eaca2);}};}function respondWithFilteredResult(_0x6fd309,_0x115208){return function(_0x58a72c){if(_0x58a72c){var _0x289aa1=_0x58a72c['count'],_0x1983a3=_0x115208[_0xd72f('0x1b')],_0xb98c78=_0x115208[_0xd72f('0x1b')]+_0x115208[_0xd72f('0x1c')],_0x2560e7;if(_0xb98c78>=_0x289aa1){_0xb98c78=_0x289aa1;_0x2560e7=0xc8;}else{_0x2560e7=0xce;}_0x6fd309['status'](_0x2560e7);return _0x6fd309[_0xd72f('0x1d')](_0xd72f('0x1e'),_0x1983a3+'-'+_0xb98c78+'/'+_0x289aa1)[_0xd72f('0x1f')](_0x58a72c);}return null;};}function patchUpdates(_0x6b0807){return function(_0x2aa6e4){try{jsonpatch[_0xd72f('0x20')](_0x2aa6e4,_0x6b0807,!![]);}catch(_0x442da9){return BPromise[_0xd72f('0x21')](_0x442da9);}return _0x2aa6e4[_0xd72f('0x22')]();};}function saveUpdates(_0x19e844,_0x20ceb3){return function(_0x130cb2){if(_0x130cb2){return _0x130cb2[_0xd72f('0x23')](_0x19e844)[_0xd72f('0x24')](function(_0x5f28cb){return _0x5f28cb;});}return null;};}function removeEntity(_0x58e65d,_0x5cf6e1){return function(_0x32889e){if(_0x32889e){return _0x32889e[_0xd72f('0x25')]()['then'](function(){_0x58e65d[_0xd72f('0x19')](0xcc)[_0xd72f('0x1a')]();});}};}function handleEntityNotFound(_0x112a69,_0x5519e5){return function(_0x35d4c0){if(!_0x35d4c0){_0x112a69['sendStatus'](0x194);}return _0x35d4c0;};}function handleError(_0x2c3035,_0x22ef23){_0x22ef23=_0x22ef23||0x1f4;return function(_0x323f32){logger[_0xd72f('0x26')](_0x323f32[_0xd72f('0x27')]);if(_0x323f32[_0xd72f('0x28')]){delete _0x323f32[_0xd72f('0x28')];}_0x2c3035[_0xd72f('0x19')](_0x22ef23)['send'](_0x323f32);};}exports[_0xd72f('0x29')]=function(_0x1da98d,_0x334a2e){var _0x40e4c2={},_0x1d8981={},_0x1e31f5={'count':0x0,'rows':[]};var _0x3175fc=_[_0xd72f('0x2a')](db[_0xd72f('0x2b')][_0xd72f('0x2c')],function(_0x5a32c0){return{'name':_0x5a32c0[_0xd72f('0x2d')],'type':_0x5a32c0[_0xd72f('0x2e')][_0xd72f('0x2f')]};});_0x1d8981[_0xd72f('0x30')]=_[_0xd72f('0x2a')](_0x3175fc,_0xd72f('0x28'));_0x1d8981[_0xd72f('0x31')]=_[_0xd72f('0x32')](_0x1da98d['query']);_0x1d8981['filters']=_[_0xd72f('0x33')](_0x1d8981['model'],_0x1d8981[_0xd72f('0x31')]);_0x40e4c2[_0xd72f('0x34')]=_[_0xd72f('0x33')](_0x1d8981['model'],qs['fields'](_0x1da98d[_0xd72f('0x31')][_0xd72f('0x35')]));_0x40e4c2['attributes']=_0x40e4c2[_0xd72f('0x34')]['length']?_0x40e4c2[_0xd72f('0x34')]:_0x1d8981['model'];if(!_0x1da98d[_0xd72f('0x31')]['hasOwnProperty'](_0xd72f('0x36'))){_0x40e4c2[_0xd72f('0x1c')]=qs[_0xd72f('0x1c')](_0x1da98d['query'][_0xd72f('0x1c')]);_0x40e4c2[_0xd72f('0x1b')]=qs[_0xd72f('0x1b')](_0x1da98d['query'][_0xd72f('0x1b')]);}_0x40e4c2[_0xd72f('0x37')]=qs[_0xd72f('0x38')](_0x1da98d[_0xd72f('0x31')]['sort']);_0x40e4c2[_0xd72f('0x39')]=qs['filters'](_[_0xd72f('0x3a')](_0x1da98d[_0xd72f('0x31')],_0x1d8981['filters']),_0x3175fc);if(_0x1da98d[_0xd72f('0x31')][_0xd72f('0x3b')]){_0x40e4c2[_0xd72f('0x39')]=_['merge'](_0x40e4c2[_0xd72f('0x39')],{'$or':_[_0xd72f('0x2a')](_0x3175fc,function(_0x566994){if(_0x566994[_0xd72f('0x2e')]!=='VIRTUAL'){var _0x3968d9={};_0x3968d9[_0x566994[_0xd72f('0x28')]]={'$like':'%'+_0x1da98d[_0xd72f('0x31')]['filter']+'%'};return _0x3968d9;}})});}_0x40e4c2=_[_0xd72f('0x3c')]({},_0x40e4c2,_0x1da98d[_0xd72f('0x3d')]);var _0x14b2f2={'where':_0x40e4c2[_0xd72f('0x39')]};return db[_0xd72f('0x2b')][_0xd72f('0x3e')](_0x14b2f2)[_0xd72f('0x24')](function(_0x3619c3){_0x1e31f5['count']=_0x3619c3;if(_0x1da98d[_0xd72f('0x31')]['includeAll']){_0x40e4c2['include']=[{'all':!![]}];}return db[_0xd72f('0x2b')][_0xd72f('0x3f')](_0x40e4c2);})['then'](function(_0x563331){_0x1e31f5[_0xd72f('0x40')]=_0x563331;return _0x1e31f5;})[_0xd72f('0x24')](respondWithFilteredResult(_0x334a2e,_0x40e4c2))[_0xd72f('0x41')](handleError(_0x334a2e,null));};exports['show']=function(_0x393f8d,_0x543650){var _0x259cec={'raw':!![],'where':{'id':_0x393f8d[_0xd72f('0x42')]['id']}},_0x362378={};_0x362378[_0xd72f('0x30')]=_[_0xd72f('0x32')](db[_0xd72f('0x2b')]['rawAttributes']);_0x362378['query']=_[_0xd72f('0x32')](_0x393f8d[_0xd72f('0x31')]);_0x362378[_0xd72f('0x43')]=_[_0xd72f('0x33')](_0x362378['model'],_0x362378[_0xd72f('0x31')]);_0x259cec[_0xd72f('0x34')]=_['intersection'](_0x362378[_0xd72f('0x30')],qs['fields'](_0x393f8d[_0xd72f('0x31')]['fields']));_0x259cec['attributes']=_0x259cec[_0xd72f('0x34')][_0xd72f('0x44')]?_0x259cec['attributes']:_0x362378[_0xd72f('0x30')];if(_0x393f8d['query']['includeAll']){_0x259cec[_0xd72f('0x45')]=[{'all':!![]}];}_0x259cec=_['merge']({},_0x259cec,_0x393f8d[_0xd72f('0x3d')]);return db[_0xd72f('0x2b')][_0xd72f('0x46')](_0x259cec)['then'](handleEntityNotFound(_0x543650,null))['then'](respondWithResult(_0x543650,null))[_0xd72f('0x41')](handleError(_0x543650,null));};exports[_0xd72f('0x47')]=function(_0x3ba694,_0x27b9ad){return db['ZendeskField'][_0xd72f('0x47')](_0x3ba694[_0xd72f('0x48')],{})['then'](respondWithResult(_0x27b9ad,0xc9))[_0xd72f('0x41')](handleError(_0x27b9ad,null));};exports['update']=function(_0x14c483,_0x24c024){if(_0x14c483['body']['id']){delete _0x14c483[_0xd72f('0x48')]['id'];}return db['ZendeskField']['find']({'where':{'id':_0x14c483[_0xd72f('0x42')]['id']}})['then'](handleEntityNotFound(_0x24c024,null))[_0xd72f('0x24')](saveUpdates(_0x14c483['body'],null))[_0xd72f('0x24')](respondWithResult(_0x24c024,null))['catch'](handleError(_0x24c024,null));};exports[_0xd72f('0x25')]=function(_0x469188,_0x4a0091){return db[_0xd72f('0x2b')]['find']({'where':{'id':_0x469188['params']['id']}})[_0xd72f('0x24')](handleEntityNotFound(_0x4a0091,null))['then'](removeEntity(_0x4a0091,null))[_0xd72f('0x41')](handleError(_0x4a0091,null));};