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