Storage: Use our own key format and support unnamespaced objects (#83929)
* use our own key format and support unnamespaced objects * fix tests
This commit is contained in:
@@ -1099,8 +1099,12 @@ func (s *sqlEntityServer) List(ctx context.Context, r *entity.EntityListRequest)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
args = append(args, key.Namespace, key.Group, key.Resource)
|
||||
whereclause := "(" + s.dialect.Quote("namespace") + "=? AND " + s.dialect.Quote("group") + "=? AND " + s.dialect.Quote("resource") + "=?"
|
||||
args = append(args, key.Group, key.Resource)
|
||||
whereclause := "(" + s.dialect.Quote("group") + "=? AND " + s.dialect.Quote("resource") + "=?"
|
||||
if key.Namespace != "" {
|
||||
args = append(args, key.Namespace)
|
||||
whereclause += " AND " + s.dialect.Quote("namespace") + "=?"
|
||||
}
|
||||
if key.Name != "" {
|
||||
args = append(args, key.Name)
|
||||
whereclause += " AND " + s.dialect.Quote("name") + "=?"
|
||||
@@ -1257,8 +1261,12 @@ func (s *sqlEntityServer) watchInit(ctx context.Context, r *entity.EntityWatchRe
|
||||
return err
|
||||
}
|
||||
|
||||
args = append(args, key.Namespace, key.Group, key.Resource)
|
||||
whereclause := "(" + s.dialect.Quote("namespace") + "=? AND " + s.dialect.Quote("group") + "=? AND " + s.dialect.Quote("resource") + "=?"
|
||||
args = append(args, key.Group, key.Resource)
|
||||
whereclause := "(" + s.dialect.Quote("group") + "=? AND " + s.dialect.Quote("resource") + "=?"
|
||||
if key.Namespace != "" {
|
||||
args = append(args, key.Namespace)
|
||||
whereclause += " AND " + s.dialect.Quote("namespace") + "=?"
|
||||
}
|
||||
if key.Name != "" {
|
||||
args = append(args, key.Name)
|
||||
whereclause += " AND " + s.dialect.Quote("name") + "=?"
|
||||
@@ -1465,7 +1473,7 @@ func watchMatches(r *entity.EntityWatchRequest, result *entity.Entity) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
if key.Namespace == result.Namespace && key.Group == result.Group && key.Resource == result.Resource && (key.Name == "" || key.Name == result.Name) {
|
||||
if key.Group == result.Group && key.Resource == result.Resource && (key.Namespace == "" || key.Namespace == result.Namespace) && (key.Name == "" || key.Name == result.Name) {
|
||||
matched = true
|
||||
break
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ func TestCreate(t *testing.T) {
|
||||
Resource: "playlists",
|
||||
Namespace: "default",
|
||||
Name: "set-minimum-uid",
|
||||
Key: "/playlist.grafana.app/playlists/default/set-minimum-uid",
|
||||
Key: "/playlist.grafana.app/playlists/namespaces/default/set-minimum-uid",
|
||||
CreatedBy: "set-minimum-creator",
|
||||
Origin: &entity.EntityOriginInfo{},
|
||||
},
|
||||
@@ -44,7 +44,7 @@ func TestCreate(t *testing.T) {
|
||||
{
|
||||
"request with no entity creator",
|
||||
&entity.Entity{
|
||||
Key: "/playlist.grafana.app/playlists/default/set-only-key",
|
||||
Key: "/playlist.grafana.app/playlists/namespaces/default/set-only-key",
|
||||
},
|
||||
true,
|
||||
false,
|
||||
|
||||
Reference in New Issue
Block a user