Skip to content
Snippets Groups Projects
Commit 3525ce0f authored by Ophestra's avatar Ophestra
Browse files

implement image group fetching in client

parent 72e13105
No related branches found
No related tags found
No related merge requests found
......@@ -48,6 +48,44 @@ func (r *Remote) Image(flake string) (store.Image, error) {
return image, err
}
// ImageGroup returns an entire group of store.Image.
func (r *Remote) ImageGroup(flake string) ([]store.Image, error) {
if image, err := r.Image(flake); err != nil {
return nil, err
} else {
var group []store.Image
// Iterate forwards
if err = func(image store.Image) error {
group = []store.Image{image}
for image.Child != "" {
if image, err = r.Image(image.Child); err != nil {
return err
}
group = append(group, image)
}
return nil
}(image); err != nil {
return group, err
}
// Iterate backwards
if err = func(image store.Image) error {
for image.Parent != "" {
if image, err = r.Image(image.Parent); err != nil {
return err
}
group = append([]store.Image{image}, group...)
}
return nil
}(image); err != nil {
return group, err
}
return group, nil
}
}
// ImageUpdate updates metadata of store.Image with given snowflake. To persist original value in a field set \000.
func (r *Remote) ImageUpdate(flake, source, parent, commentary, commentaryTranslation string) error {
payload := api.ImageUpdatePayload{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment