37 lines
794 B
Go
37 lines
794 B
Go
package models
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
type PostName string
|
|
|
|
type Post struct {
|
|
Name PostName // имя поста
|
|
Link string // ссылка на пост
|
|
Preview string // превью поста
|
|
Data string // содержание
|
|
CreateTimestamp int64 // время создания
|
|
}
|
|
|
|
// NewPost создает новый пост
|
|
func NewPost(name, link, data string) *Post {
|
|
// preview - первые 500 символов содержания
|
|
var preview string
|
|
if len(data) > 500 {
|
|
preview = data[:500] + "..."
|
|
} else {
|
|
preview = data
|
|
}
|
|
|
|
post := &Post{
|
|
Name: PostName(name),
|
|
Link: link,
|
|
Preview: preview,
|
|
Data: data,
|
|
CreateTimestamp: time.Now().Unix(),
|
|
}
|
|
|
|
return post
|
|
}
|