Files
satbd-explorer/album.go
2016-01-21 10:00:00 +01:00

64 lines
2.2 KiB
Go

package main
import "time"
// An AlbumState describe the state of an Album
type AlbumState int
// An AlbumID uniquely identifies an Album both here and www.bedetheque.com
type AlbumID uint64
const (
// NEW is "État neuf" state
NEW AlbumState = iota // 0
// MINT is "Très bon état" state
MINT // 1
// GOOD is "Bon état" state
GOOD // 2
// AVERAGE is "État moyen" state
AVERAGE // 3
// BAD is "Mauvais état" state
BAD // 4
)
// A Link represent a link to a ressource
type Link struct {
// Title of the link
Title string `bl_name:"nom" bl_analyzer:"simple"`
// Target of the link
Target string `bl_name:"target" bl_index:"false" bl_include_all:"false"`
}
// An Album is the core object in our system
//
// This is basically the data we store on bdgest.com, and that we want
// in our system to be retrieve from
type Album struct {
ID AlbumID `bl_name:"id" bl_index:"false" bl_include_all:"false"`
ISBN string `bl_name:"isbn" bl_analyzer:"keyword" bl_include_all:"false"`
Series string `bl_name:"série" bl_analyzer:"fr"`
Title string `bl_name:"titre" bl_analyzer:"fr"`
Num int `bl_name:"num" bl_index:"false" bl_include_all:"false"`
NumA string `bl_name:"num_a" bl_index:"false" bl_include_all:"false"`
State AlbumState `bl_name:"state" bl_index:"false" bl_include_all:"false"`
Editor string `bl_name:"editor" bl_analyzer:"simple"`
Collection string `bl_name:"collection" bl_analyzer:"fr"`
SatID string `bl_name:"cote" bl_analyzer:"keyword"`
LegalDeposit time.Time `bl_name:"dl" bl_index:"false" bl_include_all:"false"`
PrintDate time.Time `bl_name:"ai" bl_index:"false" bl_include_all:"false"`
PurchaseDate time.Time `bl_name:"achat" bl_index:"false" bl_include_all:"false"`
CoverURL string `bl_name:"cover" bl_index:"false" bl_include_all:"false"`
Description string `bl_name:"description" bl_analyzer:"fr"`
Note float64 `bl_name:"note" bl_index:"false" bl_include_all:"false"`
Scenarist []Link `bl_name:"scenario" bl_analyzer:"simple"`
Designer []Link `bl_name:"dessins" bl_analyzer:"simple"`
Colorist []Link `bl_name:"couleurs" bl_analyzer:"simple"`
FetchDate time.Time `bl_name:"old" bl_index:"false" bl_include_all:"false"`
}