feat: switch client API branding to MeetingIM

This commit is contained in:
richjohnrambo
2026-08-31 01:22:53 +08:00
parent c6a243ee59
commit 9f647de4d0
48 changed files with 717 additions and 271 deletions
+18 -18
View File
@@ -110,7 +110,7 @@ func withIMHTTPProtocol(prefix string, next http.Handler) http.Handler {
wrt.Header().Set("X-Request-ID", requestID)
wrt.Header().Set("X-IM-Schema", "1")
if valid, _ := checkAPIKey(strings.TrimSpace(req.Header.Get("X-Tinode-APIKey"))); !valid {
if valid, _ := checkAPIKey(strings.TrimSpace(getAPIKey(req))); !valid {
writeIMError(wrt, req, http.StatusForbidden, 30003, imReasonAPIKeyRequired, "valid API key required", nil)
return
}
@@ -7283,24 +7283,24 @@ func meetingPayloadWithUserSummaries(meeting *types.Meeting, viewer types.Uid, u
startAt := meeting.StartAt.UTC()
endAt := meeting.EndAt.UTC()
data := map[string]any{
"meeting_id": meeting.MeetingID,
"title": meeting.Title,
"organizer_id": meeting.OrganizerID.UserId(),
"organizer": organizer,
"start_at": startAt.Format(time.RFC3339Nano),
"end_at": endAt.Format(time.RFC3339Nano),
"meeting_time": meetingTimeRange(startAt, endAt),
"time_range": meetingTimeRange(startAt, endAt),
"location": meeting.Location,
"state": meeting.State,
"reminder_minutes": meeting.ReminderMinutes,
"version": meeting.Version,
"participants": participants,
"meeting_id": meeting.MeetingID,
"title": meeting.Title,
"organizer_id": meeting.OrganizerID.UserId(),
"organizer": organizer,
"start_at": startAt.Format(time.RFC3339Nano),
"end_at": endAt.Format(time.RFC3339Nano),
"meeting_time": meetingTimeRange(startAt, endAt),
"time_range": meetingTimeRange(startAt, endAt),
"location": meeting.Location,
"state": meeting.State,
"reminder_minutes": meeting.ReminderMinutes,
"version": meeting.Version,
"participants": participants,
"participant_count": len(participants),
"participant_names": meetingParticipantNames(participants),
"permissions": meetingPermissionsPayload(meeting, viewer),
"created_at": meeting.CreatedAt.UTC().Format(time.RFC3339Nano),
"updated_at": meeting.UpdatedAt.UTC().Format(time.RFC3339Nano),
"permissions": meetingPermissionsPayload(meeting, viewer),
"created_at": meeting.CreatedAt.UTC().Format(time.RFC3339Nano),
"updated_at": meeting.UpdatedAt.UTC().Format(time.RFC3339Nano),
}
if displayName, ok := organizer["display_name"]; ok {
data["organizer_display_name"] = displayName
@@ -7681,7 +7681,7 @@ func imCanViewLastSeen(tenantID types.TenantID, viewer, target types.Uid) bool {
if viewer == target {
return true
}
// Legacy deployments without the product privacy stores retain Tinode's
// Legacy deployments without the product privacy stores retain MeetingIM's
// original presence behavior.
if store.Profiles == nil || store.Relations == nil {
return true