diff --git a/README.md b/README.md index 997b393..163910b 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,14 @@ Donetick is an open-source, user-friendly app designed to help you organize task ![Screenshot](assets/screenshot.png) +![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/donetick/donetick/go-release.yml) +![GitHub release (latest by date)](https://img.shields.io/github/v/release/donetick/donetick) +![Docker Pulls](https://img.shields.io/docker/pulls/donetick/donetick) + + +[![Discord](https://img.shields.io/discord/1272383484509421639)](https://discord.gg/6hSH6F33q7) +[![Reddit](https://img.shields.io/reddit/subreddit-subscribers/donetick)](https://www.reddit.com/r/donetick) + --- ## ✨ Features @@ -140,9 +148,17 @@ This project is licensed under the **AGPLv3**. See the [LICENSE](LICENSE) file f --- +## 💬 Join the Discussion +For ideas or feature requests, please use GitHub Discussions. We also have a Discord server and a subreddit for those who prefer those platforms! + +Discord +Reddit +GitHub Discussions + +--- + ## 💡 Support Donetick If you find it helpful, consider supporting us by starring the repository, contributing code, or sharing feedback! ---- - +--- \ No newline at end of file diff --git a/internal/chore/api.go b/internal/chore/api.go index 7c1aa27..70b269c 100644 --- a/internal/chore/api.go +++ b/internal/chore/api.go @@ -46,7 +46,7 @@ func (h *API) GetAllChores(c *gin.Context) { func APIs(cfg *config.Config, api *API, r *gin.Engine, auth *jwt.GinJWTMiddleware, limiter *limiter.Limiter) { - thingsAPI := r.Group("api/v1/chore") + thingsAPI := r.Group("eapi/v1/chore") thingsAPI.Use(utils.TimeoutMiddleware(cfg.Server.WriteTimeout), utils.RateLimitMiddleware(limiter)) { diff --git a/internal/chore/handler.go b/internal/chore/handler.go index 84ee124..fe69fa4 100644 --- a/internal/chore/handler.go +++ b/internal/chore/handler.go @@ -1417,7 +1417,7 @@ func indexOf(arr []chModel.ChoreAssignees, value int) int { func Routes(router *gin.Engine, h *Handler, auth *jwt.GinJWTMiddleware) { - choresRoutes := router.Group("chores") + choresRoutes := router.Group("api/v1/chores") choresRoutes.Use(auth.MiddlewareFunc()) { choresRoutes.GET("/", h.getChores) diff --git a/internal/circle/handler.go b/internal/circle/handler.go index c597ac1..03fb9cb 100644 --- a/internal/circle/handler.go +++ b/internal/circle/handler.go @@ -427,7 +427,7 @@ func (h *Handler) AcceptJoinRequest(c *gin.Context) { func Routes(router *gin.Engine, h *Handler, auth *jwt.GinJWTMiddleware) { log.Println("Registering routes") - circleRoutes := router.Group("circles") + circleRoutes := router.Group("api/v1/circles") circleRoutes.Use(auth.MiddlewareFunc()) { circleRoutes.GET("/members", h.GetCircleMembers) diff --git a/internal/label/handler.go b/internal/label/handler.go index 655352a..06011c1 100644 --- a/internal/label/handler.go +++ b/internal/label/handler.go @@ -164,7 +164,7 @@ func (h *Handler) deleteLabel(c *gin.Context) { func Routes(r *gin.Engine, h *Handler, auth *jwt.GinJWTMiddleware) { - labelRoutes := r.Group("labels") + labelRoutes := r.Group("api/v1/labels") labelRoutes.Use(auth.MiddlewareFunc()) { labelRoutes.GET("", h.getLabels) diff --git a/internal/thing/handler.go b/internal/thing/handler.go index 7121c82..9a0b9e8 100644 --- a/internal/thing/handler.go +++ b/internal/thing/handler.go @@ -279,7 +279,7 @@ func (h *Handler) DeleteThing(c *gin.Context) { } func Routes(r *gin.Engine, h *Handler, auth *jwt.GinJWTMiddleware) { - thingRoutes := r.Group("things") + thingRoutes := r.Group("api/v1/things") thingRoutes.Use(auth.MiddlewareFunc()) { thingRoutes.POST("", h.CreateThing) diff --git a/internal/thing/webhook.go b/internal/thing/webhook.go index 0d110ab..03498cb 100644 --- a/internal/thing/webhook.go +++ b/internal/thing/webhook.go @@ -164,7 +164,7 @@ func validateUserAndThing(c *gin.Context, h *Webhook) (*tModel.Thing, bool) { func Webhooks(cfg *config.Config, w *Webhook, r *gin.Engine, auth *jwt.GinJWTMiddleware) { - thingsAPI := r.Group("webhooks/things") + thingsAPI := r.Group("eapi/v1/things") thingsAPI.Use(utils.TimeoutMiddleware(cfg.Server.WriteTimeout)) { diff --git a/internal/user/handler.go b/internal/user/handler.go index 9d861f9..0650bab 100644 --- a/internal/user/handler.go +++ b/internal/user/handler.go @@ -586,7 +586,7 @@ func (h *Handler) updateUserPasswordLoggedInOnly(c *gin.Context) { func Routes(router *gin.Engine, h *Handler, auth *jwt.GinJWTMiddleware, limiter *limiter.Limiter) { - userRoutes := router.Group("users") + userRoutes := router.Group("api/v1/users") userRoutes.Use(auth.MiddlewareFunc(), utils.RateLimitMiddleware(limiter)) { userRoutes.GET("/", h.GetAllUsers()) @@ -600,7 +600,7 @@ func Routes(router *gin.Engine, h *Handler, auth *jwt.GinJWTMiddleware, limiter } - authRoutes := router.Group("auth") + authRoutes := router.Group("api/v1/auth") authRoutes.Use(utils.RateLimitMiddleware(limiter)) { authRoutes.POST("/:provider/callback", h.thirdPartyAuthCallback)