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 theMedaHandler
struct from themedahandler
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.