From 09f5b187e5cb77b64e1fab49beb5c49c446dbd71 Mon Sep 17 00:00:00 2001 From: Aleksandr Soloshenko Date: Tue, 19 Dec 2023 00:03:17 +0700 Subject: [PATCH] Added: `isHashed` field in external API --- api/requests.http | 2 +- internal/sms-gateway/services/messages.go | 1 + pkg/smsgateway/domain.go | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/api/requests.http b/api/requests.http index 2d922d2..0c6b7da 100644 --- a/api/requests.http +++ b/api/requests.http @@ -28,7 +28,7 @@ Authorization: Basic {{credentials}} } ### -GET {{baseUrl}}/api/3rdparty/v1/message/IyJP8Iexf55XFhYFHMjcs HTTP/1.1 +GET {{baseUrl}}/api/3rdparty/v1/message/-rnEaUz7KObDdokPrzKpM HTTP/1.1 Authorization: Basic {{credentials}} ### diff --git a/internal/sms-gateway/services/messages.go b/internal/sms-gateway/services/messages.go index 3b80237..c1daf7f 100644 --- a/internal/sms-gateway/services/messages.go +++ b/internal/sms-gateway/services/messages.go @@ -239,6 +239,7 @@ func modelToMessageState(input models.Message) smsgateway.MessageState { return smsgateway.MessageState{ ID: input.ExtID, State: smsgateway.ProcessState(input.State), + IsHashed: input.IsHashed, Recipients: slices.Map(input.Recipients, modelToRecipientState), } } diff --git a/pkg/smsgateway/domain.go b/pkg/smsgateway/domain.go index 5416304..0592297 100644 --- a/pkg/smsgateway/domain.go +++ b/pkg/smsgateway/domain.go @@ -24,12 +24,13 @@ type Message struct { type MessageState struct { ID string `json:"id,omitempty" validate:"omitempty,max=36" example:"PyDmBQZZXYmyxMwED8Fzy"` // Идентификатор State ProcessState `json:"state" validate:"required" example:"Pending"` // Состояние + IsHashed bool `json:"isHashed" validate:"required" example:"false"` // Хэшировано Recipients []RecipientState `json:"recipients" validate:"required,min=1,dive"` // Детализация состояния по получателям } // Детализация состояния type RecipientState struct { - PhoneNumber string `json:"phoneNumber" validate:"required,min=10" example:"79990001234"` // Номер телефона + PhoneNumber string `json:"phoneNumber" validate:"required,min=10" example:"79990001234"` // Номер телефона или первые 16 символов SHA256 State ProcessState `json:"state" validate:"required" example:"Pending"` // Состояние Error *string `json:"error,omitempty" example:"timeout"` // Ошибка }