Reorganized routes definitions

This commit is contained in:
cdricms
2025-01-29 18:26:13 +01:00
parent 8110172a38
commit 2d5747ec08
9 changed files with 234 additions and 154 deletions

View File

@@ -0,0 +1,15 @@
package api
import (
"fr.latosa-escrima/api/blogs"
"fr.latosa-escrima/core"
)
var BlogsRoutes = map[string]core.Handler{
"/blogs/new": {
Handler: blogs.HandleNew,
Middlewares: []core.Middleware{Methods(("POST")), AuthJWT}},
"/blogs/{uuid}": {
Handler: blogs.HandleBlog,
Middlewares: []core.Middleware{Methods("GET")}},
}

View File

@@ -0,0 +1,24 @@
package api
import (
"fr.latosa-escrima/api/events"
"fr.latosa-escrima/core"
)
var EventsRoutes = map[string]core.Handler{
"/events": {
Handler: events.HandleEvents,
Middlewares: []core.Middleware{Methods("GET")}},
"/events/new": {
Handler: events.HandleNew,
Middlewares: []core.Middleware{Methods("POST"), AuthJWT}},
"/events/{event_uuid}": {
Handler: events.HandleEvent,
Middlewares: []core.Middleware{Methods("GET")}},
"/events/{event_uuid}/delete": {
Handler: events.HandleDelete,
Middlewares: []core.Middleware{Methods("DELETE"), AuthJWT}},
"/events/{event_uuid}/update": {
Handler: events.HandleUpdate,
Middlewares: []core.Middleware{Methods("PATCH"), AuthJWT}},
}

View File

@@ -0,0 +1,39 @@
package api
import (
"fr.latosa-escrima/api/media"
"fr.latosa-escrima/core"
)
var MediaRoutes = map[string]core.Handler{
"/media/upload": {
Handler: media.HandleUpload,
Middlewares: []core.Middleware{Methods("POST"), AuthJWT}},
"/media/verify": {
Handler: media.HandleVerify,
Middlewares: []core.Middleware{Methods("POST"), AuthJWT},
},
// Paginated media response
"/media/": {
Handler: media.HandleMedia,
Middlewares: []core.Middleware{Methods("GET")},
},
// Unique element
"/media/{media_uuid}": {
Handler: media.HandleMediaDetails,
Middlewares: []core.Middleware{Methods("GET")},
},
// Get the image, video, GIF etc.
"/media/{media_uuid}/file": {
Handler: media.HandleMediaFile,
Middlewares: []core.Middleware{Methods("GET")},
},
// "/media/{media_uuid}/update": {
// Handler: HandleGetMediaFile,
// Middlewares: []core.Middleware{Methods("PATCH"), AuthJWT},
// },
"/media/{media_uuid}/delete": {
Handler: media.HandleDelete,
Middlewares: []core.Middleware{Methods("DELETE"), AuthJWT},
},
}

View File

@@ -0,0 +1,21 @@
package api
import (
"fr.latosa-escrima/api/permissions"
"fr.latosa-escrima/core"
)
var PermissionsRoutes = map[string]core.Handler{
"/permissions": {
Handler: permissions.HandlePermissions,
Middlewares: []core.Middleware{Methods("GET"), AuthJWT},
},
"/permissions/{permission_id}": {
Handler: permissions.HandlePermission,
Middlewares: []core.Middleware{Methods("GET"), AuthJWT},
},
"/permissions/resources/{resource}": {
Handler: permissions.HandlePermissionsResource,
Middlewares: []core.Middleware{Methods("GET"), AuthJWT},
},
}

View File

