feat: add published at db models and fix repo for this update
This commit is contained in:
@@ -21,7 +21,7 @@ func NewPostRepository(db *sql.DB) PostRepository {
|
|||||||
}
|
}
|
||||||
func (p *postRepository) GetAll(ctx context.Context) ([]storage.PostReq, error) {
|
func (p *postRepository) GetAll(ctx context.Context) ([]storage.PostReq, error) {
|
||||||
var result []storage.PostReq
|
var result []storage.PostReq
|
||||||
rows, err := p.db.Query("SELECT id, title, content FROM posts")
|
rows, err := p.db.Query("SELECT id, title, content FROM posts WHERE published = 1")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
p.logger.Error(err.Error())
|
p.logger.Error(err.Error())
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -45,7 +45,7 @@ func (p *postRepository) GetAll(ctx context.Context) ([]storage.PostReq, error)
|
|||||||
|
|
||||||
func (p *postRepository) GetByID(ctx context.Context, id int) (storage.PostReq, error) {
|
func (p *postRepository) GetByID(ctx context.Context, id int) (storage.PostReq, error) {
|
||||||
var result storage.PostReq
|
var result storage.PostReq
|
||||||
row := p.db.QueryRow("SELECT title, content FROM posts WHERE id = ?", id)
|
row := p.db.QueryRow("SELECT title, content FROM posts WHERE id = ? AND published = 1", id)
|
||||||
var title string
|
var title string
|
||||||
var content string
|
var content string
|
||||||
err := row.Scan(&title, &content)
|
err := row.Scan(&title, &content)
|
||||||
@@ -122,3 +122,5 @@ func (p *postRepository) IsExist(ctx context.Context, id int) bool {
|
|||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: Add query for change published status
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ const Migrations = `
|
|||||||
CREATE TABLE IF NOT EXISTS posts(
|
CREATE TABLE IF NOT EXISTS posts(
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||||
title TEXT NOT NULL,
|
title TEXT NOT NULL,
|
||||||
|
published BOOLEAN DEFAULT 0,
|
||||||
content TEXT NOT NULL,
|
content TEXT NOT NULL,
|
||||||
CREATED_AT DATETIME DEFAULT CURRENT_TIMESTAMP
|
CREATED_AT DATETIME DEFAULT CURRENT_TIMESTAMP
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package storage
|
|||||||
type Post struct {
|
type Post struct {
|
||||||
ID int `db:"id" json:"id"`
|
ID int `db:"id" json:"id"`
|
||||||
Title string `db:"title" json:"title"`
|
Title string `db:"title" json:"title"`
|
||||||
|
Published bool `db:"published" json:"published"`
|
||||||
Content string `db:"content" json:"content"`
|
Content string `db:"content" json:"content"`
|
||||||
CreatedAt string `db:"created_at" json:"created_at"`
|
CreatedAt string `db:"created_at" json:"created_at"`
|
||||||
}
|
}
|
||||||
@@ -14,8 +15,9 @@ type PostReq struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type PostCreate struct {
|
type PostCreate struct {
|
||||||
Title string `db:"title" json:"title"`
|
Title string `db:"title" json:"title"`
|
||||||
Content string `db:"content" json:"content"`
|
Published bool `db:"published" json:"published"`
|
||||||
|
Content string `db:"content" json:"content"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type User struct {
|
type User struct {
|
||||||
|
|||||||
Reference in New Issue
Block a user