Initial commit: UOMysticmoon backend (Express + MariaDB + JWT)
- Layered API (router -> controller -> model -> db), serverlinkr pattern - Public / auth / admin route groups; posts, wiki, settings, users, activity models - JWT httpOnly-cookie auth (Secure auto-detected: LAN HTTP + Pangolin HTTPS) - Site LIVE/MAINTENANCE mode with admin preview bypass - Dual file+console logging (info/warn/error/debug) + HTTP access logs - Docker Compose (app + MariaDB), schema.sql + seed, .env.example - Verified end-to-end against MariaDB (27/27 smoke checks) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
22
server/src/router/v1/auth/auth.routes.js
Normal file
22
server/src/router/v1/auth/auth.routes.js
Normal file
@@ -0,0 +1,22 @@
|
||||
const express = require('express')
|
||||
const { body } = require('express-validator')
|
||||
|
||||
const { login, logout, me } = require('./auth.controller')
|
||||
const { isLoggedIn } = require('../../../utils/auth')
|
||||
const { loginLimiter } = require('../../../middleware/rateLimit')
|
||||
const validate = require('../../../middleware/validate')
|
||||
|
||||
const authRouter = express.Router()
|
||||
|
||||
authRouter.post(
|
||||
'/login',
|
||||
loginLimiter,
|
||||
body('username').isString().trim().notEmpty(),
|
||||
body('password').isString().notEmpty(),
|
||||
validate,
|
||||
login,
|
||||
)
|
||||
authRouter.post('/logout', logout)
|
||||
authRouter.get('/me', isLoggedIn, me)
|
||||
|
||||
module.exports = authRouter
|
||||
Reference in New Issue
Block a user