This repository has been archived on 2024-02-11. You can view files and clone it, but cannot push or open issues or pull requests.
Files
restful-api-task/routes/router.js
2021-10-15 02:00:40 +03:00

20 lines
949 B
JavaScript

import { Router } from 'express'
import { addNote } from './methods/post.js'
import { getAllNotes, getSingleNote, getStats, setForbidden } from './methods/get.js'
import { editNote } from './methods/patch.js'
import { deleteNote } from './methods/delete.js'
import { id as validate } from '../services/ValidationService.js'
import { idOnlySchema, newNoteSchema, updateNoteSchema } from '../repositories/schema.js'
const router = new Router()
router.get('/notes(\/|)$/', getAllNotes)
router.get('/notes\/stats(\/|)$/', getStats)
router.get('/notes/:id([0-9]{1,4})$/', validate( idOnlySchema ), getSingleNote) // e.g. also notes with `0x1a` => id = 26 will be affected
router.get('*', setForbidden)
router.post('/notes(\/|)$/', validate( newNoteSchema ), addNote)
router.patch('/notes/:id([0-9]{1,4})$/', validate( updateNoteSchema ), editNote)
router.delete('/notes/:id([0-9]{1,4})$/', validate( idOnlySchema ), deleteNote)
export default router