30 lines
717 B
Go
30 lines
717 B
Go
|
package guestbook
|
||
|
|
||
|
import (
|
||
|
"errors"
|
||
|
"time"
|
||
|
)
|
||
|
|
||
|
type Entry struct {
|
||
|
ID int64 `json:"entry_id"`
|
||
|
Created string `json:"created"`
|
||
|
Name string `json:"name"`
|
||
|
Website string `json:"website,omitempty"`
|
||
|
Message string `json:"message"`
|
||
|
HideWebsite bool `json:"hide_website,omitempty"`
|
||
|
Reply *Reply `json:"reply,omitempty"`
|
||
|
}
|
||
|
|
||
|
func NewEntry(name, website, message string, hideWebsite bool) (*Entry, error) {
|
||
|
if name == "" || message == "" {
|
||
|
return nil, errors.New("name and message field are required")
|
||
|
}
|
||
|
|
||
|
return &Entry{
|
||
|
Created: time.Now().UTC().Format(DateFormat),
|
||
|
Name: name,
|
||
|
Website: website,
|
||
|
HideWebsite: hideWebsite,
|
||
|
Message: message}, nil
|
||
|
}
|