Documentation
¶
Index ¶
- type Handlers
- func (h *Handlers) Aggregate(c echo.Context) error
- func (h *Handlers) Create(c echo.Context) error
- func (h *Handlers) Delete(c echo.Context) error
- func (h *Handlers) GetByID(c echo.Context) error
- func (h *Handlers) GetRunningTimers(c echo.Context) error
- func (h *Handlers) List(c echo.Context) error
- func (h *Handlers) RegisterRoutes(g *echo.Group, rbacMiddleware *middleware.RBACMiddleware)
- func (h *Handlers) StartTimer(c echo.Context) error
- func (h *Handlers) StopTimer(c echo.Context) error
- func (h *Handlers) Update(c echo.Context) error
- type Service
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Handlers ¶
type Handlers struct {
// contains filtered or unexported fields
}
Handlers provides HTTP handlers for time entry management
func (*Handlers) GetRunningTimers ¶
GetRunningTimers handles retrieving all running timers for a user
func (*Handlers) RegisterRoutes ¶
func (h *Handlers) RegisterRoutes(g *echo.Group, rbacMiddleware *middleware.RBACMiddleware)
RegisterRoutes registers the time entry routes
func (*Handlers) StartTimer ¶
StartTimer handles starting a timer for a task
type Service ¶
type Service interface {
// Create creates a new time entry
Create(ctx context.Context, req models.TimeEntryRequest, userID uuid.UUID) (*models.TimeEntryResponse, error)
// GetByID retrieves a time entry by ID
GetByID(ctx context.Context, id uuid.UUID) (*models.TimeEntryResponse, error)
// List retrieves time entries based on filter parameters
List(ctx context.Context, params models.TimeEntryListParams) ([]models.TimeEntryResponse, int, error)
// Update updates a time entry
Update(ctx context.Context, id uuid.UUID, req models.TimeEntryRequest) (*models.TimeEntryResponse, error)
// Delete deletes a time entry
Delete(ctx context.Context, id uuid.UUID) error
// StartTimer starts a timer for a task
StartTimer(ctx context.Context, taskID uuid.UUID, description string, userID uuid.UUID) (*models.TimeEntryResponse, error)
// StopTimer stops a running timer for a task
StopTimer(ctx context.Context, taskID uuid.UUID, userID uuid.UUID) (*models.TimeEntryResponse, error)
// GetRunningTimers retrieves all running timers for a user
GetRunningTimers(ctx context.Context, userID uuid.UUID) ([]models.TimeEntryResponse, error)
// Aggregate aggregates time entries based on parameters
Aggregate(ctx context.Context, params models.TimeEntryAggregationParams) ([]models.TimeEntryAggregation, error)
}
Service provides time entry management functionality
func NewService ¶
func NewService(timeEntryRepo repository.TimeEntryRepository, taskRepo repository.TaskRepository, userRepo repository.UserRepository) Service
NewService creates a new time entry service
Click to show internal directories.
Click to hide internal directories.