Explorar el Código

fix: improve error handling and default values in fetchPlan function (#17320)

tags/1.2.0
akou hace 7 meses
padre
commit
5cffcd6336
No account linked to committer's email address
Se han modificado 1 ficheros con 30 adiciones y 13 borrados
  1. 30
    13
      web/context/provider-context.tsx

+ 30
- 13
web/context/provider-context.tsx Ver fichero

const { data: isEducationAccount } = useEducationStatus(!enableEducationPlan) const { data: isEducationAccount } = useEducationStatus(!enableEducationPlan)


const fetchPlan = async () => { const fetchPlan = async () => {
const data = await fetchCurrentPlanInfo()
const enabled = data.billing.enabled
setEnableBilling(enabled)
setEnableEducationPlan(data.education.enabled)
setIsEducationWorkspace(data.education.activated)
setEnableReplaceWebAppLogo(data.can_replace_logo)
if (enabled) {
setPlan(parseCurrentPlan(data) as any)
setIsFetchedPlan(true)
try {
const data = await fetchCurrentPlanInfo()
if (!data) {
console.error('Failed to fetch plan info: data is undefined')
return
}

// set default value to avoid undefined error
setEnableBilling(data.billing?.enabled ?? false)
setEnableEducationPlan(data.education?.enabled ?? false)
setIsEducationWorkspace(data.education?.activated ?? false)
setEnableReplaceWebAppLogo(data.can_replace_logo ?? false)

if (data.billing?.enabled) {
setPlan(parseCurrentPlan(data) as any)
setIsFetchedPlan(true)
}

if (data.model_load_balancing_enabled)
setModelLoadBalancingEnabled(true)
if (data.dataset_operator_enabled)
setDatasetOperatorEnabled(true)
}
catch (error) {
console.error('Failed to fetch plan info:', error)
// set default value to avoid undefined error
setEnableBilling(false)
setEnableEducationPlan(false)
setIsEducationWorkspace(false)
setEnableReplaceWebAppLogo(false)
} }
if (data.model_load_balancing_enabled)
setModelLoadBalancingEnabled(true)
if (data.dataset_operator_enabled)
setDatasetOperatorEnabled(true)
} }
useEffect(() => { useEffect(() => {
fetchPlan() fetchPlan()

Cargando…
Cancelar
Guardar