54 lines
1008 B
Go
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
|
|
}
|