31 lines
1.3 KiB
Go
31 lines
1.3 KiB
Go
package request
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
type CreatePostRequest struct {
|
|
Title string `json:"title" validate:"required,min=1"`
|
|
CoverID *int32 `json:"cover_id" validate:"required,min=1"`
|
|
Slug string `json:"slug" validate:"required,min=0"`
|
|
Content string `json:"content" validate:"required,min=0"`
|
|
Summary string `json:"summary" validate:"required,min=0"`
|
|
Status *int16 `json:"status" validate:"required,oneof=0 1 2"`
|
|
Sort *int32 `json:"sort" validate:"required,min=0"`
|
|
PublishedAt time.Time `json:"published_at" validate:"required"`
|
|
CategoryID *int32 `json:"category_id" validate:"required,min=1"`
|
|
}
|
|
|
|
type UpdatePostRequest struct {
|
|
Title *string `json:"title" validate:"omitempty,min=1"`
|
|
CoverID *int32 `json:"cover_id" validate:"omitempty,min=1"`
|
|
Slug *string `json:"slug" validate:"omitempty,min=1"`
|
|
Content *string `json:"content" validate:"required,min=0"`
|
|
Summary *string `json:"summary" validate:"omitempty,min=1"`
|
|
Status *int16 `json:"status" validate:"omitempty,oneof=0 1 2"`
|
|
View *int32 `json:"view" validate:"omitempty,min=1"`
|
|
Sort *int32 `json:"sort" validate:"omitempty,min=0"`
|
|
PublishedAt *time.Time `json:"published_at" validate:"omitempty"`
|
|
CategoryID *int32 `json:"category_id" validate:"required,min=1"`
|
|
}
|