moviedb/backend/types.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
}