diff --git a/src/routes/items.ts b/src/routes/items.ts index c0dc6a6e8c..6db50cb507 100644 --- a/src/routes/items.ts +++ b/src/routes/items.ts @@ -1,10 +1,16 @@ import express, { RequestHandler } from 'express'; import asyncHandler from 'express-async-handler'; +import * as itemsService from '../services/items'; const readItems: RequestHandler = asyncHandler((req, res) => { res.send('Hi there'); }); -const router = express.Router().get('/:collection', readItems); +const createItem: RequestHandler = asyncHandler(async (req, res) => { + await itemsService.create(req.params.collection, req.body); + res.status(200).end(); +}); + +const router = express.Router().get('/:collection', readItems).post('/:collection', createItem); export default router; diff --git a/src/services/items.ts b/src/services/items.ts new file mode 100644 index 0000000000..c8310461b6 --- /dev/null +++ b/src/services/items.ts @@ -0,0 +1,6 @@ +import database from '../database'; +import { Query } from '../types/query'; + +export const create = async (collection: string, data: Record, query: Query = {}) => { + await database(collection).insert(data); +}; diff --git a/src/types/query.ts b/src/types/query.ts new file mode 100644 index 0000000000..661b8ed7f3 --- /dev/null +++ b/src/types/query.ts @@ -0,0 +1 @@ +export type Query = {};