diff --git a/ee/query-service/model/license.go b/ee/query-service/model/license.go index 4b5a63174e..513d080891 100644 --- a/ee/query-service/model/license.go +++ b/ee/query-service/model/license.go @@ -157,8 +157,6 @@ func NewLicenseV3(data map[string]interface{}) (*LicenseV3, error) { } switch planName { - case PlanNameTeams: - features = append(features, ProPlan...) case PlanNameEnterprise: features = append(features, EnterprisePlan...) case PlanNameBasic: diff --git a/ee/query-service/model/license_test.go b/ee/query-service/model/license_test.go index 5ba585c4b6..710541eea3 100644 --- a/ee/query-service/model/license_test.go +++ b/ee/query-service/model/license_test.go @@ -74,21 +74,21 @@ func TestNewLicenseV3(t *testing.T) { }, { name: "Parse the entire license properly", - data: []byte(`{"id":"does-not-matter","key":"does-not-matter-key","category":"FREE","status":"ACTIVE","plan":{"name":"TEAMS"},"valid_from": 1730899309,"valid_until": -1}`), + data: []byte(`{"id":"does-not-matter","key":"does-not-matter-key","category":"FREE","status":"ACTIVE","plan":{"name":"ENTERPRISE"},"valid_from": 1730899309,"valid_until": -1}`), pass: true, expected: &LicenseV3{ ID: "does-not-matter", Key: "does-not-matter-key", Data: map[string]interface{}{ "plan": map[string]interface{}{ - "name": "TEAMS", + "name": "ENTERPRISE", }, "category": "FREE", "status": "ACTIVE", "valid_from": float64(1730899309), "valid_until": float64(-1), }, - PlanName: PlanNameTeams, + PlanName: PlanNameEnterprise, ValidFrom: 1730899309, ValidUntil: -1, Status: "ACTIVE", @@ -98,14 +98,14 @@ func TestNewLicenseV3(t *testing.T) { }, { name: "Fallback to basic plan if license status is invalid", - data: []byte(`{"id":"does-not-matter","key":"does-not-matter-key","category":"FREE","status":"INVALID","plan":{"name":"TEAMS"},"valid_from": 1730899309,"valid_until": -1}`), + data: []byte(`{"id":"does-not-matter","key":"does-not-matter-key","category":"FREE","status":"INVALID","plan":{"name":"ENTERPRISE"},"valid_from": 1730899309,"valid_until": -1}`), pass: true, expected: &LicenseV3{ ID: "does-not-matter", Key: "does-not-matter-key", Data: map[string]interface{}{ "plan": map[string]interface{}{ - "name": "TEAMS", + "name": "ENTERPRISE", }, "category": "FREE", "status": "INVALID", @@ -122,21 +122,21 @@ func TestNewLicenseV3(t *testing.T) { }, { name: "fallback states for validFrom and validUntil", - data: []byte(`{"id":"does-not-matter","key":"does-not-matter-key","category":"FREE","status":"ACTIVE","plan":{"name":"TEAMS"},"valid_from":1234.456,"valid_until":5678.567}`), + data: []byte(`{"id":"does-not-matter","key":"does-not-matter-key","category":"FREE","status":"ACTIVE","plan":{"name":"ENTERPRISE"},"valid_from":1234.456,"valid_until":5678.567}`), pass: true, expected: &LicenseV3{ ID: "does-not-matter", Key: "does-not-matter-key", Data: map[string]interface{}{ "plan": map[string]interface{}{ - "name": "TEAMS", + "name": "ENTERPRISE", }, "valid_from": 1234.456, "valid_until": 5678.567, "category": "FREE", "status": "ACTIVE", }, - PlanName: PlanNameTeams, + PlanName: PlanNameEnterprise, ValidFrom: 1234, ValidUntil: 5678, Status: "ACTIVE", diff --git a/ee/query-service/model/plans.go b/ee/query-service/model/plans.go index f0e85cf1bd..2de2e7ccb8 100644 --- a/ee/query-service/model/plans.go +++ b/ee/query-service/model/plans.go @@ -1,30 +1,26 @@ package model import ( - "github.com/SigNoz/signoz/pkg/query-service/constants" basemodel "github.com/SigNoz/signoz/pkg/query-service/model" ) const SSO = "SSO" const Basic = "BASIC_PLAN" -const Pro = "PRO_PLAN" const Enterprise = "ENTERPRISE_PLAN" var ( PlanNameEnterprise = "ENTERPRISE" - PlanNameTeams = "TEAMS" PlanNameBasic = "BASIC" ) var ( - MapOldPlanKeyToNewPlanName map[string]string = map[string]string{PlanNameBasic: Basic, PlanNameTeams: Pro, PlanNameEnterprise: Enterprise} + MapOldPlanKeyToNewPlanName map[string]string = map[string]string{PlanNameBasic: Basic, PlanNameEnterprise: Enterprise} ) var ( LicenseStatusInvalid = "INVALID" ) -const DisableUpsell = "DISABLE_UPSELL" const Onboarding = "ONBOARDING" const ChatSupport = "CHAT_SUPPORT" const Gateway = "GATEWAY" @@ -38,83 +34,6 @@ var BasicPlan = basemodel.FeatureSet{ UsageLimit: -1, Route: "", }, - basemodel.Feature{ - Name: basemodel.OSS, - Active: false, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: DisableUpsell, - Active: false, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.CustomMetricsFunction, - Active: false, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.QueryBuilderPanels, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.QueryBuilderAlerts, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.AlertChannelSlack, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.AlertChannelWebhook, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.AlertChannelPagerduty, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.AlertChannelOpsgenie, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.AlertChannelEmail, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.AlertChannelMsTeams, - Active: false, - Usage: 0, - UsageLimit: -1, - Route: "", - }, basemodel.Feature{ Name: basemodel.UseSpanMetrics, Active: false, @@ -143,135 +62,6 @@ var BasicPlan = basemodel.FeatureSet{ UsageLimit: -1, Route: "", }, - basemodel.Feature{ - Name: basemodel.HostsInfraMonitoring, - Active: constants.EnableHostsInfraMonitoring(), - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.TraceFunnels, - Active: false, - Usage: 0, - UsageLimit: -1, - Route: "", - }, -} - -var ProPlan = basemodel.FeatureSet{ - basemodel.Feature{ - Name: SSO, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.OSS, - Active: false, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.CustomMetricsFunction, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.QueryBuilderPanels, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.QueryBuilderAlerts, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.AlertChannelSlack, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.AlertChannelWebhook, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.AlertChannelPagerduty, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.AlertChannelOpsgenie, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.AlertChannelEmail, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.AlertChannelMsTeams, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.UseSpanMetrics, - Active: false, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: Gateway, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: PremiumSupport, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.AnomalyDetection, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.HostsInfraMonitoring, - Active: constants.EnableHostsInfraMonitoring(), - Usage: 0, - UsageLimit: -1, - Route: "", - }, basemodel.Feature{ Name: basemodel.TraceFunnels, Active: false, @@ -289,76 +79,6 @@ var EnterprisePlan = basemodel.FeatureSet{ UsageLimit: -1, Route: "", }, - basemodel.Feature{ - Name: basemodel.OSS, - Active: false, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.CustomMetricsFunction, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.QueryBuilderPanels, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.QueryBuilderAlerts, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.AlertChannelSlack, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.AlertChannelWebhook, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.AlertChannelPagerduty, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.AlertChannelOpsgenie, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.AlertChannelEmail, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, - basemodel.Feature{ - Name: basemodel.AlertChannelMsTeams, - Active: true, - Usage: 0, - UsageLimit: -1, - Route: "", - }, basemodel.Feature{ Name: basemodel.UseSpanMetrics, Active: false, @@ -401,13 +121,6 @@ var EnterprisePlan = basemodel.FeatureSet{ UsageLimit: -1, Route: "", }, - basemodel.Feature{ - Name: basemodel.HostsInfraMonitoring, - Active: constants.EnableHostsInfraMonitoring(), - Usage: 0, - UsageLimit: -1, - Route: "", - }, basemodel.Feature{ Name: basemodel.TraceFunnels, Active: false, diff --git a/frontend/src/constants/features.ts b/frontend/src/constants/features.ts index 504402dc07..0a80a9789b 100644 --- a/frontend/src/constants/features.ts +++ b/frontend/src/constants/features.ts @@ -1,26 +1,12 @@ // keep this consistent with backend constants.go export enum FeatureKeys { SSO = 'SSO', - ENTERPRISE_PLAN = 'ENTERPRISE_PLAN', - BASIC_PLAN = 'BASIC_PLAN', - ALERT_CHANNEL_SLACK = 'ALERT_CHANNEL_SLACK', - ALERT_CHANNEL_WEBHOOK = 'ALERT_CHANNEL_WEBHOOK', - ALERT_CHANNEL_PAGERDUTY = 'ALERT_CHANNEL_PAGERDUTY', - ALERT_CHANNEL_OPSGENIE = 'ALERT_CHANNEL_OPSGENIE', - ALERT_CHANNEL_MSTEAMS = 'ALERT_CHANNEL_MSTEAMS', - CUSTOM_METRICS_FUNCTION = 'CUSTOM_METRICS_FUNCTION', - QUERY_BUILDER_PANELS = 'QUERY_BUILDER_PANELS', - QUERY_BUILDER_ALERTS = 'QUERY_BUILDER_ALERTS', - DISABLE_UPSELL = 'DISABLE_UPSELL', USE_SPAN_METRICS = 'USE_SPAN_METRICS', - OSS = 'OSS', ONBOARDING = 'ONBOARDING', CHAT_SUPPORT = 'CHAT_SUPPORT', GATEWAY = 'GATEWAY', PREMIUM_SUPPORT = 'PREMIUM_SUPPORT', - QUERY_BUILDER_SEARCH_V2 = 'QUERY_BUILDER_SEARCH_V2', ANOMALY_DETECTION = 'ANOMALY_DETECTION', - AWS_INTEGRATION = 'AWS_INTEGRATION', ONBOARDING_V3 = 'ONBOARDING_V3', THIRD_PARTY_API = 'THIRD_PARTY_API', TRACE_FUNNELS = 'TRACE_FUNNELS', diff --git a/frontend/src/container/FormAlertChannels/index.tsx b/frontend/src/container/FormAlertChannels/index.tsx index 1a8b5aa1e8..d7ebb1578d 100644 --- a/frontend/src/container/FormAlertChannels/index.tsx +++ b/frontend/src/container/FormAlertChannels/index.tsx @@ -1,6 +1,5 @@ import { Form, FormInstance, Input, Select, Switch, Typography } from 'antd'; import { Store } from 'antd/lib/form/interface'; -import { FeatureKeys } from 'constants/features'; import ROUTES from 'constants/routes'; import { ChannelType, @@ -11,11 +10,8 @@ import { WebhookChannel, } from 'container/CreateAlertChannels/config'; import history from 'lib/history'; -import { useAppContext } from 'providers/App/App'; import { Dispatch, ReactElement, SetStateAction } from 'react'; import { useTranslation } from 'react-i18next'; -import { FeatureFlagProps } from 'types/api/features/getFeaturesFlags'; -import { isFeatureKeys } from 'utils/app'; import EmailSettings from './Settings/Email'; import MsTeamsSettings from './Settings/MsTeams'; @@ -39,17 +35,6 @@ function FormAlertChannels({ editing = false, }: FormAlertChannelsProps): JSX.Element { const { t } = useTranslation('channels'); - const { featureFlags } = useAppContext(); - - const feature = `ALERT_CHANNEL_${type.toUpperCase()}`; - - const featureKey = isFeatureKeys(feature) - ? feature - : FeatureKeys.ALERT_CHANNEL_SLACK; - - const hasFeature = featureFlags?.find( - (flag: FeatureFlagProps) => flag.name === featureKey, - ); const renderSettings = (): ReactElement | null => { switch (type) { @@ -146,7 +131,7 @@ function FormAlertChannels({