add app CRUD and public store API endpoints
This commit is contained in:
@@ -32,6 +32,8 @@ func NewRouter(cfg *config.Config, db *database.DB) http.Handler {
|
||||
)
|
||||
authMiddleware := middleware.NewAuthMiddleware(jwtManager, db)
|
||||
authHandler := handlers.NewAuthHandler(oauthManager, jwtManager, db)
|
||||
appHandler := handlers.NewAppHandler(db)
|
||||
storeHandler := handlers.NewStoreHandler(db)
|
||||
|
||||
// Health check
|
||||
r.Get("/health", func(w http.ResponseWriter, r *http.Request) {
|
||||
@@ -63,19 +65,19 @@ func NewRouter(cfg *config.Config, db *database.DB) http.Handler {
|
||||
|
||||
// Developer apps
|
||||
r.Route("/apps", func(r chi.Router) {
|
||||
r.Get("/", handlers.NotImplemented)
|
||||
r.Post("/", handlers.NotImplemented)
|
||||
r.Get("/{appID}", handlers.NotImplemented)
|
||||
r.Patch("/{appID}", handlers.NotImplemented)
|
||||
r.Delete("/{appID}", handlers.NotImplemented)
|
||||
r.Get("/", appHandler.List)
|
||||
r.Post("/", appHandler.Create)
|
||||
r.Get("/{appID}", appHandler.Get)
|
||||
r.Patch("/{appID}", appHandler.Update)
|
||||
r.Delete("/{appID}", appHandler.Delete)
|
||||
|
||||
// Versions
|
||||
r.Route("/{appID}/versions", func(r chi.Router) {
|
||||
r.Get("/", handlers.NotImplemented)
|
||||
r.Post("/", handlers.NotImplemented)
|
||||
r.Get("/{versionID}", handlers.NotImplemented)
|
||||
r.Post("/{versionID}/submit", handlers.NotImplemented)
|
||||
r.Post("/{versionID}/publish", handlers.NotImplemented)
|
||||
r.Get("/", appHandler.ListVersions)
|
||||
r.Post("/", appHandler.CreateVersion)
|
||||
r.Get("/{versionID}", appHandler.GetVersion)
|
||||
r.Post("/{versionID}/submit", appHandler.SubmitVersion)
|
||||
r.Post("/{versionID}/publish", appHandler.PublishVersion)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -96,10 +98,11 @@ func NewRouter(cfg *config.Config, db *database.DB) http.Handler {
|
||||
|
||||
// Public store endpoints
|
||||
r.Route("/store", func(r chi.Router) {
|
||||
r.Get("/apps", handlers.NotImplemented)
|
||||
r.Get("/apps/{appID}", handlers.NotImplemented)
|
||||
r.Get("/apps/{appID}/download", handlers.NotImplemented)
|
||||
r.Get("/apps/updates", handlers.NotImplemented)
|
||||
r.Get("/apps", storeHandler.ListApps)
|
||||
r.Get("/apps/updates", storeHandler.CheckUpdates)
|
||||
r.Get("/apps/{packageID}", storeHandler.GetApp)
|
||||
r.Get("/apps/{packageID}/download", storeHandler.Download)
|
||||
r.Get("/apps/{packageID}/versions/{versionCode}/download", storeHandler.DownloadVersion)
|
||||
})
|
||||
|
||||
// Telemetry (API key auth preferred, but can work without for initial setup)
|
||||
|
||||
Reference in New Issue
Block a user