257 lines
7.0 KiB
Go
257 lines
7.0 KiB
Go
|
|
// Code generated by generate-handler.go; DO NOT EDIT.
|
|
// Generated at: 2025-08-29 04:42:52
|
|
// Service: VClaim (vclaim)
|
|
package handlers
|
|
|
|
import (
|
|
"context"
|
|
"net/http"
|
|
"time"
|
|
"api-service/internal/models/reference"
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
type VClaimHandler struct {}
|
|
|
|
func NewVClaimHandler() *VClaimHandler {
|
|
return &VClaimHandler{}
|
|
}
|
|
|
|
|
|
|
|
//
|
|
// @Summary Get Get Participant Info data
|
|
// @Description Get participant eligibility information
|
|
// @Tags vclaim,peserta
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param nokartu path string true "nokartu"
|
|
|
|
// @Security ApiKeyAuth
|
|
|
|
// @Success 200 {object} reference.PesertaResponse
|
|
// @Failure 400 {object} reference.ErrorResponse
|
|
// @Failure 500 {object} reference.ErrorResponse
|
|
// @Router /Peserta/:nokartu [get]
|
|
func (h *VClaimHandler) GetGet Participant Info(c *gin.Context) {
|
|
ctx, cancel := context.WithTimeout(c.Request.Context(), time.Duration(30)*time.Second)
|
|
defer cancel()
|
|
reqID := c.GetHeader("X-Request-ID")
|
|
if reqID == "" {
|
|
reqID = uuid.New().String()
|
|
c.Header("X-Request-ID", reqID)
|
|
}
|
|
|
|
nokartu := c.Param("nokartu")
|
|
|
|
// TODO: Panggil service layer, mapping response, error handling dsb.
|
|
c.JSON(http.StatusOK, gin.H{"status": "success", "request_id": reqID})
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
// @Summary Get SEP Management data
|
|
// @Description Manage SEP (Surat Eligibilitas Peserta)
|
|
// @Tags vclaim,sep
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param nosep path string true "nosep"
|
|
|
|
// @Security ApiKeyAuth
|
|
|
|
// @Success 200 {object} reference.SEPResponse
|
|
// @Failure 400 {object} reference.ErrorResponse
|
|
// @Failure 500 {object} reference.ErrorResponse
|
|
// @Router /SEP/:nosep [get]
|
|
func (h *VClaimHandler) GetSEP Management(c *gin.Context) {
|
|
ctx, cancel := context.WithTimeout(c.Request.Context(), time.Duration(30)*time.Second)
|
|
defer cancel()
|
|
reqID := c.GetHeader("X-Request-ID")
|
|
if reqID == "" {
|
|
reqID = uuid.New().String()
|
|
c.Header("X-Request-ID", reqID)
|
|
}
|
|
|
|
nosep := c.Param("nosep")
|
|
|
|
// TODO: Panggil service layer, mapping response, error handling dsb.
|
|
c.JSON(http.StatusOK, gin.H{"status": "success", "request_id": reqID})
|
|
}
|
|
|
|
|
|
//
|
|
// @Summary Create SEP Management data
|
|
// @Description Manage SEP (Surat Eligibilitas Peserta)
|
|
// @Tags vclaim,sep
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Security ApiKeyAuth
|
|
|
|
// @Param request body reference.SEPRequest true "SEP Management data"
|
|
// @Success 201 {object} reference.SEPResponse
|
|
// @Failure 400 {object} reference.ErrorResponse
|
|
// @Failure 500 {object} reference.ErrorResponse
|
|
// @Router /sep [post]
|
|
func (h *VClaimHandler) CreateSEP Management(c *gin.Context) {
|
|
ctx, cancel := context.WithTimeout(c.Request.Context(), time.Duration(30)*time.Second)
|
|
defer cancel()
|
|
reqID := c.GetHeader("X-Request-ID")
|
|
if reqID == "" {
|
|
reqID = uuid.New().String()
|
|
c.Header("X-Request-ID", reqID)
|
|
}
|
|
var req reference.SEPRequest
|
|
if err := c.ShouldBindJSON(&req); err != nil {
|
|
c.JSON(http.StatusBadRequest, gin.H{"status": "error", "message": err.Error(), "request_id": reqID})
|
|
return
|
|
}
|
|
// TODO: Panggil service layer, validasi, error handling dsb.
|
|
c.JSON(http.StatusCreated, gin.H{"status": "success", "request_id": reqID})
|
|
}
|
|
|
|
|
|
//
|
|
// @Summary Update SEP Management data
|
|
// @Description Update Manage SEP (Surat Eligibilitas Peserta)
|
|
// @Tags vclaim,sep
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param nosep path string true "nosep"
|
|
|
|
// @Security ApiKeyAuth
|
|
|
|
// @Param request body reference.SEPRequest true "SEP Management data"
|
|
// @Success 200 {object} reference.SEPResponse
|
|
// @Failure 400 {object} reference.ErrorResponse
|
|
// @Failure 500 {object} reference.ErrorResponse
|
|
// @Router /sep/:nosep [put]
|
|
func (h *VClaimHandler) UpdateSEP Management(c *gin.Context) {
|
|
ctx, cancel := context.WithTimeout(c.Request.Context(), 30*time.Second)
|
|
defer cancel()
|
|
requestID := c.GetHeader("X-Request-ID")
|
|
if requestID == "" {
|
|
requestID = uuid.New().String()
|
|
c.Header("X-Request-ID", requestID)
|
|
}
|
|
|
|
|
|
nosep := c.Param("nosep")
|
|
if nosep == "" {
|
|
c.JSON(http.StatusBadRequest, reference.ErrorResponse{
|
|
Status: "error",
|
|
Message: "Missing required parameter nosep",
|
|
RequestID: requestID,
|
|
})
|
|
return
|
|
}
|
|
|
|
|
|
var req reference.SEPRequest
|
|
if err := c.ShouldBindJSON(&req); err != nil {
|
|
c.JSON(http.StatusBadRequest, reference.ErrorResponse{
|
|
Status: "error",
|
|
Message: "Invalid request body: " + err.Error(),
|
|
RequestID: requestID,
|
|
})
|
|
return
|
|
}
|
|
|
|
// TODO: Validasi, panggil service update
|
|
// result, err := h.service.UpdateSEP Management(ctx, nosep, &req)
|
|
// if err != nil {
|
|
// c.JSON(http.StatusInternalServerError, ...)
|
|
// return
|
|
// }
|
|
c.JSON(http.StatusOK, gin.H{"status": "success", "request_id": requestID})
|
|
}
|
|
|
|
|
|
|
|
//
|
|
// @Summary Delete SEP Management data
|
|
// @Description Delete Manage SEP (Surat Eligibilitas Peserta)
|
|
// @Tags vclaim,sep
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param nosep path string true "nosep"
|
|
|
|
// @Security ApiKeyAuth
|
|
|
|
// @Success 204 {object} nil
|
|
// @Failure 400 {object} reference.ErrorResponse
|
|
// @Failure 500 {object} reference.ErrorResponse
|
|
// @Router /sep/:nosep [delete]
|
|
func (h *VClaimHandler) DeleteSEP Management(c *gin.Context) {
|
|
ctx, cancel := context.WithTimeout(c.Request.Context(), 30*time.Second)
|
|
defer cancel()
|
|
requestID := c.GetHeader("X-Request-ID")
|
|
if requestID == "" {
|
|
requestID = uuid.New().String()
|
|
c.Header("X-Request-ID", requestID)
|
|
}
|
|
|
|
|
|
nosep := c.Param("nosep")
|
|
if nosep == "" {
|
|
c.JSON(http.StatusBadRequest, reference.ErrorResponse{
|
|
Status: "error",
|
|
Message: "Missing required parameter nosep",
|
|
RequestID: requestID,
|
|
})
|
|
return
|
|
}
|
|
|
|
|
|
// TODO: Panggil service delete
|
|
// err := h.service.DeleteSEP Management(ctx, nosep, )
|
|
// if err != nil {
|
|
// c.JSON(http.StatusInternalServerError, ...)
|
|
// return
|
|
// }
|
|
c.Status(http.StatusNoContent)
|
|
}
|
|
|
|
|
|
|
|
//
|
|
// @Summary Get Get Referral Info data
|
|
// @Description Get referral information
|
|
// @Tags vclaim,rujukan
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param norujukan path string true "norujukan"
|
|
|
|
// @Security ApiKeyAuth
|
|
|
|
// @Success 200 {object} reference.RujukanResponse
|
|
// @Failure 400 {object} reference.ErrorResponse
|
|
// @Failure 500 {object} reference.ErrorResponse
|
|
// @Router /rujukan/:norujukan [get]
|
|
func (h *VClaimHandler) GetGet Referral Info(c *gin.Context) {
|
|
ctx, cancel := context.WithTimeout(c.Request.Context(), time.Duration(30)*time.Second)
|
|
defer cancel()
|
|
reqID := c.GetHeader("X-Request-ID")
|
|
if reqID == "" {
|
|
reqID = uuid.New().String()
|
|
c.Header("X-Request-ID", reqID)
|
|
}
|
|
|
|
norujukan := c.Param("norujukan")
|
|
|
|
// TODO: Panggil service layer, mapping response, error handling dsb.
|
|
c.JSON(http.StatusOK, gin.H{"status": "success", "request_id": reqID})
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|