feat: add get endpoint
This commit is contained in:
parent
7aa372dca1
commit
bda75b5adb
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -26,3 +26,4 @@ TODO
|
||||||
test.db
|
test.db
|
||||||
|
|
||||||
public/*
|
public/*
|
||||||
|
tmp/*
|
||||||
|
|
|
@ -8,7 +8,7 @@ type KonuluKonum struct {
|
||||||
gorm.Model
|
gorm.Model
|
||||||
URI string
|
URI string
|
||||||
Image []byte `gorm:"type:BLOB"`
|
Image []byte `gorm:"type:BLOB"`
|
||||||
Loc string
|
Coordinates string
|
||||||
AuthorName string
|
AuthorName string
|
||||||
Description string
|
Description string
|
||||||
UnlockedCounter int
|
UnlockedCounter int
|
||||||
|
|
37
server.go
37
server.go
|
@ -8,7 +8,6 @@ import (
|
||||||
"log101/konulu-konum-backend/models"
|
"log101/konulu-konum-backend/models"
|
||||||
|
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
|
||||||
|
|
||||||
"github.com/dchest/uniuri"
|
"github.com/dchest/uniuri"
|
||||||
"github.com/gofiber/fiber/v2"
|
"github.com/gofiber/fiber/v2"
|
||||||
|
@ -39,9 +38,7 @@ func main() {
|
||||||
return c.SendString("Sample")
|
return c.SendString("Sample")
|
||||||
})
|
})
|
||||||
|
|
||||||
app.Static("/images", "./public")
|
app.Post("/api/location", func(c *fiber.Ctx) error {
|
||||||
|
|
||||||
app.Post("/upload", func(c *fiber.Ctx) error {
|
|
||||||
if form, err := c.MultipartForm(); err == nil {
|
if form, err := c.MultipartForm(); err == nil {
|
||||||
// Get string input
|
// Get string input
|
||||||
if token := form.Value["token"]; len(token) > 0 {
|
if token := form.Value["token"]; len(token) > 0 {
|
||||||
|
@ -74,27 +71,12 @@ func main() {
|
||||||
fmt.Fprintln(os.Stderr, err)
|
fmt.Fprintln(os.Stderr, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
imageName := strings.Split(file.Filename, ".")[0]
|
|
||||||
|
|
||||||
// Save image
|
|
||||||
bimg.Write(fmt.Sprintf("./public/%s.webp", imageName), newImage)
|
|
||||||
|
|
||||||
// Generate public uri for the image
|
// Generate public uri for the image
|
||||||
chars := uniuri.StdChars[26:52]
|
chars := uniuri.StdChars[26:52]
|
||||||
randomUri := uniuri.NewLenChars(10, chars)
|
randomUri := uniuri.NewLenChars(10, chars)
|
||||||
imageUri := fmt.Sprintf("%s-%s-%s", randomUri[0:3], randomUri[3:7], randomUri[7:])
|
imageUri := fmt.Sprintf("%s-%s-%s", randomUri[0:3], randomUri[3:7], randomUri[7:])
|
||||||
|
|
||||||
fmt.Println(imageUri)
|
db.Create(&models.KonuluKonum{URI: imageUri, Image: newImage, Coordinates: "sample", AuthorName: "sample", Description: "sample", UnlockedCounter: 0})
|
||||||
|
|
||||||
db.Create(&models.KonuluKonum{URI: "sample", Image: newImage, Loc: "sample", AuthorName: "sample", Description: "sample", UnlockedCounter: 0})
|
|
||||||
|
|
||||||
var konuluKonum models.KonuluKonum
|
|
||||||
db.First(&konuluKonum)
|
|
||||||
|
|
||||||
// Save image
|
|
||||||
bimg.Write("./public/storedImage.webp", konuluKonum.Image)
|
|
||||||
|
|
||||||
db.Delete(&konuluKonum)
|
|
||||||
|
|
||||||
return c.SendStatus(fiber.StatusOK)
|
return c.SendStatus(fiber.StatusOK)
|
||||||
}
|
}
|
||||||
|
@ -102,6 +84,21 @@ func main() {
|
||||||
return c.SendStatus(fiber.StatusBadRequest)
|
return c.SendStatus(fiber.StatusBadRequest)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
app.Get("/api/location/:locationUri", func(c *fiber.Ctx) error {
|
||||||
|
uri := c.Params("locationUri")
|
||||||
|
if len(uri) == 0 {
|
||||||
|
return c.SendStatus(fiber.StatusBadRequest)
|
||||||
|
}
|
||||||
|
|
||||||
|
var konuluKonum models.KonuluKonum
|
||||||
|
rows := db.Where("URI = ?", uri).First(&konuluKonum)
|
||||||
|
if rows.Error != nil {
|
||||||
|
return c.SendStatus(fiber.StatusInternalServerError)
|
||||||
|
}
|
||||||
|
|
||||||
|
return c.SendString(konuluKonum.URI)
|
||||||
|
})
|
||||||
|
|
||||||
app.Listen(":3000")
|
app.Listen(":3000")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user