39 lines
1019 B
Go
39 lines
1019 B
Go
package dto
|
|
|
|
import (
|
|
"encoding/json"
|
|
"time"
|
|
)
|
|
|
|
type AnnouncementRequest struct {
|
|
ID uint `json:"ID"`
|
|
Title string `json:"title"`
|
|
Content string `json:"content"`
|
|
Attachments json.RawMessage `json:"attachments"`
|
|
}
|
|
|
|
type AnnouncementSearchRequest struct {
|
|
Page int `form:"page"`
|
|
PageSize int `form:"pageSize"`
|
|
StartCreatedAt *time.Time `form:"startCreatedAt"`
|
|
EndCreatedAt *time.Time `form:"endCreatedAt"`
|
|
}
|
|
|
|
type AnnouncementResponse struct {
|
|
ID uint `json:"ID"`
|
|
CreatedAt time.Time `json:"CreatedAt"`
|
|
UpdatedAt time.Time `json:"UpdatedAt"`
|
|
// Keep the soft-delete slot in the transport shape while omitting it from
|
|
// JSON responses.
|
|
DeletedAt any `json:"-"`
|
|
Title string `json:"title"`
|
|
Content string `json:"content"`
|
|
UserID *int `json:"userID"`
|
|
Attachments any `json:"attachments"`
|
|
}
|
|
|
|
type SelectOptionResponse struct {
|
|
Label string `json:"label"`
|
|
Value uint `json:"value"`
|
|
}
|