diff --git a/models/contact.js b/models/contact.js index 52c93b5..1b58c0d 100644 --- a/models/contact.js +++ b/models/contact.js @@ -4,7 +4,7 @@ const mongooseHandler = require('../lib/mongoose_handler.js') const contactSchema = { user_id: { type: Number, - required: [true, 'id is required'], + required: [true, 'user_id is required'], trim: true, unique: true }, diff --git a/package.json b/package.json index 01e8566..53a895b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fastify-fullstack-skeleton", - "version": "3.0.9", + "version": "3.0.10", "description": "Just simple Fastify fullstack skeleton", "main": "server.js", "scripts": { diff --git a/routes/db.js b/routes/db.js index 0c8d990..aa54310 100644 --- a/routes/db.js +++ b/routes/db.js @@ -97,19 +97,7 @@ async function dbRoute (server, options) { }) server.get('/db/search-contact', { schema: schema.searchContact }, async (request, reply) => { - if (!request.query.q) { - return reply.code(200).send({ - message: 'Required query parameter "q" with more than 2 chars!', - statusCode: 200 - }) - } const search = decodeURIComponent(request.query.q).trim() - if (!search || search.length < 3) { - return reply.code(200).send({ - message: 'Query search must more than 2 chars!', - statusCode: 200 - }) - } mongooseHandler.connect().then(done => { // Query find like for name and address only Contact.find({ diff --git a/server.js b/server.js index 631a8f9..6848ca7 100644 --- a/server.js +++ b/server.js @@ -31,12 +31,17 @@ const App = async () => { server.register(require('./routes/api.js')) server.register(require('./routes/db.js')) server.register(require('./routes/page.js')) + // Plugins + + // Cors server.register(require('fastify-cors'), { origin: '*', methods: 'GET, HEAD, PUT, PATCH, POST, DELETE, OPTIONS', allowedHeaders: 'Content-Type, Authorization, X-Requested-With, Etag, X-Auth-Key' }) + + // Template Engine server.register(require('point-of-view'), { engine: { eta: require('eta') @@ -50,6 +55,7 @@ const App = async () => { } }) + // Set everything inside public directory is static file server.register(require('fastify-static'), { root: path.join(__dirname, 'public'), @@ -58,6 +64,7 @@ const App = async () => { immutable: true, decorateReply: false }) + // Set maxage cache longer for all files inside assets directory server.register(require('fastify-static'), { root: path.join(__dirname, 'public', 'assets'), @@ -66,6 +73,8 @@ const App = async () => { immutable: true, decorateReply: false }) + + // Mailer server.register(nodeMailer, config.nodeMailerTransport) // Custom Not Found Handler