import SteveModel from '@shell/plugins/steve/steve-class'; import Vue from 'vue'; import { NAMESPACE, MANAGEMENT, HELM } from '@shell/config/types'; export default class ProjectHelmChart extends SteveModel { applyDefaults() { if ( !this.spec ) { Vue.set(this, 'spec', { helmApiVersion: 'monitoring.cattle.io/v1alpha1' }); Vue.set(this, 'metadata', { name: 'project-monitoring' }); } } get projectId() { const inStore = this.$rootGetters['currentProduct'].inStore; const all = this.$rootGetters[`${ inStore }/all`](NAMESPACE); const { projectId } = all.find((namespace) => namespace.id === this.metadata.namespace); return projectId; } get projectDisplayName() { const clusterId = this.$rootGetters['currentCluster']?.id; const project = this.$rootGetters['management/byId'](MANAGEMENT.PROJECT, `${ clusterId }/${ this.projectId }`); return project.spec.displayName; } get namespaces() { const inStore = this.$rootGetters['currentProduct'].inStore; const all = this.$rootGetters[`${ inStore }/all`](NAMESPACE); const namespaces = all.filter((namespace) => namespace.projectId === this.projectId); return [...namespaces]; } get parentNameOverride() { return this.$rootGetters['i18n/t'](`typeLabel."${ HELM.PROJECTHELMCHART }"`, { count: 1 })?.trim(); } }