✨ Better alias with region alias
This commit is contained in:
@ -86,6 +86,7 @@ func createArticle(c *fiber.Ctx) error {
|
||||
return fiber.NewError(fiber.StatusBadRequest, fmt.Sprintf("unable to post in the realm, access denied: %v", err))
|
||||
} else {
|
||||
item.RealmID = &realm.ID
|
||||
item.Realm = &realm
|
||||
}
|
||||
}
|
||||
|
||||
@ -169,6 +170,7 @@ func editArticle(c *fiber.Ctx) error {
|
||||
item.PublishedUntil = data.PublishedUntil
|
||||
item.VisibleUsers = data.VisibleUsers
|
||||
item.InvisibleUsers = data.InvisibleUsers
|
||||
item.Author = user
|
||||
|
||||
if data.Visibility != nil {
|
||||
item.Visibility = *data.Visibility
|
||||
@ -181,6 +183,7 @@ func editArticle(c *fiber.Ctx) error {
|
||||
return fiber.NewError(fiber.StatusBadRequest, fmt.Sprintf("unable to post in the realm, access denied: %v", err))
|
||||
} else {
|
||||
item.RealmID = &realm.ID
|
||||
item.Realm = &realm
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2,6 +2,8 @@ package api
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"git.solsynth.dev/hydrogen/interactive/pkg/internal/database"
|
||||
"git.solsynth.dev/hydrogen/interactive/pkg/internal/gap"
|
||||
@ -13,9 +15,24 @@ import (
|
||||
)
|
||||
|
||||
func getPost(c *fiber.Ctx) error {
|
||||
id, _ := c.ParamsInt("postId")
|
||||
id := c.Params("postId")
|
||||
|
||||
var item models.Post
|
||||
var err error
|
||||
|
||||
tx := services.FilterPostDraft(database.C)
|
||||
if numericId, paramErr := strconv.Atoi(id); paramErr == nil {
|
||||
item, err = services.GetPost(tx, uint(numericId))
|
||||
} else {
|
||||
segments := strings.Split(id, ":")
|
||||
if len(segments) != 2 {
|
||||
return fiber.NewError(fiber.StatusBadRequest, "invalid post id, must be a number or a string with two segment divided by a colon")
|
||||
}
|
||||
area := segments[0]
|
||||
alias := segments[1]
|
||||
item, err = services.GetPostByAlias(tx, area, alias)
|
||||
}
|
||||
|
||||
item, err := services.GetPost(services.FilterPostDraft(database.C), uint(id))
|
||||
if err != nil {
|
||||
return fiber.NewError(fiber.StatusNotFound, err.Error())
|
||||
}
|
||||
|
@ -105,6 +105,7 @@ func createStory(c *fiber.Ctx) error {
|
||||
return fiber.NewError(fiber.StatusBadRequest, fmt.Sprintf("unable to post in the realm, access denied: %v", err))
|
||||
} else {
|
||||
item.RealmID = &realm.ID
|
||||
item.Realm = &realm
|
||||
}
|
||||
}
|
||||
|
||||
@ -188,6 +189,7 @@ func editStory(c *fiber.Ctx) error {
|
||||
item.IsDraft = data.IsDraft
|
||||
item.VisibleUsers = data.VisibleUsers
|
||||
item.InvisibleUsers = data.InvisibleUsers
|
||||
item.Author = user
|
||||
|
||||
if data.Visibility != nil {
|
||||
item.Visibility = *data.Visibility
|
||||
@ -200,6 +202,7 @@ func editStory(c *fiber.Ctx) error {
|
||||
return fiber.NewError(fiber.StatusBadRequest, fmt.Sprintf("unable to post in the realm, access denied: %v", err))
|
||||
} else {
|
||||
item.RealmID = &realm.ID
|
||||
item.Realm = &realm
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user