From a72a46838e013b37f26d3d75e6df92bc2ae14dad Mon Sep 17 00:00:00 2001 From: R2m1liA <15258427350@163.com> Date: Tue, 16 Dec 2025 15:43:05 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E9=A2=86=E5=9F=9F=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=20&=20DTO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- interval/api/dto/doc.go | 2 ++ interval/api/dto/message.go | 17 +++++++++++++++++ interval/api/dto/subscription.go | 17 +++++++++++++++++ interval/model/message.go | 6 ++++++ interval/model/subscription.go | 6 ++++++ interval/model/topic.go | 7 +++++++ 6 files changed, 55 insertions(+) create mode 100644 interval/api/dto/doc.go create mode 100644 interval/api/dto/message.go create mode 100644 interval/api/dto/subscription.go create mode 100644 interval/model/message.go create mode 100644 interval/model/subscription.go create mode 100644 interval/model/topic.go diff --git a/interval/api/dto/doc.go b/interval/api/dto/doc.go new file mode 100644 index 0000000..d9ac152 --- /dev/null +++ b/interval/api/dto/doc.go @@ -0,0 +1,2 @@ +// Package dto contains data transfer objects used in the interval API. +package dto diff --git a/interval/api/dto/message.go b/interval/api/dto/message.go new file mode 100644 index 0000000..387ae85 --- /dev/null +++ b/interval/api/dto/message.go @@ -0,0 +1,17 @@ +package dto + +import ( + "git.jinshen.cn/remilia/push-server/interval/model" +) + +type Message struct { + Topic string `json:"topic"` + Content string `json:"content"` +} + +func MessageFromModel(m model.Message) Message { + return Message{ + Topic: string(m.Topic), + Content: string(m.Content), + } +} diff --git a/interval/api/dto/subscription.go b/interval/api/dto/subscription.go new file mode 100644 index 0000000..0d41707 --- /dev/null +++ b/interval/api/dto/subscription.go @@ -0,0 +1,17 @@ +package dto + +import ( + "git.jinshen.cn/remilia/push-server/interval/model" +) + +type Subscription struct { + Topic string `json:"topic"` + ClientID string `json:"client_id"` +} + +func SubscriptionFromModel(s model.Subscription) Subscription { + return Subscription{ + Topic: string(s.Topic), + ClientID: string(s.ClientID), + } +} diff --git a/interval/model/message.go b/interval/model/message.go new file mode 100644 index 0000000..cf4c31d --- /dev/null +++ b/interval/model/message.go @@ -0,0 +1,6 @@ +package model + +type Message struct { + Topic Topic + Content []byte +} diff --git a/interval/model/subscription.go b/interval/model/subscription.go new file mode 100644 index 0000000..41ad00b --- /dev/null +++ b/interval/model/subscription.go @@ -0,0 +1,6 @@ +package model + +type Subscription struct { + Topic Topic + ClientID string +} diff --git a/interval/model/topic.go b/interval/model/topic.go new file mode 100644 index 0000000..ab8e05e --- /dev/null +++ b/interval/model/topic.go @@ -0,0 +1,7 @@ +package model + +type Topic string + +func (t Topic) Valid() bool { + return t != "" +}