mirror of
https://github.com/bbernhard/signal-cli-rest-api.git
synced 2026-05-25 14:34:22 +00:00
parent
8e449c5d68
commit
2c3f3a1c3d
10
README.md
10
README.md
@ -37,7 +37,15 @@ Sample REST API calls:
|
|||||||
|
|
||||||
```curl -X POST -H "Content-Type: application/json" 'http://127.0.0.1:8080/v1/register/+431212131491291'```
|
```curl -X POST -H "Content-Type: application/json" 'http://127.0.0.1:8080/v1/register/+431212131491291'```
|
||||||
|
|
||||||
* Verify the number using the code received via SMS
|
* Register a number (with voice verification)
|
||||||
|
|
||||||
|
```curl -X POST -H "Content-Type: application/json" --data '{"use_voice": true}' 'http://127.0.0.1:8080/v1/register/<number>'```
|
||||||
|
|
||||||
|
e.g:
|
||||||
|
|
||||||
|
```curl -X POST -H "Content-Type: application/json" --data '{"use_voice": true}' 'http://127.0.0.1:8080/v1/register/+431212131491291'```
|
||||||
|
|
||||||
|
* Verify the number using the code received via SMS/voice
|
||||||
|
|
||||||
```curl -X POST -H "Content-Type: application/json" 'http://127.0.0.1:8080/v1/register/<number>/verify/<verification code>'```
|
```curl -X POST -H "Content-Type: application/json" 'http://127.0.0.1:8080/v1/register/<number>/verify/<verification code>'```
|
||||||
|
|
||||||
|
|||||||
29
src/main.go
29
src/main.go
@ -12,7 +12,7 @@ import (
|
|||||||
"bytes"
|
"bytes"
|
||||||
"os"
|
"os"
|
||||||
"encoding/base64"
|
"encoding/base64"
|
||||||
//"strings"
|
"encoding/json"
|
||||||
)
|
)
|
||||||
|
|
||||||
func runSignalCli(args []string) error {
|
func runSignalCli(args []string) error {
|
||||||
@ -55,12 +55,37 @@ func main() {
|
|||||||
router.POST("/v1/register/:number", func(c *gin.Context) {
|
router.POST("/v1/register/:number", func(c *gin.Context) {
|
||||||
number := c.Param("number")
|
number := c.Param("number")
|
||||||
|
|
||||||
|
type Request struct{
|
||||||
|
UseVoice bool `json:"use_voice"`
|
||||||
|
}
|
||||||
|
|
||||||
|
var req Request
|
||||||
|
|
||||||
|
buf := new(bytes.Buffer)
|
||||||
|
buf.ReadFrom(c.Request.Body)
|
||||||
|
if buf.String() != "" {
|
||||||
|
err := json.Unmarshal(buf.Bytes(), &req)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Couldn't register number: ", err.Error())
|
||||||
|
c.JSON(400, "Couldn't process request - invalid request.")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
req.UseVoice = false
|
||||||
|
}
|
||||||
|
|
||||||
if number == "" {
|
if number == "" {
|
||||||
c.JSON(400, "Please provide a number")
|
c.JSON(400, "Please provide a number")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
err := runSignalCli([]string{"--config", *signalCliConfig, "-u", number, "register"})
|
command := []string{"--config", *signalCliConfig, "-u", number, "register"}
|
||||||
|
|
||||||
|
if req.UseVoice == true {
|
||||||
|
command = append(command, "--voice")
|
||||||
|
}
|
||||||
|
|
||||||
|
err := runSignalCli(command)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.JSON(400, err.Error())
|
c.JSON(400, err.Error())
|
||||||
return
|
return
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user