🐛 Fix notify and others

This commit is contained in:
LittleSheep 2024-04-06 23:04:53 +08:00
parent 476466f8c6
commit 50f2d88abc
3 changed files with 8 additions and 6 deletions

View File

@ -130,7 +130,7 @@ func exchangeCallToken(c *fiber.Ctx) error {
return fiber.NewError(fiber.StatusNotFound, err.Error())
}
tk, err := services.EncodeCallToken(call, user)
tk, err := services.EncodeCallToken(user)
if err != nil {
return fiber.NewError(fiber.StatusInternalServerError, err.Error())
} else {

View File

@ -83,12 +83,13 @@ 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)
for _, member := range members {
if member.ID != call.Founder.ID {
if member.Notify == models.NotifyLevelAll {
err = NotifyAccount(member.Account,
fmt.Sprintf("New Call #%s", call.Channel.Alias),
fmt.Sprintf("New Call #%s", channel.Alias),
fmt.Sprintf("%s starts a new call", call.Founder.Account.Name),
false,
)
@ -128,7 +129,7 @@ func EndCall(call models.Call) (models.Call, error) {
return call, nil
}
func EncodeCallToken(call models.Call, user models.Account) (string, error) {
func EncodeCallToken(user models.Account) (string, error) {
// Jitsi requires HS256 as algorithm, so we cannot use HS512
tk := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
"context": jwt.MapClaims{
@ -140,7 +141,7 @@ func EncodeCallToken(call models.Call, user models.Account) (string, error) {
"aud": viper.GetString("meeting.client_id"),
"iss": viper.GetString("domain"),
"sub": "meet.jitsi",
"room": call.ExternalID,
"room": "*",
})
return tk.SignedString([]byte(viper.GetString("meeting.client_secret")))

View File

@ -82,13 +82,14 @@ func NewMessage(message models.Message) (models.Message, error) {
} else if err = database.C.Where(models.ChannelMember{
ChannelID: message.ChannelID,
}).Preload("Account").Find(&members).Error; err == nil {
channel := message.Channel
message, _ = GetMessage(message.Channel, message.ID)
for _, member := range members {
message, _ = GetMessage(message.Channel, message.ID)
if member.ID != message.Sender.ID {
// TODO Check the mentioned status
if member.Notify == models.NotifyLevelAll {
err = NotifyAccount(member.Account,
fmt.Sprintf("New Message #%s", message.Channel.Alias),
fmt.Sprintf("New Message #%s", channel.Alias),
fmt.Sprintf("%s: %s", message.Sender.Account.Name, message.Content),
true,
)