package projects import ( "gorm.io/gorm" "senlinai-agent/backend/internal/models" ) // FindOwnedProject 同时按 owner_id 与公开 identity 查询,防止仅凭可猜测标识越权访问项目。 // 内部自增 ID 只在通过所有权校验后供关联查询使用,不进入 API 契约。 func FindOwnedProject(userID uint, identity string) (*models.SenlinAgentProject, error) { var project models.SenlinAgentProject result := models.DBService.Where("owner_id = ? AND identity = ?", userID, identity).Limit(1).Find(&project) if result.Error != nil { return nil, result.Error } if result.RowsAffected == 0 { return nil, gorm.ErrRecordNotFound } return &project, nil }