29 lines
753 B
Go
29 lines
753 B
Go
package main
|
|
|
|
type Movie struct {
|
|
ID int `json:"id"`
|
|
Title string `json:"title"`
|
|
Imdb string `json:"imdb"`
|
|
Tags []*Tag `json:"tags"`
|
|
}
|
|
|
|
type Tag struct {
|
|
ID int `db:"id" json:"id"`
|
|
Name string `db:"name" json:"name"`
|
|
}
|
|
|
|
type MovieDB interface {
|
|
CreateMovie(title string, imdb string) (Movie, error)
|
|
UpdateMovie(id int, title string, imbd string) error
|
|
GetMovies(limit ...int) ([]Movie, error)
|
|
GetMovieById(id int) (Movie, error)
|
|
GetMoviesByTag(id int) ([]Movie, error)
|
|
DeleteMovie(id int) error
|
|
CreateTag(name string) (Tag, error)
|
|
DeleteTag(id int) error
|
|
GetTags(limit ...int) ([]Tag, error)
|
|
GetTagById(id int) (Tag, error)
|
|
TagMovie(tagId int, movieId int) error
|
|
UnTagMovie(tagId int, movieId int) error
|
|
}
|