add missing model
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s

This commit is contained in:
2026-10-04 21:03:54 +02:00
parent e1b5691fac
commit 570ae71aba
5 changed files with 125 additions and 22 deletions
+2
View File
@@ -9,6 +9,7 @@ type MediaHandler struct {
MediaFileHandler *MediaFileHandler
MediaLoFiHandler *MediaLoFiHandler
MediaVideoHandler *MediaVideoHandler
MediaActorFileHandler *MediaActorFileHandler
}
func NewMediaHandler(db *gorm.DB) *MediaHandler {
@@ -17,6 +18,7 @@ func NewMediaHandler(db *gorm.DB) *MediaHandler {
MediaFileHandler: NewMediaFileHandler(db),
MediaLoFiHandler: NewMediaLoFiHandler(db),
MediaVideoHandler: NewMediaVideoHandler(db),
MediaActorFileHandler: NewMediaActorFileHandler(db),
}
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
}
+15 -14
View File
@@ -91,20 +91,21 @@ func New(admin *handlers.AdminHandler, bookshelf *handlers.BookshelfHandler, com
secured.GET("bookshelf/authors", bookshelf.AuthorHandler.List)
secured.GET("bookshelf/articleauthors", bookshelf.ArticleAuthorHandler.List)
secured.GET("bookshelf/bookauthors", bookshelf.BookAuthorHandler.List)
secured.GET("/comics/comics", comics.ComicHandler.List)
secured.GET("/comics/publishers", comics.PublisherHandler.List)
secured.GET("/comics/artists", comics.ArtistHandler.List)
secured.GET("/comics/issues", comics.IssueHandler.List)
secured.GET("/comics/tradepaperbacks", comics.TradePaperbackHandler.List)
secured.GET("/comics/worktypes", comics.WorkTypeHandler.List)
secured.GET("/comics/volumes", comics.VolumeHandler.List)
secured.GET("/comics/storyarcs", comics.StoryArcHandler.List)
secured.GET("/comics/comicworks", comics.ComicworkHandler.List)
secured.GET("/comics/issueworks", comics.IssueworkHandler.List)
secured.GET("/media/files", media.MediaFileHandler.List)
secured.GET("/media/videos", media.MediaVideoHandler.List)
secured.GET("/media/lofis", media.MediaLoFiHandler.List)
secured.GET("/media/actors", media.MediaActorHandler.List)
secured.GET("comics/comics", comics.ComicHandler.List)
secured.GET("comics/publishers", comics.PublisherHandler.List)
secured.GET("comics/artists", comics.ArtistHandler.List)
secured.GET("comics/issues", comics.IssueHandler.List)
secured.GET("comics/tradepaperbacks", comics.TradePaperbackHandler.List)
secured.GET("comics/worktypes", comics.WorkTypeHandler.List)
secured.GET("comics/volumes", comics.VolumeHandler.List)
secured.GET("comics/storyarcs", comics.StoryArcHandler.List)
secured.GET("comics/comicworks", comics.ComicworkHandler.List)
secured.GET("comics/issueworks", comics.IssueworkHandler.List)
secured.GET("media/files", media.MediaFileHandler.List)
secured.GET("media/videos", media.MediaVideoHandler.List)
secured.GET("media/lofis", media.MediaLoFiHandler.List)
secured.GET("media/actors", media.MediaActorHandler.List)
secured.GET("media/actorfiles", media.MediaActorFileHandler.List)
}
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)
}