This commit is contained in:
Kiss Dávid
2026-03-21 12:34:22 +01:00
parent 465613f6a0
commit 9efbe5baee
42 changed files with 571 additions and 562 deletions
Regular → Executable
View File
Regular → Executable
+6 -2
View File
@@ -32,12 +32,16 @@ server.use([
* The router middleware stack runs middleware on all the HTTP
* requests with a registered route.
*/
router.use([() => import('@adonisjs/core/bodyparser_middleware'), () => import('@adonisjs/auth/initialize_auth_middleware')])
router.use([
() => import('@adonisjs/core/bodyparser_middleware'),
() => import('@adonisjs/auth/initialize_auth_middleware'),
])
/**
* Named middleware collection must be explicitly assigned to
* the routes or the routes group.
*/
export const middleware = router.named({
auth: () => import('#middleware/auth_middleware')
auth: () => import('#middleware/auth_middleware'),
admin: () => import('#middleware/admin_middleware'),
})
Regular → Executable
+115 -18
View File
@@ -14,26 +14,123 @@ import { throttle } from '#start/limiter'
const AuthController = () => import('#controllers/auth_controller')
const RestaurantMenuItemsController = () => import('#controllers/restaurant_menu_items_controller')
const RestaurantMenusController = () => import('#controllers/restaurant_menus_controller')
const CategoriesController = () => import('#controllers/categories_controller')
const UsersController = () => import('#controllers/users_controller')
const ImagesController = () => import('#controllers/images_controller')
//Auth routes
router.post('/register', [AuthController, 'register']).as('auth.register').use(throttle)
router.post('/login', [AuthController, 'login']).as('auth.login').use(throttle)
router.delete('/logout', [AuthController, 'logout']).as('auth.logout').use(middleware.auth())
router.get('/me', [AuthController, 'me']).as('auth.me').use(middleware.auth())
// Auth routes
router.group(() => {
router.post('/register', [AuthController, 'register']).as('auth.register').use(throttle)
router.post('/login', [AuthController, 'login']).as('auth.login').use(throttle)
router.delete('/logout', [AuthController, 'logout']).as('auth.logout').use(middleware.auth())
router.get('/me', [AuthController, 'me']).as('auth.me').use(middleware.auth()).use(throttle)
})
// RestaurantMenuItem routes
router.get('/api/menu-items', [RestaurantMenuItemsController, 'getAll']).as('menu-items.getAll')
router.post('/api/menu-items', [RestaurantMenuItemsController, 'getOne']).as('menu-items.getOne')
router.post('/api/menu-items/create', [RestaurantMenuItemsController, 'create']).as('menu-items.create').use(middleware.auth())
router.put('/api/menu-items', [RestaurantMenuItemsController, 'update']).as('menu-items.update').use(middleware.auth())
router.delete('/api/menu-items', [RestaurantMenuItemsController, 'delete']).as('menu-items.delete').use(middleware.auth()).use(throttle)
router
.group(() => {
router
.group(() => {
router.get('/', [RestaurantMenuItemsController, 'getAll']).as('menu-items.getAll')
router
.post('/', [RestaurantMenuItemsController, 'getOne'])
.as('menu-items.getOne')
.use([middleware.auth(), middleware.admin()])
router
.post('/create', [RestaurantMenuItemsController, 'create'])
.as('menu-items.create')
.use([middleware.auth(), middleware.admin()])
router
.put('/', [RestaurantMenuItemsController, 'update'])
.as('menu-items.update')
.use([middleware.auth(), middleware.admin()])
router
.delete('/', [RestaurantMenuItemsController, 'delete'])
.as('menu-items.delete')
.use([middleware.auth(), middleware.admin(), throttle])
router
.post('/attach', [RestaurantMenuItemsController, 'connectToMenu'])
.as('menu-items.attach')
.use([middleware.auth(), middleware.admin()])
})
.prefix('/menu-items')
// RestaurantMenu routes
router
.group(() => {
router.get('/', [RestaurantMenusController, 'getAll']).as('menus.getAll')
router
.post('/', [RestaurantMenusController, 'getOne'])
.as('menus.getOne')
.use([middleware.auth(), middleware.admin()])
router
.post('/create', [RestaurantMenusController, 'create'])
.as('menus.create')
.use([middleware.auth(), middleware.admin()])
router
.put('/', [RestaurantMenusController, 'update'])
.as('menus.update')
.use([middleware.auth(), middleware.admin()])
router
.delete('/', [RestaurantMenusController, 'delete'])
.as('menus.delete')
.use([middleware.auth(), middleware.admin(), throttle])
})
.prefix('/menus')
// Category routes
router
.group(() => {
router.get('/', [CategoriesController, 'getAll']).as('categories.getAll')
router
.post('/', [CategoriesController, 'getOne'])
.as('categories.getOne')
.use([middleware.auth(), middleware.admin()])
router
.post('/create', [CategoriesController, 'create'])
.as('categories.create')
.use([middleware.auth(), middleware.admin()])
router
.put('/', [CategoriesController, 'update'])
.as('categories.update')
.use([middleware.auth(), middleware.admin()])
router
.delete('/', [CategoriesController, 'delete'])
.as('categories.delete')
.use([middleware.auth(), middleware.admin(), throttle])
})
.prefix('/categories')
// RestaurantMenu routes
router.get('/api/menus', [RestaurantMenusController, 'getAll']).as('menus.getAll')
router.post('/api/menus', [RestaurantMenusController, 'getOne']).as('menus.getOne')
router.post('/api/menus/create', [RestaurantMenusController, 'create']).as('menus.create').use(middleware.auth())
router.put('/api/menus', [RestaurantMenusController, 'update']).as('menus.update').use(middleware.auth())
router.delete('/api/menus', [RestaurantMenusController, 'delete']).as('menus.delete').use(middleware.auth()).use(throttle)
// User routes
router
.group(() => {
router.get('/', [UsersController, 'getAll']).as('users.getAll').use(middleware.auth())
router
.post('/', [UsersController, 'create'])
.as('users.create')
.use([middleware.auth(), middleware.admin()])
router
.post('/get-one', [UsersController, 'getOne'])
.as('users.getOne')
.use([middleware.auth(), middleware.admin()])
router
.put('/', [UsersController, 'update'])
.as('users.update')
.use([middleware.auth(), middleware.admin()])
router
.delete('/', [UsersController, 'delete'])
.as('users.delete')
.use([middleware.auth(), middleware.admin()])
})
.prefix('/users')
// Image routes
router
.group(() => {
router
.post('/upload', [ImagesController, 'upload'])
.as('images.upload')
.use([middleware.auth(), middleware.admin()])
router.get('/:filename', [ImagesController, 'show']).as('images.show')
})
.prefix('/images')
})
.prefix('/api')