Fixed: allow up to 65535 symbols in message text

This commit is contained in:
Aleksandr Soloshenko 2023-12-09 22:57:07 +07:00
parent acfe8a00a8
commit 42206e09b9
6 changed files with 17 additions and 6 deletions

View File

@ -18,10 +18,10 @@ air:
air
db-upgrade:
goose up
go run ./cmd/$(project_name)/main.go db:migrate
db-upgrade-raw:
go run ./cmd/$(project_name)/main.go db:migrate
go run ./cmd/$(project_name)/main.go db:auto-migrate
run:
go run cmd/$(project_name)/main.go

View File

@ -343,7 +343,7 @@
"message": {
"description": "Текст сообщения",
"type": "string",
"maxLength": 256,
"maxLength": 65535,
"example": "Hello World!"
},
"phoneNumbers": {

View File

@ -22,7 +22,7 @@ definitions:
message:
description: Текст сообщения
example: Hello World!
maxLength: 256
maxLength: 65535
type: string
phoneNumbers:
description: Получатели

View File

@ -0,0 +1,11 @@
-- +goose Up
-- +goose StatementBegin
ALTER TABLE `messages`
MODIFY COLUMN `message` text NOT NULL;
-- +goose StatementEnd
---
-- +goose Down
-- +goose StatementBegin
ALTER TABLE `messages`
MODIFY COLUMN `message` tinytext NOT NULL;
-- +goose StatementEnd

View File

@ -45,7 +45,7 @@ type Message struct {
ID uint64 `gorm:"primaryKey;type:BIGINT UNSIGNED;autoIncrement"`
DeviceID string `gorm:"not null;type:char(21);uniqueIndex:unq_messages_id_device,priority:2;index:idx_messages_device_state"`
ExtID string `gorm:"not null;type:varchar(36);uniqueIndex:unq_messages_id_device,priority:1"`
Message string `gorm:"not null;type:tinytext"`
Message string `gorm:"not null;type:text"`
State MessageState `gorm:"not null;type:enum('Pending','Sent','Processed','Delivered','Failed');default:Pending;index:idx_messages_device_state"`
ValidUntil *time.Time `gorm:"type:datetime"`
SimNumber *uint8 `gorm:"type:tinyint(1) unsigned"`

View File

@ -13,7 +13,7 @@ const (
// Сообщение
type Message struct {
ID string `json:"id,omitempty" validate:"omitempty,max=36" example:"PyDmBQZZXYmyxMwED8Fzy"` // Идентификатор
Message string `json:"message" validate:"required,max=256" example:"Hello World!"` // Текст сообщения
Message string `json:"message" validate:"required,max=65535" example:"Hello World!"` // Текст сообщения
TTL *uint64 `json:"ttl,omitempty" validate:"omitempty,min=5" example:"86400"` // Время жизни сообщения в секундах
SimNumber *uint8 `json:"simNumber,omitempty" validate:"omitempty,max=3" example:"1"` // Номер сим-карты
WithDeliveryReport *bool `json:"withDeliveryReport,omitempty" example:"true"` // Запрашивать отчет о доставке