42 lines
1.4 KiB
Go
42 lines
1.4 KiB
Go
package controller
|
|
|
|
import (
|
|
"context"
|
|
"video-factory/shortdrama/model/dto"
|
|
"video-factory/shortdrama/service"
|
|
)
|
|
|
|
// ==================== Episode CRUD ====================
|
|
|
|
func (c *drama) ListEpisode(ctx context.Context, req *dto.ListEpisodeReq) (res *dto.ListEpisodeRes, err error) {
|
|
list, total, err := service.DramaService.ListEpisode(ctx, req.DramaId, req.Page, req.PageSize, req.Keyword)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &dto.ListEpisodeRes{List: list, Total: total, Page: req.Page, PageSize: req.PageSize}, nil
|
|
}
|
|
|
|
func (c *drama) AddEpisode(ctx context.Context, req *dto.AddEpisodeReq) (res *dto.GetDramaRes, err error) {
|
|
_, err = service.DramaService.AddEpisode(ctx, req.DramaId, req.Title, req.Script, req.Index)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return c.Get(ctx, &dto.GetDramaReq{Id: req.DramaId})
|
|
}
|
|
|
|
func (c *drama) UpdateEpisode(ctx context.Context, req *dto.UpdateEpisodeReq) (res *dto.GetDramaRes, err error) {
|
|
err = service.DramaService.UpdateEpisode(ctx, req.DramaId, req.EpId, req.Title, req.Script, req.Index)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return c.Get(ctx, &dto.GetDramaReq{Id: req.DramaId})
|
|
}
|
|
|
|
func (c *drama) DeleteEpisode(ctx context.Context, req *dto.DeleteEpisodeReq) (res *dto.GetDramaRes, err error) {
|
|
err = service.DramaService.DeleteEpisode(ctx, req.DramaId, req.EpId)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return c.Get(ctx, &dto.GetDramaReq{Id: req.DramaId})
|
|
}
|