mirror of
https://github.com/wgh136/nysoure.git
synced 2025-12-16 15:51:14 +00:00
Validate gallery images.
This commit is contained in:
@@ -7,6 +7,7 @@ import (
|
|||||||
"nysoure/server/model"
|
"nysoure/server/model"
|
||||||
"nysoure/server/search"
|
"nysoure/server/search"
|
||||||
"nysoure/server/utils"
|
"nysoure/server/utils"
|
||||||
|
"slices"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
@@ -56,6 +57,18 @@ func CreateResource(uid uint, params *ResourceParams) (uint, error) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
gallery := make([]uint, 0, len(params.Gallery))
|
||||||
|
for _, id := range params.Gallery {
|
||||||
|
if slices.Contains(params.Images, id) {
|
||||||
|
gallery = append(gallery, id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
nsfw := make([]uint, 0, len(params.GalleryNsfw))
|
||||||
|
for _, id := range params.GalleryNsfw {
|
||||||
|
if slices.Contains(gallery, id) {
|
||||||
|
nsfw = append(nsfw, id)
|
||||||
|
}
|
||||||
|
}
|
||||||
r := model.Resource{
|
r := model.Resource{
|
||||||
Title: params.Title,
|
Title: params.Title,
|
||||||
AlternativeTitles: params.AlternativeTitles,
|
AlternativeTitles: params.AlternativeTitles,
|
||||||
@@ -64,8 +77,8 @@ func CreateResource(uid uint, params *ResourceParams) (uint, error) {
|
|||||||
Images: images,
|
Images: images,
|
||||||
Tags: tags,
|
Tags: tags,
|
||||||
UserID: uid,
|
UserID: uid,
|
||||||
Gallery: params.Gallery,
|
Gallery: gallery,
|
||||||
GalleryNsfw: params.GalleryNsfw,
|
GalleryNsfw: nsfw,
|
||||||
}
|
}
|
||||||
if r, err = dao.CreateResource(r); err != nil {
|
if r, err = dao.CreateResource(r); err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
@@ -452,12 +465,25 @@ func EditResource(uid, rid uint, params *ResourceParams) error {
|
|||||||
return model.NewUnAuthorizedError("You have not permission to edit this resource")
|
return model.NewUnAuthorizedError("You have not permission to edit this resource")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gallery := make([]uint, 0, len(params.Gallery))
|
||||||
|
for _, id := range params.Gallery {
|
||||||
|
if slices.Contains(params.Images, id) {
|
||||||
|
gallery = append(gallery, id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
nsfw := make([]uint, 0, len(params.GalleryNsfw))
|
||||||
|
for _, id := range params.GalleryNsfw {
|
||||||
|
if slices.Contains(gallery, id) {
|
||||||
|
nsfw = append(nsfw, id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
r.Title = params.Title
|
r.Title = params.Title
|
||||||
r.AlternativeTitles = params.AlternativeTitles
|
r.AlternativeTitles = params.AlternativeTitles
|
||||||
r.Article = params.Article
|
r.Article = params.Article
|
||||||
r.Links = params.Links
|
r.Links = params.Links
|
||||||
r.Gallery = params.Gallery
|
r.Gallery = gallery
|
||||||
r.GalleryNsfw = params.GalleryNsfw
|
r.GalleryNsfw = nsfw
|
||||||
|
|
||||||
images := make([]model.Image, len(params.Images))
|
images := make([]model.Image, len(params.Images))
|
||||||
for i, id := range params.Images {
|
for i, id := range params.Images {
|
||||||
|
|||||||
Reference in New Issue
Block a user