46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
/*
|
|
|--------------------------------------------------------------------------
|
|
| Routes file
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| The routes file is used for defining the HTTP routes.
|
|
|
|
|
*/
|
|
|
|
import router from '@adonisjs/core/services/router'
|
|
import transmit from '@adonisjs/transmit/services/main'
|
|
import { authThrottle } from './limiters.js'
|
|
import { throttle } from './limiter.js'
|
|
import app from '@adonisjs/core/services/app'
|
|
import { middleware } from './kernel.js'
|
|
|
|
transmit.registerRoutes()
|
|
|
|
const AuthController = () => import('#controllers/auth_controller')
|
|
|
|
router.group(() => {
|
|
router.post('/auth/request', [AuthController, 'requestLogin']).use(authThrottle)
|
|
router.post('/auth/verify', [AuthController, 'verifyCode']).use(throttle)
|
|
// router.get('/auth/magic-link', 'AuthController.magicLink').use(throttle)
|
|
// router.get('/auth/listen', 'AuthController.listen')
|
|
})
|
|
|
|
const UserController = () => import('#controllers/user_controller')
|
|
|
|
if (app.inDev) {
|
|
router.post('users', [UserController, 'create'])
|
|
}
|
|
router.get('/users/@me', [UserController, 'me']).use(middleware.auth())
|
|
|
|
|
|
|
|
// TEST ROUTE
|
|
import redis from '@adonisjs/redis/services/main'
|
|
|
|
router.get('/', async () => {
|
|
await redis.publish("jobs_queue", JSON.stringify({
|
|
type: 2
|
|
}))
|
|
return { message: 'Hello, world!' }
|
|
})
|
|
// END TEST ROUTE
|