fix sse
This commit is contained in:
parent
4f4f8f2938
commit
12c133352c
@ -2,6 +2,7 @@ package tickets
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"gitea.pena/PenaSide/heruvym/internal/model"
|
"gitea.pena/PenaSide/heruvym/internal/model"
|
||||||
@ -13,7 +14,6 @@ import (
|
|||||||
"github.com/gofiber/fiber/v2"
|
"github.com/gofiber/fiber/v2"
|
||||||
"go.uber.org/zap"
|
"go.uber.org/zap"
|
||||||
"gopkg.in/telebot.v3"
|
"gopkg.in/telebot.v3"
|
||||||
"encoding/json"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Deps struct {
|
type Deps struct {
|
||||||
@ -94,7 +94,7 @@ func (t *TicketController) CreateTicket(ctx *fiber.Ctx) error {
|
|||||||
ctx.Get("Origin"),
|
ctx.Get("Origin"),
|
||||||
request.Title,
|
request.Title,
|
||||||
request.Message,
|
request.Message,
|
||||||
request.System,
|
request.System,
|
||||||
[]string{},
|
[]string{},
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -460,7 +460,8 @@ func (t *TicketController) allTickets(ctx context.Context, output chan interface
|
|||||||
//}
|
//}
|
||||||
|
|
||||||
if err := t.dal.WatchAllTickets(ctx, func(ticket model.Ticket) error {
|
if err := t.dal.WatchAllTickets(ctx, func(ticket model.Ticket) error {
|
||||||
output <- ticket
|
msg, _ := json.Marshal(ticket)
|
||||||
|
output <- msg
|
||||||
return nil
|
return nil
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
output <- errors.New("cannot watch all tickets" + err.Error())
|
output <- errors.New("cannot watch all tickets" + err.Error())
|
||||||
@ -491,14 +492,16 @@ func (t *TicketController) userTickets(ctx context.Context, userID string, outpu
|
|||||||
}
|
}
|
||||||
data = filteredData
|
data = filteredData
|
||||||
|
|
||||||
output <- GetTicketsResp{data, count}
|
msg, _ := json.Marshal(GetTicketsResp{data, count})
|
||||||
|
output <- msg
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := t.dal.WatchTickets(ctx, userID, func(ticket model.Ticket) error {
|
if err := t.dal.WatchTickets(ctx, userID, func(ticket model.Ticket) error {
|
||||||
if ticket.TopMessage.System {
|
if ticket.TopMessage.System {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
output <- ticket
|
msg, _ := json.Marshal(ticket)
|
||||||
|
output <- msg
|
||||||
return nil
|
return nil
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
output <- errors.New("cannot watch tickets")
|
output <- errors.New("cannot watch tickets")
|
||||||
@ -517,7 +520,8 @@ func (t *TicketController) unauthorizedTickets(ctx context.Context, sess string,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if tickets != nil {
|
if tickets != nil {
|
||||||
output <- GetTicketsResp{tickets, count}
|
msg, _ := json.Marshal(GetTicketsResp{tickets, count})
|
||||||
|
output <- msg
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -556,7 +560,7 @@ func (t *TicketController) Subscribe(ctx context.Context) chan interface{} {
|
|||||||
if err := t.dal.WatchMessages(ctx, ticketID,
|
if err := t.dal.WatchMessages(ctx, ticketID,
|
||||||
func(message model.Message) error {
|
func(message model.Message) error {
|
||||||
if !message.System {
|
if !message.System {
|
||||||
msg,_:=json.Marshal(message)
|
msg, _ := json.Marshal(message)
|
||||||
output <- msg
|
output <- msg
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -579,7 +583,7 @@ func (t *TicketController) Subscribe(ctx context.Context) chan interface{} {
|
|||||||
go func() {
|
go func() {
|
||||||
|
|
||||||
if err := t.dal.YieldMessages(ctx, ticketID, func(message model.Message) error {
|
if err := t.dal.YieldMessages(ctx, ticketID, func(message model.Message) error {
|
||||||
msg,_:=json.Marshal(message)
|
msg, _ := json.Marshal(message)
|
||||||
output <- msg
|
output <- msg
|
||||||
|
|
||||||
//if err := h.dal.SetShown(ctx, message.ID, sess.User); err != nil {
|
//if err := h.dal.SetShown(ctx, message.ID, sess.User); err != nil {
|
||||||
@ -596,7 +600,7 @@ func (t *TicketController) Subscribe(ctx context.Context) chan interface{} {
|
|||||||
|
|
||||||
if err := t.dal.WatchMessages(ctx, ticketID,
|
if err := t.dal.WatchMessages(ctx, ticketID,
|
||||||
func(message model.Message) error {
|
func(message model.Message) error {
|
||||||
msg,_:=json.Marshal(message)
|
msg, _ := json.Marshal(message)
|
||||||
output <- msg
|
output <- msg
|
||||||
|
|
||||||
//if err := h.dal.SetShown(ctx, message.ID, sess.Session); err != nil {
|
//if err := h.dal.SetShown(ctx, message.ID, sess.Session); err != nil {
|
||||||
@ -641,7 +645,7 @@ func (t *TicketController) Subscribe(ctx context.Context) chan interface{} {
|
|||||||
if err := t.dal.WatchMessages(ctx, ticketID,
|
if err := t.dal.WatchMessages(ctx, ticketID,
|
||||||
func(message model.Message) error {
|
func(message model.Message) error {
|
||||||
if !message.System {
|
if !message.System {
|
||||||
msg,_:=json.Marshal(message)
|
msg, _ := json.Marshal(message)
|
||||||
output <- msg
|
output <- msg
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user