feat: add Kobo entitlements and shelves models

This commit is contained in:
2026-01-31 00:29:37 -05:00
parent c17b42bf83
commit ed336c6c41
+34
View File
@@ -140,6 +140,36 @@ type Ebooks struct {
HasFixedLayout pgtype.Bool `db:"has_fixed_layout" json:"has_fixed_layout"`
TotalCharacters pgtype.Int8 `db:"total_characters" json:"total_characters"`
ChapterCount pgtype.Int4 `db:"chapter_count" json:"chapter_count"`
EntitlementID pgtype.Text `db:"entitlement_id" json:"entitlement_id"`
RevisionNumber pgtype.Int4 `db:"revision_number" json:"revision_number"`
KoboContentID pgtype.Text `db:"kobo_content_id" json:"kobo_content_id"`
KoboMetadata []byte `db:"kobo_metadata" json:"kobo_metadata"`
}
type KoboEntitlements struct {
ID pgtype.UUID `db:"id" json:"id"`
DeviceID pgtype.UUID `db:"device_id" json:"device_id"`
MediaItemID pgtype.UUID `db:"media_item_id" json:"media_item_id"`
EntitlementID string `db:"entitlement_id" json:"entitlement_id"`
ContentID string `db:"content_id" json:"content_id"`
RevisionNumber pgtype.Int4 `db:"revision_number" json:"revision_number"`
PurchaseDate pgtype.Timestamptz `db:"purchase_date" json:"purchase_date"`
AccessionDate pgtype.Timestamptz `db:"accession_date" json:"accession_date"`
BookStatus pgtype.Text `db:"book_status" json:"book_status"`
SyncStatus pgtype.Text `db:"sync_status" json:"sync_status"`
KoboMetadata []byte `db:"kobo_metadata" json:"kobo_metadata"`
CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"`
UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"`
}
type KoboShelves struct {
ID pgtype.UUID `db:"id" json:"id"`
DeviceID pgtype.UUID `db:"device_id" json:"device_id"`
MediaItemID pgtype.UUID `db:"media_item_id" json:"media_item_id"`
ShelfName pgtype.Text `db:"shelf_name" json:"shelf_name"`
ShelfPosition pgtype.Int4 `db:"shelf_position" json:"shelf_position"`
AddedAt pgtype.Timestamptz `db:"added_at" json:"added_at"`
LastSyncedAt pgtype.Timestamptz `db:"last_synced_at" json:"last_synced_at"`
}
type Libraries struct {
@@ -243,6 +273,10 @@ type MediaItems struct {
HasFixedLayout pgtype.Bool `db:"has_fixed_layout" json:"has_fixed_layout"`
TotalCharacters pgtype.Int8 `db:"total_characters" json:"total_characters"`
ChapterCount pgtype.Int4 `db:"chapter_count" json:"chapter_count"`
EntitlementID pgtype.Text `db:"entitlement_id" json:"entitlement_id"`
RevisionNumber pgtype.Int4 `db:"revision_number" json:"revision_number"`
KoboContentID pgtype.Text `db:"kobo_content_id" json:"kobo_content_id"`
KoboMetadata []byte `db:"kobo_metadata" json:"kobo_metadata"`
}
type MediaNotes struct {