Remove group management functionality

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 9111ef36-26c8-4085-84ca-a35dc1fec1b5
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7083d608-d6d3-4a6a-9a27-6286c5109627/aa864d33-76c2-47e9-866b-42e52da4b7cf.jpg
This commit is contained in:
alphaeusmote
2025-04-11 16:06:28 +00:00
parent 8f545a41f7
commit 0520587236
2 changed files with 6 additions and 213 deletions
+2 -136
View File
@@ -909,143 +909,9 @@ export async function registerRoutes(app: Express): Promise<Server> {
}
});
// Groups
app.get("/api/groups", requireRole(["admin", "manager"]), async (req, res) => {
try {
const groups = await storage.getGroups();
res.json(groups);
} catch (error) {
console.error("Error fetching groups:", error);
res.status(500).json({ message: "Internal server error" });
}
});
// Groups functionality has been removed
app.get("/api/groups/:id", requireRole(["admin", "manager"]), async (req, res) => {
try {
const id = req.params.id;
const group = await storage.getGroup(id);
if (!group) {
return res.status(404).json({ message: "Group not found" });
}
res.json(group);
} catch (error) {
console.error("Error fetching group:", error);
res.status(500).json({ message: "Internal server error" });
}
});
app.get("/api/groups/:id/members", requireRole(["admin", "manager"]), async (req, res) => {
try {
const id = req.params.id;
const members = await storage.getGroupMembers(id);
res.json(members);
} catch (error) {
console.error("Error fetching group members:", error);
res.status(500).json({ message: "Internal server error" });
}
});
app.post("/api/groups", requireRole(["admin", "manager"]), async (req, res) => {
try {
const validatedData = insertGroupSchema.parse({
...req.body,
createdBy: req.user?.id
});
const group = await storage.createGroup(validatedData);
res.status(201).json(group);
} catch (error) {
if (error instanceof z.ZodError) {
res.status(400).json({ message: "Validation error", errors: error.errors });
} else {
console.error("Error creating group:", error);
res.status(500).json({ message: "Internal server error" });
}
}
});
app.put("/api/groups/:id", requireRole(["admin", "manager"]), async (req, res) => {
try {
const id = req.params.id;
const validatedData = insertGroupSchema.partial().parse(req.body);
const updatedGroup = await storage.updateGroup(id, validatedData);
if (!updatedGroup) {
return res.status(404).json({ message: "Group not found" });
}
res.json(updatedGroup);
} catch (error) {
if (error instanceof z.ZodError) {
res.status(400).json({ message: "Validation error", errors: error.errors });
} else {
console.error("Error updating group:", error);
res.status(500).json({ message: "Internal server error" });
}
}
});
app.delete("/api/groups/:id", requireRole(["admin", "manager"]), async (req, res) => {
try {
const id = req.params.id;
const deleted = await storage.deleteGroup(id);
if (!deleted) {
return res.status(404).json({ message: "Group not found" });
}
res.status(204).end();
} catch (error) {
console.error("Error deleting group:", error);
res.status(500).json({ message: "Internal server error" });
}
});
// Group Members
app.post("/api/group-members", requireRole(["admin", "manager"]), async (req, res) => {
try {
// Validate member type
const memberTypeValidator = z.enum(memberTypes);
// Extend schema with validation
const schema = insertGroupMemberSchema.extend({
memberType: memberTypeValidator
});
const validatedData = schema.parse({
...req.body,
addedBy: req.user?.id
});
const member = await storage.addGroupMember(validatedData);
res.status(201).json(member);
} catch (error) {
if (error instanceof z.ZodError) {
res.status(400).json({ message: "Validation error", errors: error.errors });
} else {
console.error("Error adding group member:", error);
res.status(500).json({ message: "Internal server error" });
}
}
});
app.delete("/api/group-members/:id", requireRole(["admin", "manager"]), async (req, res) => {
try {
const id = req.params.id;
const deleted = await storage.removeGroupMember(id);
if (!deleted) {
return res.status(404).json({ message: "Group member not found" });
}
res.status(204).end();
} catch (error) {
console.error("Error removing group member:", error);
res.status(500).json({ message: "Internal server error" });
}
});
// Group Members endpoints have been removed
// API Tokens
app.get("/api/api-tokens", requireRole(["admin", "manager"]), async (req, res) => {