| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- package dto
- import (
- "time"
- "github.com/Wei-Shaw/sub2api/internal/service"
- )
- type Announcement struct {
- ID int64 `json:"id"`
- Title string `json:"title"`
- Content string `json:"content"`
- Status string `json:"status"`
- NotifyMode string `json:"notify_mode"`
- Targeting service.AnnouncementTargeting `json:"targeting"`
- StartsAt *time.Time `json:"starts_at,omitempty"`
- EndsAt *time.Time `json:"ends_at,omitempty"`
- CreatedBy *int64 `json:"created_by,omitempty"`
- UpdatedBy *int64 `json:"updated_by,omitempty"`
- CreatedAt time.Time `json:"created_at"`
- UpdatedAt time.Time `json:"updated_at"`
- }
- type UserAnnouncement struct {
- ID int64 `json:"id"`
- Title string `json:"title"`
- Content string `json:"content"`
- NotifyMode string `json:"notify_mode"`
- StartsAt *time.Time `json:"starts_at,omitempty"`
- EndsAt *time.Time `json:"ends_at,omitempty"`
- ReadAt *time.Time `json:"read_at,omitempty"`
- CreatedAt time.Time `json:"created_at"`
- UpdatedAt time.Time `json:"updated_at"`
- }
- func AnnouncementFromService(a *service.Announcement) *Announcement {
- if a == nil {
- return nil
- }
- return &Announcement{
- ID: a.ID,
- Title: a.Title,
- Content: a.Content,
- Status: a.Status,
- NotifyMode: a.NotifyMode,
- Targeting: a.Targeting,
- StartsAt: a.StartsAt,
- EndsAt: a.EndsAt,
- CreatedBy: a.CreatedBy,
- UpdatedBy: a.UpdatedBy,
- CreatedAt: a.CreatedAt,
- UpdatedAt: a.UpdatedAt,
- }
- }
- func UserAnnouncementFromService(a *service.UserAnnouncement) *UserAnnouncement {
- if a == nil {
- return nil
- }
- return &UserAnnouncement{
- ID: a.Announcement.ID,
- Title: a.Announcement.Title,
- Content: a.Announcement.Content,
- NotifyMode: a.Announcement.NotifyMode,
- StartsAt: a.Announcement.StartsAt,
- EndsAt: a.Announcement.EndsAt,
- ReadAt: a.ReadAt,
- CreatedAt: a.Announcement.CreatedAt,
- UpdatedAt: a.Announcement.UpdatedAt,
- }
- }
|