mirror of
https://github.com/bbernhard/signal-cli-rest-api.git
synced 2026-07-30 01:19:22 +00:00
Use nested group member label structure
This commit is contained in:
parent
6f3c969eab
commit
fc9a90cb77
@ -119,11 +119,11 @@ e.g:
|
||||
|
||||
Updates the member label for the registered number in the given group. The group id can be obtained via the "List groups" REST call.
|
||||
|
||||
`curl -X PUT -H "Content-Type: application/json" -d '{"member_label": "<label>", "member_label_emoji": "<emoji>"}' 'http://127.0.0.1:8080/v1/groups/<number>/<group id>'`
|
||||
`curl -X PUT -H "Content-Type: application/json" -d '{"member_label": {"name": "<label>", "emoji": "<emoji>"}}' 'http://127.0.0.1:8080/v1/groups/<number>/<group id>'`
|
||||
|
||||
e.g:
|
||||
|
||||
`curl -X PUT -H "Content-Type: application/json" -d '{"member_label": "Dad", "member_label_emoji": "👨👧"}' 'http://127.0.0.1:8080/v1/groups/+431212131491291/<group id>'`
|
||||
`curl -X PUT -H "Content-Type: application/json" -d '{"member_label": {"name": "Dad", "emoji": "👨👧"}}' 'http://127.0.0.1:8080/v1/groups/+431212131491291/<group id>'`
|
||||
|
||||
- Delete a group
|
||||
|
||||
|
||||
@ -47,15 +47,19 @@ type CreateGroupRequest struct {
|
||||
ExpirationTime *int `json:"expiration_time,omitempty"`
|
||||
}
|
||||
|
||||
type MemberLabel struct {
|
||||
Name *string `json:"name,omitempty"`
|
||||
Emoji *string `json:"emoji,omitempty"`
|
||||
}
|
||||
|
||||
type UpdateGroupRequest struct {
|
||||
Base64Avatar *string `json:"base64_avatar,omitempty"`
|
||||
Description *string `json:"description,omitempty"`
|
||||
Name *string `json:"name,omitempty"`
|
||||
MemberLabel *string `json:"member_label,omitempty"`
|
||||
MemberLabelEmoji *string `json:"member_label_emoji,omitempty"`
|
||||
ExpirationTime *int `json:"expiration_time,omitempty"`
|
||||
GroupLinkState *string `json:"group_link,omitempty" enums:"disabled,enabled,enabled-with-approval"`
|
||||
Permissions *ds.GroupPermissions `json:"permissions,omitempty"`
|
||||
Base64Avatar *string `json:"base64_avatar,omitempty"`
|
||||
Description *string `json:"description,omitempty"`
|
||||
Name *string `json:"name,omitempty"`
|
||||
MemberLabel *MemberLabel `json:"member_label,omitempty"`
|
||||
ExpirationTime *int `json:"expiration_time,omitempty"`
|
||||
GroupLinkState *string `json:"group_link,omitempty" enums:"disabled,enabled,enabled-with-approval"`
|
||||
Permissions *ds.GroupPermissions `json:"permissions,omitempty"`
|
||||
}
|
||||
|
||||
type PinMessageInGroupRequest struct {
|
||||
@ -1861,8 +1865,15 @@ func (a *Api) UpdateGroup(c *gin.Context) {
|
||||
}
|
||||
}
|
||||
|
||||
var memberLabel *string
|
||||
var memberLabelEmoji *string
|
||||
if req.MemberLabel != nil {
|
||||
memberLabel = req.MemberLabel.Name
|
||||
memberLabelEmoji = req.MemberLabel.Emoji
|
||||
}
|
||||
|
||||
err = a.signalClient.UpdateGroup(number, internalGroupId, req.Base64Avatar, req.Description, req.Name, req.ExpirationTime, groupLinkState,
|
||||
editGroupPermission, addMembersPermission, sendMessagesPermission, req.MemberLabel, req.MemberLabelEmoji)
|
||||
editGroupPermission, addMembersPermission, sendMessagesPermission, memberLabel, memberLabelEmoji)
|
||||
if err != nil {
|
||||
c.JSON(400, Error{Msg: err.Error()})
|
||||
return
|
||||
|
||||
27
src/api/api_test.go
Normal file
27
src/api/api_test.go
Normal file
@ -0,0 +1,27 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestUpdateGroupRequestMemberLabel(t *testing.T) {
|
||||
var req UpdateGroupRequest
|
||||
rawRequest := []byte(`{"member_label":{"name":"Dad","emoji":"\ud83d\udc4b"}}`)
|
||||
|
||||
if err := json.Unmarshal(rawRequest, &req); err != nil {
|
||||
t.Fatalf("json.Unmarshal() error: %v", err)
|
||||
}
|
||||
|
||||
if req.MemberLabel == nil {
|
||||
t.Fatal("member_label got nil, want value")
|
||||
}
|
||||
|
||||
if req.MemberLabel.Name == nil || *req.MemberLabel.Name != "Dad" {
|
||||
t.Fatalf("member_label.name got %v, want Dad", req.MemberLabel.Name)
|
||||
}
|
||||
|
||||
if req.MemberLabel.Emoji == nil || *req.MemberLabel.Emoji != "\U0001F44B" {
|
||||
t.Fatalf("member_label.emoji got %v, want \\U0001F44B", req.MemberLabel.Emoji)
|
||||
}
|
||||
}
|
||||
@ -219,6 +219,17 @@ const docTemplate = `{
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"api.MemberLabel": {
|
||||
"properties": {
|
||||
"emoji": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"api.PinMessageInGroupRequest": {
|
||||
"properties": {
|
||||
"duration": {
|
||||
@ -655,10 +666,7 @@ const docTemplate = `{
|
||||
"type": "string"
|
||||
},
|
||||
"member_label": {
|
||||
"type": "string"
|
||||
},
|
||||
"member_label_emoji": {
|
||||
"type": "string"
|
||||
"$ref": "#/definitions/api.MemberLabel"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
|
||||
@ -214,6 +214,17 @@
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"api.MemberLabel": {
|
||||
"properties": {
|
||||
"emoji": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"api.PinMessageInGroupRequest": {
|
||||
"properties": {
|
||||
"duration": {
|
||||
@ -650,10 +661,7 @@
|
||||
"type": "string"
|
||||
},
|
||||
"member_label": {
|
||||
"type": "string"
|
||||
},
|
||||
"member_label_emoji": {
|
||||
"type": "string"
|
||||
"$ref": "#/definitions/api.MemberLabel"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
@ -5115,4 +5123,4 @@
|
||||
"name": "Sticker Packs"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user