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  }