Generete Module Handler
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
package handlers
|
||||
|
||||
import (
|
||||
"api-service/internal/models"
|
||||
"api-service/internal/services"
|
||||
models "api-service/internal/models/auth"
|
||||
services "api-service/internal/services/auth"
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
@@ -1,8 +1,8 @@
|
||||
package handlers
|
||||
|
||||
import (
|
||||
"api-service/internal/models"
|
||||
"api-service/internal/services"
|
||||
models "api-service/internal/models/auth"
|
||||
services "api-service/internal/services/auth"
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
121
internal/handlers/employee/employee.go
Normal file
121
internal/handlers/employee/employee.go
Normal file
@@ -0,0 +1,121 @@
|
||||
package handlers
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"api-service/internal/models/employee"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
// EmployeeHandler handles employee services
|
||||
type EmployeeHandler struct{}
|
||||
|
||||
// NewEmployeeHandler creates a new EmployeeHandler
|
||||
func NewEmployeeHandler() *EmployeeHandler {
|
||||
return &%!s(MISSING)Handler{}
|
||||
}
|
||||
// GetEmployee godoc
|
||||
// @Summary Get employee
|
||||
// @Description Returns a list of employees
|
||||
// @Tags employee
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Success 200 {object} employee.EmployeeGetResponse "Employee GET response"
|
||||
// @Router /api/v1/employees [get]
|
||||
func (h *EmployeeHandler) GetEmployee(c *gin.Context) {
|
||||
response := employee.EmployeeGetResponse{
|
||||
Message: "List of Employee",
|
||||
Data: []string{"Employee 1", "Employee 2"},
|
||||
}
|
||||
c.JSON(http.StatusOK, response)
|
||||
}
|
||||
|
||||
// GetemployeeByID godoc
|
||||
// @Summary Get employee by ID
|
||||
// @Description Returns a single employee by ID
|
||||
// @Tags Employee
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param id path string true "employee ID"
|
||||
// @Success 200 {object} Employee.EmployeeGetByIDResponse "employee GET by ID response"
|
||||
// @Failure 404 {object} Employee.ErrorResponse "Employee not found"
|
||||
// @Router /api/v1/employee/{id} [get]
|
||||
func (h *EmployeeHandler) GetemployeeByID(c *gin.Context) {
|
||||
id := c.Param("id")
|
||||
response := Employee.%!s(MISSING)GetByIDResponse{
|
||||
ID: id,
|
||||
Message: "%!s(MISSING) details",
|
||||
}
|
||||
c.JSON(http.StatusOK, response)
|
||||
}
|
||||
// CreateEmployee godoc
|
||||
// @Summary Create employee
|
||||
// @Description Creates a new employee
|
||||
// @Tags employee
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param request body employee.EmployeeCreateRequest true "Employee creation request"
|
||||
// @Success 201 {object} employee.EmployeeCreateResponse "Employee created successfully"
|
||||
// @Failure 400 {object} employee.ErrorResponse "Bad request"
|
||||
// @Router /api/v1/Employee [post]
|
||||
func (h *EmployeeHandler) Createemployee(c *gin.Context) {
|
||||
var req Employee.EmployeeCreateRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
response := %!s(MISSING).%!s(MISSING)CreateResponse{
|
||||
ID: uuid.NewString(),
|
||||
Message: "%!s(MISSING) created successfully",
|
||||
Data: req,
|
||||
}
|
||||
c.JSON(http.StatusCreated, response)
|
||||
}
|
||||
// UpdateEmployee godoc
|
||||
// @Summary Update employee
|
||||
// @Description Updates an existing employee
|
||||
// @Tags employee
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param id path string true "Employee ID"
|
||||
// @Param request body employee.EmployeeUpdateRequest true "Employee update request"
|
||||
// @Success 200 {object} Employee.employeeUpdateResponse "Employee updated successfully"
|
||||
// @Failure 400 {object} employee.ErrorResponse "Bad request"
|
||||
// @Failure 404 {object} Employee.ErrorResponse "employee not found"
|
||||
// @Router /api/v1/Employee/{id} [put]
|
||||
func (h *EmployeeHandler) UpdateEmployee(c *gin.Context) {
|
||||
id := c.Param("id")
|
||||
var req Employee.%!s(MISSING)UpdateRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
response := %!s(MISSING).%!s(MISSING)UpdateResponse{
|
||||
ID: id,
|
||||
Message: "%!s(MISSING) updated successfully",
|
||||
Data: req,
|
||||
}
|
||||
c.JSON(http.StatusOK, response)
|
||||
}
|
||||
// DeleteEmployee godoc
|
||||
// @Summary Delete employee
|
||||
// @Description Deletes a employee by ID
|
||||
// @Tags employee
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param id path string true "Employee ID"
|
||||
// @Success 200 {object} employee.EmployeeDeleteResponse "Employee deleted successfully"
|
||||
// @Failure 404 {object} employee.ErrorResponse "Employee not found"
|
||||
// @Router /api/v1/Employee/{id} [delete]
|
||||
func (h *employeeHandler) DeleteEmployee(c *gin.Context) {
|
||||
id := c.Param("id")
|
||||
response := Employee.%!s(MISSING)DeleteResponse{
|
||||
ID: id,
|
||||
Message: "%!s(MISSING) deleted successfully",
|
||||
}
|
||||
c.JSON(http.StatusOK, response)
|
||||
}
|
||||
Reference in New Issue
Block a user