45 lines
898 B
Go
45 lines
898 B
Go
package ruang
|
|
|
|
import (
|
|
"api-service/internal/config"
|
|
"api-service/internal/database"
|
|
"api-service/pkg/logger"
|
|
"context"
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/go-playground/validator/v10"
|
|
"net/http"
|
|
"sync"
|
|
"time"
|
|
)
|
|
|
|
type MruangHandler struct {
|
|
simrs *SimrsDB
|
|
validator *validator.Validate
|
|
logger logger.Logger
|
|
cfg *config.Config
|
|
once sync.Once
|
|
interval time.Duration
|
|
}
|
|
|
|
type MruangHandlerConfig struct {
|
|
Config *config.Config
|
|
Logger logger.Logger
|
|
Validator *validator.Validate
|
|
}
|
|
type SimrsDB struct {
|
|
db database.Service
|
|
}
|
|
|
|
func (h *MruangHandler) NewMruangHandler(c *gin.Context) {
|
|
ctx, cancel := context.WithTimeout(c.Request.Context(), 120*time.Second)
|
|
defer cancel()
|
|
|
|
ruangans, err := h.simrs.GetMRuangan(ctx)
|
|
if err != nil {
|
|
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
|
return
|
|
}
|
|
|
|
c.JSON(http.StatusOK, ruangans)
|
|
}
|