mirror of
https://github.com/makayabou/asg-server.git
synced 2026-05-02 17:43:36 +02:00
Added: message posting
This commit is contained in:
parent
094c7f1181
commit
ea5acc3b38
2
go.mod
2
go.mod
@ -3,7 +3,7 @@ module bitbucket.org/capcom6/smsgatewaybackend
|
||||
go 1.18
|
||||
|
||||
require (
|
||||
bitbucket.org/soft-c/gohelpers v1.0.3-0.20221006072847-aee2524b5192
|
||||
bitbucket.org/soft-c/gohelpers v1.0.3-0.20221007032455-694a304f5909
|
||||
bitbucket.org/soft-c/gomicrobase v1.1.2-0.20221006080527-7eeddcd13770
|
||||
github.com/go-playground/validator/v10 v10.11.0
|
||||
github.com/gofiber/fiber/v2 v2.38.1
|
||||
|
||||
4
go.sum
4
go.sum
@ -1,5 +1,5 @@
|
||||
bitbucket.org/soft-c/gohelpers v1.0.3-0.20221006072847-aee2524b5192 h1:Mmoyu4csqhWcxCQc0qhSyd9dIt1BCxJ1OYOZA4D/S2U=
|
||||
bitbucket.org/soft-c/gohelpers v1.0.3-0.20221006072847-aee2524b5192/go.mod h1:AlZzQ1xftfS8rWSwjwTj3/MPMFFfgfNCP3b7xLoEeKM=
|
||||
bitbucket.org/soft-c/gohelpers v1.0.3-0.20221007032455-694a304f5909 h1:SwG69J+r+YOkcHnOUYFmsdvRyeEnvMs2KHTf+4L+4f4=
|
||||
bitbucket.org/soft-c/gohelpers v1.0.3-0.20221007032455-694a304f5909/go.mod h1:AlZzQ1xftfS8rWSwjwTj3/MPMFFfgfNCP3b7xLoEeKM=
|
||||
bitbucket.org/soft-c/gomicrobase v1.1.2-0.20221006080527-7eeddcd13770 h1:IAEOe5Uv9+zQEaOuT8eHJPUfS64Nc0I9ufq7afFXKUk=
|
||||
bitbucket.org/soft-c/gomicrobase v1.1.2-0.20221006080527-7eeddcd13770/go.mod h1:Pvv07ulIXfDG5us/ZG5Of7vvjY+tq3fkcrY/MmJUEiE=
|
||||
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||
|
||||
@ -3,6 +3,7 @@ package handlers
|
||||
import (
|
||||
"bitbucket.org/capcom6/smsgatewaybackend/internal/smsgateway/models"
|
||||
"bitbucket.org/capcom6/smsgatewaybackend/internal/smsgateway/services"
|
||||
"bitbucket.org/capcom6/smsgatewaybackend/pkg/smsgateway"
|
||||
microbase "bitbucket.org/soft-c/gomicrobase"
|
||||
"github.com/go-playground/validator/v10"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
@ -17,7 +18,18 @@ type thirdPartyHandler struct {
|
||||
}
|
||||
|
||||
func (h *thirdPartyHandler) postMessage(user models.User, c *fiber.Ctx) error {
|
||||
return fiber.ErrNotImplemented
|
||||
req := smsgateway.Message{}
|
||||
if err := h.BodyParserValidator(c, &req); err != nil {
|
||||
return fiber.NewError(fiber.StatusBadRequest, err.Error())
|
||||
}
|
||||
|
||||
if len(user.Devices) < 1 {
|
||||
return fiber.NewError(fiber.StatusBadRequest, "Нет ни одного устройтсва в учетной записи")
|
||||
}
|
||||
|
||||
device := user.Devices[0]
|
||||
|
||||
return h.messagesSvc.Enqeue(device.ID, req)
|
||||
}
|
||||
|
||||
func (h *thirdPartyHandler) authorize(handler func(models.User, *fiber.Ctx) error) fiber.Handler {
|
||||
|
||||
@ -1,9 +1,12 @@
|
||||
package services
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"bitbucket.org/capcom6/smsgatewaybackend/internal/smsgateway/models"
|
||||
"bitbucket.org/capcom6/smsgatewaybackend/internal/smsgateway/repositories"
|
||||
"bitbucket.org/capcom6/smsgatewaybackend/pkg/smsgateway"
|
||||
"bitbucket.org/soft-c/gohelpers/pkg/filters"
|
||||
"github.com/jaevor/go-nanoid"
|
||||
)
|
||||
|
||||
@ -44,6 +47,14 @@ func (s *MessagesService) UpdateState(deviceID string, message smsgateway.Messag
|
||||
}
|
||||
|
||||
func (s *MessagesService) Enqeue(deviceID string, message smsgateway.Message) error {
|
||||
for i, v := range message.PhoneNumbers {
|
||||
phone, err := filters.FilterPhone(v, false)
|
||||
if err != nil {
|
||||
return fmt.Errorf("некорректный номер телефона в строке %d: %w", i+1, err)
|
||||
}
|
||||
message.PhoneNumbers[i] = phone
|
||||
}
|
||||
|
||||
msg := models.Message{
|
||||
DeviceID: deviceID,
|
||||
ExtID: message.ID,
|
||||
|
||||
@ -12,7 +12,7 @@ const (
|
||||
type Message struct {
|
||||
ID string `json:"id,omitempty" validate:"omitempty,max=36"`
|
||||
Message string `json:"message" validate:"required,max=256"`
|
||||
PhoneNumbers []string `json:"phoneNumbers" validate:"required,min=1,max=100"`
|
||||
PhoneNumbers []string `json:"phoneNumbers" validate:"required,min=1,max=100,dive,required,min=10"`
|
||||
}
|
||||
|
||||
type MessageState struct {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user