mirror of
https://github.com/aljazceru/signal-cli-rest-api.git
synced 2025-12-19 15:44:28 +01:00
made qrcode version configureable via query parameter (e.g
?qrcode_version=11) see #402
This commit is contained in:
@@ -836,17 +836,29 @@ func (a *Api) DeleteGroup(c *gin.Context) {
|
||||
// @Produce json
|
||||
// @Success 200 {string} string "Image"
|
||||
// @Param device_name query string true "Device Name"
|
||||
// @Param qrcode_version query int false "QRCode Version (defaults to 10)"
|
||||
// @Failure 400 {object} Error
|
||||
// @Router /v1/qrcodelink [get]
|
||||
func (a *Api) GetQrCodeLink(c *gin.Context) {
|
||||
deviceName := c.Query("device_name")
|
||||
qrCodeVersion := c.Query("qrcode_version")
|
||||
|
||||
if deviceName == "" {
|
||||
c.JSON(400, Error{Msg: "Please provide a name for the device"})
|
||||
return
|
||||
}
|
||||
|
||||
png, err := a.signalClient.GetQrCodeLink(deviceName)
|
||||
qrCodeVersionInt := 10
|
||||
if qrCodeVersion != "" {
|
||||
var err error
|
||||
qrCodeVersionInt, err = strconv.Atoi(qrCodeVersion)
|
||||
if err != nil {
|
||||
c.JSON(400, Error{Msg: "The qrcode_version parameter needs to be an integer!"})
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
png, err := a.signalClient.GetQrCodeLink(deviceName, qrCodeVersionInt)
|
||||
if err != nil {
|
||||
c.JSON(400, Error{Msg: err.Error()})
|
||||
return
|
||||
|
||||
@@ -935,7 +935,7 @@ func (s *SignalClient) DeleteGroup(number string, groupId string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
func (s *SignalClient) GetQrCodeLink(deviceName string) ([]byte, error) {
|
||||
func (s *SignalClient) GetQrCodeLink(deviceName string, qrCodeVersion int) ([]byte, error) {
|
||||
if s.signalCliMode == JsonRpc {
|
||||
return []byte{}, errors.New(endpointNotSupportedInJsonRpcMode)
|
||||
}
|
||||
@@ -946,7 +946,7 @@ func (s *SignalClient) GetQrCodeLink(deviceName string) ([]byte, error) {
|
||||
return []byte{}, errors.New("Couldn't create QR code: " + err.Error())
|
||||
}
|
||||
|
||||
q, err := qrcode.NewWithForcedVersion(string(tsdeviceLink), 10, qrcode.Highest)
|
||||
q, err := qrcode.NewWithForcedVersion(string(tsdeviceLink), qrCodeVersion, qrcode.Highest)
|
||||
if err != nil {
|
||||
return []byte{}, errors.New("Couldn't create QR code: " + err.Error())
|
||||
}
|
||||
|
||||
@@ -1026,6 +1026,12 @@ var doc = `{
|
||||
"name": "device_name",
|
||||
"in": "query",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"description": "QRCode Version (defaults to 10)",
|
||||
"name": "qrcode_version",
|
||||
"in": "query"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
@@ -1160,6 +1166,12 @@ var doc = `{
|
||||
"description": "Specify whether stories should be ignored when receiving messages",
|
||||
"name": "ignore_stories",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Specify the maximum number of messages to receive (default: unlimited)",
|
||||
"name": "max_messages",
|
||||
"in": "query"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
@@ -1773,6 +1785,9 @@ var doc = `{
|
||||
},
|
||||
"sticker": {
|
||||
"type": "string"
|
||||
},
|
||||
"text_mode": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1010,6 +1010,12 @@
|
||||
"name": "device_name",
|
||||
"in": "query",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"description": "QRCode Version (defaults to 10)",
|
||||
"name": "qrcode_version",
|
||||
"in": "query"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
@@ -1144,6 +1150,12 @@
|
||||
"description": "Specify whether stories should be ignored when receiving messages",
|
||||
"name": "ignore_stories",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Specify the maximum number of messages to receive (default: unlimited)",
|
||||
"name": "max_messages",
|
||||
"in": "query"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
@@ -1757,6 +1769,9 @@
|
||||
},
|
||||
"sticker": {
|
||||
"type": "string"
|
||||
},
|
||||
"text_mode": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -153,6 +153,8 @@ definitions:
|
||||
type: array
|
||||
sticker:
|
||||
type: string
|
||||
text_mode:
|
||||
type: string
|
||||
type: object
|
||||
api.TrustIdentityRequest:
|
||||
properties:
|
||||
@@ -946,6 +948,10 @@ paths:
|
||||
name: device_name
|
||||
required: true
|
||||
type: string
|
||||
- description: QRCode Version (defaults to 10)
|
||||
in: query
|
||||
name: qrcode_version
|
||||
type: integer
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
@@ -1034,6 +1040,10 @@ paths:
|
||||
in: query
|
||||
name: ignore_stories
|
||||
type: string
|
||||
- description: 'Specify the maximum number of messages to receive (default: unlimited)'
|
||||
in: query
|
||||
name: max_messages
|
||||
type: string
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
|
||||
Reference in New Issue
Block a user