39 lines
934 B
Go
39 lines
934 B
Go
package models
|
|
|
|
import "brainminder.speedtech.it/internal/database"
|
|
|
|
type ItemShareModel struct {
|
|
DB *database.DB
|
|
}
|
|
|
|
type ItemShare struct {
|
|
Id int64 `db:"id"`
|
|
Token string `db:"token"`
|
|
Summary string `db:"summary"`
|
|
Item_id int64 `db:"item_id"`
|
|
Read int `db:"crypted"`
|
|
Update int `db:"hidden"`
|
|
Start_datetime string `db:"start_datetime"`
|
|
End_datetime string `db:"end_datetime"`
|
|
password string `db:"password"`
|
|
}
|
|
|
|
func (model *ItemShareModel) Create(ItemShare *ItemShare) (int64, error) {
|
|
ctx, cancel := database.GetContext()
|
|
defer cancel()
|
|
|
|
query := `INSERT INTO bm_items_share (title, description, icon, hidden) VALUES (:title, :description, :icon, :hidden)`
|
|
|
|
result, err := model.DB.NamedExecContext(ctx, query, ItemShare)
|
|
if err != nil {
|
|
return 0, err
|
|
}
|
|
|
|
id, err := result.LastInsertId()
|
|
if err != nil {
|
|
return 0, err
|
|
}
|
|
|
|
return id, err
|
|
}
|