Created
January 19, 2019 11:10
-
-
Save PavelPolyakov/5d719704bbed0ba8b4fe6b9aa3fd7f39 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import * as fp from "fastify-plugin"; | |
export default fp(async (server, opts, next) => { | |
server.get("/vehicles/:id", {}, async (request, reply) => { | |
try { | |
const _id = request.params.id; | |
const vehicle = await server.db.models.Vehicle.findOne({ | |
_id | |
}); | |
if (!vehicle) { | |
return reply.send(404); | |
} | |
return reply.code(200).send(vehicle); | |
} catch (error) { | |
request.log.error(error); | |
return reply.send(400); | |
} | |
}); | |
server.post("/vehicles", {}, async (request, reply) => { | |
try { | |
const { Vehicle } = server.db.models; | |
const vehicle = await Vehicle.create(request.body); | |
return reply.code(201).send(vehicle); | |
} catch (error) { | |
request.log.error(error); | |
return reply.send(500); | |
} | |
}); | |
next(); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
refers to https://medium.com/car2godevs/fastify-with-typescript-production-ready-integration-2303318ecd9e