Add: tag created_by_user_id column
This commit is contained in:
@@ -29,11 +29,6 @@ func (api *API) HandleGetTags(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type InsertTagRequest struct {
|
|
||||||
Name string `json:"name"`
|
|
||||||
Description string `json:"description"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type InsertTagResponse struct {
|
type InsertTagResponse struct {
|
||||||
Tag *database.Tag `json:"tag"`
|
Tag *database.Tag `json:"tag"`
|
||||||
}
|
}
|
||||||
@@ -46,14 +41,14 @@ func (api *API) HandleInsertTag(w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
var req InsertTagRequest
|
req := &database.Tag{}
|
||||||
err = json.NewDecoder(r.Body).Decode(&req)
|
err = json.NewDecoder(r.Body).Decode(&req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
api.HandleError(w, r, err)
|
api.HandleError(w, r, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
tag, err := api.Db.InsertTag(req.Name, req.Description)
|
tag, err := api.Db.InsertTag(req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
api.HandleError(w, r, err)
|
api.HandleError(w, r, err)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ package database
|
|||||||
|
|
||||||
import "errors"
|
import "errors"
|
||||||
|
|
||||||
func (database *Database) InsertTag(tag string, description string) (*Tag, error) {
|
func (database *Database) InsertTag(tag *Tag) (*Tag, error) {
|
||||||
result, err := database.stmt.insertTag.Exec(tag, description)
|
result, err := database.stmt.insertTag.Exec(tag.Name, tag.Description, tag.CreatedByUserId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,7 +45,9 @@ var initAvatarsTableQuery = `CREATE TABLE IF NOT EXISTS avatars (
|
|||||||
var initTagsTableQuery = `CREATE TABLE IF NOT EXISTS tags (
|
var initTagsTableQuery = `CREATE TABLE IF NOT EXISTS tags (
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||||
name TEXT NOT NULL UNIQUE,
|
name TEXT NOT NULL UNIQUE,
|
||||||
description TEXT NOT NULL
|
description TEXT NOT NULL,
|
||||||
|
created_by_user_id INTEGER NOT NULL,
|
||||||
|
FOREIGN KEY(created_by_user_id) REFERENCES users(id)
|
||||||
);`
|
);`
|
||||||
|
|
||||||
var initFileHasTagTableQuery = `CREATE TABLE IF NOT EXISTS file_has_tag (
|
var initFileHasTagTableQuery = `CREATE TABLE IF NOT EXISTS file_has_tag (
|
||||||
@@ -170,7 +172,7 @@ var getUserByIdQuery = `SELECT id, username, role, avatar_id FROM users WHERE id
|
|||||||
|
|
||||||
var getAnonymousUserQuery = `SELECT id, username, role, avatar_id FROM users WHERE role = 0 LIMIT 1;`
|
var getAnonymousUserQuery = `SELECT id, username, role, avatar_id FROM users WHERE role = 0 LIMIT 1;`
|
||||||
|
|
||||||
var insertTagQuery = `INSERT INTO tags (name, description) VALUES (?, ?);`
|
var insertTagQuery = `INSERT INTO tags (name, description, created_by_user_id) VALUES (?, ?, ?);`
|
||||||
|
|
||||||
var getTagQuery = `SELECT id, name, description FROM tags WHERE id = ? LIMIT 1;`
|
var getTagQuery = `SELECT id, name, description FROM tags WHERE id = ? LIMIT 1;`
|
||||||
|
|
||||||
|
|||||||
@@ -29,9 +29,10 @@ type User struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type Tag struct {
|
type Tag struct {
|
||||||
ID int64 `json:"id"`
|
ID int64 `json:"id"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Description string `json:"description"`
|
Description string `json:"description"`
|
||||||
|
CreatedByUserId int64 `json:"created_by_user_id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
Reference in New Issue
Block a user