diff --git a/src/app.js b/src/app.js index 4c2e8f5..0eac68d 100644 --- a/src/app.js +++ b/src/app.js @@ -22,6 +22,7 @@ import companyRoutes from './routes/company.routes.js'; import projectRoutes from './routes/project.routes.js'; import todoRoutes from './routes/todo.routes.js'; import timeTrackingRoutes from './routes/time-tracking.routes.js'; +import noteRoutes from './routes/note.routes.js'; const app = express(); @@ -82,6 +83,7 @@ app.use('/api/companies', companyRoutes); app.use('/api/projects', projectRoutes); app.use('/api/todos', todoRoutes); app.use('/api/time-tracking', timeTrackingRoutes); +app.use('/api/notes', noteRoutes); // Basic route app.get('/', (req, res) => { diff --git a/src/routes/time-tracking.routes.js b/src/routes/time-tracking.routes.js index f9a4864..3f8db30 100644 --- a/src/routes/time-tracking.routes.js +++ b/src/routes/time-tracking.routes.js @@ -32,6 +32,9 @@ router.post( // Get running time entry router.get('/running', timeTrackingController.getRunningTimeEntry); +// Get all running time entries (for dashboard) +router.get('/running-all', timeTrackingController.getAllRunningTimeEntries); + // Get all time entries with filters router.get('/', timeTrackingController.getAllTimeEntries); diff --git a/src/services/time-tracking.service.js b/src/services/time-tracking.service.js index 179f949..ff7b40f 100644 --- a/src/services/time-tracking.service.js +++ b/src/services/time-tracking.service.js @@ -224,6 +224,25 @@ export const getRunningTimeEntry = async (userId) => { return running || null; }; +/** + * Get all running time entries (for dashboard) + */ +export const getAllRunningTimeEntries = async () => { + const result = await db + .select({ + id: timeEntries.id, + userId: timeEntries.userId, + startTime: timeEntries.startTime, + firstName: users.firstName, + lastName: users.lastName, + }) + .from(timeEntries) + .innerJoin(users, eq(timeEntries.userId, users.id)) + .where(eq(timeEntries.isRunning, true)); + + return result; +}; + /** * Get time entry by ID */