Add dev update resource api.

This commit is contained in:
2025-12-07 19:14:14 +08:00
parent 6cabff8f8d
commit a3de195eca
3 changed files with 64 additions and 3 deletions

View File

@@ -30,7 +30,7 @@ type ResourceParams struct {
Title string `json:"title" binding:"required"`
AlternativeTitles []string `json:"alternative_titles"`
Links []model.Link `json:"links"`
ReleaseDate *time.Time `json:"release_date"`
ReleaseDate string `json:"release_date"`
Tags []uint `json:"tags"`
Article string `json:"article"`
Images []uint `json:"images"`
@@ -102,12 +102,20 @@ func CreateResource(uid uint, params *ResourceParams) (uint, error) {
ImageID: imageID,
}
}
var date *time.Time
if params.ReleaseDate != "" {
parsedDate, err := time.Parse("2006-01-02", params.ReleaseDate)
if err != nil {
return 0, model.NewRequestError("Invalid release date format, expected YYYY-MM-DD")
}
date = &parsedDate
}
r := model.Resource{
Title: params.Title,
AlternativeTitles: params.AlternativeTitles,
Article: params.Article,
Links: params.Links,
ReleaseDate: params.ReleaseDate,
ReleaseDate: date,
Images: images,
Tags: tags,
UserID: uid,
@@ -531,11 +539,20 @@ func UpdateResource(uid, rid uint, params *ResourceParams) error {
}
}
var date *time.Time
if params.ReleaseDate != "" {
parsedDate, err := time.Parse("2006-01-02", params.ReleaseDate)
if err != nil {
return model.NewRequestError("Invalid release date format, expected YYYY-MM-DD")
}
date = &parsedDate
}
r.Title = params.Title
r.AlternativeTitles = params.AlternativeTitles
r.Article = params.Article
r.Links = params.Links
r.ReleaseDate = params.ReleaseDate
r.ReleaseDate = date
r.Gallery = gallery
r.GalleryNsfw = nsfw
r.Characters = characters