draft grpc
This commit is contained in:
@@ -1,11 +1,15 @@
|
||||
//go:build ignore
|
||||
// +build ignore
|
||||
|
||||
package plan
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"gorm.io/gorm"
|
||||
"stream.api/internal/config"
|
||||
"stream.api/internal/database/query"
|
||||
"stream.api/internal/database/model"
|
||||
"stream.api/pkg/logger"
|
||||
"stream.api/pkg/response"
|
||||
)
|
||||
@@ -13,12 +17,14 @@ import (
|
||||
type Handler struct {
|
||||
logger logger.Logger
|
||||
cfg *config.Config
|
||||
db *gorm.DB
|
||||
}
|
||||
|
||||
func NewHandler(l logger.Logger, cfg *config.Config) PlanHandler {
|
||||
func NewHandler(l logger.Logger, cfg *config.Config, db *gorm.DB) PlanHandler {
|
||||
return &Handler{
|
||||
logger: l,
|
||||
cfg: cfg,
|
||||
db: db,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,14 +32,13 @@ func NewHandler(l logger.Logger, cfg *config.Config) PlanHandler {
|
||||
// @Description Get all active plans
|
||||
// @Tags plan
|
||||
// @Produce json
|
||||
// @Success 200 {object} response.Response{data=[]model.Plan}
|
||||
// @Success 200 {object} response.Response
|
||||
// @Failure 500 {object} response.Response
|
||||
// @Router /plans [get]
|
||||
// @Security BearerAuth
|
||||
func (h *Handler) ListPlans(c *gin.Context) {
|
||||
p := query.Plan
|
||||
plans, err := p.WithContext(c.Request.Context()).Where(p.IsActive.Is(true)).Find()
|
||||
if err != nil {
|
||||
var plans []model.Plan
|
||||
if err := h.db.WithContext(c.Request.Context()).Where("is_active = ?", true).Find(&plans).Error; err != nil {
|
||||
h.logger.Error("Failed to fetch plans", "error", err)
|
||||
response.Error(c, http.StatusInternalServerError, "Failed to fetch plans")
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user