2021-08-26 20:23:55 +03:00
|
|
|
package controlers
|
|
|
|
|
|
|
|
import (
|
2021-09-05 00:36:55 +03:00
|
|
|
"log"
|
2021-08-26 20:23:55 +03:00
|
|
|
"net/http"
|
2021-09-05 00:36:55 +03:00
|
|
|
"strconv"
|
2021-08-26 20:23:55 +03:00
|
|
|
|
|
|
|
"github.com/gin-gonic/gin"
|
2021-08-28 18:41:34 +03:00
|
|
|
|
|
|
|
Repositories "micrach/repositories"
|
2021-08-26 20:23:55 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
func GetThreads(c *gin.Context) {
|
2021-08-31 22:10:24 +03:00
|
|
|
threads, err := Repositories.Posts.Get(10, 10)
|
2021-08-30 12:09:27 +03:00
|
|
|
if err != nil {
|
2021-09-05 13:50:22 +03:00
|
|
|
// TODO: рендерить шаблон 500
|
2021-09-05 00:36:55 +03:00
|
|
|
log.Println("error:", err)
|
2021-08-30 12:09:27 +03:00
|
|
|
c.JSON(http.StatusOK, gin.H{"error": true})
|
|
|
|
return
|
|
|
|
}
|
2021-08-28 18:41:34 +03:00
|
|
|
c.HTML(http.StatusOK, "index.html", threads)
|
2021-08-26 20:23:55 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
func GetThread(c *gin.Context) {
|
2021-09-05 00:36:55 +03:00
|
|
|
threadIDString := c.Param("threadID")
|
|
|
|
threadID, err := strconv.Atoi(threadIDString)
|
|
|
|
if err != nil {
|
2021-09-05 13:50:22 +03:00
|
|
|
// TODO: рендерить шаблон 404
|
2021-09-05 00:36:55 +03:00
|
|
|
log.Println("error:", err)
|
|
|
|
c.JSON(http.StatusOK, gin.H{"error": true})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
thread, err := Repositories.Posts.GetThreadByPostID(threadID)
|
|
|
|
if err != nil {
|
2021-09-05 13:50:22 +03:00
|
|
|
// TODO: рендерить шаблон 500
|
2021-09-05 00:36:55 +03:00
|
|
|
log.Println("error:", err)
|
|
|
|
c.JSON(http.StatusOK, gin.H{"error": true})
|
|
|
|
return
|
|
|
|
}
|
2021-09-05 13:50:22 +03:00
|
|
|
if thread == nil {
|
|
|
|
// TODO: рендерить шаблон 404
|
|
|
|
return
|
|
|
|
}
|
2021-09-05 00:36:55 +03:00
|
|
|
c.HTML(http.StatusOK, "thread.html", thread)
|
2021-08-26 20:23:55 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
func CreateThread(c *gin.Context) {
|
2021-09-05 13:50:22 +03:00
|
|
|
form, err := c.MultipartForm()
|
|
|
|
if err != nil {
|
|
|
|
c.JSON(http.StatusBadRequest, gin.H{
|
|
|
|
"error": "Problem uploading file!",
|
|
|
|
})
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// TODO: dat shit crashes if no fields in request
|
|
|
|
// text := form.Value["text"][0]
|
|
|
|
// title := form.Value["title"][0]
|
|
|
|
// isSageString := form.Value["isSage"][0]
|
|
|
|
// isSage, err := strconv.ParseBool(isSageString)
|
|
|
|
// if err != nil {
|
|
|
|
// // TODO: validation error
|
|
|
|
// response := Dto.GetInternalServerErrorResponse()
|
|
|
|
// c.JSON(http.StatusInternalServerError, response)
|
|
|
|
// return
|
|
|
|
// }
|
|
|
|
|
|
|
|
c.JSON(http.StatusOK, gin.H{"route": form})
|
2021-08-26 20:23:55 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
func UpdateThread(c *gin.Context) {
|
|
|
|
c.JSON(http.StatusOK, gin.H{"route": "update thread"})
|
|
|
|
}
|