Add meetings feature with admin-only CRUD

- Add meetings table with timezone support
- Add meeting.service.js with timezone parsing (Europe/Bratislava)
- Add meeting.controller.js for CRUD operations
- Add meeting.routes.js with admin middleware for create/update/delete
- GET endpoints available for all authenticated users

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
richardtekula
2025-12-05 08:17:23 +01:00
parent 81f75d285e
commit eb5582feb6
5 changed files with 372 additions and 0 deletions

View File

@@ -213,6 +213,18 @@ export const timesheets = pgTable('timesheets', {
updatedAt: timestamp('updated_at').defaultNow().notNull(),
});
// Meetings table - meetingy/stretnutia (iba admin môže CRUD)
export const meetings = pgTable('meetings', {
id: uuid('id').primaryKey().defaultRandom(),
title: text('title').notNull(),
description: text('description'),
start: timestamp('start', { withTimezone: true }).notNull(),
end: timestamp('end', { withTimezone: true }).notNull(),
createdBy: uuid('created_by').references(() => users.id, { onDelete: 'set null' }),
createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(),
updatedAt: timestamp('updated_at', { withTimezone: true }).defaultNow().notNull(),
});
// Time Entries table - sledovanie odpracovaného času používateľov
export const timeEntries = pgTable('time_entries', {
id: uuid('id').primaryKey().defaultRandom(),