add project kontor-api-echo
This commit is contained in:
@@ -0,0 +1,140 @@
|
||||
package schema
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/uptrace/bun"
|
||||
)
|
||||
|
||||
type Publisher struct {
|
||||
bun.BaseModel `bun:"table:publisher"`
|
||||
|
||||
ID string `bun:"id,pk"`
|
||||
CreatedAt time.Time `bun:"created_date,nullzero,notnull,default:current_timestamp"`
|
||||
UpdatedAt time.Time `bun:"last_modified_date,nullzero,notnull,default:current_timestamp"`
|
||||
Version int `bun:"version,default:0"`
|
||||
Name string `bun:"name,unique:name"`
|
||||
WebLink string `bun:"weblink"`
|
||||
|
||||
ParentPublisherID *string `bun:"parent_publisher_id"`
|
||||
ParentPublisher *Publisher `bun:"rel:belongs-to,join:parent_publisher_id=id"`
|
||||
Imprints []Publisher `bun:"rel:has-many,join:id=parent_publisher_id"`
|
||||
Comics []Comic `bun:"rel:has-many,join:id=publisher_id"`
|
||||
}
|
||||
|
||||
type Comic struct {
|
||||
bun.BaseModel `bun:"table:comic"`
|
||||
|
||||
ID string `bun:"id,pk"`
|
||||
CreatedAt time.Time `bun:"created_date,nullzero,notnull,default:current_timestamp"`
|
||||
UpdatedAt time.Time `bun:"last_modified_date,nullzero,notnull,default:current_timestamp"`
|
||||
Version int `bun:"version,default:0"`
|
||||
Title string `bun:"title,unique:title,notnull"`
|
||||
CurrentOrder bool `bun:"current_order"`
|
||||
Completed bool `bun:"completed"`
|
||||
WebLink string `bun:"weblink"`
|
||||
|
||||
PublisherID *string `bun:"publisher_id"`
|
||||
Publisher *Publisher `bun:"rel:belongs-to,join:publisher_id=id"`
|
||||
Issues []Issue `bun:"rel:has-many,join:id=comic_id"`
|
||||
StoryArcs []StoryArc `bun:"rel:has-many,join:id=comic_id"`
|
||||
TradePaperbacks []TradePaperback `bun:"rel:has-many,join:id=comic_id"`
|
||||
Volumes []Volume `bun:"rel:has-many,join:id=comic_id"`
|
||||
ComicWorks []ComicWork `bun:"rel:has-many,join:id=comic_id"`
|
||||
}
|
||||
|
||||
type Artist struct {
|
||||
bun.BaseModel `bun:"table:artist"`
|
||||
|
||||
ID string `bun:"id,pk"`
|
||||
CreatedAt time.Time `bun:"created_date,nullzero,notnull,default:current_timestamp"`
|
||||
UpdatedAt time.Time `bun:"last_modified_date,nullzero,notnull,default:current_timestamp"`
|
||||
Version int `bun:"version,default:0"`
|
||||
Name string `bun:"name,unique:title,notnull"`
|
||||
WebLink string `bun:"weblink"`
|
||||
}
|
||||
|
||||
type Issue struct {
|
||||
bun.BaseModel `bun:"table:issue"`
|
||||
|
||||
ID string `bun:"id,pk"`
|
||||
CreatedAt time.Time `bun:"created_date,nullzero,notnull,default:current_timestamp"`
|
||||
UpdatedAt time.Time `bun:"last_modified_date,nullzero,notnull,default:current_timestamp"`
|
||||
Version int `bun:"version,default:0"`
|
||||
InStock bool `bun:"in_stock"`
|
||||
IsRead bool `bun:"is_read"`
|
||||
IssueNumber string `bu:"issue_number"`
|
||||
Title string `bun:"title"`
|
||||
PublishedOn time.Time `bun:"published_on"`
|
||||
ComicID *string `bun:"comic_id"`
|
||||
Comic *Comic `bun:"rel:belongs-to,join:comic_id=id"`
|
||||
StoryArcID *string `bun:"story_arc_id"`
|
||||
StoryArc *StoryArc `bun:"rel:belongs-to,join:story_arc_id=id"`
|
||||
VolumeID *string `bun:"volume_id"`
|
||||
Volume *Volume `bun:"rel:belongs-to,join:volume_id=id"`
|
||||
}
|
||||
|
||||
type StoryArc struct {
|
||||
bun.BaseModel `bun:"table:story_arc"`
|
||||
|
||||
ID string `bun:"id,pk"`
|
||||
CreatedAt time.Time `bun:"created_date,nullzero,notnull,default:current_timestamp"`
|
||||
UpdatedAt time.Time `bun:"last_modified_date,nullzero,notnull,default:current_timestamp"`
|
||||
Version int `bun:"version,default:0"`
|
||||
Name string `bun:"name,unique:name,notnull"`
|
||||
ComicID *string `bun:"comic_id"`
|
||||
Comic *Comic `bun:"rel:belongs-to,join:comic_id=id"`
|
||||
VolumeID *string `bun:"volume_id"`
|
||||
Volume *Volume `bun:"rel:belongs-to,join:volume_id=id"`
|
||||
}
|
||||
|
||||
type TradePaperback struct {
|
||||
bun.BaseModel `bun:"table:trade_paperback"`
|
||||
|
||||
ID string `bun:"id,pk"`
|
||||
CreatedAt time.Time `bun:"created_date,nullzero,notnull,default:current_timestamp"`
|
||||
UpdatedAt time.Time `bun:"last_modified_date,nullzero,notnull,default:current_timestamp"`
|
||||
Version int `bun:"version,default:0"`
|
||||
Name string `bun:"name,unique:name,notnull"`
|
||||
IssueStart int `bun:"issue_start"`
|
||||
IssueEnd int `bun:"issue_end"`
|
||||
ComicID *string `bun:"comic_id"`
|
||||
Comic *Comic `bun:"rel:belongs-to,join:comic_id=id"`
|
||||
}
|
||||
|
||||
type Volume struct {
|
||||
bun.BaseModel `bun:"table:volume"`
|
||||
|
||||
ID string `bun:"id,pk"`
|
||||
CreatedAt time.Time `bun:"created_date,nullzero,notnull,default:current_timestamp"`
|
||||
UpdatedAt time.Time `bun:"last_modified_date,nullzero,notnull,default:current_timestamp"`
|
||||
Version int `bun:"version,default:0"`
|
||||
Name string `bun:"name,unique:name,notnull"`
|
||||
ComicID *string `bun:"comic_id"`
|
||||
Comic *Comic `bun:"rel:belongs-to,join:comic_id=id"`
|
||||
}
|
||||
|
||||
type WorkType struct {
|
||||
bun.BaseModel `bun:"table:worktype"`
|
||||
|
||||
ID string `bun:"id,pk"`
|
||||
CreatedAt time.Time `bun:"created_date,nullzero,notnull,default:current_timestamp"`
|
||||
UpdatedAt time.Time `bun:"last_modified_date,nullzero,notnull,default:current_timestamp"`
|
||||
Version int `bun:"version,default:0"`
|
||||
Name string `bun:"name,unique:name,notnull"`
|
||||
}
|
||||
|
||||
type ComicWork struct {
|
||||
bun.BaseModel `bun:"table:comic_work"`
|
||||
|
||||
ID string `bun:"id,pk"`
|
||||
CreatedAt time.Time `bun:"created_date,nullzero,notnull,default:current_timestamp"`
|
||||
UpdatedAt time.Time `bun:"last_modified_date,nullzero,notnull,default:current_timestamp"`
|
||||
Version int `bun:"version,default:0"`
|
||||
ArtistID *string `bun:"artist_id"`
|
||||
Artist *Artist `bun:"rel:belongs-to,join:artist_id=id"`
|
||||
ComicID *string `bun:"comic_id"`
|
||||
Comic *Comic `bun:"rel:belongs-to,join:comic_id=id"`
|
||||
WorkTypeID *string `bun:"work_type_id"`
|
||||
WorkType *WorkType `bun:"rel:belongs-to,join:work_type_id=id"`
|
||||
}
|
||||
Reference in New Issue
Block a user