🐛 Fix call notification looks broken
This commit is contained in:
		@@ -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 {
 | 
			
		||||
 
 | 
			
		||||
@@ -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,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user