mirror of
https://github.com/rancher/steve.git
synced 2025-09-24 21:08:03 +00:00
Shuffle around code and use rancher/apiserver
This commit is contained in:
59
pkg/stores/switchstore/store.go
Normal file
59
pkg/stores/switchstore/store.go
Normal file
@@ -0,0 +1,59 @@
|
||||
package switchstore
|
||||
|
||||
import (
|
||||
"github.com/rancher/apiserver/pkg/types"
|
||||
)
|
||||
|
||||
type StorePicker func(apiOp *types.APIRequest, schema *types.APISchema, verb, id string) (types.Store, error)
|
||||
|
||||
type Store struct {
|
||||
Picker StorePicker
|
||||
}
|
||||
|
||||
func (e *Store) Delete(apiOp *types.APIRequest, schema *types.APISchema, id string) (types.APIObject, error) {
|
||||
s, err := e.Picker(apiOp, schema, "delete", id)
|
||||
if err != nil {
|
||||
return types.APIObject{}, err
|
||||
}
|
||||
return s.Delete(apiOp, schema, id)
|
||||
}
|
||||
|
||||
func (e *Store) ByID(apiOp *types.APIRequest, schema *types.APISchema, id string) (types.APIObject, error) {
|
||||
s, err := e.Picker(apiOp, schema, "get", id)
|
||||
if err != nil {
|
||||
return types.APIObject{}, err
|
||||
}
|
||||
return s.ByID(apiOp, schema, id)
|
||||
}
|
||||
|
||||
func (e *Store) List(apiOp *types.APIRequest, schema *types.APISchema) (types.APIObjectList, error) {
|
||||
s, err := e.Picker(apiOp, schema, "list", "")
|
||||
if err != nil {
|
||||
return types.APIObjectList{}, err
|
||||
}
|
||||
return s.List(apiOp, schema)
|
||||
}
|
||||
|
||||
func (e *Store) Create(apiOp *types.APIRequest, schema *types.APISchema, data types.APIObject) (types.APIObject, error) {
|
||||
s, err := e.Picker(apiOp, schema, "create", "")
|
||||
if err != nil {
|
||||
return types.APIObject{}, err
|
||||
}
|
||||
return s.Create(apiOp, schema, data)
|
||||
}
|
||||
|
||||
func (e *Store) Update(apiOp *types.APIRequest, schema *types.APISchema, data types.APIObject, id string) (types.APIObject, error) {
|
||||
s, err := e.Picker(apiOp, schema, "update", id)
|
||||
if err != nil {
|
||||
return types.APIObject{}, err
|
||||
}
|
||||
return s.Update(apiOp, schema, data, id)
|
||||
}
|
||||
|
||||
func (e *Store) Watch(apiOp *types.APIRequest, schema *types.APISchema, wr types.WatchRequest) (chan types.APIEvent, error) {
|
||||
s, err := e.Picker(apiOp, schema, "watch", "")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return s.Watch(apiOp, schema, wr)
|
||||
}
|
Reference in New Issue
Block a user