47 lines
825 B
Go
47 lines
825 B
Go
|
package devicedetails
|
||
|
|
||
|
import (
|
||
|
"github.com/tigorlazuardi/redmage/api"
|
||
|
"github.com/tigorlazuardi/redmage/models"
|
||
|
)
|
||
|
|
||
|
type Data struct {
|
||
|
Error string
|
||
|
Device *models.Device
|
||
|
Images models.ImageSlice
|
||
|
TotalImages int64
|
||
|
Params api.ImageListParams
|
||
|
}
|
||
|
|
||
|
type splitBySubredditImages struct {
|
||
|
Subreddit string
|
||
|
Images models.ImageSlice
|
||
|
}
|
||
|
|
||
|
func (data Data) splitImages() []*splitBySubredditImages {
|
||
|
var out []*splitBySubredditImages
|
||
|
|
||
|
for _, image := range data.Images {
|
||
|
var found bool
|
||
|
|
||
|
inner:
|
||
|
for _, o := range out {
|
||
|
if o.Subreddit == image.Subreddit {
|
||
|
found = true
|
||
|
o.Images = append(o.Images, image)
|
||
|
break inner
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if !found {
|
||
|
out = append(out, &splitBySubredditImages{
|
||
|
Subreddit: image.Subreddit,
|
||
|
Images: models.ImageSlice{image},
|
||
|
})
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
return out
|
||
|
}
|