import { SupportCategories } from '@supabase/shared-types/out/constants' import { isFeatureEnabled } from 'common' const billingEnabled = isFeatureEnabled('billing:all') export type ExtendedSupportCategories = SupportCategories | 'Plan_upgrade' | 'Others' export const CATEGORY_OPTIONS: { value: ExtendedSupportCategories label: string description: string query?: string }[] = [ { value: SupportCategories.PROBLEM, label: 'APIs and client libraries', description: "Issues with your project's API and client libraries", query: undefined, }, { value: SupportCategories.DASHBOARD_BUG, label: 'Dashboard bug', description: 'Issues with the Briven dashboard', query: undefined, }, { value: SupportCategories.DATABASE_UNRESPONSIVE, label: 'Database unresponsive', description: 'Issues with connecting to your database', query: 'Unable to connect', }, { value: SupportCategories.PERFORMANCE_ISSUES, label: 'Performance issues', description: 'Reporting of performance issues is only available on the Pro Plan', query: 'Performance', }, { value: SupportCategories.ABUSE, label: 'Abuse report', description: 'Report abuse of a Briven project or Briven brand', query: undefined, }, { value: SupportCategories.LOGIN_ISSUES, label: 'Issues with logging in', description: 'Issues with logging in and MFA', query: undefined, }, ...(billingEnabled ? [ { value: SupportCategories.SALES_ENQUIRY, label: 'Sales enquiry', description: 'Questions about pricing, paid plans and Enterprise plans', query: undefined, }, { value: SupportCategories.BILLING, label: 'Billing', description: 'Issues with credit card charges | invoices | overcharging', query: undefined, }, { value: SupportCategories.REFUND, label: 'Refund enquiry', description: 'Formal enquiry form for requesting refunds', query: undefined, }, ] : [ // [Joshen] Ideally shift this to shared-types, although not critical as API isn't validating the category { value: 'Plan_upgrade' as const, label: 'Plan upgrade', description: 'Enquire a plan upgrade for your organization', query: undefined, }, ]), ] export const SEVERITY_OPTIONS = [ { value: 'Low', label: 'Low', description: 'General guidance', }, { value: 'Normal', label: 'Normal', description: 'System impaired', }, { value: 'High', label: 'High', description: 'Production system impaired', }, { value: 'Urgent', label: 'Urgent', description: 'Production system down', }, ] export const SERVICE_OPTIONS = [ { id: 1, name: 'Authentication', value: 'Authentication', disabled: false, }, { id: 2, name: 'Dashboard', value: 'Dashboard', disabled: false, }, { id: 3, name: 'Database', value: 'Database', disabled: false, }, { id: 4, name: 'Edge Functions', value: 'Edge Functions', disabled: false, }, { id: 5, name: 'Realtime', value: 'Realtime', disabled: false, }, { id: 6, name: 'Storage', value: 'Storage', disabled: false, }, { id: 7, name: 'Others', value: 'Others', disabled: false, }, ] export const IPV4_MIGRATION_STRINGS = [ 'ipv4', 'ipv6', 'supavisor', 'pgbouncer', '5432', 'ENETUNREACH', 'ECONNREFUSED', 'P1001', 'connect: no route to', 'network is unreac', 'could not translate host name', 'address family not supported by protocol', ]