Rework api

This commit is contained in:
2024-10-15 22:17:34 +02:00
parent 071619cfb3
commit 6cf141bfd9
7 changed files with 443 additions and 110 deletions

View File

@@ -8,21 +8,50 @@ import (
)
func SetupRoutes(r chi.Router, db *db.DB, fs *filesystem.FileSystem) {
r.Route("/", func(r chi.Router) {
r.Route("/settings", func(r chi.Router) {
r.Get("/", GetSettings(db))
r.Post("/", UpdateSettings(db, fs))
})
r.Route("/files", func(r chi.Router) {
r.Get("/", ListFiles(fs))
r.Get("/*", GetFileContent(fs))
r.Post("/*", SaveFile(fs))
r.Delete("/*", DeleteFile(fs))
r.Get("/lookup", LookupFileByName(fs))
})
r.Route("/git", func(r chi.Router) {
r.Post("/commit", StageCommitAndPush(fs))
r.Post("/pull", PullChanges(fs))
r.Route("/api/v1", func(r chi.Router) {
// User routes
r.Route("/users/{userId}", func(r chi.Router) {
r.Get("/", GetUser(db))
// Workspace routes
r.Route("/workspaces", func(r chi.Router) {
r.Get("/", ListWorkspaces(db))
r.Post("/", CreateWorkspace(db))
r.Get("/last", GetLastWorkspace(db))
r.Put("/last", UpdateLastWorkspace(db))
r.Route("/{workspaceId}", func(r chi.Router) {
r.Get("/", GetWorkspace(db))
r.Put("/", UpdateWorkspace(db))
r.Delete("/", DeleteWorkspace(db))
// File routes
r.Route("/files", func(r chi.Router) {
r.Get("/", ListFiles(fs))
r.Get("/last", GetLastOpenedFile(db))
r.Put("/last", UpdateLastOpenedFile(db, fs))
r.Get("/lookup", LookupFileByName(fs)) // Moved here
r.Route("/*", func(r chi.Router) {
r.Post("/", SaveFile(fs))
r.Get("/", GetFileContent(fs))
r.Delete("/", DeleteFile(fs))
})
})
// Settings routes
r.Route("/settings", func(r chi.Router) {
r.Get("/", GetWorkspaceSettings(db))
r.Put("/", UpdateWorkspaceSettings(db, fs))
})
// Git routes
r.Route("/git", func(r chi.Router) {
r.Post("/commit", StageCommitAndPush(fs))
r.Post("/pull", PullChanges(fs))
})
})
})
})
})
}