Update protocol
This commit is contained in:
parent
2a9e942b78
commit
a2f2cf9c05
3 changed files with 72 additions and 4 deletions
|
@ -2,9 +2,9 @@
|
|||
"doc_version": "v1",
|
||||
"version": {
|
||||
"name": "signald",
|
||||
"version": "0.13.1+git2021-05-25re38e8fc8.8",
|
||||
"version": "0.13.1+git2021-06-11recc12048.24",
|
||||
"branch": "main",
|
||||
"commit": "e38e8fc88a659df3d65f2db5dfd5f19b1a181747"
|
||||
"commit": "ecc12048b02b601b21ad563dd3f48adb5f59f605"
|
||||
},
|
||||
"info": "This document describes objects that may be used when communicating with signald.",
|
||||
"types": {
|
||||
|
@ -165,7 +165,7 @@
|
|||
},
|
||||
"version": {
|
||||
"type": "String",
|
||||
"example": "\"0.13.1+git2021-05-25re38e8fc8.8\""
|
||||
"example": "\"0.13.1+git2021-06-11recc12048.24\""
|
||||
},
|
||||
"branch": {
|
||||
"type": "String",
|
||||
|
@ -173,7 +173,7 @@
|
|||
},
|
||||
"commit": {
|
||||
"type": "String",
|
||||
"example": "\"e38e8fc88a659df3d65f2db5dfd5f19b1a181747\""
|
||||
"example": "\"ecc12048b02b601b21ad563dd3f48adb5f59f605\""
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -1022,6 +1022,26 @@
|
|||
},
|
||||
"doc": "set this device's name. This will show up on the mobile device on the same account under "
|
||||
},
|
||||
"GetAllIdentities": {
|
||||
"fields": {
|
||||
"account": {
|
||||
"type": "String",
|
||||
"doc": "The account to interact with",
|
||||
"example": "\"+12024561414\"",
|
||||
"required": true
|
||||
}
|
||||
},
|
||||
"doc": "get all known identity keys"
|
||||
},
|
||||
"AllIdentityKeyList": {
|
||||
"fields": {
|
||||
"identity_keys": {
|
||||
"list": true,
|
||||
"type": "IdentityKeyList",
|
||||
"version": "v1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"JsonDataMessage": {
|
||||
"fields": {
|
||||
"timestamp": {
|
||||
|
@ -1975,6 +1995,11 @@
|
|||
"set_device_name": {
|
||||
"request": "SetDeviceNameRequest",
|
||||
"doc": "set this device's name. This will show up on the mobile device on the same account under "
|
||||
},
|
||||
"get_all_identities": {
|
||||
"request": "GetAllIdentities",
|
||||
"response": "AllIdentityKeyList",
|
||||
"doc": "get all known identity keys"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -225,6 +225,39 @@ func (r *GenerateLinkingURIRequest) Submit(conn *signald.Signald) (response Link
|
|||
|
||||
}
|
||||
|
||||
// Submit: get all known identity keys
|
||||
func (r *GetAllIdentities) Submit(conn *signald.Signald) (response AllIdentityKeyList, err error) {
|
||||
r.Version = "v1"
|
||||
r.Type = "get_all_identities"
|
||||
if r.ID == "" {
|
||||
r.ID = signald.GenerateID()
|
||||
}
|
||||
err = conn.RawRequest(r)
|
||||
if err != nil {
|
||||
log.Println("signald-go: error submitting request to signald")
|
||||
return
|
||||
}
|
||||
|
||||
responseChannel := conn.GetResponseListener(r.ID)
|
||||
defer conn.CloseResponseListener(r.ID)
|
||||
|
||||
rawResponse := <-responseChannel
|
||||
if rawResponse.Error != nil {
|
||||
err = fmt.Errorf("signald error: %s", string(rawResponse.Error))
|
||||
return
|
||||
}
|
||||
|
||||
err = json.Unmarshal(rawResponse.Data, &response)
|
||||
if err != nil {
|
||||
rawResponseJson, _ := rawResponse.Data.MarshalJSON()
|
||||
log.Println("signald-go: error unmarshalling response from signald of type", rawResponse.Type, string(rawResponseJson))
|
||||
return
|
||||
}
|
||||
|
||||
return response, nil
|
||||
|
||||
}
|
||||
|
||||
// Submit: Query the server for the latest state of a known group
|
||||
func (r *GetGroupRequest) Submit(conn *signald.Signald) (response JsonGroupV2Info, err error) {
|
||||
r.Version = "v1"
|
||||
|
|
|
@ -37,6 +37,10 @@ type AddLinkedDeviceRequest struct {
|
|||
Uri string `json:"uri,omitempty" yaml:"uri,omitempty"` // the tsdevice:/ uri provided (typically in qr code form) by the new device
|
||||
}
|
||||
|
||||
type AllIdentityKeyList struct {
|
||||
IdentityKeys []*IdentityKeyList `json:"identity_keys,omitempty" yaml:"identity_keys,omitempty"`
|
||||
}
|
||||
|
||||
// ApproveMembershipRequest: approve a request to join a group
|
||||
type ApproveMembershipRequest struct {
|
||||
Request
|
||||
|
@ -86,6 +90,12 @@ type GenerateLinkingURIRequest struct {
|
|||
Request
|
||||
}
|
||||
|
||||
// GetAllIdentities: get all known identity keys
|
||||
type GetAllIdentities struct {
|
||||
Request
|
||||
Account string `json:"account,omitempty" yaml:"account,omitempty"` // The account to interact with
|
||||
}
|
||||
|
||||
// GetGroupRequest: Query the server for the latest state of a known group
|
||||
type GetGroupRequest struct {
|
||||
Request
|
||||
|
|
Loading…
Reference in a new issue