package repo import ( "assetcenter/db/model" "infish.cn/comm" ) func GetDatabaseCollection(ctx *RepoSession, dbId string, assetId string) (db *comm.Database, assetConf *comm.DbAsset) { database := &comm.Database{} ok, _ := RepoSeachDoc(ctx, &DocSearchOptions{CollectName: CollectionDatabase, Query: Map{"_id": dbId}, Project: []string{"assets", "name", "categories"}}, database) if !ok { return } db = database for _, v := range database.Assets { if v.Id == assetId { assetConf = v break } } return } func GetDatabaseCollectionSimple(ctx *RepoSession, dbId string, assetId string) *comm.AssetDbConf { out := &comm.AssetDbConf{} database := &comm.Database{} ok, _ := RepoSeachDoc(ctx, &DocSearchOptions{CollectName: CollectionDatabase, Query: Map{"_id": dbId}, Project: []string{"assets", "name"}}, database) if !ok { return nil } out.Db = database find := false for _, v := range database.Assets { if v.Id == assetId { out.AssetConf = v find = true break } } if find { return out } return nil } func RepoCreateDefaultAssetValue(asset *comm.DbAsset) interface{} { switch asset.Type { case model.AssetTypeMesh: return &model.AssetStaticMesh{} } return nil }