All files / src/routes create.ts

100% Statements 13/13
100% Branches 0/0
100% Functions 2/2
100% Lines 12/12

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 221x 1x 1x   1x   1x   1x       3x 3x 3x 3x   3x     1x  
import express, { Request, Response } from 'express'
import { body } from 'express-validator'
import { requireAuth, validateRequest } from '@dss-dev-mathis/dss-core-common'
 
import Sheet from '../models/sheet'
 
const router = express.Router()
 
const validateInput = [
  body('title').not().isEmpty().withMessage('Title is required')
]
 
router.post('/api/sheets', requireAuth, validateInput, validateRequest, async (req: Request, res: Response) => {
  const { title, price } = req.body
  const sheet = new Sheet({ title, owner: req.currentUser!.id })
  await sheet.save()
  // TODO: Publish the event
  res.status(201).send({ sheet })
})
 
export default router