diff --git a/go-socket b/go-socket index 86c133d..7f7cd1b 100755 Binary files a/go-socket and b/go-socket differ diff --git a/http.go b/http.go index c253933..d6df415 100644 --- a/http.go +++ b/http.go @@ -317,7 +317,7 @@ func HttpHandleUserMessage(response http.ResponseWriter, request *http.Request) response.WriteHeader(http.StatusAccepted) } -func HttpHandleUserGetMessages(response http.ResponseWriter, request *http.Request) { +func HttpHandleUserGetConnectionMessages(response http.ResponseWriter, request *http.Request) { if !isMethodAllowed(&response, request) { return } diff --git a/machine-client/clientTest.py b/machine-client/clientTest.py index 023cc89..b7e5287 100644 --- a/machine-client/clientTest.py +++ b/machine-client/clientTest.py @@ -88,7 +88,7 @@ def cmd_history(args): data["messages"] = args[1] if len(args) > 2: data["before"] = args[2] - r = requests.post(f"{BASE_URL}/messages", data=data) + r = requests.post(f"{BASE_URL}/get/connection/messages", data=data) if r.ok: msgs = r.json() or [] if not msgs: @@ -102,18 +102,29 @@ def cmd_connections(args): if not token: print("not logged in") return - r = post("/connections", token=token) + r = post("/get/connections", token=token) if r.ok: for c in (r.json() or {}).values(): print(f" {c['id']} requestor={c['requestorId']} recipient={c['recipientId']} state={c['state']}") else: print(f"error: {r.text}") +def cmd_delconnection(args): + if not token: + print("not logged in") + return + if not args: + print("usage: /delconnection ") + return + r = post("/del/connection", token=token, connectionid=args[0]) + print("deleted" if r.ok else f"error: {r.text}") + COMMANDS = { - "/login": cmd_login, - "/send": cmd_send, - "/history": cmd_history, - "/connections": cmd_connections, + "/login": cmd_login, + "/send": cmd_send, + "/history": cmd_history, + "/connections": cmd_connections, + "/delconnection": cmd_delconnection, } HELP = """ @@ -121,6 +132,7 @@ HELP = """ /connections – list your connections /send – send a DM /history [count] [before] – fetch message history + /delconnection – delete a connection """ # ── websocket ───────────────────────────────────────────────────────────────── diff --git a/machine-client/index.html b/machine-client/index.html index 0896579..0b62d7e 100644 --- a/machine-client/index.html +++ b/machine-client/index.html @@ -82,6 +82,8 @@ + + @@ -236,6 +238,24 @@ ], submit: () => httpPost('/del/group', { token:'dg-token', groupid:'dg-groupid' }) }, + 'del-connection': { + title: 'POST /del/connection — delete a connection', + fields: [ + { id: 'dc-token', label: 'token', ph: '' }, + { id: 'dc-connectionid', label: 'connectionid', ph: 'UUID' }, + ], + submit: () => httpPost('/del/connection', { token:'dc-token', connectionid:'dc-connectionid' }) + }, + 'get-connection-messages': { + title: 'POST /get/connection/messages — fetch message history', + fields: [ + { id: 'gcm-token', label: 'token', ph: '' }, + { id: 'gcm-connectionid', label: 'connectionid', ph: 'UUID' }, + { id: 'gcm-messages', label: 'messages', ph: 'count (optional)' }, + { id: 'gcm-before', label: 'before', ph: 'RFC3339 (optional)', hint: 'e.g. 2025-01-01T00:00:00Z' }, + ], + submit: () => httpPost('/get/connection/messages', { token:'gcm-token', connectionid:'gcm-connectionid', messages:'gcm-messages', before:'gcm-before' }) + }, 'msg-user': { title: 'POST /msg/user — send direct message to user', fields: [ diff --git a/main.go b/main.go index 4cb770c..c63291c 100644 --- a/main.go +++ b/main.go @@ -25,7 +25,6 @@ func main() { http.HandleFunc("/mod/user/appearence", withCORS(HttpHandleUserModifyAppearance)) http.HandleFunc("/mod/user/about", withCORS(HttpHandleUserModifyAbout)) http.HandleFunc("/mod/connection/accept", withCORS(HttpHandleUserElevateConnection)) - http.HandleFunc("/mod/connection/delete", withCORS(HttpHandleUserDeleteConnection)) http.HandleFunc("/mod/group/addusers", withCORS(HttpHandleGroupAddUsers)) http.HandleFunc("/mod/group/removeusers", withCORS(HttpHandleGroupRemoveUser)) http.HandleFunc("/mod/group/color", withCORS(HttpHandleGroupChangeColor)) @@ -33,9 +32,11 @@ func main() { http.HandleFunc("/get/groups", withCORS(HttpHandleGroupsGetWithoutMembers)) http.HandleFunc("/get/connections", withCORS(HttpHandleUserGetConnections)) - + http.HandleFunc("/get/connection/messages", withCORS(HttpHandleUserGetConnectionMessages)) http.HandleFunc("/get/group/members", withCORS(HttpHandleGroupMembersGet)) + http.HandleFunc("/del/group", withCORS(HttpHandleGroupDelete)) + http.HandleFunc("/del/connection", withCORS(HttpHandleUserDeleteConnection)) http.HandleFunc("/msg/user", withCORS(HttpHandleUserMessage)) http.HandleFunc("/msg/group", withCORS(HttpHandleGroupMessage))