Skip to content

Commit 0ac7ec2

Browse files
Merge pull request #208 from learnsoftwaredevelopment/add-search-api-endpoint
Added `/api/search/software` API endpoint to allow for searching of software in database
2 parents 6788910 + 6a9a120 commit 0ac7ec2

File tree

5 files changed

+32
-18
lines changed

5 files changed

+32
-18
lines changed

app.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,13 @@ const morgan = require('morgan');
44
const cors = require('cors');
55
const mongoose = require('mongoose');
66
const config = require('./utils/config');
7-
8-
const rootRouter = require('./routes/root');
9-
const usersRouter = require('./routes/api/users');
10-
117
const middleware = require('./utils/middleware');
128
const logger = require('./utils/logger');
9+
const rootRouter = require('./routes/root');
10+
const usersRouter = require('./routes/api/users');
1311
const authRouter = require('./routes/api/auth');
1412
const softwareRouter = require('./routes/api/software');
13+
const searchRouter = require('./routes/api/search');
1514

1615
const app = express();
1716

@@ -61,6 +60,7 @@ app.use(rootRouter);
6160
app.use('/api/users', usersRouter);
6261
app.use('/api/auth', authRouter);
6362
app.use('/api/software', softwareRouter);
63+
app.use('/api/search', searchRouter);
6464

6565
app.use(middleware.unknownEndPoint);
6666
app.use(middleware.errorHandler);
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
const Software = require('../../models/software');
2+
3+
const searchSoftware = async (req, res) => {
4+
const { name } = req.query;
5+
const response = await Software.find({
6+
name: {
7+
$regex: name,
8+
$options: 'i',
9+
},
10+
});
11+
return res.status(200).json(response);
12+
};
13+
14+
module.exports = {
15+
searchSoftware,
16+
};

package-lock.json

Lines changed: 5 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
GET http://localhost:3001/api/search/software?name=sample

routes/api/search.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
const searchRouter = require('express').Router();
2+
const searchController = require('../../controllers/api/searchController');
3+
4+
searchRouter.get('/software', searchController.searchSoftware);
5+
6+
module.exports = searchRouter;

0 commit comments

Comments
 (0)