refactor(channel): split long functions, extract shared validation, move billing validation to service
- Split Update (98→25 lines), buildCache (54→20 lines), Create (51→25 lines)
into focused sub-functions: applyUpdateInput, checkGroupConflicts,
fetchChannelData, populateChannelCache, storeErrorCache, getOldGroupIDs,
invalidateAuthCacheForGroups
- Extract validateChannelConfig to eliminate duplicated validation calls
between Create and Update
- Move validatePricingBillingMode from handler to service layer for
proper separation of concerns
- Add error logging to IsModelRestricted (was silently swallowing errors)
- Add 12 new tests: ToUsageFields, billing mode validation, antigravity
wildcard mapping isolation, Create/Update mapping conflict integration