feat: Add inbox system for tasks, appointments, emails and reminders

- Add inbox router with CRUD endpoints
- Add inbox stats endpoint
- Add team inbox overview for managers
- Support task assignment to team members
- Add database migration for inbox_items table
This commit is contained in:
2026-02-25 13:02:04 +00:00
parent d0ca0b9d7d
commit 45671f6717
3 changed files with 673 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ import "@std/dotenv/load";
// Routes
import { authRouter } from "./routes/auth.ts";
import { usersRouter } from "./routes/users.ts";
import inboxRouter from "./routes/inbox.ts";
import { contactsRouter } from "./routes/contacts.ts";
import { companiesRouter } from "./routes/companies.ts";
import { dealsRouter } from "./routes/deals.ts";
@@ -148,6 +149,15 @@ app.use(async (ctx, next) => {
"DELETE /api/v1/users/:id": "Delete user (admin/owner)",
"POST /api/v1/users/:id/reset-password": "Reset user password (admin/owner)",
},
inbox: {
"GET /api/v1/inbox": "List inbox items (tasks, appointments, emails)",
"GET /api/v1/inbox/stats": "Inbox statistics",
"GET /api/v1/inbox/team": "Team inbox overview (manager+)",
"POST /api/v1/inbox": "Create inbox item / assign task",
"PUT /api/v1/inbox/:id": "Update inbox item",
"PUT /api/v1/inbox/:id/status": "Quick status update",
"DELETE /api/v1/inbox/:id": "Delete inbox item",
},
contacts: {
"GET /api/v1/contacts": "List contacts",
"GET /api/v1/contacts/stats": "Contact statistics",
@@ -226,6 +236,9 @@ app.use(authRouter.allowedMethods());
app.use(usersRouter.routes());
app.use(usersRouter.allowedMethods());
app.use(inboxRouter.routes());
app.use(inboxRouter.allowedMethods());
app.use(contactsRouter.routes());
app.use(contactsRouter.allowedMethods());