func GetArticle(w app.ResponseWriter, r *app.Request) { article_id, err := strconv.Atoi(r.PathParams["article_id"]) if err == nil { article := models.Article{} article.Find(article_id) if article.ID != 0 { w.WriteJson(article) return } } logging.Logger.Error(fmt.Sprintf("Error: %s", err)) w.WriteHeader(404) w.WriteJson(map[string]string{"error": "article no found"}) }
func PostArticle(w app.ResponseWriter, r *app.Request) { user := r.Env["user"].(*models.User) title, markdown, category, html := generateArticleContent(r) if title == "" { w.WriteHeader(400) w.WriteJson(map[string]string{"error": "missing stuff"}) return } // create article article := models.Article{Title: title, Content: string(html), Markdown: markdown} user.AddArticle(&article) category.AddArticle(&article) article.Create() w.WriteJson(article) }
func ModifyArticle(w app.ResponseWriter, r *app.Request) { article_id, err := strconv.Atoi(r.PathParams["article_id"]) if err == nil { title, markdown, _, html := generateArticleContent(r) article := models.Article{} article.Find(article_id) if article.ID != 0 { article.Title = title article.Markdown = markdown article.Content = string(html) // category.AddArticle(&article) article.Save() w.WriteJson(article) return } } logging.Logger.Error(fmt.Sprintf("Error: %s", err)) w.WriteHeader(404) w.WriteJson(map[string]string{"error": "article no found"}) }