Built motion from commit 863c3375.|2.6.28
[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 _0x3d80=['sendStatus','status','end','json','offset','undefined','limit','count','set','reject','save','update','then','destroy','error','stack','name','send','map','rawAttributes','fieldName','key','model','filters','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','merge','type','VIRTUAL','options','CmCustomField','includeAll','include','findAll','rows','params','keys','catch','body','find','create','sequelize','Sequelize','TEXT','text','INTEGER','switch','BOOLEAN','defaultValue','queryInterface','addColumn','cm_contacts','format','cf_%d','eml-format','rimraf','zip-dir','fast-json-patch','moment','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../mysqldb'];(function(_0x3ab9ee,_0x4a74b8){var _0x82ee88=function(_0x6ccc7e){while(--_0x6ccc7e){_0x3ab9ee['push'](_0x3ab9ee['shift']());}};_0x82ee88(++_0x4a74b8);}(_0x3d80,0x92));var _0x03d8=function(_0x3e7757,_0xdef898){_0x3e7757=_0x3e7757-0x0;var _0x15acf5=_0x3d80[_0x3e7757];return _0x15acf5;};'use strict';var emlformat=require(_0x03d8('0x0'));var rimraf=require(_0x03d8('0x1'));var zipdir=require(_0x03d8('0x2'));var jsonpatch=require(_0x03d8('0x3'));var rp=require('request-promise');var moment=require(_0x03d8('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x03d8('0x5'));var path=require(_0x03d8('0x6'));var sox=require(_0x03d8('0x7'));var csv=require(_0x03d8('0x8'));var ejs=require(_0x03d8('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x03d8('0xa'));var squel=require(_0x03d8('0xb'));var crypto=require(_0x03d8('0xc'));var jsforce=require(_0x03d8('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x03d8('0x8'));var querystring=require(_0x03d8('0xe'));var Papa=require(_0x03d8('0xf'));var Redis=require(_0x03d8('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x03d8('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x03d8('0x12'));var utils=require(_0x03d8('0x13'));var config=require(_0x03d8('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x03d8('0x15'))['db'];function respondWithStatusCode(_0x5c18c9,_0x5c5e31){_0x5c5e31=_0x5c5e31||0xcc;return function(_0xb407ac){if(_0xb407ac){return _0x5c18c9[_0x03d8('0x16')](_0x5c5e31);}return _0x5c18c9[_0x03d8('0x17')](_0x5c5e31)[_0x03d8('0x18')]();};}function respondWithResult(_0x3e7270,_0x52867a){_0x52867a=_0x52867a||0xc8;return function(_0x49fcef){if(_0x49fcef){return _0x3e7270[_0x03d8('0x17')](_0x52867a)[_0x03d8('0x19')](_0x49fcef);}};}function respondWithFilteredResult(_0x2cf7ba,_0x14a85d){return function(_0x4d7413){if(_0x4d7413){var _0x4f7a60=typeof _0x14a85d[_0x03d8('0x1a')]===_0x03d8('0x1b')&&typeof _0x14a85d[_0x03d8('0x1c')]===_0x03d8('0x1b');var _0x85b66e=_0x4d7413[_0x03d8('0x1d')];var _0x37a1a9=_0x4f7a60?0x0:_0x14a85d['offset'];var _0x1fc380=_0x4f7a60?_0x4d7413[_0x03d8('0x1d')]:_0x14a85d['offset']+_0x14a85d[_0x03d8('0x1c')];var _0x1bc2fc;if(_0x1fc380>=_0x85b66e){_0x1fc380=_0x85b66e;_0x1bc2fc=0xc8;}else{_0x1bc2fc=0xce;}_0x2cf7ba['status'](_0x1bc2fc);return _0x2cf7ba[_0x03d8('0x1e')]('Content-Range',_0x37a1a9+'-'+_0x1fc380+'/'+_0x85b66e)[_0x03d8('0x19')](_0x4d7413);}return null;};}function patchUpdates(_0x3bf116){return function(_0x589ac6){try{jsonpatch['apply'](_0x589ac6,_0x3bf116,!![]);}catch(_0x24b094){return BPromise[_0x03d8('0x1f')](_0x24b094);}return _0x589ac6[_0x03d8('0x20')]();};}function saveUpdates(_0xa07ccf,_0x143535){return function(_0x26e4ec){if(_0x26e4ec){return _0x26e4ec[_0x03d8('0x21')](_0xa07ccf)[_0x03d8('0x22')](function(_0x57036e){return _0x57036e;});}return null;};}function removeEntity(_0x2ba7e4,_0x3d7003){return function(_0x595a2a){if(_0x595a2a){return _0x595a2a[_0x03d8('0x23')]()[_0x03d8('0x22')](function(){_0x2ba7e4['status'](0xcc)[_0x03d8('0x18')]();});}};}function handleEntityNotFound(_0x447814,_0x4b952c){return function(_0x276489){if(!_0x276489){_0x447814[_0x03d8('0x16')](0x194);}return _0x276489;};}function handleError(_0x5a9a74,_0x31ea15){_0x31ea15=_0x31ea15||0x1f4;return function(_0x23df5a){logger[_0x03d8('0x24')](_0x23df5a[_0x03d8('0x25')]);if(_0x23df5a[_0x03d8('0x26')]){delete _0x23df5a[_0x03d8('0x26')];}_0x5a9a74[_0x03d8('0x17')](_0x31ea15)[_0x03d8('0x27')](_0x23df5a);};}exports['index']=function(_0x482ad8,_0x3082c7){var _0x8dc3d6={},_0x29d317={},_0xc49b43={'count':0x0,'rows':[]};var _0xf7b475=_[_0x03d8('0x28')](db['CmCustomField'][_0x03d8('0x29')],function(_0xbd4dba){return{'name':_0xbd4dba[_0x03d8('0x2a')],'type':_0xbd4dba['type'][_0x03d8('0x2b')]};});_0x29d317[_0x03d8('0x2c')]=_['differenceBy'](_[_0x03d8('0x28')](_0xf7b475,_0x03d8('0x26')),['name']);_0x29d317['query']=_['keys'](_0x482ad8['query']);_0x29d317[_0x03d8('0x2d')]=_[_0x03d8('0x2e')](_0x29d317[_0x03d8('0x2c')],_0x29d317[_0x03d8('0x2f')]);_0x8dc3d6[_0x03d8('0x30')]=_[_0x03d8('0x2e')](_0x29d317[_0x03d8('0x2c')],qs[_0x03d8('0x31')](_0x482ad8[_0x03d8('0x2f')][_0x03d8('0x31')]));_0x8dc3d6['attributes']=_0x8dc3d6['attributes'][_0x03d8('0x32')]?_0x8dc3d6[_0x03d8('0x30')]:_0x29d317['model'];if(!_0x482ad8[_0x03d8('0x2f')][_0x03d8('0x33')](_0x03d8('0x34'))){_0x8dc3d6[_0x03d8('0x1c')]=qs[_0x03d8('0x1c')](_0x482ad8[_0x03d8('0x2f')][_0x03d8('0x1c')]);_0x8dc3d6[_0x03d8('0x1a')]=qs[_0x03d8('0x1a')](_0x482ad8[_0x03d8('0x2f')][_0x03d8('0x1a')]);}_0x8dc3d6[_0x03d8('0x35')]=qs[_0x03d8('0x36')](_0x482ad8['query'][_0x03d8('0x36')]);_0x8dc3d6['where']=qs['filters'](_[_0x03d8('0x37')](_0x482ad8[_0x03d8('0x2f')],_0x29d317[_0x03d8('0x2d')]),_0xf7b475);if(_0x482ad8[_0x03d8('0x2f')]['filter']){_0x8dc3d6['where']=_[_0x03d8('0x38')](_0x8dc3d6['where'],{'$or':_[_0x03d8('0x28')](_0xf7b475,function(_0x2c9c25){if(_0x2c9c25[_0x03d8('0x39')]!==_0x03d8('0x3a')){var _0x31acda={};_0x31acda[_0x2c9c25[_0x03d8('0x26')]]={'$like':'%'+_0x482ad8[_0x03d8('0x2f')]['filter']+'%'};return _0x31acda;}})});}_0x8dc3d6=_['merge']({},_0x8dc3d6,_0x482ad8[_0x03d8('0x3b')]);var _0x20ed95={'where':_0x8dc3d6['where']};return db[_0x03d8('0x3c')]['count'](_0x20ed95)[_0x03d8('0x22')](function(_0x347aa2){_0xc49b43[_0x03d8('0x1d')]=_0x347aa2;if(_0x482ad8['query'][_0x03d8('0x3d')]){_0x8dc3d6[_0x03d8('0x3e')]=[{'all':!![]}];}return db[_0x03d8('0x3c')][_0x03d8('0x3f')](_0x8dc3d6);})[_0x03d8('0x22')](function(_0x105e4c){_0xc49b43[_0x03d8('0x40')]=_0x105e4c;return _0xc49b43;})[_0x03d8('0x22')](respondWithFilteredResult(_0x3082c7,_0x8dc3d6))['catch'](handleError(_0x3082c7,null));};exports['show']=function(_0x357ca8,_0x3fd06d){var _0x71f1b3={'raw':!![],'where':{'id':_0x357ca8[_0x03d8('0x41')]['id']}},_0x40c185={};_0x40c185[_0x03d8('0x2c')]=_[_0x03d8('0x42')](db[_0x03d8('0x3c')][_0x03d8('0x29')]);_0x40c185['query']=_[_0x03d8('0x42')](_0x357ca8[_0x03d8('0x2f')]);_0x40c185['filters']=_[_0x03d8('0x2e')](_0x40c185[_0x03d8('0x2c')],_0x40c185[_0x03d8('0x2f')]);_0x71f1b3['attributes']=_[_0x03d8('0x2e')](_0x40c185[_0x03d8('0x2c')],qs[_0x03d8('0x31')](_0x357ca8['query']['fields']));_0x71f1b3[_0x03d8('0x30')]=_0x71f1b3[_0x03d8('0x30')][_0x03d8('0x32')]?_0x71f1b3[_0x03d8('0x30')]:_0x40c185[_0x03d8('0x2c')];if(_0x357ca8['query'][_0x03d8('0x3d')]){_0x71f1b3[_0x03d8('0x3e')]=[{'all':!![]}];}_0x71f1b3=_['merge']({},_0x71f1b3,_0x357ca8['options']);return db[_0x03d8('0x3c')]['find'](_0x71f1b3)[_0x03d8('0x22')](handleEntityNotFound(_0x3fd06d,null))[_0x03d8('0x22')](respondWithResult(_0x3fd06d,null))[_0x03d8('0x43')](handleError(_0x3fd06d,null));};exports['update']=function(_0x312f48,_0x589fed){if(_0x312f48['body']['id']){delete _0x312f48[_0x03d8('0x44')]['id'];}return db['CmCustomField'][_0x03d8('0x45')]({'where':{'id':_0x312f48[_0x03d8('0x41')]['id']}})[_0x03d8('0x22')](handleEntityNotFound(_0x589fed,null))[_0x03d8('0x22')](saveUpdates(_0x312f48[_0x03d8('0x44')],null))[_0x03d8('0x22')](respondWithResult(_0x589fed,null))[_0x03d8('0x43')](handleError(_0x589fed,null));};exports[_0x03d8('0x23')]=function(_0x20a15d,_0x3d72ff){return db[_0x03d8('0x3c')][_0x03d8('0x45')]({'where':{'id':_0x20a15d[_0x03d8('0x41')]['id']}})[_0x03d8('0x22')](handleEntityNotFound(_0x3d72ff,null))['then'](removeEntity(_0x3d72ff,null))[_0x03d8('0x43')](handleError(_0x3d72ff,null));};exports[_0x03d8('0x46')]=function(_0x3607dc,_0x105089){var _0x2a343c;return db[_0x03d8('0x47')]['transaction'](function(_0x3ea5c8){return db['CmCustomField'][_0x03d8('0x46')](_0x3607dc['body'],{'transaction':_0x3ea5c8})[_0x03d8('0x22')](function(_0x26636f){_0x2a343c=_0x26636f;var _0x4d76eb={'type':db[_0x03d8('0x48')][_0x03d8('0x49')],'transaction':_0x3ea5c8};switch(_0x3607dc[_0x03d8('0x44')][_0x03d8('0x39')]){case _0x03d8('0x4a'):_0x4d76eb[_0x03d8('0x39')]=db[_0x03d8('0x48')][_0x03d8('0x49')];break;case'number':_0x4d76eb[_0x03d8('0x39')]=db[_0x03d8('0x48')][_0x03d8('0x4b')];break;case _0x03d8('0x4c'):_0x4d76eb[_0x03d8('0x39')]=db[_0x03d8('0x48')][_0x03d8('0x4d')];_0x4d76eb[_0x03d8('0x4e')]=![];break;default:}return db[_0x03d8('0x47')][_0x03d8('0x4f')][_0x03d8('0x50')](_0x03d8('0x51'),util[_0x03d8('0x52')](_0x03d8('0x53'),_0x2a343c['id']),_0x4d76eb);})['then'](function(){return _0x2a343c;});})[_0x03d8('0x22')](respondWithResult(_0x105089,0xc9))['catch'](handleError(_0x105089,null));};