Skip to content

Commit ef8f74d

Browse files
authored
Merge pull request #2445 from bluewave-labs/fix/checks-team-id
fix: checks team
2 parents 062df39 + c32cde6 commit ef8f74d

File tree

7 files changed

+59
-37
lines changed

7 files changed

+59
-37
lines changed

client/src/Pages/Incidents/Components/IncidentTable/index.jsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ const IncidentTable = ({
2424
}) => {
2525
//Redux state
2626
const uiTimezone = useSelector((state) => state.ui.timezone);
27-
const { user } = useSelector((state) => state.auth);
2827

2928
//Local state
3029
const [teamId, setTeamId] = useState(undefined);
@@ -61,13 +60,13 @@ const IncidentTable = ({
6160

6261
useEffect(() => {
6362
if (selectedMonitor === "0") {
64-
setTeamId(user.teamId);
63+
setTeamId("placeholder"); // TODO this isn't needed any longer, fix hook
6564
setMonitorId(undefined);
6665
} else {
6766
setMonitorId(selectedMonitor);
6867
setTeamId(undefined);
6968
}
70-
}, [selectedMonitor, user.teamId]);
69+
}, [selectedMonitor]);
7170

7271
const headers = [
7372
{

client/src/Pages/Incidents/index.jsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,13 @@ import OptionsHeader from "./Components/OptionsHeader";
88
//Utils
99
import { useTheme } from "@emotion/react";
1010
import { useFetchMonitorsByTeamId } from "../../Hooks/monitorHooks";
11-
import { useSelector } from "react-redux";
1211
import { useState, useEffect } from "react";
1312
import NetworkError from "../../Components/GenericFallback/NetworkError";
1413
import { useTranslation } from "react-i18next";
1514

1615
//Constants
1716
const Incidents = () => {
1817
// Redux state
19-
const { user } = useSelector((state) => state.auth);
2018
const { t } = useTranslation();
2119

2220
const BREADCRUMBS = [
@@ -31,9 +29,7 @@ const Incidents = () => {
3129

3230
//Utils
3331
const theme = useTheme();
34-
const [monitors, , isLoading, networkError] = useFetchMonitorsByTeamId({
35-
teamId: user.teamId,
36-
});
32+
const [monitors, , isLoading, networkError] = useFetchMonitorsByTeamId();
3733

3834
useEffect(() => {
3935
const monitorLookup = monitors?.reduce((acc, monitor) => {

client/src/Utils/NetworkService.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ class NetworkService {
272272
* @returns {Promise<AxiosResponse>} The response from the axios DELETE request.
273273
*/
274274
async deleteChecksByTeamId(config) {
275-
return this.axiosInstance.delete(`/checks/team/${config.teamId}`, {
275+
return this.axiosInstance.delete(`/checks/team`, {
276276
headers: {
277277
"Content-Type": "application/json",
278278
},
@@ -595,7 +595,7 @@ class NetworkService {
595595
if (config.page) params.append("page", config.page);
596596
if (config.rowsPerPage) params.append("rowsPerPage", config.rowsPerPage);
597597
if (config.status !== undefined) params.append("status", config.status);
598-
return this.axiosInstance.get(`/checks/team/${config.teamId}?${params.toString()}`);
598+
return this.axiosInstance.get(`/checks/team?${params.toString()}`);
599599
};
600600

601601
/**

server/controllers/checkController.js

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,18 @@ class CheckController {
5454
}
5555

5656
try {
57-
const result = await this.db.getChecksByMonitor(req);
57+
const { monitorId } = req.params;
58+
let { type, sortOrder, dateRange, filter, page, rowsPerPage, status } = req.query;
59+
const result = await this.db.getChecksByMonitor({
60+
monitorId,
61+
type,
62+
sortOrder,
63+
dateRange,
64+
filter,
65+
page,
66+
rowsPerPage,
67+
status,
68+
});
5869

5970
return res.success({
6071
msg: this.stringService.checkGet,
@@ -74,8 +85,17 @@ class CheckController {
7485
return;
7586
}
7687
try {
77-
const checkData = await this.db.getChecksByTeam(req);
78-
88+
let { sortOrder, dateRange, filter, page, rowsPerPage } = req.query;
89+
const { teamId } = req.user;
90+
91+
const checkData = await this.db.getChecksByTeam({
92+
sortOrder,
93+
dateRange,
94+
filter,
95+
page,
96+
rowsPerPage,
97+
teamId,
98+
});
7999
return res.success({
80100
msg: this.stringService.checkGet,
81101
data: checkData,
@@ -114,7 +134,8 @@ class CheckController {
114134
}
115135

116136
try {
117-
const deletedCount = await this.db.deleteChecksByTeamId(req.params.teamId);
137+
const { teamId } = req.user;
138+
const deletedCount = await this.db.deleteChecksByTeamId(teamId);
118139

119140
return res.success({
120141
msg: this.stringService.checkDelete,
@@ -137,9 +158,7 @@ class CheckController {
137158

138159
try {
139160
// Get user's teamId
140-
const token = getTokenFromHeaders(req.headers);
141-
const { jwtSecret } = this.settingsService.getSettings();
142-
const { teamId } = jwt.verify(token, jwtSecret);
161+
const { teamId } = req.user;
143162
const ttl = parseInt(req.body.ttl, 10) * SECONDS_PER_DAY;
144163
await this.db.updateChecksTTL(teamId, ttl);
145164

server/db/mongo/modules/checkModule.js

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,17 @@ const createChecks = async (checks) => {
5757
* @returns {Promise<Array<Check>>}
5858
* @throws {Error}
5959
*/
60-
const getChecksByMonitor = async (req) => {
60+
const getChecksByMonitor = async ({
61+
monitorId,
62+
type,
63+
sortOrder,
64+
dateRange,
65+
filter,
66+
page,
67+
rowsPerPage,
68+
status,
69+
}) => {
6170
try {
62-
const { monitorId } = req.params;
63-
let { type, sortOrder, dateRange, filter, page, rowsPerPage, status } = req.query;
6471
status = typeof status !== "undefined" ? false : undefined;
6572
page = parseInt(page);
6673
rowsPerPage = parseInt(rowsPerPage);
@@ -142,12 +149,17 @@ const getChecksByMonitor = async (req) => {
142149
}
143150
};
144151

145-
const getChecksByTeam = async (req) => {
152+
const getChecksByTeam = async ({
153+
sortOrder,
154+
dateRange,
155+
filter,
156+
page,
157+
rowsPerPage,
158+
teamId,
159+
}) => {
146160
try {
147-
let { sortOrder, dateRange, filter, page, rowsPerPage } = req.query;
148161
page = parseInt(page);
149162
rowsPerPage = parseInt(rowsPerPage);
150-
const { teamId } = req.params;
151163
const matchStage = {
152164
teamId: ObjectId.createFromHexString(teamId),
153165
status: false,

server/routes/checkRoute.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,15 @@ class CheckRoutes {
1111
}
1212

1313
initRoutes() {
14+
this.router.get("/team", this.checkController.getChecksByTeam);
15+
this.router.delete(
16+
"/team",
17+
isAllowed(["admin", "superadmin"]),
18+
this.checkController.deleteChecksByTeamId
19+
);
20+
1421
this.router.get("/:monitorId", this.checkController.getChecksByMonitor);
22+
1523
this.router.post(
1624
"/:monitorId",
1725
verifyOwnership(Monitor, "monitorId"),
@@ -23,14 +31,6 @@ class CheckRoutes {
2331
this.checkController.deleteChecks
2432
);
2533

26-
this.router.get("/team/:teamId", this.checkController.getChecksByTeam);
27-
28-
this.router.delete(
29-
"/team/:teamId",
30-
isAllowed(["admin", "superadmin"]),
31-
this.checkController.deleteChecksByTeamId
32-
);
33-
3434
this.router.put(
3535
"/team/ttl",
3636
isAllowed(["admin", "superadmin"]),

server/validation/joi.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -301,9 +301,7 @@ const getChecksQueryValidation = joi.object({
301301
status: joi.boolean(),
302302
});
303303

304-
const getTeamChecksParamValidation = joi.object({
305-
teamId: joi.string().required(),
306-
});
304+
const getTeamChecksParamValidation = joi.object({});
307305

308306
const getTeamChecksQueryValidation = joi.object({
309307
sortOrder: joi.string().valid("asc", "desc"),
@@ -319,9 +317,7 @@ const deleteChecksParamValidation = joi.object({
319317
monitorId: joi.string().required(),
320318
});
321319

322-
const deleteChecksByTeamIdParamValidation = joi.object({
323-
teamId: joi.string().required(),
324-
});
320+
const deleteChecksByTeamIdParamValidation = joi.object({});
325321

326322
const updateChecksTTLBodyValidation = joi.object({
327323
ttl: joi.number().required(),

0 commit comments

Comments
 (0)