-
Notifications
You must be signed in to change notification settings - Fork 9
/
filesystem.go
35 lines (29 loc) · 1.32 KB
/
filesystem.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package datastore
import "github.com/metal-stack/metal-api/cmd/metal-api/internal/metal"
// FindFilesystemLayout return a filesystemlayout for a given id.
func (rs *RethinkStore) FindFilesystemLayout(id string) (*metal.FilesystemLayout, error) {
var fl metal.FilesystemLayout
err := rs.findEntityByID(rs.filesystemLayoutTable(), &fl, id)
if err != nil {
return nil, err
}
return &fl, nil
}
// ListFilesystemLayouts returns all filesystemlayouts.
func (rs *RethinkStore) ListFilesystemLayouts() (metal.FilesystemLayouts, error) {
fls := make(metal.FilesystemLayouts, 0)
err := rs.listEntities(rs.filesystemLayoutTable(), &fls)
return fls, err
}
// CreateFilesystemLayout creates a new filesystemlayout.
func (rs *RethinkStore) CreateFilesystemLayout(fl *metal.FilesystemLayout) error {
return rs.createEntity(rs.filesystemLayoutTable(), fl)
}
// DeleteFilesystemLayout deletes a filesystemlayout.
func (rs *RethinkStore) DeleteFilesystemLayout(fl *metal.FilesystemLayout) error {
return rs.deleteEntity(rs.filesystemLayoutTable(), fl)
}
// UpdateFilesystemLayout updates a filesystemlayout.
func (rs *RethinkStore) UpdateFilesystemLayout(oldFilesystemLayout *metal.FilesystemLayout, newFilesystemLayout *metal.FilesystemLayout) error {
return rs.updateEntity(rs.filesystemLayoutTable(), newFilesystemLayout, oldFilesystemLayout)
}