mirror of
https://github.com/aljazceru/signal-cli-rest-api.git
synced 2025-12-19 23:54:22 +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
|
// @Produce json
|
||||||
// @Success 200 {string} string "Image"
|
// @Success 200 {string} string "Image"
|
||||||
// @Param device_name query string true "Device Name"
|
// @Param device_name query string true "Device Name"
|
||||||
|
// @Param qrcode_version query int false "QRCode Version (defaults to 10)"
|
||||||
// @Failure 400 {object} Error
|
// @Failure 400 {object} Error
|
||||||
// @Router /v1/qrcodelink [get]
|
// @Router /v1/qrcodelink [get]
|
||||||
func (a *Api) GetQrCodeLink(c *gin.Context) {
|
func (a *Api) GetQrCodeLink(c *gin.Context) {
|
||||||
deviceName := c.Query("device_name")
|
deviceName := c.Query("device_name")
|
||||||
|
qrCodeVersion := c.Query("qrcode_version")
|
||||||
|
|
||||||
if deviceName == "" {
|
if deviceName == "" {
|
||||||
c.JSON(400, Error{Msg: "Please provide a name for the device"})
|
c.JSON(400, Error{Msg: "Please provide a name for the device"})
|
||||||
return
|
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 {
|
if err != nil {
|
||||||
c.JSON(400, Error{Msg: err.Error()})
|
c.JSON(400, Error{Msg: err.Error()})
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -935,7 +935,7 @@ func (s *SignalClient) DeleteGroup(number string, groupId string) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *SignalClient) GetQrCodeLink(deviceName string) ([]byte, error) {
|
func (s *SignalClient) GetQrCodeLink(deviceName string, qrCodeVersion int) ([]byte, error) {
|
||||||
if s.signalCliMode == JsonRpc {
|
if s.signalCliMode == JsonRpc {
|
||||||
return []byte{}, errors.New(endpointNotSupportedInJsonRpcMode)
|
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())
|
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 {
|
if err != nil {
|
||||||
return []byte{}, errors.New("Couldn't create QR code: " + err.Error())
|
return []byte{}, errors.New("Couldn't create QR code: " + err.Error())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1026,6 +1026,12 @@ var doc = `{
|
|||||||
"name": "device_name",
|
"name": "device_name",
|
||||||
"in": "query",
|
"in": "query",
|
||||||
"required": true
|
"required": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"description": "QRCode Version (defaults to 10)",
|
||||||
|
"name": "qrcode_version",
|
||||||
|
"in": "query"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@@ -1160,6 +1166,12 @@ var doc = `{
|
|||||||
"description": "Specify whether stories should be ignored when receiving messages",
|
"description": "Specify whether stories should be ignored when receiving messages",
|
||||||
"name": "ignore_stories",
|
"name": "ignore_stories",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "Specify the maximum number of messages to receive (default: unlimited)",
|
||||||
|
"name": "max_messages",
|
||||||
|
"in": "query"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@@ -1773,6 +1785,9 @@ var doc = `{
|
|||||||
},
|
},
|
||||||
"sticker": {
|
"sticker": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
|
},
|
||||||
|
"text_mode": {
|
||||||
|
"type": "string"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1010,6 +1010,12 @@
|
|||||||
"name": "device_name",
|
"name": "device_name",
|
||||||
"in": "query",
|
"in": "query",
|
||||||
"required": true
|
"required": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"description": "QRCode Version (defaults to 10)",
|
||||||
|
"name": "qrcode_version",
|
||||||
|
"in": "query"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@@ -1144,6 +1150,12 @@
|
|||||||
"description": "Specify whether stories should be ignored when receiving messages",
|
"description": "Specify whether stories should be ignored when receiving messages",
|
||||||
"name": "ignore_stories",
|
"name": "ignore_stories",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"description": "Specify the maximum number of messages to receive (default: unlimited)",
|
||||||
|
"name": "max_messages",
|
||||||
|
"in": "query"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@@ -1757,6 +1769,9 @@
|
|||||||
},
|
},
|
||||||
"sticker": {
|
"sticker": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
|
},
|
||||||
|
"text_mode": {
|
||||||
|
"type": "string"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -153,6 +153,8 @@ definitions:
|
|||||||
type: array
|
type: array
|
||||||
sticker:
|
sticker:
|
||||||
type: string
|
type: string
|
||||||
|
text_mode:
|
||||||
|
type: string
|
||||||
type: object
|
type: object
|
||||||
api.TrustIdentityRequest:
|
api.TrustIdentityRequest:
|
||||||
properties:
|
properties:
|
||||||
@@ -946,6 +948,10 @@ paths:
|
|||||||
name: device_name
|
name: device_name
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
- description: QRCode Version (defaults to 10)
|
||||||
|
in: query
|
||||||
|
name: qrcode_version
|
||||||
|
type: integer
|
||||||
produces:
|
produces:
|
||||||
- application/json
|
- application/json
|
||||||
responses:
|
responses:
|
||||||
@@ -1034,6 +1040,10 @@ paths:
|
|||||||
in: query
|
in: query
|
||||||
name: ignore_stories
|
name: ignore_stories
|
||||||
type: string
|
type: string
|
||||||
|
- description: 'Specify the maximum number of messages to receive (default: unlimited)'
|
||||||
|
in: query
|
||||||
|
name: max_messages
|
||||||
|
type: string
|
||||||
produces:
|
produces:
|
||||||
- application/json
|
- application/json
|
||||||
responses:
|
responses:
|
||||||
|
|||||||
Reference in New Issue
Block a user