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 projectRoutes from './routes/project.routes.js';
|
||||||
import todoRoutes from './routes/todo.routes.js';
|
import todoRoutes from './routes/todo.routes.js';
|
||||||
import timeTrackingRoutes from './routes/time-tracking.routes.js';
|
import timeTrackingRoutes from './routes/time-tracking.routes.js';
|
||||||
|
import noteRoutes from './routes/note.routes.js';
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
|
|
||||||
@@ -82,6 +83,7 @@ app.use('/api/companies', companyRoutes);
|
|||||||
app.use('/api/projects', projectRoutes);
|
app.use('/api/projects', projectRoutes);
|
||||||
app.use('/api/todos', todoRoutes);
|
app.use('/api/todos', todoRoutes);
|
||||||
app.use('/api/time-tracking', timeTrackingRoutes);
|
app.use('/api/time-tracking', timeTrackingRoutes);
|
||||||
|
app.use('/api/notes', noteRoutes);
|
||||||
|
|
||||||
// Basic route
|
// Basic route
|
||||||
app.get('/', (req, res) => {
|
app.get('/', (req, res) => {
|
||||||
|
|||||||
@@ -32,6 +32,9 @@ router.post(
|
|||||||
// Get running time entry
|
// Get running time entry
|
||||||
router.get('/running', timeTrackingController.getRunningTimeEntry);
|
router.get('/running', timeTrackingController.getRunningTimeEntry);
|
||||||
|
|
||||||
|
// Get all running time entries (for dashboard)
|
||||||
|
router.get('/running-all', timeTrackingController.getAllRunningTimeEntries);
|
||||||
|
|
||||||
// Get all time entries with filters
|
// Get all time entries with filters
|
||||||
router.get('/', timeTrackingController.getAllTimeEntries);
|
router.get('/', timeTrackingController.getAllTimeEntries);
|
||||||
|
|
||||||
|
|||||||
@@ -224,6 +224,25 @@ export const getRunningTimeEntry = async (userId) => {
|
|||||||
return running || null;
|
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
|
* Get time entry by ID
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user