Files
video-factory/shortdrama/controller/drama_controller.go
T
2026-06-29 13:32:50 +08:00

53 lines
1.5 KiB
Go

package controller
import (
"context"
"video-factory/shortdrama/model/dto"
"video-factory/shortdrama/service"
)
type drama struct{}
var Drama = new(drama)
// ==================== Drama CRUD ====================
func (c *drama) List(ctx context.Context, req *dto.ListDramaReq) (res *dto.ListDramaRes, err error) {
list, total, err := service.DramaService.List(ctx, req.Page, req.PageSize)
if err != nil {
return nil, err
}
return &dto.ListDramaRes{List: list, Total: total, Page: req.Page, PageSize: req.PageSize}, nil
}
func (c *drama) Create(ctx context.Context, req *dto.CreateDramaReq) (res *dto.CreateDramaRes, err error) {
id, err := service.DramaService.Create(ctx, req.Title, req.Style, int64(req.EpisodeDuration))
if err != nil {
return nil, err
}
return &dto.CreateDramaRes{Id: id}, nil
}
func (c *drama) Get(ctx context.Context, req *dto.GetDramaReq) (res *dto.GetDramaRes, err error) {
drama, characters, episodes, scenes, props, tasks, err := service.DramaService.Get(ctx, req.Id)
if err != nil {
return nil, err
}
return &dto.GetDramaRes{
Drama: drama,
Characters: characters,
Episodes: episodes,
Scenes: scenes,
Props: props,
Tasks: tasks,
}, nil
}
func (c *drama) Update(ctx context.Context, req *dto.UpdateDramaReq) (res *struct{}, err error) {
return nil, service.DramaService.Update(ctx, req.Id, req.Title, req.Style, int64(req.EpisodeDuration))
}
func (c *drama) Delete(ctx context.Context, req *dto.DeleteDramaReq) (res *struct{}, err error) {
return nil, service.DramaService.Delete(ctx, req.Id)
}