Improved Article model

This commit is contained in:
Florian Sylvain
2023-01-09 09:53:33 +01:00
parent 117df6914b
commit 8be0059525
4 changed files with 25 additions and 21 deletions
+7 -6
View File
@@ -7,11 +7,12 @@ import (
)
type Article struct {
IdName string `json:"id_name" bson:"id_name"`
Date int64 `json:"date" bson:"date"`
Content gin.H `json:"content" bson:"content"`
PageID string `json:"page_id" bson:"page_id"`
Online bool `json:"online" bson:"online"`
TitleID string `json:"titleID" bson:"titleID"`
Title string `json:"title" bson:"title"`
Date int64 `json:"date" bson:"date"`
Content gin.H `json:"content" bson:"content"`
Tags []string `json:"tags" bson:"tags"`
Online bool `json:"online" bson:"online"`
}
var articlesLocation = database.Location{Database: "gohcms", Collection: "articles"}
@@ -32,7 +33,7 @@ func IsArticleIdAlreadyUsed(id string, documents [][]byte) bool {
for i := 0; i < len(documents); i++ {
var newArticle Article
bson.Unmarshal(documents[i], &newArticle)
if newArticle.IdName == id {
if newArticle.TitleID == id {
return true
}
}
+6 -6
View File
@@ -9,18 +9,18 @@ import (
)
var Article1, _ = bson.Marshal(Article{
IdName: "test_article_1",
TitleID: "test_article_1",
Date: 1671482492,
Content: gin.H{},
PageID: "blog",
Tags: []string{"blog"},
Online: false,
})
var Article2, _ = bson.Marshal(Article{
IdName: "test_article_2",
TitleID: "test_article_2",
Date: 1671899112,
Content: gin.H{},
PageID: "blog",
Tags: []string{"blog"},
Online: false,
})
@@ -30,8 +30,8 @@ func TestGetAllArticlesBusiness(t *testing.T) {
documents := GetAllArticlesBusiness(BSONConvertedArticles)
article := documents[0]
if article.IdName != "test_article_1" {
log.Fatalf(`Excepted "test_article_1" as IdName, found "%v"`, article.IdName)
if article.TitleID != "test_article_1" {
log.Fatalf(`Excepted "test_article_1" as IdName, found "%v"`, article.TitleID)
} else if article.Date != 1671482492 {
log.Fatalf(`Excepted 1671482492 as Date, found "%v"`, article.Date)
}
+2 -2
View File
@@ -34,7 +34,7 @@ func GetArticleHandler(c *gin.Context) {
func AddArticleHandler(c *gin.Context) {
var article Article
article.IdName = c.Params.ByName("id")
article.TitleID = c.Params.ByName("id")
if c.BindJSON(&article) != nil {
api.SendBadRequest(c, "Could not correctly parse the article.")
return
@@ -47,7 +47,7 @@ func AddArticleHandler(c *gin.Context) {
}
documents, _ := database.GetDocuments(articlesLocation, gin.H{})
if IsArticleIdAlreadyUsed(article.IdName, documents) {
if IsArticleIdAlreadyUsed(article.TitleID, documents) {
api.SendBadRequest(c, "Article ID already used.")
return
}