Built motion from commit (unavailable).|2.4.21
[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 _0x262b=['order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','find','body','create','sequelize','Sequelize','TEXT','text','number','BOOLEAN','defaultValue','queryInterface','addColumn','format','cf_%d','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','count','offset','limit','set','Content-Range','apply','reject','update','then','destroy','error','stack','name','map','CmCustomField','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit'];(function(_0x38fd4e,_0x394a4c){var _0x3d3ef2=function(_0x276106){while(--_0x276106){_0x38fd4e['push'](_0x38fd4e['shift']());}};_0x3d3ef2(++_0x394a4c);}(_0x262b,0xc4));var _0xb262=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0x262b[_0x20a584];return _0x4b41a8;};'use strict';var pdf=require(_0xb262('0x0'));var emlformat=require(_0xb262('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xb262('0x2'));var jsonpatch=require(_0xb262('0x3'));var rp=require(_0xb262('0x4'));var moment=require(_0xb262('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xb262('0x6'));var util=require(_0xb262('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0xb262('0x8'));var ejs=require(_0xb262('0x9'));var fs=require('fs');var _=require(_0xb262('0xa'));var squel=require(_0xb262('0xb'));var crypto=require(_0xb262('0xc'));var jsforce=require(_0xb262('0xd'));var deskjs=require(_0xb262('0xe'));var toCsv=require('to-csv');var querystring=require(_0xb262('0xf'));var Papa=require(_0xb262('0x10'));var Redis=require('ioredis');var authService=require(_0xb262('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0xb262('0x12'));var hardwareService=require(_0xb262('0x13'));var logger=require('../../config/logger')(_0xb262('0x14'));var utils=require(_0xb262('0x15'));var config=require(_0xb262('0x16'));var db=require(_0xb262('0x17'))['db'];function respondWithStatusCode(_0x5beaba,_0x48ebb9){_0x48ebb9=_0x48ebb9||0xcc;return function(_0x3ede20){if(_0x3ede20){return _0x5beaba[_0xb262('0x18')](_0x48ebb9);}return _0x5beaba[_0xb262('0x19')](_0x48ebb9)[_0xb262('0x1a')]();};}function respondWithResult(_0x3d9c4e,_0x4546a2){_0x4546a2=_0x4546a2||0xc8;return function(_0x5d3c40){if(_0x5d3c40){return _0x3d9c4e['status'](_0x4546a2)['json'](_0x5d3c40);}};}function respondWithFilteredResult(_0x2615f3,_0x3228fe){return function(_0x26e113){if(_0x26e113){var _0x65560d=_0x26e113[_0xb262('0x1b')],_0x368f16=_0x3228fe[_0xb262('0x1c')],_0xbda920=_0x3228fe[_0xb262('0x1c')]+_0x3228fe[_0xb262('0x1d')],_0x5bdc85;if(_0xbda920>=_0x65560d){_0xbda920=_0x65560d;_0x5bdc85=0xc8;}else{_0x5bdc85=0xce;}_0x2615f3[_0xb262('0x19')](_0x5bdc85);return _0x2615f3[_0xb262('0x1e')](_0xb262('0x1f'),_0x368f16+'-'+_0xbda920+'/'+_0x65560d)['json'](_0x26e113);}return null;};}function patchUpdates(_0x3c370e){return function(_0x16a4f3){try{jsonpatch[_0xb262('0x20')](_0x16a4f3,_0x3c370e,!![]);}catch(_0x2653a7){return BPromise[_0xb262('0x21')](_0x2653a7);}return _0x16a4f3['save']();};}function saveUpdates(_0x3571aa,_0x30333e){return function(_0x106b49){if(_0x106b49){return _0x106b49[_0xb262('0x22')](_0x3571aa)[_0xb262('0x23')](function(_0x21bcf4){return _0x21bcf4;});}return null;};}function removeEntity(_0x1d7be6,_0x2b3268){return function(_0x586997){if(_0x586997){return _0x586997[_0xb262('0x24')]()['then'](function(){_0x1d7be6[_0xb262('0x19')](0xcc)[_0xb262('0x1a')]();});}};}function handleEntityNotFound(_0x52b639,_0x58462e){return function(_0x364940){if(!_0x364940){_0x52b639[_0xb262('0x18')](0x194);}return _0x364940;};}function handleError(_0x22f9ae,_0x42481d){_0x42481d=_0x42481d||0x1f4;return function(_0x3614a8){logger[_0xb262('0x25')](_0x3614a8[_0xb262('0x26')]);if(_0x3614a8[_0xb262('0x27')]){delete _0x3614a8[_0xb262('0x27')];}_0x22f9ae[_0xb262('0x19')](_0x42481d)['send'](_0x3614a8);};}exports['index']=function(_0x210ae1,_0x4dbdc0){var _0xb2f598={},_0x6517c6={},_0xbb8ed={'count':0x0,'rows':[]};var _0x39d50d=_[_0xb262('0x28')](db[_0xb262('0x29')][_0xb262('0x2a')],function(_0x1127c9){return{'name':_0x1127c9[_0xb262('0x2b')],'type':_0x1127c9[_0xb262('0x2c')][_0xb262('0x2d')]};});_0x6517c6[_0xb262('0x2e')]=_['differenceBy'](_['map'](_0x39d50d,_0xb262('0x27')),['name']);_0x6517c6[_0xb262('0x2f')]=_[_0xb262('0x30')](_0x210ae1['query']);_0x6517c6[_0xb262('0x31')]=_[_0xb262('0x32')](_0x6517c6['model'],_0x6517c6[_0xb262('0x2f')]);_0xb2f598['attributes']=_['intersection'](_0x6517c6['model'],qs['fields'](_0x210ae1[_0xb262('0x2f')][_0xb262('0x33')]));_0xb2f598[_0xb262('0x34')]=_0xb2f598['attributes'][_0xb262('0x35')]?_0xb2f598['attributes']:_0x6517c6[_0xb262('0x2e')];if(!_0x210ae1[_0xb262('0x2f')][_0xb262('0x36')](_0xb262('0x37'))){_0xb2f598[_0xb262('0x1d')]=qs['limit'](_0x210ae1[_0xb262('0x2f')][_0xb262('0x1d')]);_0xb2f598['offset']=qs[_0xb262('0x1c')](_0x210ae1['query']['offset']);}_0xb2f598[_0xb262('0x38')]=qs['sort'](_0x210ae1['query'][_0xb262('0x39')]);_0xb2f598[_0xb262('0x3a')]=qs[_0xb262('0x31')](_['pick'](_0x210ae1[_0xb262('0x2f')],_0x6517c6[_0xb262('0x31')]));if(_0x210ae1[_0xb262('0x2f')][_0xb262('0x3b')]){_0xb2f598['where']=_[_0xb262('0x3c')](_0xb2f598[_0xb262('0x3a')],{'$or':_['map'](_0x39d50d,function(_0x476460){if(_0x476460['type']!==_0xb262('0x3d')){var _0x5af487={};_0x5af487[_0x476460[_0xb262('0x27')]]={'$like':'%'+_0x210ae1[_0xb262('0x2f')][_0xb262('0x3b')]+'%'};return _0x5af487;}})});}_0xb2f598=_[_0xb262('0x3c')]({},_0xb2f598,_0x210ae1[_0xb262('0x3e')]);var _0x4e2833={'where':_0xb2f598[_0xb262('0x3a')]};return db[_0xb262('0x29')]['count'](_0x4e2833)['then'](function(_0x4aa8fc){_0xbb8ed[_0xb262('0x1b')]=_0x4aa8fc;if(_0x210ae1[_0xb262('0x2f')][_0xb262('0x3f')]){_0xb2f598[_0xb262('0x40')]=[{'all':!![]}];}return db['CmCustomField'][_0xb262('0x41')](_0xb2f598);})[_0xb262('0x23')](function(_0x28ab68){_0xbb8ed[_0xb262('0x42')]=_0x28ab68;return _0xbb8ed;})[_0xb262('0x23')](respondWithFilteredResult(_0x4dbdc0,_0xb2f598))[_0xb262('0x43')](handleError(_0x4dbdc0,null));};exports[_0xb262('0x44')]=function(_0x24b3ad,_0x2dfeaf){var _0x1c1c95={'raw':!![],'where':{'id':_0x24b3ad[_0xb262('0x45')]['id']}},_0x3f57ec={};_0x3f57ec['model']=_[_0xb262('0x30')](db['CmCustomField'][_0xb262('0x2a')]);_0x3f57ec['query']=_[_0xb262('0x30')](_0x24b3ad['query']);_0x3f57ec['filters']=_['intersection'](_0x3f57ec['model'],_0x3f57ec['query']);_0x1c1c95['attributes']=_[_0xb262('0x32')](_0x3f57ec[_0xb262('0x2e')],qs[_0xb262('0x33')](_0x24b3ad[_0xb262('0x2f')][_0xb262('0x33')]));_0x1c1c95[_0xb262('0x34')]=_0x1c1c95['attributes'][_0xb262('0x35')]?_0x1c1c95['attributes']:_0x3f57ec['model'];if(_0x24b3ad[_0xb262('0x2f')]['includeAll']){_0x1c1c95[_0xb262('0x40')]=[{'all':!![]}];}_0x1c1c95=_[_0xb262('0x3c')]({},_0x1c1c95,_0x24b3ad['options']);return db['CmCustomField'][_0xb262('0x46')](_0x1c1c95)[_0xb262('0x23')](handleEntityNotFound(_0x2dfeaf,null))[_0xb262('0x23')](respondWithResult(_0x2dfeaf,null))['catch'](handleError(_0x2dfeaf,null));};exports[_0xb262('0x22')]=function(_0x5e2092,_0xd2a160){if(_0x5e2092[_0xb262('0x47')]['id']){delete _0x5e2092['body']['id'];}return db[_0xb262('0x29')][_0xb262('0x46')]({'where':{'id':_0x5e2092[_0xb262('0x45')]['id']}})[_0xb262('0x23')](handleEntityNotFound(_0xd2a160,null))['then'](saveUpdates(_0x5e2092[_0xb262('0x47')],null))[_0xb262('0x23')](respondWithResult(_0xd2a160,null))[_0xb262('0x43')](handleError(_0xd2a160,null));};exports[_0xb262('0x24')]=function(_0x5f053b,_0x1bc73f){return db['CmCustomField'][_0xb262('0x46')]({'where':{'id':_0x5f053b[_0xb262('0x45')]['id']}})[_0xb262('0x23')](handleEntityNotFound(_0x1bc73f,null))[_0xb262('0x23')](removeEntity(_0x1bc73f,null))[_0xb262('0x43')](handleError(_0x1bc73f,null));};exports[_0xb262('0x48')]=function(_0x42638e,_0x4fbebc){var _0x1508ba;return db[_0xb262('0x49')]['transaction'](function(_0x35a2c9){return db[_0xb262('0x29')][_0xb262('0x48')](_0x42638e['body'],{'transaction':_0x35a2c9})[_0xb262('0x23')](function(_0x44a533){_0x1508ba=_0x44a533;var _0x2c12aa={'type':db[_0xb262('0x4a')][_0xb262('0x4b')],'transaction':_0x35a2c9};switch(_0x42638e[_0xb262('0x47')][_0xb262('0x2c')]){case _0xb262('0x4c'):_0x2c12aa[_0xb262('0x2c')]=db[_0xb262('0x4a')]['TEXT'];break;case _0xb262('0x4d'):_0x2c12aa[_0xb262('0x2c')]=db[_0xb262('0x4a')]['INTEGER'];break;case'switch':_0x2c12aa[_0xb262('0x2c')]=db['Sequelize'][_0xb262('0x4e')];_0x2c12aa[_0xb262('0x4f')]=![];break;default:}return db['sequelize'][_0xb262('0x50')][_0xb262('0x51')]('cm_contacts',util[_0xb262('0x52')](_0xb262('0x53'),_0x1508ba['id']),_0x2c12aa);})[_0xb262('0x23')](function(){return _0x1508ba;});})['then'](respondWithResult(_0x4fbebc,0xc9))[_0xb262('0x43')](handleError(_0x4fbebc,null));};