core/auth/sql.go
2024-05-16 04:16:05 +07:00

54 lines
1008 B
Go

package auth
import (
"context"
"system-trace/core/database"
"system-trace/core/database/entities"
)
func GetPair(p *PairTokens) (*entities.AuthToken, error) {
aut := new(entities.AuthToken)
ctx := context.Background()
err := database.PG.NewSelect().
Model(aut).
Where("access_token = ?", p.AccessToken).
Where("refresh_token = ?", p.RefreshToken).
Where("is_revoked = ?", false).
Scan(ctx)
return aut, err
}
func RevokePair(p *PairTokens) error {
aut := entities.AuthToken{
IsRevoked: true,
}
ctx := context.Background()
_, err := database.PG.NewUpdate().
Model(&aut).
Column("is_revoked").
Where("access_token = ?", p.AccessToken).
Where("refresh_token = ?", p.RefreshToken).
Exec(ctx)
return err
}
func insertPair(id int32, at, rt string) error {
p := entities.AuthToken{
UserID: id,
AccessToken: at,
RefreshToken: rt,
}
ctx := context.Background()
_, err := database.PG.NewInsert().
Model(&p).
Returning("NULL").
Exec(ctx)
return err
}