# all files / red/api/admin/ info.js

95.24% Statements 20/21
64.29% Branches 9/14
100% Functions 2/2
95.24% Lines 20/21

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56

    1×
    1×
    1×
    1×

    1×

    3×
    3×

    2×

    2×
    2×
    2×

    2×
    2×

    2×

    2×
    1×
    1×
    1×

    2×
    2×

     /**
     * Copyright JS Foundation and other contributors, http://js.foundation
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     * http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     **/
    var theme = require("../editor/theme");
    var util = require('util');
    var runtime;
    var settings;

    module.exports = {
        init: function(_runtime) {
            runtime = _runtime;
            settings = runtime.settings;
        },
        settings: function(req,res) {
            var safeSettings = {
                httpNodeRoot: settings.httpNodeRoot||"/",
                version: settings.version,
                user: req.user
            }

            var themeSettings = theme.settings();
            Eif (themeSettings) {
                safeSettings.editorTheme = themeSettings;
            }

            Eif (util.isArray(settings.paletteCategories)) {
                safeSettings.paletteCategories = settings.paletteCategories;
            }

            Iif (settings.flowFilePretty) {
                safeSettings.flowFilePretty = settings.flowFilePretty;
            }

            if (!runtime.nodes.paletteEditorEnabled()) {
                safeSettings.editorTheme = safeSettings.editorTheme || {};
                safeSettings.editorTheme.palette = safeSettings.editorTheme.palette || {};
                safeSettings.editorTheme.palette.editable = false;
            }

            settings.exportNodeSettings(safeSettings);
            res.json(safeSettings);
        }
    }