finished login/registration

This commit is contained in:
2026-01-24 13:13:22 +11:00
parent ff0f61f534
commit c780050f8e
13 changed files with 164 additions and 92 deletions

View File

@@ -5,7 +5,6 @@ import (
"time"
"git.haelnorr.com/h/oslstats/internal/discord"
"github.com/bwmarrin/discordgo"
"github.com/pkg/errors"
"github.com/uptrace/bun"
)
@@ -19,10 +18,7 @@ type DiscordToken struct {
ExpiresAt int64 `bun:"expires_at,notnull"`
}
func UpdateDiscordToken(ctx context.Context, db *bun.DB, user *discordgo.User, token *discord.Token) error {
if db == nil {
return errors.New("db cannot be nil")
}
func UpdateDiscordToken(ctx context.Context, tx bun.Tx, user *User, token *discord.Token) error {
if user == nil {
return errors.New("user cannot be nil")
}
@@ -32,13 +28,13 @@ func UpdateDiscordToken(ctx context.Context, db *bun.DB, user *discordgo.User, t
expiresAt := time.Now().Add(time.Duration(token.ExpiresIn) * time.Second).Unix()
discordToken := &DiscordToken{
DiscordID: user.ID,
DiscordID: user.DiscordID,
AccessToken: token.AccessToken,
RefreshToken: token.RefreshToken,
ExpiresAt: expiresAt,
}
_, err := db.NewInsert().
_, err := tx.NewInsert().
Model(discordToken).
On("CONFLICT (discord_id) DO UPDATE").
Set("access_token = EXCLUDED.access_token").
@@ -46,5 +42,8 @@ func UpdateDiscordToken(ctx context.Context, db *bun.DB, user *discordgo.User, t
Set("expires_at = EXCLUDED.expires_at").
Exec(ctx)
return err
if err != nil {
return errors.Wrap(err, "tx.NewInsert")
}
return nil
}