refactor(channels): tighten types and error paths per second review

- service: drop groupRepo nil guard (DI must inject), switch SupportedModels to SliceStable to match doc
- frontend: reuse user-side DTO types in SupportedModelChip/AvailableChannelsTable instead of duplicating shapes; narrow admin statusLabel param to ChannelStatus
- tests: replace nil-groupRepo case with ListAll/ListActive error propagation and BillingModelSource default-backfill coverage
This commit is contained in:
erio
2026-04-21 01:42:18 +08:00
parent 365ef1fdf7
commit 88decb6e0c
6 changed files with 75 additions and 50 deletions

View File

@@ -61,6 +61,7 @@ import { computed, useSlots } from 'vue'
import DataTable from '@/components/common/DataTable.vue'
import Icon from '@/components/icons/Icon.vue'
import SupportedModelChip from './SupportedModelChip.vue'
import type { UserSupportedModelPricing } from '@/api/channels'
interface GroupRef {
id: number
@@ -75,7 +76,7 @@ interface Row {
supported_models: Array<{
name: string
platform: string
pricing: unknown | null
pricing: UserSupportedModelPricing | null
}>
[key: string]: unknown
}