mirror of
https://github.com/bbernhard/signal-cli-rest-api.git
synced 2026-05-20 13:44:17 +00:00
made it possible to modify link state in groups PUT endpoint
This commit is contained in:
parent
cde86f471b
commit
e9e8731f6b
@ -57,6 +57,7 @@ type UpdateGroupRequest struct {
|
|||||||
Description *string `json:"description"`
|
Description *string `json:"description"`
|
||||||
Name *string `json:"name"`
|
Name *string `json:"name"`
|
||||||
ExpirationTime *int `json:"expiration_time"`
|
ExpirationTime *int `json:"expiration_time"`
|
||||||
|
GroupLinkState *string `json:"group_link" enums:"disabled,enabled,enabled-with-approval"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ChangeGroupMembersRequest struct {
|
type ChangeGroupMembersRequest struct {
|
||||||
@ -1521,7 +1522,18 @@ func (a *Api) UpdateGroup(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
err = a.signalClient.UpdateGroup(number, internalGroupId, req.Base64Avatar, req.Description, req.Name, req.ExpirationTime)
|
var groupLinkState *client.GroupLinkState = nil
|
||||||
|
if req.GroupLinkState != nil {
|
||||||
|
if !utils.StringInSlice(*req.GroupLinkState, []string{"enabled", "enabled-with-approval", "disabled"}) {
|
||||||
|
c.JSON(400, Error{Msg: "Invalid group link provided - only 'enabled', 'enabled-with-approval' and 'disabled' allowed!"})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var gLinkState client.GroupLinkState
|
||||||
|
gLinkStateVal := gLinkState.FromString(*req.GroupLinkState)
|
||||||
|
groupLinkState = &gLinkStateVal
|
||||||
|
}
|
||||||
|
|
||||||
|
err = a.signalClient.UpdateGroup(number, internalGroupId, req.Base64Avatar, req.Description, req.Name, req.ExpirationTime, groupLinkState)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.JSON(400, Error{Msg: err.Error()})
|
c.JSON(400, Error{Msg: err.Error()})
|
||||||
return
|
return
|
||||||
|
|||||||
@ -1745,7 +1745,8 @@ func (s *SignalClient) QuitGroup(number string, groupId string) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *SignalClient) UpdateGroup(number string, groupId string, base64Avatar *string, groupDescription *string, groupName *string, expirationTime *int) error {
|
func (s *SignalClient) UpdateGroup(number string, groupId string, base64Avatar *string, groupDescription *string,
|
||||||
|
groupName *string, expirationTime *int, groupLinkState *GroupLinkState) error {
|
||||||
var err error
|
var err error
|
||||||
var avatarTmpPath string = ""
|
var avatarTmpPath string = ""
|
||||||
if base64Avatar != nil {
|
if base64Avatar != nil {
|
||||||
@ -1790,6 +1791,7 @@ func (s *SignalClient) UpdateGroup(number string, groupId string, base64Avatar *
|
|||||||
Description *string `json:"description,omitempty"`
|
Description *string `json:"description,omitempty"`
|
||||||
Name *string `json:"name,omitempty"`
|
Name *string `json:"name,omitempty"`
|
||||||
Expiration int `json:"expiration,omitempty"`
|
Expiration int `json:"expiration,omitempty"`
|
||||||
|
Link string `json:"link,omitempty"`
|
||||||
}
|
}
|
||||||
request := Request{GroupId: groupId}
|
request := Request{GroupId: groupId}
|
||||||
|
|
||||||
@ -1804,6 +1806,10 @@ func (s *SignalClient) UpdateGroup(number string, groupId string, base64Avatar *
|
|||||||
request.Expiration = *expirationTime
|
request.Expiration = *expirationTime
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if groupLinkState != nil {
|
||||||
|
request.Link = (*groupLinkState).String()
|
||||||
|
}
|
||||||
|
|
||||||
jsonRpc2Client, err := s.getJsonRpc2Client()
|
jsonRpc2Client, err := s.getJsonRpc2Client()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -1827,6 +1833,10 @@ func (s *SignalClient) UpdateGroup(number string, groupId string, base64Avatar *
|
|||||||
cmd = append(cmd, []string{"--expiration", strconv.Itoa(*expirationTime)}...)
|
cmd = append(cmd, []string{"--expiration", strconv.Itoa(*expirationTime)}...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if groupLinkState != nil {
|
||||||
|
cmd = append(cmd, []string{"--link", (*groupLinkState).String()}...)
|
||||||
|
}
|
||||||
|
|
||||||
_, err = s.cliClient.Execute(true, cmd, "")
|
_, err = s.cliClient.Execute(true, cmd, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user