|
- package service
-
- import (
- "strings"
-
- "github.com/QuantumNous/new-api/constant"
- "github.com/QuantumNous/new-api/model"
- )
-
- const DoubaoAssetChannelPageSize = 50
- const DoubaoAssetChannelType = constant.ChannelTypeDoubaoVideoCompatibleAiping
-
- var DoubaoAssetChannelTypes = VideoAssetChannelTypesForFamily(VideoAssetFamilySeedance)
-
- func ResolveDoubaoAssetChannel(userId int, tokenGroup string) (*model.Channel, error) {
- return ResolveDoubaoAssetChannelForModel(userId, tokenGroup, "")
- }
-
- func ResolveDoubaoAssetChannelForModel(userId int, tokenGroup string, modelName string) (*model.Channel, error) {
- return ResolveVideoAssetChannelForModel(userId, tokenGroup, modelName, VideoAssetFamilySeedance)
- }
-
- func GetBoundDoubaoAssetChannel(userId int, tokenGroup string) (*model.Channel, error) {
- return GetBoundDoubaoAssetChannelForModel(userId, tokenGroup, "")
- }
-
- func GetBoundDoubaoAssetChannelForModel(userId int, tokenGroup string, modelName string) (*model.Channel, error) {
- return GetBoundVideoAssetChannelForModel(userId, tokenGroup, modelName, VideoAssetFamilySeedance)
- }
-
- func HasDoubaoVideoChannelForGroupModel(tokenGroup string, modelName string) bool {
- return HasVideoAssetChannelForGroupModel(tokenGroup, modelName, VideoAssetFamilySeedance)
- }
-
- func AutoMatchDoubaoAssetChannel(tokenGroup string) (*model.Channel, error) {
- return autoMatchVideoAssetChannelForModel(tokenGroup, "", VideoAssetFamilySeedance)
- }
-
- func IsUsableDoubaoAssetChannel(channel *model.Channel, tokenGroup string) bool {
- return IsUsableVideoAssetChannelForFamily(channel, tokenGroup, "", VideoAssetFamilySeedance)
- }
-
- func IsDoubaoAssetChannelType(channelType int) bool {
- return channelTypeAllowed(channelType, DoubaoAssetChannelTypes)
- }
-
- func DoubaoAssetChannelTypeForModel(modelName string) int {
- if strings.HasPrefix(strings.ToLower(strings.TrimSpace(modelName)), "cdance") {
- return constant.ChannelTypeDoubaoVideoCompatibleTianyiYun
- }
- return DoubaoAssetChannelType
- }
-
- func MatchDoubaoAssetGroup(channelGroups []string, tokenGroup string) bool {
- tokenGroup = strings.TrimSpace(tokenGroup)
- if tokenGroup == "" {
- return false
- }
- for _, group := range channelGroups {
- if strings.TrimSpace(group) == tokenGroup {
- return true
- }
- }
- return false
- }
|