OpenC3/cosmos

View on GitHub
openc3-cosmos-init/plugins/packages/openc3-tool-common/src/tools/admin/tabs/settings/settings.js

Summary

Maintainability
A
0 mins
Test Coverage
/*
# Copyright 2024 OpenC3, Inc.
# All Rights Reserved.
#
# This program is free software; you can modify and/or redistribute it
# under the terms of the GNU Affero General Public License
# as published by the Free Software Foundation; version 3 with
# attribution addendums as found in the LICENSE.txt
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.

# This file may also be used under the terms of a commercial license
# if purchased from OpenC3, Inc.
*/

import { OpenC3Api } from '../../../../services/openc3-api'

export default {
  data() {
    return {
      api: new OpenC3Api(),
      errorText: '',
      errorLoading: false,
      errorSaving: false,
      successSaving: false,
    }
  },
  methods: {
    loadSetting: function (setting, variable, defaultValue) {
      this.api
        .get_setting(setting)
        .then((response) => {
          this.parseSetting(response)
        })
        .catch((error) => {
          this.parseSetting(null)
          this.errorText = error
          this.errorLoading = true
        })
    },
    saveSetting: function (setting, jsonString) {
      this.api
        .set_setting(setting, jsonString)
        .then(() => {
          this.errorSaving = false
          this.successSaving = true
        })
        .catch(() => {
          this.errorSaving = true
          this.successSaving = false
        })
    },
    parseSetting: function (response) {},
  },
}