🐛 Fix every use got same reply token
This commit is contained in:
		| @@ -105,7 +105,7 @@ func NewEvent(event models.Event) (models.Event, error) { | |||||||
| 				event.Channel.Realm = &realm | 				event.Channel.Realm = &realm | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		NotifyMessageEvent(members, event) | 		go NotifyMessageEvent(members, event) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	return event, nil | 	return event, nil | ||||||
| @@ -180,7 +180,6 @@ func NotifyMessageEvent(members []models.ChannelMember, event models.Event) { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	displayTitle := fmt.Sprintf("%s (%s)", event.Sender.Nick, event.Channel.DisplayText()) | 	displayTitle := fmt.Sprintf("%s (%s)", event.Sender.Nick, event.Channel.DisplayText()) | ||||||
| 	replyToken, err := CreateReplyToken(event.ID, event.Sender.AccountID) |  | ||||||
|  |  | ||||||
| 	metadata := map[string]any{ | 	metadata := map[string]any{ | ||||||
| 		"avatar":     event.Sender.Avatar, | 		"avatar":     event.Sender.Avatar, | ||||||
| @@ -189,7 +188,6 @@ func NotifyMessageEvent(members []models.ChannelMember, event models.Event) { | |||||||
| 		"user_nick":  event.Sender.Nick, | 		"user_nick":  event.Sender.Nick, | ||||||
| 		"channel_id": event.ChannelID, | 		"channel_id": event.ChannelID, | ||||||
| 		"event_id":   event.ID, | 		"event_id":   event.ID, | ||||||
| 		"reply_token": replyToken, |  | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	if len(pendingUsers) > 0 { | 	if len(pendingUsers) > 0 { | ||||||
| @@ -199,16 +197,23 @@ func NotifyMessageEvent(members []models.ChannelMember, event models.Event) { | |||||||
| 			Int("count", len(pendingUsers)). | 			Int("count", len(pendingUsers)). | ||||||
| 			Msg("Notifying new event...") | 			Msg("Notifying new event...") | ||||||
|  |  | ||||||
| 		err := authkit.NotifyUserBatch( | 		for _, pendingUser := range pendingUsers { | ||||||
|  | 			replyToken, err := CreateReplyToken(event.ID, uint(pendingUser)) | ||||||
|  | 			if err != nil { | ||||||
|  | 				log.Warn().Err(err).Msg("An error occurred when trying create reply token.") | ||||||
|  | 				continue | ||||||
|  | 			} | ||||||
|  | 			metadata["reply_token"] = replyToken | ||||||
|  | 			err = authkit.NotifyUser( | ||||||
| 				gap.Nx, | 				gap.Nx, | ||||||
| 			pendingUsers, | 				pendingUser, | ||||||
| 				pushkit.Notification{ | 				pushkit.Notification{ | ||||||
| 					Topic:    "messaging.message", | 					Topic:    "messaging.message", | ||||||
| 					Title:    displayTitle, | 					Title:    displayTitle, | ||||||
| 					Subtitle: displaySubtitle, | 					Subtitle: displaySubtitle, | ||||||
| 					Body:     displayText, | 					Body:     displayText, | ||||||
| 					Metadata: metadata, | 					Metadata: metadata, | ||||||
| 				Priority: 5, | 					Priority: 10, | ||||||
| 				}, | 				}, | ||||||
| 				true, | 				true, | ||||||
| 			) | 			) | ||||||
| @@ -216,6 +221,7 @@ func NotifyMessageEvent(members []models.ChannelMember, event models.Event) { | |||||||
| 				log.Warn().Err(err).Msg("An error occurred when trying notify user.") | 				log.Warn().Err(err).Msg("An error occurred when trying notify user.") | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	if len(mentionedUsers) > 0 { | 	if len(mentionedUsers) > 0 { | ||||||
| 		if len(displaySubtitle) > 0 { | 		if len(displaySubtitle) > 0 { | ||||||
| @@ -230,16 +236,23 @@ func NotifyMessageEvent(members []models.ChannelMember, event models.Event) { | |||||||
| 			Int("count", len(mentionedUsers)). | 			Int("count", len(mentionedUsers)). | ||||||
| 			Msg("Notifying new event...") | 			Msg("Notifying new event...") | ||||||
|  |  | ||||||
| 		err := authkit.NotifyUserBatch( | 		for _, mentionedUser := range mentionedUsers { | ||||||
|  | 			replyToken, err := CreateReplyToken(event.ID, uint(mentionedUser)) | ||||||
|  | 			if err != nil { | ||||||
|  | 				log.Warn().Err(err).Msg("An error occurred when trying create reply token.") | ||||||
|  | 				continue | ||||||
|  | 			} | ||||||
|  | 			metadata["reply_token"] = replyToken | ||||||
|  | 			err = authkit.NotifyUser( | ||||||
| 				gap.Nx, | 				gap.Nx, | ||||||
| 			mentionedUsers, | 				mentionedUser, | ||||||
| 				pushkit.Notification{ | 				pushkit.Notification{ | ||||||
| 					Topic:    "messaging.message", | 					Topic:    "messaging.message", | ||||||
| 					Title:    displayTitle, | 					Title:    displayTitle, | ||||||
| 					Subtitle: displaySubtitle, | 					Subtitle: displaySubtitle, | ||||||
| 					Body:     displayText, | 					Body:     displayText, | ||||||
| 					Metadata: metadata, | 					Metadata: metadata, | ||||||
| 				Priority: 5, | 					Priority: 10, | ||||||
| 				}, | 				}, | ||||||
| 				true, | 				true, | ||||||
| 			) | 			) | ||||||
| @@ -247,6 +260,7 @@ func NotifyMessageEvent(members []models.ChannelMember, event models.Event) { | |||||||
| 				log.Warn().Err(err).Msg("An error occurred when trying notify user.") | 				log.Warn().Err(err).Msg("An error occurred when trying notify user.") | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
|  | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| func EditEvent(event models.Event) (models.Event, error) { | func EditEvent(event models.Event) (models.Event, error) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user