feat(webui): add user account status page
All checks were successful
main / main (push) Successful in 1m53s
main / deploy (push) Has been skipped
main / publish (push) Has been skipped

This commit is contained in:
Julien Dessaux 2025-04-13 09:33:11 +02:00
parent a22b2953e4
commit 2bf1731343
Signed by: adyxax
GPG key ID: F92E51B86E07177E
10 changed files with 230 additions and 12 deletions

View file

@ -52,7 +52,7 @@ func (db *DB) LoadVersionsByState(state *model.State) ([]model.Version, error) {
defer rows.Close()
versions := make([]model.Version, 0)
for rows.Next() {
var version model.Version
version := model.Version{StateId: state.Id}
var created int64
err = rows.Scan(&version.AccountId, &created, &version.Data, &version.Id, &version.Lock)
if err != nil {
@ -66,3 +66,30 @@ func (db *DB) LoadVersionsByState(state *model.State) ([]model.Version, error) {
}
return versions, nil
}
func (db *DB) LoadVersionsByAccount(account *model.Account) ([]model.Version, error) {
rows, err := db.Query(
`SELECT created, data, id, lock, state_id
FROM versions
WHERE account_id = ?
ORDER BY id DESC;`, account.Id)
if err != nil {
return nil, fmt.Errorf("failed to load versions from database: %w", err)
}
defer rows.Close()
versions := make([]model.Version, 0)
for rows.Next() {
version := model.Version{AccountId: account.Id}
var created int64
err = rows.Scan(&created, &version.Data, &version.Id, &version.Lock, &version.StateId)
if err != nil {
return nil, fmt.Errorf("failed to load version from row: %w", err)
}
version.Created = time.Unix(created, 0)
versions = append(versions, version)
}
if err := rows.Err(); err != nil {
return nil, fmt.Errorf("failed to load versions from rows: %w", err)
}
return versions, nil
}