Add: tag created_by_user_id column

This commit is contained in:
2021-12-12 15:16:02 +08:00
parent 047f15426b
commit 5a68cea2f3
4 changed files with 12 additions and 14 deletions

View File

@@ -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

View File

@@ -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
} }

View File

@@ -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;`

View File

@@ -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 (