| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package models
- import (
- "context"
- "fmt"
- "yunion.io/x/pkg/errors"
- "yunion.io/x/sqlchemy"
- apis "yunion.io/x/onecloud/pkg/apis/llm"
- "yunion.io/x/onecloud/pkg/cloudcommon/db"
- "yunion.io/x/onecloud/pkg/mcclient"
- )
- type SMountedModelsResourceManager struct {
- }
- type SMountedModelsResource struct {
- MountedModels []string `charset:"utf8" list:"user" update:"user" create:"optional"`
- }
- func (manager *SMountedModelsResourceManager) ListItemFilter(
- ctx context.Context,
- q *sqlchemy.SQuery,
- userCred mcclient.TokenCredential,
- input apis.MountedModelResourceListInput,
- ) (*sqlchemy.SQuery, error) {
- if len(input.MountedModels) > 0 {
- q = q.ContainsAny("mounted_models", input.MountedModels)
- }
- return q, nil
- }
- type MountedModelModelManager interface {
- IsPremountedModelName(fullModelName string) (bool, error)
- }
- func (manager *SVolumeManager) IsPremountedModelName(fullModelName string) (bool, error) {
- return isPremountedModelName(manager, fullModelName)
- }
- func (manager *SLLMSkuManager) IsPremountedModelName(fullModelName string) (bool, error) {
- return isPremountedModelName(manager, fullModelName)
- }
- func isPremountedModelName(manager db.IModelManager, fullModelName string) (bool, error) {
- q := manager.Query().Contains("mounted_models", fmt.Sprintf("%q", fullModelName))
- cnt, err := q.CountWithError()
- if err != nil {
- return false, errors.Wrap(err, "CountWithError")
- }
- return cnt > 0, nil
- }
|