fix redirect to homepage after auth and add static server for files #14
@@ -455,6 +455,9 @@ const docTemplate = `{
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"published": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"title": {
|
||||
"type": "string"
|
||||
}
|
||||
@@ -466,6 +469,9 @@ const docTemplate = `{
|
||||
"content": {
|
||||
"type": "string"
|
||||
},
|
||||
"published": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"title": {
|
||||
"type": "string"
|
||||
}
|
||||
|
||||
@@ -444,6 +444,9 @@
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"published": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"title": {
|
||||
"type": "string"
|
||||
}
|
||||
@@ -455,6 +458,9 @@
|
||||
"content": {
|
||||
"type": "string"
|
||||
},
|
||||
"published": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"title": {
|
||||
"type": "string"
|
||||
}
|
||||
|
||||
@@ -25,6 +25,8 @@ definitions:
|
||||
type: string
|
||||
id:
|
||||
type: integer
|
||||
published:
|
||||
type: boolean
|
||||
title:
|
||||
type: string
|
||||
type: object
|
||||
@@ -32,6 +34,8 @@ definitions:
|
||||
properties:
|
||||
content:
|
||||
type: string
|
||||
published:
|
||||
type: boolean
|
||||
title:
|
||||
type: string
|
||||
type: object
|
||||
|
||||
@@ -3,6 +3,7 @@ package repositories
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
"strings"
|
||||
|
||||
"gitea.d3m0k1d.ru/d3m0k1d/d3m0k1d.ru/backend/internal/logger"
|
||||
"gitea.d3m0k1d.ru/d3m0k1d/d3m0k1d.ru/backend/internal/storage"
|
||||
@@ -78,17 +79,29 @@ func (p *postRepository) Create(ctx context.Context, post storage.Post) error {
|
||||
}
|
||||
|
||||
func (p *postRepository) Update(ctx context.Context, id int, post storage.Post) error {
|
||||
_, err := p.db.Exec(
|
||||
"UPDATE posts SET title = ?, content = ? WHERE id = ?",
|
||||
post.Title,
|
||||
post.Content,
|
||||
id,
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
query := "UPDATE posts SET "
|
||||
args := []interface{}{}
|
||||
updates := []string{}
|
||||
|
||||
if post.Title != "" {
|
||||
updates = append(updates, "title = ?")
|
||||
args = append(args, post.Title)
|
||||
}
|
||||
p.logger.Info("Post updated:", "id", id)
|
||||
return nil
|
||||
|
||||
if post.Content != "" {
|
||||
updates = append(updates, "content = ?")
|
||||
args = append(args, post.Content)
|
||||
}
|
||||
|
||||
updates = append(updates, "published = ?")
|
||||
args = append(args, post.Published)
|
||||
updates = append(updates, "updated_at = CURRENT_TIMESTAMP")
|
||||
query += strings.Join(updates, ", ")
|
||||
query += " WHERE id = ?"
|
||||
args = append(args, id)
|
||||
|
||||
_, err := p.db.ExecContext(ctx, query, args...)
|
||||
return err
|
||||
}
|
||||
|
||||
func (p *postRepository) Delete(ctx context.Context, id int) error {
|
||||
@@ -122,5 +135,3 @@ func (p *postRepository) IsExist(ctx context.Context, id int) bool {
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
// TODO: Add query for change published status
|
||||
|
||||
Reference in New Issue
Block a user