first commit

This commit is contained in:
2025-11-23 20:04:00 +03:00
commit 4c8c468acd
31 changed files with 1380 additions and 0 deletions

34
src/routes/auth.routes.js Normal file
View File

@@ -0,0 +1,34 @@
import { Router } from 'express';
import { body } from 'express-validator';
import { register, login, logout, me, refresh } from '../controllers/auth.controller.js';
import { authRequired } from '../middleware/authRequired.js';
import { loginRateLimiter } from '../middleware/rateLimit.js';
const router = Router();
router.post(
'/register',
[
body('email').isEmail().withMessage('Geçerli bir email girin'),
body('name').notEmpty().withMessage('İsim zorunlu'),
body('username').isLength({ min: 3 }).withMessage('Kullanıcı adı en az 3 karakter olmalı'),
body('password').isLength({ min: 8 }).withMessage('Parola en az 8 karakter olmalı')
],
register
);
router.post(
'/login',
loginRateLimiter,
[
body('emailOrUsername').notEmpty().withMessage('Email veya kullanıcı adı gerekli'),
body('password').isLength({ min: 8 }).withMessage('Parola en az 8 karakter olmalı')
],
login
);
router.post('/logout', authRequired, logout);
router.get('/me', authRequired, me);
router.post('/refresh', authRequired, refresh);
export default router;

View File

@@ -0,0 +1,9 @@
import { Router } from 'express';
const router = Router();
router.get('/health', (req, res) => {
res.json({ ok: true, time: new Date().toISOString() });
});
export default router;

10
src/routes/meta.routes.js Normal file
View File

@@ -0,0 +1,10 @@
import { Router } from 'express';
import { authRequired } from '../middleware/authRequired.js';
import { userRequired } from '../middleware/userRequired.js';
import { handleMeta, validateMetaRequest } from '../controllers/meta.controller.js';
const router = Router();
router.post('/meta/scrape', authRequired, userRequired, validateMetaRequest, handleMeta);
export default router;