65 lines
2.2 KiB
Go
65 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"`
|
|
|
|
Author string `bl_name:"auteur" bl_analyzer:"simple"`
|
|
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"`
|
|
}
|