6102cb4259aacf116ae22c34592502f2bfcace17
[motion2.git] / server / api / cmCustomField / cmCustomField.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 _0x9147=['intersection','find','body','create','sequelize','transaction','Sequelize','TEXT','text','number','INTEGER','switch','BOOLEAN','defaultValue','queryInterface','cm_contacts','cf_%d','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','end','status','json','count','offset','set','Content-Range','apply','reject','save','update','destroy','stack','name','index','map','CmCustomField','rawAttributes','fieldName','type','key','model','differenceBy','query','keys','filters','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','pick','filter','where','merge','options','then','includeAll','include','findAll','rows','catch','show','params'];(function(_0x477281,_0x32ac6f){var _0xec201e=function(_0x554652){while(--_0x554652){_0x477281['push'](_0x477281['shift']());}};_0xec201e(++_0x32ac6f);}(_0x9147,0x1d3));var _0x7914=function(_0x4fc9e6,_0xc51915){_0x4fc9e6=_0x4fc9e6-0x0;var _0x551d28=_0x9147[_0x4fc9e6];return _0x551d28;};'use strict';var pdf=require(_0x7914('0x0'));var emlformat=require(_0x7914('0x1'));var rimraf=require(_0x7914('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x7914('0x3'));var rp=require(_0x7914('0x4'));var moment=require(_0x7914('0x5'));var BPromise=require(_0x7914('0x6'));var Mustache=require(_0x7914('0x7'));var util=require('util');var path=require(_0x7914('0x8'));var sox=require('sox');var csv=require(_0x7914('0x9'));var ejs=require(_0x7914('0xa'));var fs=require('fs');var _=require(_0x7914('0xb'));var squel=require('squel');var crypto=require(_0x7914('0xc'));var jsforce=require(_0x7914('0xd'));var deskjs=require(_0x7914('0xe'));var toCsv=require(_0x7914('0x9'));var querystring=require(_0x7914('0xf'));var Papa=require(_0x7914('0x10'));var Redis=require(_0x7914('0x11'));var authService=require(_0x7914('0x12'));var qs=require(_0x7914('0x13'));var as=require(_0x7914('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x7914('0x15'))(_0x7914('0x16'));var utils=require('../../config/utils');var config=require(_0x7914('0x17'));var db=require(_0x7914('0x18'))['db'];function respondWithStatusCode(_0x1e82ff,_0xd9e4bc){_0xd9e4bc=_0xd9e4bc||0xcc;return function(_0x19a065){if(_0x19a065){return _0x1e82ff[_0x7914('0x19')](_0xd9e4bc);}return _0x1e82ff['status'](_0xd9e4bc)[_0x7914('0x1a')]();};}function respondWithResult(_0x318b85,_0x18a515){_0x18a515=_0x18a515||0xc8;return function(_0x2d3bde){if(_0x2d3bde){return _0x318b85[_0x7914('0x1b')](_0x18a515)[_0x7914('0x1c')](_0x2d3bde);}};}function respondWithFilteredResult(_0x463aaa,_0x5be0da){return function(_0x5a6a62){if(_0x5a6a62){var _0x441fde=_0x5a6a62[_0x7914('0x1d')],_0x540d94=_0x5be0da[_0x7914('0x1e')],_0x508786=_0x5be0da[_0x7914('0x1e')]+_0x5be0da['limit'],_0x16c464;if(_0x508786>=_0x441fde){_0x508786=_0x441fde;_0x16c464=0xc8;}else{_0x16c464=0xce;}_0x463aaa[_0x7914('0x1b')](_0x16c464);return _0x463aaa[_0x7914('0x1f')](_0x7914('0x20'),_0x540d94+'-'+_0x508786+'/'+_0x441fde)[_0x7914('0x1c')](_0x5a6a62);}return null;};}function patchUpdates(_0x1a5633){return function(_0x386a8d){try{jsonpatch[_0x7914('0x21')](_0x386a8d,_0x1a5633,!![]);}catch(_0x3a4934){return BPromise[_0x7914('0x22')](_0x3a4934);}return _0x386a8d[_0x7914('0x23')]();};}function saveUpdates(_0xab1665,_0x3d3cbc){return function(_0x101410){if(_0x101410){return _0x101410[_0x7914('0x24')](_0xab1665)['then'](function(_0x4e5b57){return _0x4e5b57;});}return null;};}function removeEntity(_0x1aebe6,_0xe593c6){return function(_0x3da896){if(_0x3da896){return _0x3da896[_0x7914('0x25')]()['then'](function(){_0x1aebe6[_0x7914('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4e1a5f,_0x3e1b61){return function(_0x4b4e81){if(!_0x4b4e81){_0x4e1a5f[_0x7914('0x19')](0x194);}return _0x4b4e81;};}function handleError(_0x5367ed,_0x3ad60b){_0x3ad60b=_0x3ad60b||0x1f4;return function(_0x537b11){logger['error'](_0x537b11[_0x7914('0x26')]);if(_0x537b11[_0x7914('0x27')]){delete _0x537b11[_0x7914('0x27')];}_0x5367ed[_0x7914('0x1b')](_0x3ad60b)['send'](_0x537b11);};}exports[_0x7914('0x28')]=function(_0x3ea7c0,_0x570593){var _0x2e7054={},_0x299d15={},_0x2753c5={'count':0x0,'rows':[]};var _0x5674f2=_[_0x7914('0x29')](db[_0x7914('0x2a')][_0x7914('0x2b')],function(_0x209448){return{'name':_0x209448[_0x7914('0x2c')],'type':_0x209448[_0x7914('0x2d')][_0x7914('0x2e')]};});_0x299d15[_0x7914('0x2f')]=_[_0x7914('0x30')](_['map'](_0x5674f2,_0x7914('0x27')),['name']);_0x299d15[_0x7914('0x31')]=_[_0x7914('0x32')](_0x3ea7c0['query']);_0x299d15[_0x7914('0x33')]=_['intersection'](_0x299d15[_0x7914('0x2f')],_0x299d15['query']);_0x2e7054[_0x7914('0x34')]=_['intersection'](_0x299d15[_0x7914('0x2f')],qs[_0x7914('0x35')](_0x3ea7c0['query'][_0x7914('0x35')]));_0x2e7054[_0x7914('0x34')]=_0x2e7054['attributes'][_0x7914('0x36')]?_0x2e7054[_0x7914('0x34')]:_0x299d15['model'];if(!_0x3ea7c0[_0x7914('0x31')][_0x7914('0x37')](_0x7914('0x38'))){_0x2e7054[_0x7914('0x39')]=qs['limit'](_0x3ea7c0[_0x7914('0x31')][_0x7914('0x39')]);_0x2e7054[_0x7914('0x1e')]=qs['offset'](_0x3ea7c0[_0x7914('0x31')][_0x7914('0x1e')]);}_0x2e7054[_0x7914('0x3a')]=qs[_0x7914('0x3b')](_0x3ea7c0['query']['sort']);_0x2e7054['where']=qs[_0x7914('0x33')](_[_0x7914('0x3c')](_0x3ea7c0[_0x7914('0x31')],_0x299d15['filters']),_0x5674f2);if(_0x3ea7c0['query'][_0x7914('0x3d')]){_0x2e7054[_0x7914('0x3e')]=_[_0x7914('0x3f')](_0x2e7054[_0x7914('0x3e')],{'$or':_[_0x7914('0x29')](_0x5674f2,function(_0x4d8e12){if(_0x4d8e12[_0x7914('0x2d')]!=='VIRTUAL'){var _0x1b05ef={};_0x1b05ef[_0x4d8e12['name']]={'$like':'%'+_0x3ea7c0[_0x7914('0x31')][_0x7914('0x3d')]+'%'};return _0x1b05ef;}})});}_0x2e7054=_['merge']({},_0x2e7054,_0x3ea7c0[_0x7914('0x40')]);var _0x21cb07={'where':_0x2e7054['where']};return db[_0x7914('0x2a')][_0x7914('0x1d')](_0x21cb07)[_0x7914('0x41')](function(_0xc9e178){_0x2753c5['count']=_0xc9e178;if(_0x3ea7c0[_0x7914('0x31')][_0x7914('0x42')]){_0x2e7054[_0x7914('0x43')]=[{'all':!![]}];}return db[_0x7914('0x2a')][_0x7914('0x44')](_0x2e7054);})[_0x7914('0x41')](function(_0x3bfd83){_0x2753c5[_0x7914('0x45')]=_0x3bfd83;return _0x2753c5;})['then'](respondWithFilteredResult(_0x570593,_0x2e7054))[_0x7914('0x46')](handleError(_0x570593,null));};exports[_0x7914('0x47')]=function(_0x82a15d,_0x2ca403){var _0x56751c={'raw':!![],'where':{'id':_0x82a15d[_0x7914('0x48')]['id']}},_0x58712f={};_0x58712f[_0x7914('0x2f')]=_['keys'](db['CmCustomField'][_0x7914('0x2b')]);_0x58712f['query']=_['keys'](_0x82a15d['query']);_0x58712f[_0x7914('0x33')]=_[_0x7914('0x49')](_0x58712f['model'],_0x58712f['query']);_0x56751c[_0x7914('0x34')]=_['intersection'](_0x58712f[_0x7914('0x2f')],qs[_0x7914('0x35')](_0x82a15d['query'][_0x7914('0x35')]));_0x56751c[_0x7914('0x34')]=_0x56751c['attributes'][_0x7914('0x36')]?_0x56751c[_0x7914('0x34')]:_0x58712f[_0x7914('0x2f')];if(_0x82a15d[_0x7914('0x31')][_0x7914('0x42')]){_0x56751c['include']=[{'all':!![]}];}_0x56751c=_[_0x7914('0x3f')]({},_0x56751c,_0x82a15d[_0x7914('0x40')]);return db['CmCustomField'][_0x7914('0x4a')](_0x56751c)[_0x7914('0x41')](handleEntityNotFound(_0x2ca403,null))[_0x7914('0x41')](respondWithResult(_0x2ca403,null))[_0x7914('0x46')](handleError(_0x2ca403,null));};exports[_0x7914('0x24')]=function(_0x38d47b,_0xb665c){if(_0x38d47b['body']['id']){delete _0x38d47b[_0x7914('0x4b')]['id'];}return db[_0x7914('0x2a')][_0x7914('0x4a')]({'where':{'id':_0x38d47b[_0x7914('0x48')]['id']}})[_0x7914('0x41')](handleEntityNotFound(_0xb665c,null))[_0x7914('0x41')](saveUpdates(_0x38d47b[_0x7914('0x4b')],null))[_0x7914('0x41')](respondWithResult(_0xb665c,null))[_0x7914('0x46')](handleError(_0xb665c,null));};exports[_0x7914('0x25')]=function(_0xe24291,_0x1486ed){return db[_0x7914('0x2a')][_0x7914('0x4a')]({'where':{'id':_0xe24291[_0x7914('0x48')]['id']}})[_0x7914('0x41')](handleEntityNotFound(_0x1486ed,null))['then'](removeEntity(_0x1486ed,null))['catch'](handleError(_0x1486ed,null));};exports[_0x7914('0x4c')]=function(_0x561d2c,_0x24dcc3){var _0x593027;return db[_0x7914('0x4d')][_0x7914('0x4e')](function(_0x17e1b9){return db[_0x7914('0x2a')][_0x7914('0x4c')](_0x561d2c[_0x7914('0x4b')],{'transaction':_0x17e1b9})[_0x7914('0x41')](function(_0xbea37d){_0x593027=_0xbea37d;var _0x1461fe={'type':db[_0x7914('0x4f')][_0x7914('0x50')],'transaction':_0x17e1b9};switch(_0x561d2c[_0x7914('0x4b')][_0x7914('0x2d')]){case _0x7914('0x51'):_0x1461fe[_0x7914('0x2d')]=db[_0x7914('0x4f')][_0x7914('0x50')];break;case _0x7914('0x52'):_0x1461fe['type']=db[_0x7914('0x4f')][_0x7914('0x53')];break;case _0x7914('0x54'):_0x1461fe[_0x7914('0x2d')]=db[_0x7914('0x4f')][_0x7914('0x55')];_0x1461fe[_0x7914('0x56')]=![];break;default:}return db[_0x7914('0x4d')][_0x7914('0x57')]['addColumn'](_0x7914('0x58'),util['format'](_0x7914('0x59'),_0x593027['id']),_0x1461fe);})['then'](function(){return _0x593027;});})['then'](respondWithResult(_0x24dcc3,0xc9))[_0x7914('0x46')](handleError(_0x24dcc3,null));};