From 0fbc121e38d752ff5cc6692e414db84e57a3231d Mon Sep 17 00:00:00 2001 From: "Alexander \"Arav\" Andreev" Date: Mon, 22 May 2023 22:35:47 +0400 Subject: [PATCH] Place Category and Post types into one mindflow.go. --- pkg/mindflow/category.go | 6 ------ pkg/mindflow/mindflow.go | 35 +++++++++++++++++++++++++++++++++++ pkg/mindflow/post.go | 31 ------------------------------- 3 files changed, 35 insertions(+), 37 deletions(-) delete mode 100644 pkg/mindflow/category.go delete mode 100644 pkg/mindflow/post.go diff --git a/pkg/mindflow/category.go b/pkg/mindflow/category.go deleted file mode 100644 index 852e89b..0000000 --- a/pkg/mindflow/category.go +++ /dev/null @@ -1,6 +0,0 @@ -package mindflow - -type Category struct { - ID int64 - Name string -} diff --git a/pkg/mindflow/mindflow.go b/pkg/mindflow/mindflow.go index 712e02c..1dad008 100644 --- a/pkg/mindflow/mindflow.go +++ b/pkg/mindflow/mindflow.go @@ -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 diff --git a/pkg/mindflow/post.go b/pkg/mindflow/post.go deleted file mode 100644 index ef7069f..0000000 --- a/pkg/mindflow/post.go +++ /dev/null @@ -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")) -}