Files
ddns-updater/internal/data/memory.go
Quentin McGaw 7fcd0f902b chore(lint): add goerr113 linter
- Change database id to be `uint` instead of `int`
- Define and use sentinel errors
- Return `string` instead of `error` when appropriate (linode)
2022-08-30 01:23:45 +00:00

26 lines
496 B
Go

package data
import (
"errors"
"fmt"
"github.com/qdm12/ddns-updater/internal/records"
)
var ErrRecordNotFound = errors.New("record not found")
func (db *Database) Select(id uint) (record records.Record, err error) {
db.RLock()
defer db.RUnlock()
if int(id) > len(db.data)-1 {
return record, fmt.Errorf("%w: for id %d", ErrRecordNotFound, id)
}
return db.data[id], nil
}
func (db *Database) SelectAll() (records []records.Record) {
db.RLock()
defer db.RUnlock()
return db.data
}