Skip to content

Commit 7d46a06

Browse files
authored
Fix eslint errors (#3)
1 parent 0026806 commit 7d46a06

File tree

7 files changed

+135
-126
lines changed

7 files changed

+135
-126
lines changed

.eslintrc.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ module.exports = {
1515
"ecmaVersion": 2018
1616
},
1717
"rules": {
18-
"no-console": 1
18+
"no-console": 1,
19+
"consistent-return": 0,
20+
"func-names": 0,
21+
"global-require": 0
1922
}
2023
};

index.js

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,15 @@
1-
'use strict';
2-
3-
const express = require('express');
4-
const app = express();
51
const port = 8010;
62

7-
const bodyParser = require('body-parser');
8-
const jsonParser = bodyParser.json();
9-
103
const sqlite3 = require('sqlite3').verbose();
4+
115
const db = new sqlite3.Database(':memory:');
126

137
const buildSchemas = require('./src/schemas');
148

159
db.serialize(() => {
16-
buildSchemas(db);
10+
buildSchemas(db);
1711

18-
const app = require('./src/app')(db);
12+
const app = require('./src/app')(db);
1913

20-
app.listen(port, () => console.log(`App started and listening on port ${port}`));
21-
});
14+
app.listen(port, () => console.log(`App started and listening on port ${port}`));
15+
});

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@
77
"test": "tests"
88
},
99
"scripts": {
10-
"test": "nyc mocha tests",
11-
"start": "node index.js"
10+
"test": "npm run lint && nyc mocha tests",
11+
"start": "node index.js",
12+
"lint": "eslint --fix src/"
1213
},
1314
"keywords": [
1415
"Xendit"

src/app.js

Lines changed: 107 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
'use strict';
2-
31
const express = require('express');
2+
43
const app = express();
54

65
const bodyParser = require('body-parser');
6+
77
const jsonParser = bodyParser.json();
88

99
const swaggerUI = require('swagger-ui-express');
@@ -12,104 +12,117 @@ const swaggerFile = require('./resources/api-v1-swagger.json');
1212
const { errorHandler } = require('./lib/errorHandler');
1313

1414
module.exports = (db) => {
15-
app.get('/health', (req, res) => res.send('Healthy'));
16-
17-
app.use('/api-documentation/v1', swaggerUI.serve, swaggerUI.setup(swaggerFile));
18-
19-
app.post('/rides', jsonParser, (req, res, next) => {
20-
const startLatitude = Number(req.body.start_lat);
21-
const startLongitude = Number(req.body.start_long);
22-
const endLatitude = Number(req.body.end_lat);
23-
const endLongitude = Number(req.body.end_long);
24-
const riderName = req.body.rider_name;
25-
const driverName = req.body.driver_name;
26-
const driverVehicle = req.body.driver_vehicle;
27-
28-
if (startLatitude < -90 || startLatitude > 90 || startLongitude < -180 || startLongitude > 180) {
29-
return res.send({
30-
error_code: 'VALIDATION_ERROR',
31-
message: 'Start latitude and longitude must be between -90 - 90 and -180 to 180 degrees respectively'
32-
});
33-
}
34-
35-
if (endLatitude < -90 || endLatitude > 90 || endLongitude < -180 || endLongitude > 180) {
36-
return res.send({
37-
error_code: 'VALIDATION_ERROR',
38-
message: 'End latitude and longitude must be between -90 - 90 and -180 to 180 degrees respectively'
39-
});
40-
}
41-
42-
if (typeof riderName !== 'string' || riderName.length < 1) {
43-
return res.send({
44-
error_code: 'VALIDATION_ERROR',
45-
message: 'Rider name must be a non empty string'
46-
});
47-
}
48-
49-
if (typeof driverName !== 'string' || driverName.length < 1) {
50-
return res.send({
51-
error_code: 'VALIDATION_ERROR',
52-
message: 'Rider name must be a non empty string'
53-
});
54-
}
55-
56-
if (typeof driverVehicle !== 'string' || driverVehicle.length < 1) {
57-
return res.send({
58-
error_code: 'VALIDATION_ERROR',
59-
message: 'Rider name must be a non empty string'
60-
});
15+
app.get('/health', (req, res) => res.send('Healthy'));
16+
17+
app.use('/api-documentation/v1', swaggerUI.serve, swaggerUI.setup(swaggerFile));
18+
19+
app.post('/rides', jsonParser, (req, res, next) => {
20+
const startLatitude = Number(req.body.start_lat);
21+
const startLongitude = Number(req.body.start_long);
22+
const endLatitude = Number(req.body.end_lat);
23+
const endLongitude = Number(req.body.end_long);
24+
const riderName = req.body.rider_name;
25+
const driverName = req.body.driver_name;
26+
const driverVehicle = req.body.driver_vehicle;
27+
28+
if (
29+
startLatitude < -90
30+
|| startLatitude > 90
31+
|| startLongitude < -180
32+
|| startLongitude > 180
33+
) {
34+
return res.send({
35+
error_code: 'VALIDATION_ERROR',
36+
message: 'Start latitude and longitude must be between -90 - 90 and -180 to 180 degrees respectively',
37+
});
38+
}
39+
40+
if (endLatitude < -90 || endLatitude > 90 || endLongitude < -180 || endLongitude > 180) {
41+
return res.send({
42+
error_code: 'VALIDATION_ERROR',
43+
message: 'End latitude and longitude must be between -90 - 90 and -180 to 180 degrees respectively',
44+
});
45+
}
46+
47+
if (typeof riderName !== 'string' || riderName.length < 1) {
48+
return res.send({
49+
error_code: 'VALIDATION_ERROR',
50+
message: 'Rider name must be a non empty string',
51+
});
52+
}
53+
54+
if (typeof driverName !== 'string' || driverName.length < 1) {
55+
return res.send({
56+
error_code: 'VALIDATION_ERROR',
57+
message: 'Rider name must be a non empty string',
58+
});
59+
}
60+
61+
if (typeof driverVehicle !== 'string' || driverVehicle.length < 1) {
62+
return res.send({
63+
error_code: 'VALIDATION_ERROR',
64+
message: 'Rider name must be a non empty string',
65+
});
66+
}
67+
68+
const values = [
69+
req.body.start_lat,
70+
req.body.start_long,
71+
req.body.end_lat,
72+
req.body.end_long,
73+
req.body.rider_name,
74+
req.body.driver_name,
75+
req.body.driver_vehicle,
76+
];
77+
78+
db.run('INSERT INTO Rides(startLat, startLong, endLat, endLong, riderName, driverName, driverVehicle) VALUES (?, ?, ?, ?, ?, ?, ?)', values, function (insertErr) {
79+
if (insertErr) {
80+
return next(insertErr);
81+
}
82+
db.all('SELECT * FROM Rides WHERE rideID = ?', this.lastID, (selectErr, rows) => {
83+
if (selectErr) {
84+
return next(selectErr);
6185
}
62-
63-
var values = [req.body.start_lat, req.body.start_long, req.body.end_lat, req.body.end_long, req.body.rider_name, req.body.driver_name, req.body.driver_vehicle];
64-
65-
const result = db.run('INSERT INTO Rides(startLat, startLong, endLat, endLong, riderName, driverName, driverVehicle) VALUES (?, ?, ?, ?, ?, ?, ?)', values, function (err) {
66-
if (err) {
67-
return next(err);
68-
}
69-
db.all('SELECT * FROM Rides WHERE rideID = ?', this.lastID, function (err, rows) {
70-
if (err) {
71-
return next(err);
72-
}
73-
res.send(rows);
74-
});
75-
});
86+
res.send(rows);
87+
});
7688
});
77-
78-
app.get('/rides', (req, res, next) => {
79-
db.all('SELECT * FROM Rides', function (err, rows) {
80-
if (err) {
81-
return next(err);
82-
}
83-
84-
if (rows.length === 0) {
85-
return res.send({
86-
error_code: 'RIDES_NOT_FOUND_ERROR',
87-
message: 'Could not find any rides'
88-
});
89-
}
90-
91-
res.send(rows);
89+
});
90+
91+
app.get('/rides', (req, res, next) => {
92+
db.all('SELECT * FROM Rides', (err, rows) => {
93+
if (err) {
94+
return next(err);
95+
}
96+
97+
if (rows.length === 0) {
98+
return res.send({
99+
error_code: 'RIDES_NOT_FOUND_ERROR',
100+
message: 'Could not find any rides',
92101
});
93-
});
94-
95-
app.get('/rides/:id', (req, res, next) => {
96-
db.all(`SELECT * FROM Rides WHERE rideID='${req.params.id}'`, function (err, rows) {
97-
if (err) {
98-
return next(err);
99-
}
100-
101-
if (rows.length === 0) {
102-
return res.send({
103-
error_code: 'RIDES_NOT_FOUND_ERROR',
104-
message: 'Could not find any rides'
105-
});
106-
}
102+
}
107103

108-
res.send(rows);
104+
res.send(rows);
105+
});
106+
});
107+
108+
app.get('/rides/:id', (req, res, next) => {
109+
db.all(`SELECT * FROM Rides WHERE rideID='${req.params.id}'`, (err, rows) => {
110+
if (err) {
111+
return next(err);
112+
}
113+
114+
if (rows.length === 0) {
115+
return res.send({
116+
error_code: 'RIDES_NOT_FOUND_ERROR',
117+
message: 'Could not find any rides',
109118
});
119+
}
120+
121+
res.send(rows);
110122
});
123+
});
111124

112-
app.use(errorHandler);
125+
app.use(errorHandler);
113126

114-
return app;
127+
return app;
115128
};

src/lib/errorHandler.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
const logger = require('./logger');
22

3-
const errorHandler = (error, request, response, next) => {
3+
const errorHandler = (error, request, response) => {
44
logger.error(`Encountered error. ${error}`);
55

66
return response.status(500).send({

src/lib/logger.js

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,24 @@ const LOGGING_LEVEL = 'error';
99
const logger = createLogger({
1010
level: LOGGING_LEVEL,
1111
format: format.combine(
12-
format.label({
13-
label: path.basename(process.mainModule.filename),
14-
}),
15-
format.timestamp({
16-
format: 'YYYY-MM-DD hh:mm:ss',
17-
}),
12+
format.label({
13+
label: path.basename(process.mainModule.filename),
14+
}),
15+
format.timestamp({
16+
format: 'YYYY-MM-DD hh:mm:ss',
17+
}),
1818
),
1919
transports: [
2020
new transports.File({
2121
filename: 'rider-api.log',
2222
handleExceptions: true,
2323
format: format.combine(
24-
format.colorize(),
25-
format.printf(
26-
(info) => `${info.timestamp} ${LOGGING_LEVEL} [${info.label}]: ${info.message}`,
27-
),
24+
format.colorize(),
25+
format.printf(
26+
(info) => `${info.timestamp} ${LOGGING_LEVEL} [${info.label}]: ${info.message}`,
27+
),
2828
),
29-
})
29+
}),
3030
],
3131
});
3232

src/schemas.js

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
'use strict';
2-
31
module.exports = (db) => {
4-
const createRideTableSchema = `
2+
const createRideTableSchema = `
53
CREATE TABLE Rides
64
(
75
rideID INTEGER PRIMARY KEY AUTOINCREMENT,
8-
startLat DECIMAL NOT NULL,
6+
startLat DECIMAL NOT NULL,
97
startLong DECIMAL NOT NULL,
108
endLat DECIMAL NOT NULL,
119
endLong DECIMAL NOT NULL,
@@ -16,7 +14,7 @@ module.exports = (db) => {
1614
)
1715
`;
1816

19-
db.run(createRideTableSchema);
17+
db.run(createRideTableSchema);
2018

21-
return db;
19+
return db;
2220
};

0 commit comments

Comments
 (0)