Use pointer receiver more offen

This commit is contained in:
nemunaire 2021-11-22 15:35:07 +01:00
commit c7569b5e54
59 changed files with 688 additions and 672 deletions

View file

@ -12,15 +12,15 @@ type Member struct {
}
// GetMembers retrieves the members of the Team
func (t Team) GetMembers() ([]Member, error) {
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)
var members []*Member
for rows.Next() {
var m Member
m := &Member{}
if err := rows.Scan(&m.Id, &m.Firstname, &m.Lastname, &m.Nickname, &m.Company); err != nil {
return nil, err
}
@ -35,18 +35,18 @@ func (t Team) GetMembers() ([]Member, error) {
}
// AddMember creates and fills a new struct Member and registers it into the database.
func (t Team) AddMember(firstname string, lastname string, nickname string, company string) (Member, error) {
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
return nil, err
} else if mid, err := res.LastInsertId(); err != nil {
return Member{}, err
return nil, err
} else {
return Member{mid, firstname, lastname, nickname, company}, nil
return &Member{mid, firstname, lastname, nickname, company}, nil
}
}
// GainMember associates (or registers, it if it doesn't exists yet) a member to the team.
func (t Team) GainMember(m Member) error {
func (t *Team) GainMember(m *Member) error {
if m.Id == 0 {
if res, err := DBExec("INSERT INTO team_members (id_team, firstname, lastname, nickname, company) VALUES (?, ?, ?, ?, ?)", t.Id, m.Firstname, m.Lastname, m.Nickname, m.Company); err != nil {
return err
@ -65,7 +65,7 @@ func (t Team) GainMember(m Member) error {
}
// Update applies modifications back to the database.
func (m Member) Update() (int64, error) {
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 {
@ -76,7 +76,7 @@ func (m Member) Update() (int64, error) {
}
// Delete the member from the database.
func (m Member) Delete() (int64, error) {
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 {
@ -87,7 +87,7 @@ func (m Member) Delete() (int64, error) {
}
// ClearMembers deletes members in the team.
func (t Team) ClearMembers() (int64, error) {
func (t *Team) ClearMembers() (int64, error) {
if res, err := DBExec("DELETE FROM team_members WHERE id_team = ?", t.Id); err != nil {
return 0, err
} else if nb, err := res.RowsAffected(); err != nil {