Place Category and Post types into one mindflow.go.
This commit is contained in:
parent
ecf9da5b3d
commit
0fbc121e38
@ -1,6 +0,0 @@
|
||||
package mindflow
|
||||
|
||||
type Category struct {
|
||||
ID int64
|
||||
Name string
|
||||
}
|
@ -1,5 +1,40 @@
|
||||
package mindflow
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
type Category struct {
|
||||
ID int64
|
||||
Name string
|
||||
}
|
||||
|
||||
type Post struct {
|
||||
ID int64
|
||||
Category Category
|
||||
Date time.Time
|
||||
Title string
|
||||
Body string
|
||||
}
|
||||
|
||||
func NewPost(category Category, title, body string) (*Post, error) {
|
||||
if title == "" || body == "" {
|
||||
return nil, errors.New("empty title or body is not allowed")
|
||||
}
|
||||
return &Post{
|
||||
Category: category,
|
||||
Date: time.Now().UTC(),
|
||||
Title: title,
|
||||
Body: body}, nil
|
||||
}
|
||||
|
||||
func (p *Post) PostID() string {
|
||||
return fmt.Sprint(strings.ToLower(p.Category.Name), "-", p.Date.Format("20060102-1504"))
|
||||
}
|
||||
|
||||
type Mindflow interface {
|
||||
New(post *Post) error
|
||||
Edit(post *Post) error
|
||||
|
@ -1,31 +0,0 @@
|
||||
package mindflow
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
type Post struct {
|
||||
ID int64
|
||||
Category Category
|
||||
Date time.Time
|
||||
Title string
|
||||
Body string
|
||||
}
|
||||
|
||||
func NewPost(category Category, title, body string) (*Post, error) {
|
||||
if title == "" || body == "" {
|
||||
return nil, errors.New("empty title or body is not allowed")
|
||||
}
|
||||
return &Post{
|
||||
Category: category,
|
||||
Date: time.Now().UTC(),
|
||||
Title: title,
|
||||
Body: body}, nil
|
||||
}
|
||||
|
||||
func (p *Post) PostID() string {
|
||||
return fmt.Sprint(strings.ToLower(p.Category.Name), "-", p.Date.Format("20060102-1504"))
|
||||
}
|
Loading…
Reference in New Issue
Block a user