add hub get channels and users
This commit is contained in:
@@ -274,7 +274,7 @@ func HandleGetChannels(response http.ResponseWriter, request *http.Request) {
|
||||
return
|
||||
}
|
||||
ctx := request.Context()
|
||||
user, hubUser, hub, err := getHubUserIfValidWithResponseOnFail(ctx, response, request)
|
||||
_, _, hub, err := getHubUserIfValidWithResponseOnFail(ctx, response, request)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
@@ -286,6 +286,51 @@ func HandleGetChannels(response http.ResponseWriter, request *http.Request) {
|
||||
}
|
||||
channelMap[uint8(i)] = channel
|
||||
}
|
||||
hub.Mu.Unlock()
|
||||
if len(channelMap) == 0 {
|
||||
response.WriteHeader(http.StatusNoContent)
|
||||
return
|
||||
}
|
||||
|
||||
channels, err := json.Marshal(channelMap)
|
||||
if err != nil {
|
||||
http.Error(response, "json error", http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
response.WriteHeader(http.StatusOK)
|
||||
response.Write(channels)
|
||||
}
|
||||
|
||||
func HandleGetHubUsers(response http.ResponseWriter, request *http.Request) {
|
||||
if !validCheckWithResponseOnFail(response, request, normal) {
|
||||
return
|
||||
}
|
||||
ctx := request.Context()
|
||||
_, requestor, hub, err := getHubUserIfValidWithResponseOnFail(ctx, response, request)
|
||||
if {
|
||||
return
|
||||
}
|
||||
users := make([]*types.HubUser, 0)
|
||||
hub.Mu.RLock()
|
||||
for userId, user := range hub.Users {
|
||||
if userId == requestor.OriginalId {
|
||||
continue
|
||||
}
|
||||
users = append(users, user)
|
||||
}
|
||||
hub.Mu.Unlock()
|
||||
if len(users) == 0 {
|
||||
response.WriteHeader(http.StatusNoContent)
|
||||
return
|
||||
}
|
||||
|
||||
channels, err := json.Marshal(users)
|
||||
if err != nil {
|
||||
http.Error(response, "json error", http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
response.WriteHeader(http.StatusOK)
|
||||
response.Write(channels)
|
||||
}
|
||||
|
||||
func hubPermissionContext(response http.ResponseWriter, request *http.Request, rt bodyLimit, needed types.Permissions) (*types.HubUser, *types.Hub, context.Context, uint8, bool) {
|
||||
|
||||
Reference in New Issue
Block a user