Built motion from commit 355702c8.|2.5.41
[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 _0x8a4b=['status','json','limit','undefined','count','offset','set','apply','reject','save','update','then','destroy','error','stack','name','send','map','fieldName','type','key','query','keys','filters','model','fields','length','attributes','hasOwnProperty','nolimit','order','sort','filter','where','merge','VIRTUAL','options','include','CmCustomField','findAll','show','rawAttributes','intersection','find','catch','body','params','transaction','create','Sequelize','TEXT','text','number','INTEGER','switch','BOOLEAN','defaultValue','sequelize','queryInterface','addColumn','cm_contacts','format','cf_%d','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','sox','to-csv','ejs','fs-extra','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','end'];(function(_0x25a589,_0x1b6e56){var _0x55f24f=function(_0x5b9633){while(--_0x5b9633){_0x25a589['push'](_0x25a589['shift']());}};_0x55f24f(++_0x1b6e56);}(_0x8a4b,0x99));var _0xb8a4=function(_0x25b314,_0x2af525){_0x25b314=_0x25b314-0x0;var _0x2f267f=_0x8a4b[_0x25b314];return _0x2f267f;};'use strict';var emlformat=require(_0xb8a4('0x0'));var rimraf=require(_0xb8a4('0x1'));var zipdir=require(_0xb8a4('0x2'));var jsonpatch=require(_0xb8a4('0x3'));var rp=require(_0xb8a4('0x4'));var moment=require('moment');var BPromise=require(_0xb8a4('0x5'));var Mustache=require('mustache');var util=require(_0xb8a4('0x6'));var path=require('path');var sox=require(_0xb8a4('0x7'));var csv=require(_0xb8a4('0x8'));var ejs=require(_0xb8a4('0x9'));var fs=require('fs');var fs_extra=require(_0xb8a4('0xa'));var _=require('lodash');var squel=require(_0xb8a4('0xb'));var crypto=require('crypto');var jsforce=require(_0xb8a4('0xc'));var deskjs=require(_0xb8a4('0xd'));var toCsv=require('to-csv');var querystring=require(_0xb8a4('0xe'));var Papa=require(_0xb8a4('0xf'));var Redis=require(_0xb8a4('0x10'));var authService=require(_0xb8a4('0x11'));var qs=require(_0xb8a4('0x12'));var as=require(_0xb8a4('0x13'));var hardwareService=require(_0xb8a4('0x14'));var logger=require(_0xb8a4('0x15'))(_0xb8a4('0x16'));var utils=require(_0xb8a4('0x17'));var config=require(_0xb8a4('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x339e6a,_0x75a221){_0x75a221=_0x75a221||0xcc;return function(_0x369e71){if(_0x369e71){return _0x339e6a[_0xb8a4('0x19')](_0x75a221);}return _0x339e6a['status'](_0x75a221)[_0xb8a4('0x1a')]();};}function respondWithResult(_0x2b543c,_0x362125){_0x362125=_0x362125||0xc8;return function(_0x408722){if(_0x408722){return _0x2b543c[_0xb8a4('0x1b')](_0x362125)[_0xb8a4('0x1c')](_0x408722);}};}function respondWithFilteredResult(_0x3a0bfd,_0xa3ed1f){return function(_0x33d3a7){if(_0x33d3a7){var _0x324855=typeof _0xa3ed1f['offset']==='undefined'&&typeof _0xa3ed1f[_0xb8a4('0x1d')]===_0xb8a4('0x1e');var _0xcc184f=_0x33d3a7[_0xb8a4('0x1f')];var _0x8438c4=_0x324855?0x0:_0xa3ed1f[_0xb8a4('0x20')];var _0x7af688=_0x324855?_0x33d3a7[_0xb8a4('0x1f')]:_0xa3ed1f[_0xb8a4('0x20')]+_0xa3ed1f[_0xb8a4('0x1d')];var _0x474ce2;if(_0x7af688>=_0xcc184f){_0x7af688=_0xcc184f;_0x474ce2=0xc8;}else{_0x474ce2=0xce;}_0x3a0bfd[_0xb8a4('0x1b')](_0x474ce2);return _0x3a0bfd[_0xb8a4('0x21')]('Content-Range',_0x8438c4+'-'+_0x7af688+'/'+_0xcc184f)[_0xb8a4('0x1c')](_0x33d3a7);}return null;};}function patchUpdates(_0xe6d731){return function(_0x5c8e2c){try{jsonpatch[_0xb8a4('0x22')](_0x5c8e2c,_0xe6d731,!![]);}catch(_0x1f8e8c){return BPromise[_0xb8a4('0x23')](_0x1f8e8c);}return _0x5c8e2c[_0xb8a4('0x24')]();};}function saveUpdates(_0x5e3ade,_0x4f3aee){return function(_0xc88f6d){if(_0xc88f6d){return _0xc88f6d[_0xb8a4('0x25')](_0x5e3ade)[_0xb8a4('0x26')](function(_0x6da36){return _0x6da36;});}return null;};}function removeEntity(_0xb57307,_0x3f2abf){return function(_0x33a2e8){if(_0x33a2e8){return _0x33a2e8[_0xb8a4('0x27')]()['then'](function(){_0xb57307[_0xb8a4('0x1b')](0xcc)[_0xb8a4('0x1a')]();});}};}function handleEntityNotFound(_0x5df071,_0x5dd1fa){return function(_0x357b5c){if(!_0x357b5c){_0x5df071['sendStatus'](0x194);}return _0x357b5c;};}function handleError(_0x31f1ea,_0xe290a6){_0xe290a6=_0xe290a6||0x1f4;return function(_0x153374){logger[_0xb8a4('0x28')](_0x153374[_0xb8a4('0x29')]);if(_0x153374[_0xb8a4('0x2a')]){delete _0x153374[_0xb8a4('0x2a')];}_0x31f1ea[_0xb8a4('0x1b')](_0xe290a6)[_0xb8a4('0x2b')](_0x153374);};}exports['index']=function(_0x29a870,_0x373f57){var _0x3aa60a={},_0x12d315={},_0x1d400d={'count':0x0,'rows':[]};var _0x118731=_[_0xb8a4('0x2c')](db['CmCustomField']['rawAttributes'],function(_0x58235b){return{'name':_0x58235b[_0xb8a4('0x2d')],'type':_0x58235b[_0xb8a4('0x2e')][_0xb8a4('0x2f')]};});_0x12d315['model']=_['differenceBy'](_['map'](_0x118731,'name'),[_0xb8a4('0x2a')]);_0x12d315[_0xb8a4('0x30')]=_[_0xb8a4('0x31')](_0x29a870['query']);_0x12d315[_0xb8a4('0x32')]=_['intersection'](_0x12d315['model'],_0x12d315[_0xb8a4('0x30')]);_0x3aa60a['attributes']=_['intersection'](_0x12d315[_0xb8a4('0x33')],qs[_0xb8a4('0x34')](_0x29a870[_0xb8a4('0x30')][_0xb8a4('0x34')]));_0x3aa60a['attributes']=_0x3aa60a['attributes'][_0xb8a4('0x35')]?_0x3aa60a[_0xb8a4('0x36')]:_0x12d315[_0xb8a4('0x33')];if(!_0x29a870[_0xb8a4('0x30')][_0xb8a4('0x37')](_0xb8a4('0x38'))){_0x3aa60a[_0xb8a4('0x1d')]=qs[_0xb8a4('0x1d')](_0x29a870['query'][_0xb8a4('0x1d')]);_0x3aa60a[_0xb8a4('0x20')]=qs[_0xb8a4('0x20')](_0x29a870[_0xb8a4('0x30')][_0xb8a4('0x20')]);}_0x3aa60a[_0xb8a4('0x39')]=qs[_0xb8a4('0x3a')](_0x29a870['query'][_0xb8a4('0x3a')]);_0x3aa60a['where']=qs[_0xb8a4('0x32')](_['pick'](_0x29a870[_0xb8a4('0x30')],_0x12d315[_0xb8a4('0x32')]),_0x118731);if(_0x29a870[_0xb8a4('0x30')][_0xb8a4('0x3b')]){_0x3aa60a[_0xb8a4('0x3c')]=_[_0xb8a4('0x3d')](_0x3aa60a[_0xb8a4('0x3c')],{'$or':_[_0xb8a4('0x2c')](_0x118731,function(_0x144275){if(_0x144275[_0xb8a4('0x2e')]!==_0xb8a4('0x3e')){var _0x38dd4c={};_0x38dd4c[_0x144275[_0xb8a4('0x2a')]]={'$like':'%'+_0x29a870[_0xb8a4('0x30')][_0xb8a4('0x3b')]+'%'};return _0x38dd4c;}})});}_0x3aa60a=_[_0xb8a4('0x3d')]({},_0x3aa60a,_0x29a870[_0xb8a4('0x3f')]);var _0x5af038={'where':_0x3aa60a[_0xb8a4('0x3c')]};return db['CmCustomField'][_0xb8a4('0x1f')](_0x5af038)['then'](function(_0x5133d8){_0x1d400d[_0xb8a4('0x1f')]=_0x5133d8;if(_0x29a870['query']['includeAll']){_0x3aa60a[_0xb8a4('0x40')]=[{'all':!![]}];}return db[_0xb8a4('0x41')][_0xb8a4('0x42')](_0x3aa60a);})['then'](function(_0x12322c){_0x1d400d['rows']=_0x12322c;return _0x1d400d;})[_0xb8a4('0x26')](respondWithFilteredResult(_0x373f57,_0x3aa60a))['catch'](handleError(_0x373f57,null));};exports[_0xb8a4('0x43')]=function(_0x170374,_0x4b7365){var _0x504af7={'raw':!![],'where':{'id':_0x170374['params']['id']}},_0xbb6ed0={};_0xbb6ed0[_0xb8a4('0x33')]=_[_0xb8a4('0x31')](db['CmCustomField'][_0xb8a4('0x44')]);_0xbb6ed0[_0xb8a4('0x30')]=_['keys'](_0x170374[_0xb8a4('0x30')]);_0xbb6ed0[_0xb8a4('0x32')]=_[_0xb8a4('0x45')](_0xbb6ed0[_0xb8a4('0x33')],_0xbb6ed0[_0xb8a4('0x30')]);_0x504af7[_0xb8a4('0x36')]=_['intersection'](_0xbb6ed0[_0xb8a4('0x33')],qs[_0xb8a4('0x34')](_0x170374['query'][_0xb8a4('0x34')]));_0x504af7[_0xb8a4('0x36')]=_0x504af7[_0xb8a4('0x36')][_0xb8a4('0x35')]?_0x504af7[_0xb8a4('0x36')]:_0xbb6ed0[_0xb8a4('0x33')];if(_0x170374['query']['includeAll']){_0x504af7[_0xb8a4('0x40')]=[{'all':!![]}];}_0x504af7=_[_0xb8a4('0x3d')]({},_0x504af7,_0x170374[_0xb8a4('0x3f')]);return db['CmCustomField'][_0xb8a4('0x46')](_0x504af7)[_0xb8a4('0x26')](handleEntityNotFound(_0x4b7365,null))['then'](respondWithResult(_0x4b7365,null))[_0xb8a4('0x47')](handleError(_0x4b7365,null));};exports[_0xb8a4('0x25')]=function(_0x56f32d,_0x58feb0){if(_0x56f32d['body']['id']){delete _0x56f32d[_0xb8a4('0x48')]['id'];}return db[_0xb8a4('0x41')]['find']({'where':{'id':_0x56f32d[_0xb8a4('0x49')]['id']}})['then'](handleEntityNotFound(_0x58feb0,null))[_0xb8a4('0x26')](saveUpdates(_0x56f32d[_0xb8a4('0x48')],null))['then'](respondWithResult(_0x58feb0,null))['catch'](handleError(_0x58feb0,null));};exports[_0xb8a4('0x27')]=function(_0x1bb2c4,_0x590fb1){return db[_0xb8a4('0x41')]['find']({'where':{'id':_0x1bb2c4[_0xb8a4('0x49')]['id']}})[_0xb8a4('0x26')](handleEntityNotFound(_0x590fb1,null))[_0xb8a4('0x26')](removeEntity(_0x590fb1,null))[_0xb8a4('0x47')](handleError(_0x590fb1,null));};exports['create']=function(_0x12df7d,_0x253ad4){var _0x349e99;return db['sequelize'][_0xb8a4('0x4a')](function(_0x2e2f00){return db[_0xb8a4('0x41')][_0xb8a4('0x4b')](_0x12df7d[_0xb8a4('0x48')],{'transaction':_0x2e2f00})[_0xb8a4('0x26')](function(_0x13213){_0x349e99=_0x13213;var _0x519f18={'type':db[_0xb8a4('0x4c')][_0xb8a4('0x4d')],'transaction':_0x2e2f00};switch(_0x12df7d[_0xb8a4('0x48')]['type']){case _0xb8a4('0x4e'):_0x519f18[_0xb8a4('0x2e')]=db['Sequelize']['TEXT'];break;case _0xb8a4('0x4f'):_0x519f18['type']=db[_0xb8a4('0x4c')][_0xb8a4('0x50')];break;case _0xb8a4('0x51'):_0x519f18[_0xb8a4('0x2e')]=db[_0xb8a4('0x4c')][_0xb8a4('0x52')];_0x519f18[_0xb8a4('0x53')]=![];break;default:}return db[_0xb8a4('0x54')][_0xb8a4('0x55')][_0xb8a4('0x56')](_0xb8a4('0x57'),util[_0xb8a4('0x58')](_0xb8a4('0x59'),_0x349e99['id']),_0x519f18);})[_0xb8a4('0x26')](function(){return _0x349e99;});})[_0xb8a4('0x26')](respondWithResult(_0x253ad4,0xc9))[_0xb8a4('0x47')](handleError(_0x253ad4,null));};