mirror of
https://github.com/aljazceru/signal-cli-rest-api.git
synced 2025-12-19 15:44:28 +01:00
added pin verification + fixed bug in swagger documentation
This commit is contained in:
@@ -32,6 +32,10 @@ type RegisterNumberRequest struct {
|
||||
UseVoice bool `json:"use_voice"`
|
||||
}
|
||||
|
||||
type VerifyNumberSettings struct {
|
||||
Pin string `json:"pin"`
|
||||
}
|
||||
|
||||
type SendMessageV1 struct {
|
||||
Number string `json:"number"`
|
||||
Recipients []string `json:"recipients"`
|
||||
@@ -347,12 +351,27 @@ func (a *Api) RegisterNumber(c *gin.Context) {
|
||||
// @Success 201 {string} string "OK"
|
||||
// @Failure 400 {object} Error
|
||||
// @Param number path string true "Registered Phone Number"
|
||||
// @Param data body VerifyNumberSettings true "Additional Settings"
|
||||
// @Param token path string true "Verification Code"
|
||||
// @Router /v1/register/{number}/verify/{token} [post]
|
||||
func (a *Api) VerifyRegisteredNumber(c *gin.Context) {
|
||||
number := c.Param("number")
|
||||
token := c.Param("token")
|
||||
|
||||
pin := ""
|
||||
var req VerifyNumberSettings
|
||||
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 verify number: ", err.Error())
|
||||
c.JSON(400, Error{Msg: "Couldn't process request - invalid request."})
|
||||
return
|
||||
}
|
||||
pin = req.Pin
|
||||
}
|
||||
|
||||
if number == "" {
|
||||
c.JSON(400, gin.H{"error": "Please provide a number"})
|
||||
return
|
||||
@@ -363,7 +382,13 @@ func (a *Api) VerifyRegisteredNumber(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
_, err := runSignalCli(true, []string{"--config", a.signalCliConfig, "-u", number, "verify", token})
|
||||
cmd := []string{"--config", a.signalCliConfig, "-u", number, "verify", token}
|
||||
if pin != "" {
|
||||
cmd = append(cmd, "--pin")
|
||||
cmd = append(cmd, pin)
|
||||
}
|
||||
|
||||
_, err := runSignalCli(true, cmd)
|
||||
if err != nil {
|
||||
c.JSON(400, gin.H{"error": err.Error()})
|
||||
return
|
||||
@@ -378,9 +403,8 @@ func (a *Api) VerifyRegisteredNumber(c *gin.Context) {
|
||||
// @Produce json
|
||||
// @Success 201 {string} string "OK"
|
||||
// @Failure 400 {object} Error
|
||||
// @Param number path string true "Registered Phone Number"
|
||||
// @Param data body SendMessageV1 true "Input Data"
|
||||
// @Router /v1/send/{number} [post]
|
||||
// @Router /v1/send/ [post]
|
||||
// @Deprecated
|
||||
func (a *Api) Send(c *gin.Context) {
|
||||
|
||||
@@ -406,9 +430,8 @@ func (a *Api) Send(c *gin.Context) {
|
||||
// @Produce json
|
||||
// @Success 201 {string} string "OK"
|
||||
// @Failure 400 {object} Error
|
||||
// @Param number path string true "Registered Phone Number"
|
||||
// @Param data body SendMessageV2 true "Input Data"
|
||||
// @Router /v2/send/{number} [post]
|
||||
// @Router /v2/send/ [post]
|
||||
func (a *Api) SendV2(c *gin.Context) {
|
||||
var req SendMessageV2
|
||||
err := c.BindJSON(&req)
|
||||
|
||||
@@ -282,6 +282,15 @@ var doc = `{
|
||||
"in": "path",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"description": "Additional Settings",
|
||||
"name": "data",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/api.VerifyNumberSettings"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Verification Code",
|
||||
@@ -306,7 +315,7 @@ var doc = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"/v1/send/{number}": {
|
||||
"/v1/send/": {
|
||||
"post": {
|
||||
"description": "Send a signal message",
|
||||
"consumes": [
|
||||
@@ -321,13 +330,6 @@ var doc = `{
|
||||
"summary": "Send a signal message.",
|
||||
"deprecated": true,
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Registered Phone Number",
|
||||
"name": "number",
|
||||
"in": "path",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"description": "Input Data",
|
||||
"name": "data",
|
||||
@@ -354,7 +356,7 @@ var doc = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"/v2/send/{number}": {
|
||||
"/v2/send/": {
|
||||
"post": {
|
||||
"description": "Send a signal message",
|
||||
"consumes": [
|
||||
@@ -368,13 +370,6 @@ var doc = `{
|
||||
],
|
||||
"summary": "Send a signal message.",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Registered Phone Number",
|
||||
"name": "number",
|
||||
"in": "path",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"description": "Input Data",
|
||||
"name": "data",
|
||||
@@ -504,6 +499,14 @@ var doc = `{
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"api.VerifyNumberSettings": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"pin": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tags": [
|
||||
|
||||
@@ -267,6 +267,15 @@
|
||||
"in": "path",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"description": "Additional Settings",
|
||||
"name": "data",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/api.VerifyNumberSettings"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Verification Code",
|
||||
@@ -291,7 +300,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/v1/send/{number}": {
|
||||
"/v1/send/": {
|
||||
"post": {
|
||||
"description": "Send a signal message",
|
||||
"consumes": [
|
||||
@@ -306,13 +315,6 @@
|
||||
"summary": "Send a signal message.",
|
||||
"deprecated": true,
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Registered Phone Number",
|
||||
"name": "number",
|
||||
"in": "path",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"description": "Input Data",
|
||||
"name": "data",
|
||||
@@ -339,7 +341,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/v2/send/{number}": {
|
||||
"/v2/send/": {
|
||||
"post": {
|
||||
"description": "Send a signal message",
|
||||
"consumes": [
|
||||
@@ -353,13 +355,6 @@
|
||||
],
|
||||
"summary": "Send a signal message.",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Registered Phone Number",
|
||||
"name": "number",
|
||||
"in": "path",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"description": "Input Data",
|
||||
"name": "data",
|
||||
@@ -489,6 +484,14 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"api.VerifyNumberSettings": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"pin": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tags": [
|
||||
|
||||
@@ -66,6 +66,11 @@ definitions:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
api.VerifyNumberSettings:
|
||||
properties:
|
||||
pin:
|
||||
type: string
|
||||
type: object
|
||||
host: 127.0.0.1:8080
|
||||
info:
|
||||
contact: {}
|
||||
@@ -241,6 +246,12 @@ paths:
|
||||
name: number
|
||||
required: true
|
||||
type: string
|
||||
- description: Additional Settings
|
||||
in: body
|
||||
name: data
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/api.VerifyNumberSettings'
|
||||
- description: Verification Code
|
||||
in: path
|
||||
name: token
|
||||
@@ -260,18 +271,13 @@ paths:
|
||||
summary: Verify a registered phone number.
|
||||
tags:
|
||||
- Devices
|
||||
/v1/send/{number}:
|
||||
/v1/send/:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
deprecated: true
|
||||
description: Send a signal message
|
||||
parameters:
|
||||
- description: Registered Phone Number
|
||||
in: path
|
||||
name: number
|
||||
required: true
|
||||
type: string
|
||||
- description: Input Data
|
||||
in: body
|
||||
name: data
|
||||
@@ -292,17 +298,12 @@ paths:
|
||||
summary: Send a signal message.
|
||||
tags:
|
||||
- Messages
|
||||
/v2/send/{number}:
|
||||
/v2/send/:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
description: Send a signal message
|
||||
parameters:
|
||||
- description: Registered Phone Number
|
||||
in: path
|
||||
name: number
|
||||
required: true
|
||||
type: string
|
||||
- description: Input Data
|
||||
in: body
|
||||
name: data
|
||||
|
||||
Reference in New Issue
Block a user