refactor: cleanup backend structure

This commit is contained in:
2025-10-21 22:07:59 +03:00
parent 8e9c9585f2
commit 6c4b813f66
10 changed files with 100 additions and 100 deletions

61
main.go Normal file
View File

@@ -0,0 +1,61 @@
package main
import (
"encoding/base64"
"io/fs"
"log"
"os"
"path"
"net/http"
"github.com/gin-contrib/cors"
"github.com/gin-gonic/gin"
"git.madunde.ad/madundead/obi/cmd"
)
func main() {
cmd.fooBar()
router := gin.Default()
router.SetTrustedProxies([]string{"127.0.0.1"}) // TODO: fix All origins allowed by default
router.Use(cors.Default())
list := listFiles("/home/madundead/Syncthing/Obsidian/Personal")
router.GET("/api/v1/files", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"data": list,
"status": "ok",
})
})
router.GET("/api/v1/files/:id", func(c *gin.Context) {
id := c.Params.ByName("id")
path, _ := base64.StdEncoding.DecodeString(id)
data, _ := os.ReadFile(string(path))
c.JSON(http.StatusOK, gin.H{"data": string(data)})
})
if err := router.Run(); err != nil {
panic(err)
}
}
func listFiles(dir string) []string {
root := os.DirFS(dir)
mdFiles, err := fs.Glob(root, "**/*.md")
if err != nil {
log.Fatal(err)
}
var files []string
for _, v := range mdFiles {
files = append(files, path.Join(dir, v))
}
return files
}