Add DB objects
This commit is contained in:
parent
abd5e2025e
commit
6ec37b83ce
7 changed files with 450 additions and 2 deletions
73
admin/member.go
Normal file
73
admin/member.go
Normal file
|
@ -0,0 +1,73 @@
|
|||
package main
|
||||
|
||||
import ()
|
||||
|
||||
type Member struct {
|
||||
id int64
|
||||
Firstname string
|
||||
Lastname string
|
||||
Nickname string
|
||||
Company string
|
||||
}
|
||||
|
||||
func (t Team) GetMembers() ([]Member, error) {
|
||||
if rows, err := DBQuery("SELECT id_member, firstname, lastname, nickname, company FROM team_members WHERE id_team = ?", t.id); err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
defer rows.Close()
|
||||
|
||||
var members = make([]Member, 0)
|
||||
for rows.Next() {
|
||||
var m Member
|
||||
if err := rows.Scan(&m.id, &m.Firstname, &m.Lastname, &m.Nickname, &m.Company); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
members = append(members, m)
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return members, nil
|
||||
}
|
||||
}
|
||||
|
||||
func (t Team) AddMember(firstname string, lastname string, nickname string, company string) (Member, error) {
|
||||
if res, err := DBExec("INSERT INTO team_members (id_team, firstname, lastname, nickname, company) VALUES (?, ?, ?, ?, ?)", t.id, firstname, lastname, nickname, company); err != nil {
|
||||
return Member{}, err
|
||||
} else if mid, err := res.LastInsertId(); err != nil {
|
||||
return Member{}, err
|
||||
} else {
|
||||
return Member{mid, firstname, lastname, nickname, company}, nil
|
||||
}
|
||||
}
|
||||
|
||||
func (t Team) GainMember(m Member) error {
|
||||
if res, err := DBExec("UPDATE team_members SET id_team = ? WHERE id_member = ?", t.id, m.id); err != nil {
|
||||
return err
|
||||
} else if _, err := res.RowsAffected(); err != nil {
|
||||
return err
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func (m Member) Update() (int64, error) {
|
||||
if res, err := DBExec("UPDATE team_members SET firstname = ?, lastname = ?, nickname = ?, company = ? WHERE id_member = ?", m.Firstname, m.Lastname, m.Nickname, m.Company, m.id); err != nil {
|
||||
return 0, err
|
||||
} else if nb, err := res.RowsAffected(); err != nil {
|
||||
return 0, err
|
||||
} else {
|
||||
return nb, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m Member) Delete() (int64, error) {
|
||||
if res, err := DBExec("DELETE FROM team_members WHERE id_member = ?", m.id); err != nil {
|
||||
return 0, err
|
||||
} else if nb, err := res.RowsAffected(); err != nil {
|
||||
return 0, err
|
||||
} else {
|
||||
return nb, err
|
||||
}
|
||||
}
|
Reference in a new issue