Fix meeting list and media search issues
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user