This commit is contained in:
@@ -5,18 +5,20 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type MediaHandler struct {
|
type MediaHandler struct {
|
||||||
MediaActorHandler *MediaActorHandler
|
MediaActorHandler *MediaActorHandler
|
||||||
MediaFileHandler *MediaFileHandler
|
MediaFileHandler *MediaFileHandler
|
||||||
MediaLoFiHandler *MediaLoFiHandler
|
MediaLoFiHandler *MediaLoFiHandler
|
||||||
MediaVideoHandler *MediaVideoHandler
|
MediaVideoHandler *MediaVideoHandler
|
||||||
|
MediaActorFileHandler *MediaActorFileHandler
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewMediaHandler(db *gorm.DB) *MediaHandler {
|
func NewMediaHandler(db *gorm.DB) *MediaHandler {
|
||||||
mediaHandler := &MediaHandler{
|
mediaHandler := &MediaHandler{
|
||||||
MediaActorHandler: NewMediaActorHandler(db),
|
MediaActorHandler: NewMediaActorHandler(db),
|
||||||
MediaFileHandler: NewMediaFileHandler(db),
|
MediaFileHandler: NewMediaFileHandler(db),
|
||||||
MediaLoFiHandler: NewMediaLoFiHandler(db),
|
MediaLoFiHandler: NewMediaLoFiHandler(db),
|
||||||
MediaVideoHandler: NewMediaVideoHandler(db),
|
MediaVideoHandler: NewMediaVideoHandler(db),
|
||||||
|
MediaActorFileHandler: NewMediaActorFileHandler(db),
|
||||||
}
|
}
|
||||||
return mediaHandler
|
return mediaHandler
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,51 @@
|
|||||||
|
package handlers
|
||||||
|
|
||||||
|
import (
|
||||||
|
"kontor-api-gin/internal/globals"
|
||||||
|
"kontor-api-gin/internal/models"
|
||||||
|
"kontor-api-gin/internal/repository"
|
||||||
|
"kontor-api-gin/internal/service"
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/gin-contrib/sessions"
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
"gorm.io/gorm"
|
||||||
|
)
|
||||||
|
|
||||||
|
type MediaActorFileHandler struct {
|
||||||
|
Service *service.MediaActorFileService
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewMediaActorFileHandler(db *gorm.DB) *MediaActorFileHandler {
|
||||||
|
mediaActorFileHandler := &MediaActorFileHandler{
|
||||||
|
Service: service.NewMediaActorFileService(repository.NewMediaActorFileRepository(db)),
|
||||||
|
}
|
||||||
|
return mediaActorFileHandler
|
||||||
|
}
|
||||||
|
|
||||||
|
func (handler *MediaActorFileHandler) List(c *gin.Context) {
|
||||||
|
media_actor_files, err := handler.Service.List(c.Request.Context())
|
||||||
|
if err != nil {
|
||||||
|
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
dtos := models.ConvertMediaActorFilesToDtos(media_actor_files)
|
||||||
|
c.JSON(http.StatusOK, dtos)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (handler *MediaActorFileHandler) ListPage(c *gin.Context) {
|
||||||
|
session := sessions.Default(c)
|
||||||
|
user := session.Get(globals.UserKey)
|
||||||
|
media_actor_files, err := handler.Service.List(c.Request.Context())
|
||||||
|
if err != nil {
|
||||||
|
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
c.HTML(http.StatusOK, "mediaactorfiles", gin.H{
|
||||||
|
"title": "Kontor MediaActorFiles",
|
||||||
|
"version": "0.4.0",
|
||||||
|
"message": "MediaActorFiles...",
|
||||||
|
"actors": media_actor_files,
|
||||||
|
"user": user,
|
||||||
|
})
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
package repository
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"kontor-api-gin/internal/models"
|
||||||
|
"log/slog"
|
||||||
|
|
||||||
|
"gorm.io/gorm"
|
||||||
|
)
|
||||||
|
|
||||||
|
type MediaActorFileRepository struct {
|
||||||
|
db *gorm.DB
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewMediaActorFileRepository(db *gorm.DB) *MediaActorFileRepository {
|
||||||
|
repo := &MediaActorFileRepository{db: db}
|
||||||
|
return repo
|
||||||
|
}
|
||||||
|
|
||||||
|
func (repository *MediaActorFileRepository) FindAll(context context.Context) ([]models.MediaActorFile, error) {
|
||||||
|
var actor_files []models.MediaActorFile
|
||||||
|
|
||||||
|
result := repository.db.Find(&actor_files)
|
||||||
|
slog.Info("MediaActorFileRepository#FindAll", "count", result.RowsAffected)
|
||||||
|
|
||||||
|
return actor_files, nil
|
||||||
|
}
|
||||||
@@ -91,20 +91,21 @@ func New(admin *handlers.AdminHandler, bookshelf *handlers.BookshelfHandler, com
|
|||||||
secured.GET("bookshelf/authors", bookshelf.AuthorHandler.List)
|
secured.GET("bookshelf/authors", bookshelf.AuthorHandler.List)
|
||||||
secured.GET("bookshelf/articleauthors", bookshelf.ArticleAuthorHandler.List)
|
secured.GET("bookshelf/articleauthors", bookshelf.ArticleAuthorHandler.List)
|
||||||
secured.GET("bookshelf/bookauthors", bookshelf.BookAuthorHandler.List)
|
secured.GET("bookshelf/bookauthors", bookshelf.BookAuthorHandler.List)
|
||||||
secured.GET("/comics/comics", comics.ComicHandler.List)
|
secured.GET("comics/comics", comics.ComicHandler.List)
|
||||||
secured.GET("/comics/publishers", comics.PublisherHandler.List)
|
secured.GET("comics/publishers", comics.PublisherHandler.List)
|
||||||
secured.GET("/comics/artists", comics.ArtistHandler.List)
|
secured.GET("comics/artists", comics.ArtistHandler.List)
|
||||||
secured.GET("/comics/issues", comics.IssueHandler.List)
|
secured.GET("comics/issues", comics.IssueHandler.List)
|
||||||
secured.GET("/comics/tradepaperbacks", comics.TradePaperbackHandler.List)
|
secured.GET("comics/tradepaperbacks", comics.TradePaperbackHandler.List)
|
||||||
secured.GET("/comics/worktypes", comics.WorkTypeHandler.List)
|
secured.GET("comics/worktypes", comics.WorkTypeHandler.List)
|
||||||
secured.GET("/comics/volumes", comics.VolumeHandler.List)
|
secured.GET("comics/volumes", comics.VolumeHandler.List)
|
||||||
secured.GET("/comics/storyarcs", comics.StoryArcHandler.List)
|
secured.GET("comics/storyarcs", comics.StoryArcHandler.List)
|
||||||
secured.GET("/comics/comicworks", comics.ComicworkHandler.List)
|
secured.GET("comics/comicworks", comics.ComicworkHandler.List)
|
||||||
secured.GET("/comics/issueworks", comics.IssueworkHandler.List)
|
secured.GET("comics/issueworks", comics.IssueworkHandler.List)
|
||||||
secured.GET("/media/files", media.MediaFileHandler.List)
|
secured.GET("media/files", media.MediaFileHandler.List)
|
||||||
secured.GET("/media/videos", media.MediaVideoHandler.List)
|
secured.GET("media/videos", media.MediaVideoHandler.List)
|
||||||
secured.GET("/media/lofis", media.MediaLoFiHandler.List)
|
secured.GET("media/lofis", media.MediaLoFiHandler.List)
|
||||||
secured.GET("/media/actors", media.MediaActorHandler.List)
|
secured.GET("media/actors", media.MediaActorHandler.List)
|
||||||
|
secured.GET("media/actorfiles", media.MediaActorFileHandler.List)
|
||||||
}
|
}
|
||||||
return router
|
return router
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package service
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"kontor-api-gin/internal/models"
|
||||||
|
"kontor-api-gin/internal/repository"
|
||||||
|
"log/slog"
|
||||||
|
)
|
||||||
|
|
||||||
|
type MediaActorFileService struct {
|
||||||
|
repository *repository.MediaActorFileRepository
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewMediaActorFileService(repo *repository.MediaActorFileRepository) *MediaActorFileService {
|
||||||
|
service := &MediaActorFileService{repository: repo}
|
||||||
|
return service
|
||||||
|
}
|
||||||
|
|
||||||
|
func (service *MediaActorFileService) List(context context.Context) ([]models.MediaActorFile, error) {
|
||||||
|
slog.Info("MediaActorFileService#List")
|
||||||
|
return service.repository.FindAll(context)
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user