Fix meeting list and media search issues

This commit is contained in:
richjohnrambo
2026-08-29 09:46:50 +08:00
parent 78e6308174
commit 42916b85aa
7 changed files with 255 additions and 3 deletions
+26
View File
@@ -1838,6 +1838,10 @@ func serveIMOrganizationSearch(wrt http.ResponseWriter, req *http.Request) {
}
func serveIMMeetings(wrt http.ResponseWriter, req *http.Request) {
if req.Method == http.MethodGet {
serveIMMeetingList(wrt, req)
return
}
if req.Method != http.MethodPost {
writeIMError(wrt, req, http.StatusMethodNotAllowed, 30002, imReasonMethodNotAllowed, "method not allowed", nil)
return
@@ -1905,6 +1909,28 @@ func serveIMMeetings(wrt http.ResponseWriter, req *http.Request) {
writeIMSuccess(wrt, req, meetingPayload(meeting, principal.Uid))
}
func serveIMMeetingList(wrt http.ResponseWriter, req *http.Request) {
principal, ok := authenticateIMHTTPBearer(wrt, req)
if !ok {
return
}
limit := parseIMLimit(req.URL.Query().Get("limit"), 20, 100)
meetings, nextCursor, err := store.Meetings.List(principal.TenantID, principal.Uid, strings.TrimSpace(req.URL.Query().Get("cursor")), limit)
if err != nil {
writeIMRelationError(wrt, req, err)
return
}
items := make([]map[string]any, 0, len(meetings))
for i := range meetings {
items = append(items, meetingPayload(&meetings[i], principal.Uid))
}
writeIMSuccess(wrt, req, map[string]any{
"items": items,
"next_cursor": nextCursor,
"has_more": nextCursor != "",
})
}
func serveIMMeetingResource(wrt http.ResponseWriter, req *http.Request) {
meetingID, tail, ok := meetingResourcePath(req.URL.Path)
if !ok {