Expose notes route and running timers endpoint
This commit is contained in:
@@ -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) => {
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user