Skip to main content

Summary Handler Documentation

This code defines an AttendanceLogHandler struct that handles various summary-related HTTP requests. It uses the Echo framework for routing and handling HTTP requests and responses.

AttendanceLogHandler struct

type AttendanceLogHandler struct {
medahandler.MedaHandler
}
  • medahandler.MedaHandler: Embeds the MedaHandler struct from the medahandler package.

Functions

GeneratePersonDateSummary

func (h *AttendanceLogHandler) GeneratePersonDateSummary(c echo.Context) error

Generates a summary for a specific person on a specific date and returns the result as a JSON response.

GenerateAttendanceSummaries

func (h *AttendanceLogHandler) GenerateAttendanceSummaries(c echo.Context) error

Generates attendance summaries for a company within a specified date range and returns the result as a JSON response.

GetAttendanceSummaries

func (h *AttendanceLogHandler) GetAttendanceSummaries(c echo.Context) error

Gets attendance summaries for a company within a specified date range and returns the result as a JSON response.

GetAttendanceTotalSummary

func (h *AttendanceLogHandler) GetAttendanceTotalSummary(c echo.Context) error

Gets the total attendance summary for a specific user within a specified date range and returns the result as a JSON response.

Example Usage

Initializing the Handler

package main

import (
"fio-backend/handler"
"github.com/labstack/echo/v5"
"github.com/pocketbase/pocketbase"
"github.com/pocketbase/pocketbase/core"
)

func main() {
// Initialize Echo
e := echo.New()

// Initialize PocketBase
pb := pocketbase.New()

// Initialize the handler
attendanceHandler := handler.NewAttendanceLogHandler()

// Bind routes
pb.OnBeforeServe().Add(func(e *core.ServeEvent) error {
return attendanceHandler.BindRouter(e)
})

// Start the server
e.Logger.Fatal(e.Start(":8080"))
}

Making Requests

Generate Person Date Summary

curl -X POST http://localhost:8080/api/v1/attendance/summaries/generate/oneperson -d '{
"company_id": "company123",
"user_profile_id": "user123",
"date": "2023-01-15"
}'

Generate Attendance Summaries

curl -X POST http://localhost:8080/api/v1/attendance/summaries/generate -d '{
"company_id": "company123",
"start_date": "2023-01-01",
"end_date": "2023-01-31"
}'

Get Attendance Summaries

curl -X GET http://localhost:8080/api/v1/attendance/summaries -d '{
"company_id": "company123",
"start_date": "2023-01-01",
"end_date": "2023-01-31"
}'

Get Attendance Total Summary

curl -X GET http://localhost:8080/api/v1/attendance/total-summary -d '{
"user_profile_id": "user123",
"start_date": "2023-01-01",
"end_date": "2023-01-31"
}'

This documentation provides an overview of the AttendanceLogHandler struct, its functions, and example usage. By following the example, you can initialize the handler, bind routes, and make requests to the various endpoints.