package database
|
|
|
|
import "time"
|
|
|
|
func GetPostById(id string) (Post, error) {
|
|
var (
|
|
post Post
|
|
e error
|
|
)
|
|
|
|
e = DB.Model(&Post{}).
|
|
Where("id = ?", id).
|
|
First(&post).
|
|
Error
|
|
|
|
return post, e
|
|
}
|
|
|
|
func GetPostsList(limit int, offset int) ([]Post, error) {
|
|
var (
|
|
posts []Post
|
|
e error
|
|
)
|
|
|
|
e = DB.Model(&Post{}).
|
|
Order("updated_at desc").
|
|
Limit(limit).
|
|
Offset(offset).
|
|
Find(&posts).
|
|
Error
|
|
|
|
return posts, e
|
|
}
|
|
|
|
func GetPostsListBySubject(limit int, offset int, subject string) ([]Post, error) {
|
|
var (
|
|
posts []Post
|
|
e error
|
|
)
|
|
|
|
e = DB.Model(&Post{}).
|
|
Where("subject = ?", subject).
|
|
Order("updated_at desc").
|
|
Limit(limit).
|
|
Offset(offset).
|
|
Find(&posts).
|
|
Error
|
|
|
|
return posts, e
|
|
}
|
|
|
|
func GetPostCountBySubject(subject string) (int64, error) {
|
|
var (
|
|
count int64
|
|
e error
|
|
)
|
|
|
|
e = DB.Model(&Post{}).
|
|
Where("subject = ?", subject).
|
|
Count(&count).
|
|
Error
|
|
|
|
return count, e
|
|
}
|
|
|
|
func CreatePost(post Post) error {
|
|
return DB.Model(&Post{}).
|
|
Create(&post).
|
|
Error
|
|
}
|
|
|
|
func UpdatePost(post Post) error {
|
|
return DB.Save(&post).Error
|
|
}
|
|
|
|
func GetLastUpdatedAt() (time.Time, error) {
|
|
var (
|
|
post Post
|
|
e error
|
|
)
|
|
|
|
e = DB.Model(&Post{}).
|
|
Select("updated_at").
|
|
Order("updated_at desc").
|
|
Limit(1).
|
|
Offset(0).
|
|
First(&post).
|
|
Error
|
|
|
|
return post.UpdatedAt, e
|
|
}
|