🐛 Fix call notification looks broken

This commit is contained in:
LittleSheep 2024-08-02 21:34:08 +08:00
parent 48c9bc21e0
commit e15cd25c81
2 changed files with 7 additions and 8 deletions

View File

@ -1,6 +1,8 @@
package api
import (
"sync"
"git.solsynth.dev/hydrogen/messaging/pkg/internal/database"
"git.solsynth.dev/hydrogen/messaging/pkg/internal/gap"
"git.solsynth.dev/hydrogen/messaging/pkg/internal/models"
@ -9,7 +11,6 @@ import (
"github.com/gofiber/fiber/v2"
"github.com/google/uuid"
"github.com/spf13/viper"
"sync"
)
var callLocks sync.Map
@ -129,7 +130,7 @@ func endCall(c *fiber.Ctx) error {
if err != nil {
return fiber.NewError(fiber.StatusNotFound, err.Error())
} else if call.FounderID != user.ID && membership.PowerLevel < 50 {
return fiber.NewError(fiber.StatusBadRequest, "only call founder or channel admin can end this call")
return fiber.NewError(fiber.StatusBadRequest, "only call founder or channel moderator can end this call")
}
if call, err := services.EndCall(call); err != nil {

View File

@ -107,7 +107,6 @@ func NewCall(channel models.Channel, founder models.ChannelMember) (models.Call,
} else if err = database.C.Where(models.ChannelMember{
ChannelID: call.ChannelID,
}).Preload("Account").Find(&members).Error; err == nil {
channel = call.Channel
call, _ = GetCall(call.Channel, call.ID)
var pendingUsers []models.Account
for _, member := range members {
@ -120,11 +119,13 @@ func NewCall(channel models.Channel, founder models.ChannelMember) (models.Call,
})
}
channel, _ = GetChannel(channel.ID)
err = NotifyAccountMessagerBatch(
pendingUsers,
&proto.NotifyRequest{
Topic: "messaging.callStart",
Title: fmt.Sprintf("Call in %s", channel.DisplayText()),
Title: fmt.Sprintf("Call in (%s)", channel.DisplayText()),
Body: fmt.Sprintf("%s is calling", call.Founder.Account.Name),
Avatar: &call.Founder.Account.Avatar,
Metadata: EncodeJSONBody(map[string]any{
@ -181,10 +182,7 @@ func KickParticipantInCall(call models.Call, username string) error {
}
func EncodeCallToken(user models.Account, call models.Call) (string, error) {
isAdmin := false
if user.ID == call.FounderID || user.ID == call.Channel.AccountID {
isAdmin = true
}
isAdmin := user.ID == call.FounderID || user.ID == call.Channel.AccountID
grant := &auth.VideoGrant{
Room: call.ExternalID,