github.com/benoitkugler/goacve@v0.0.0-20201217100549-151ce6e55dc8/server/core/utils/joomeo/rowitem.go (about) 1 package joomeo 2 3 import rd "github.com/benoitkugler/goACVE/server/core/rawdata" 4 5 const ( 6 FLabel rd.Field = iota 7 FDate 8 FNbFiles 9 ) 10 11 type AlbumId struct { 12 rd.Id 13 JoomeoId string 14 } 15 16 func (f Folder) AsItem() rd.ItemChilds { 17 fields := rd.F{FLabel: rd.String(f.Label)} 18 childs := make(rd.Table, len(f.childs)) 19 for index, alb := range f.childs { 20 childs[index] = alb.AsItem() 21 } 22 item := rd.Item{Id: rd.Id(f.id), Fields: fields} 23 item.Bolds = rd.B{FLabel: true, FDate: true, FNbFiles: true} 24 return rd.ItemChilds{ 25 Item: item, 26 Childs: childs, 27 } 28 } 29 30 func (alb Album) AsItem() rd.Item { 31 fields := rd.F{ 32 FLabel: rd.String(alb.Label), 33 FDate: alb.Date.Time(), 34 FNbFiles: rd.Int(alb.NbFiles), 35 } 36 return rd.Item{Id: AlbumId{Id: rd.Id(alb.id), JoomeoId: alb.AlbumId}, Fields: fields} 37 }