|
|
|
@ -8,17 +8,17 @@ import (
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
type Article struct {
|
|
|
|
|
ID string `mmapstructure:"id" json:"-" validate:"uuid_rfc4122"`
|
|
|
|
|
InReplyToID string `mmapstructure:"in-reply-to-id" json:"-" validate:"omitempty,uuid_rfc4122"`
|
|
|
|
|
From string `mmapstructure:"from" json:"-" validate:"required,printascii"`
|
|
|
|
|
Newsgroup string `mmapstructure:"newsgroup" json:"-" validate:"required,min=2,max=80,printascii,lowercase"`
|
|
|
|
|
Subject string `mmapstructure:"subject" json:"-" validate:"required,min=2,max=128,printascii"`
|
|
|
|
|
Date int64 `mmapstructure:"date" json:"-" validate:"required,number"`
|
|
|
|
|
Organization string `mmapstructure:"organization" json:"-" validate:"printascii"`
|
|
|
|
|
Body string `mmapstructure:"body" json:"-" validate:"required,min=3,max=524288"`
|
|
|
|
|
|
|
|
|
|
Replies []*Article `mmapstructure:"-" json:"-" validate:"-"`
|
|
|
|
|
Read bool `mmapstructure:"-" json:"read" validate:"-"`
|
|
|
|
|
ID string `mapstructure:"id" json:"-" validate:"uuid_rfc4122"`
|
|
|
|
|
InReplyToID string `mapstructure:"in-reply-to-id" json:"-" validate:"omitempty,uuid_rfc4122"`
|
|
|
|
|
From string `mapstructure:"from" json:"-" validate:"required,printascii"`
|
|
|
|
|
Newsgroup string `mapstructure:"newsgroup" json:"-" validate:"required,min=2,max=80,printascii,lowercase"`
|
|
|
|
|
Subject string `mapstructure:"subject" json:"-" validate:"required,min=2,max=128,printascii"`
|
|
|
|
|
Date int64 `mapstructure:"date" json:"-" validate:"required,number"`
|
|
|
|
|
Organization string `mapstructure:"organization" json:"-" validate:"printascii"`
|
|
|
|
|
Body string `mapstructure:"body" json:"-" validate:"required,min=3,max=524288"`
|
|
|
|
|
|
|
|
|
|
Replies []*Article `mapstructure:"-" json:"-" validate:"-"`
|
|
|
|
|
Read bool `mapstructure:"-" json:"read" validate:"-"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func NewArticle() (*Article) {
|
|
|
|
|