@@ -0,0 +1,41 @@
package api
import (
"fr.latosa-escrima/api/roles"
"fr.latosa-escrima/core"
)
var RolesRoutes = map[string]core.Handler{
"/roles/": {
Handler: roles.HandleRoles,
Middlewares: []core.Middleware{Methods("GET"), AuthJWT},
},
"/roles/new": {
Handler: roles.HandleNew,
Middlewares: []core.Middleware{Methods("POST"), AuthJWT},
},
"/roles/{role_uuid}": {
Handler: roles.HandleRole,
Middlewares: []core.Middleware{Methods("GET"), AuthJWT},
},
"/roles/{role_uuid}/update": {
Handler: roles.HandleUpdate,
Middlewares: []core.Middleware{Methods("PATCH"), AuthJWT},
},
"/roles/{role_uuid}/delete": {
Handler: roles.HandleDelete,
Middlewares: []core.Middleware{Methods("DELETE"), AuthJWT},
},
"/roles/{role_uuid}/permissions/": {
Handler: roles.HandleRolePermissions,
Middlewares: []core.Middleware{Methods("GET"), AuthJWT},
},
"/roles/{role_uuid}/permissions/{permission_id}/add": {
Handler: roles.HandleAddPermission,
Middlewares: []core.Middleware{Methods("PATCH"), AuthJWT},
},
"/roles/{role_uuid}/permissions/{permission_id}/remove": {
Handler: roles.HandleRemovePermission,
Middlewares: []core.Middleware{Methods("PATCH"), AuthJWT},
},
}

View File

@@ -0,0 +1,29 @@
package api
import (
"fr.latosa-escrima/api/shortcodes"
"fr.latosa-escrima/core"
)
var ShortcodesRoutes = map[string]core.Handler{
"/shortcodes/new": {
Handler: shortcodes.HandleNew,
Middlewares: []core.Middleware{Methods("POST"), AuthJWT},
},
"/shortcodes/": {
Handler: shortcodes.HandleShortcodes,
Middlewares: []core.Middleware{Methods("GET"), AuthJWT},
},
"/shortcodes/{shortcode}": {
Handler: shortcodes.HandleShortcode,
Middlewares: []core.Middleware{Methods("GET")},
},
"/shortcodes/{shortcode}/delete": {
Handler: shortcodes.HandleDelete,
Middlewares: []core.Middleware{Methods("DELETE"), AuthJWT},
},
"/shortcodes/{shortcode}/update": {
Handler: shortcodes.HandleUpdate,
Middlewares: []core.Middleware{Methods("PATCH"), AuthJWT},
},
}

View File

@@ -0,0 +1,39 @@
package api
import (
"fr.latosa-escrima/api/users"
"fr.latosa-escrima/core"
)
var UserRoutes = map[string]core.Handler{
"/users/login": {
Handler: users.HandleLogin,
Middlewares: []core.Middleware{Methods("POST")}},
"/users/me": {
Handler: users.HandleMe,
Middlewares: []core.Middleware{Methods("GET"), AuthJWT}},
"/users": {
Handler: users.HandleUsers,
Middlewares: []core.Middleware{Methods("GET"), AuthJWT}},
"/users/new": {
Handler: users.HandleNew,
Middlewares: []core.Middleware{Methods("POST"), AuthJWT}},
"/users/{user_uuid}": {
Handler: users.HandleUser,
Middlewares: []core.Middleware{Methods("GET"), AuthJWT}},
"/users/{user_uuid}/delete": {
Handler: users.HandleDelete,
Middlewares: []core.Middleware{Methods("DELETE"), AuthJWT}},
"/users/{user_uuid}/update": {
Handler: users.HandleUpdate,
Middlewares: []core.Middleware{Methods("PATCH"), AuthJWT}},
"/users/{user_uuid}/roles": {
Handler: users.HandleRoles,
Middlewares: []core.Middleware{Methods("GET"), AuthJWT}},
"/users/{user_uuid}/roles/{role_id}/add": {
Handler: users.HandleAddRole,
Middlewares: []core.Middleware{Methods("PATCH"), AuthJWT}},
"/users/{user_uuid}/roles/{role_id}/remove": {
Handler: users.HandleRemoveRole,
Middlewares: []core.Middleware{Methods("PATCH"), AuthJWT}},
}