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 {
|
||||
Tag *database.Tag `json:"tag"`
|
||||
}
|
||||
@@ -46,14 +41,14 @@ func (api *API) HandleInsertTag(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
var req InsertTagRequest
|
||||
req := &database.Tag{}
|
||||
err = json.NewDecoder(r.Body).Decode(&req)
|
||||
if err != nil {
|
||||
api.HandleError(w, r, err)
|
||||
return
|
||||
}
|
||||
|
||||
tag, err := api.Db.InsertTag(req.Name, req.Description)
|
||||
tag, err := api.Db.InsertTag(req)
|
||||
if err != nil {
|
||||
api.HandleError(w, r, err)
|
||||
return
|
||||
|
||||
@@ -2,8 +2,8 @@ package database
|
||||
|
||||
import "errors"
|
||||
|
||||
func (database *Database) InsertTag(tag string, description string) (*Tag, error) {
|
||||
result, err := database.stmt.insertTag.Exec(tag, description)
|
||||
func (database *Database) InsertTag(tag *Tag) (*Tag, error) {
|
||||
result, err := database.stmt.insertTag.Exec(tag.Name, tag.Description, tag.CreatedByUserId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -45,7 +45,9 @@ var initAvatarsTableQuery = `CREATE TABLE IF NOT EXISTS avatars (
|
||||
var initTagsTableQuery = `CREATE TABLE IF NOT EXISTS tags (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
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 (
|
||||
@@ -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 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;`
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ type Tag struct {
|
||||
ID int64 `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Description string `json:"description"`
|
||||
CreatedByUserId int64 `json:"created_by_user_id"`
|
||||
}
|
||||
|
||||
var (
|
||||
|
||||
Reference in New Issue
Block a user