mirror of
https://github.com/steveiliop56/tinyauth.git
synced 2026-05-04 11:28:13 +00:00
04b8e9884b
removes the sqlite dependency for tests, also brings back the option for users to run zero persistence instances of tinyauth. adds new mapErr fn for sqlc wrapper gen to prevent sql errors from leaking out of the store implementation.
225 lines
6.6 KiB
Go
225 lines
6.6 KiB
Go
// Code generated by cmd/gen/sqlc-wrapper. DO NOT EDIT.
|
|
package sqlite
|
|
|
|
import (
|
|
"context"
|
|
"database/sql"
|
|
"errors"
|
|
|
|
"github.com/tinyauthapp/tinyauth/internal/repository"
|
|
)
|
|
|
|
// Store wraps *Queries and implements repository.Store.
|
|
type Store struct {
|
|
q *Queries
|
|
}
|
|
|
|
// NewStore wraps a *Queries to satisfy repository.Store.
|
|
func NewStore(q *Queries) repository.Store {
|
|
return &Store{q: q}
|
|
}
|
|
|
|
var errMap = []struct {
|
|
from error
|
|
to error
|
|
}{
|
|
{sql.ErrNoRows, repository.ErrNotFound},
|
|
}
|
|
|
|
func mapErr(err error) error {
|
|
for _, e := range errMap {
|
|
if errors.Is(err, e.from) {
|
|
return e.to
|
|
}
|
|
}
|
|
return err
|
|
}
|
|
|
|
func oidcCodeToRepo(v OidcCode) repository.OidcCode {
|
|
return repository.OidcCode(v)
|
|
}
|
|
func oidcTokenToRepo(v OidcToken) repository.OidcToken {
|
|
return repository.OidcToken(v)
|
|
}
|
|
func oidcUserinfoToRepo(v OidcUserinfo) repository.OidcUserinfo {
|
|
return repository.OidcUserinfo(v)
|
|
}
|
|
func sessionToRepo(v Session) repository.Session {
|
|
return repository.Session(v)
|
|
}
|
|
func (s *Store) CreateOidcCode(ctx context.Context, arg repository.CreateOidcCodeParams) (repository.OidcCode, error) {
|
|
r, err := s.q.CreateOidcCode(ctx, CreateOidcCodeParams(arg))
|
|
if err != nil {
|
|
return repository.OidcCode{}, mapErr(err)
|
|
}
|
|
return oidcCodeToRepo(r), nil
|
|
}
|
|
|
|
func (s *Store) CreateOidcToken(ctx context.Context, arg repository.CreateOidcTokenParams) (repository.OidcToken, error) {
|
|
r, err := s.q.CreateOidcToken(ctx, CreateOidcTokenParams(arg))
|
|
if err != nil {
|
|
return repository.OidcToken{}, mapErr(err)
|
|
}
|
|
return oidcTokenToRepo(r), nil
|
|
}
|
|
|
|
func (s *Store) CreateOidcUserInfo(ctx context.Context, arg repository.CreateOidcUserInfoParams) (repository.OidcUserinfo, error) {
|
|
r, err := s.q.CreateOidcUserInfo(ctx, CreateOidcUserInfoParams(arg))
|
|
if err != nil {
|
|
return repository.OidcUserinfo{}, mapErr(err)
|
|
}
|
|
return oidcUserinfoToRepo(r), nil
|
|
}
|
|
|
|
func (s *Store) CreateSession(ctx context.Context, arg repository.CreateSessionParams) (repository.Session, error) {
|
|
r, err := s.q.CreateSession(ctx, CreateSessionParams(arg))
|
|
if err != nil {
|
|
return repository.Session{}, mapErr(err)
|
|
}
|
|
return sessionToRepo(r), nil
|
|
}
|
|
|
|
func (s *Store) DeleteExpiredOidcCodes(ctx context.Context, expiresAt int64) ([]repository.OidcCode, error) {
|
|
rows, err := s.q.DeleteExpiredOidcCodes(ctx, expiresAt)
|
|
if err != nil {
|
|
return nil, mapErr(err)
|
|
}
|
|
out := make([]repository.OidcCode, len(rows))
|
|
for i, row := range rows {
|
|
out[i] = oidcCodeToRepo(row)
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (s *Store) DeleteExpiredOidcTokens(ctx context.Context, arg repository.DeleteExpiredOidcTokensParams) ([]repository.OidcToken, error) {
|
|
rows, err := s.q.DeleteExpiredOidcTokens(ctx, DeleteExpiredOidcTokensParams(arg))
|
|
if err != nil {
|
|
return nil, mapErr(err)
|
|
}
|
|
out := make([]repository.OidcToken, len(rows))
|
|
for i, row := range rows {
|
|
out[i] = oidcTokenToRepo(row)
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (s *Store) DeleteExpiredSessions(ctx context.Context, expiry int64) error {
|
|
return mapErr(s.q.DeleteExpiredSessions(ctx, expiry))
|
|
}
|
|
|
|
func (s *Store) DeleteOidcCode(ctx context.Context, codeHash string) error {
|
|
return mapErr(s.q.DeleteOidcCode(ctx, codeHash))
|
|
}
|
|
|
|
func (s *Store) DeleteOidcCodeBySub(ctx context.Context, sub string) error {
|
|
return mapErr(s.q.DeleteOidcCodeBySub(ctx, sub))
|
|
}
|
|
|
|
func (s *Store) DeleteOidcToken(ctx context.Context, accessTokenHash string) error {
|
|
return mapErr(s.q.DeleteOidcToken(ctx, accessTokenHash))
|
|
}
|
|
|
|
func (s *Store) DeleteOidcTokenByCodeHash(ctx context.Context, codeHash string) error {
|
|
return mapErr(s.q.DeleteOidcTokenByCodeHash(ctx, codeHash))
|
|
}
|
|
|
|
func (s *Store) DeleteOidcTokenBySub(ctx context.Context, sub string) error {
|
|
return mapErr(s.q.DeleteOidcTokenBySub(ctx, sub))
|
|
}
|
|
|
|
func (s *Store) DeleteOidcUserInfo(ctx context.Context, sub string) error {
|
|
return mapErr(s.q.DeleteOidcUserInfo(ctx, sub))
|
|
}
|
|
|
|
func (s *Store) DeleteSession(ctx context.Context, uuid string) error {
|
|
return mapErr(s.q.DeleteSession(ctx, uuid))
|
|
}
|
|
|
|
func (s *Store) GetOidcCode(ctx context.Context, codeHash string) (repository.OidcCode, error) {
|
|
r, err := s.q.GetOidcCode(ctx, codeHash)
|
|
if err != nil {
|
|
return repository.OidcCode{}, mapErr(err)
|
|
}
|
|
return oidcCodeToRepo(r), nil
|
|
}
|
|
|
|
func (s *Store) GetOidcCodeBySub(ctx context.Context, sub string) (repository.OidcCode, error) {
|
|
r, err := s.q.GetOidcCodeBySub(ctx, sub)
|
|
if err != nil {
|
|
return repository.OidcCode{}, mapErr(err)
|
|
}
|
|
return oidcCodeToRepo(r), nil
|
|
}
|
|
|
|
func (s *Store) GetOidcCodeBySubUnsafe(ctx context.Context, sub string) (repository.OidcCode, error) {
|
|
r, err := s.q.GetOidcCodeBySubUnsafe(ctx, sub)
|
|
if err != nil {
|
|
return repository.OidcCode{}, mapErr(err)
|
|
}
|
|
return oidcCodeToRepo(r), nil
|
|
}
|
|
|
|
func (s *Store) GetOidcCodeUnsafe(ctx context.Context, codeHash string) (repository.OidcCode, error) {
|
|
r, err := s.q.GetOidcCodeUnsafe(ctx, codeHash)
|
|
if err != nil {
|
|
return repository.OidcCode{}, mapErr(err)
|
|
}
|
|
return oidcCodeToRepo(r), nil
|
|
}
|
|
|
|
func (s *Store) GetOidcToken(ctx context.Context, accessTokenHash string) (repository.OidcToken, error) {
|
|
r, err := s.q.GetOidcToken(ctx, accessTokenHash)
|
|
if err != nil {
|
|
return repository.OidcToken{}, mapErr(err)
|
|
}
|
|
return oidcTokenToRepo(r), nil
|
|
}
|
|
|
|
func (s *Store) GetOidcTokenByRefreshToken(ctx context.Context, refreshTokenHash string) (repository.OidcToken, error) {
|
|
r, err := s.q.GetOidcTokenByRefreshToken(ctx, refreshTokenHash)
|
|
if err != nil {
|
|
return repository.OidcToken{}, mapErr(err)
|
|
}
|
|
return oidcTokenToRepo(r), nil
|
|
}
|
|
|
|
func (s *Store) GetOidcTokenBySub(ctx context.Context, sub string) (repository.OidcToken, error) {
|
|
r, err := s.q.GetOidcTokenBySub(ctx, sub)
|
|
if err != nil {
|
|
return repository.OidcToken{}, mapErr(err)
|
|
}
|
|
return oidcTokenToRepo(r), nil
|
|
}
|
|
|
|
func (s *Store) GetOidcUserInfo(ctx context.Context, sub string) (repository.OidcUserinfo, error) {
|
|
r, err := s.q.GetOidcUserInfo(ctx, sub)
|
|
if err != nil {
|
|
return repository.OidcUserinfo{}, mapErr(err)
|
|
}
|
|
return oidcUserinfoToRepo(r), nil
|
|
}
|
|
|
|
func (s *Store) GetSession(ctx context.Context, uuid string) (repository.Session, error) {
|
|
r, err := s.q.GetSession(ctx, uuid)
|
|
if err != nil {
|
|
return repository.Session{}, mapErr(err)
|
|
}
|
|
return sessionToRepo(r), nil
|
|
}
|
|
|
|
func (s *Store) UpdateOidcTokenByRefreshToken(ctx context.Context, arg repository.UpdateOidcTokenByRefreshTokenParams) (repository.OidcToken, error) {
|
|
r, err := s.q.UpdateOidcTokenByRefreshToken(ctx, UpdateOidcTokenByRefreshTokenParams(arg))
|
|
if err != nil {
|
|
return repository.OidcToken{}, mapErr(err)
|
|
}
|
|
return oidcTokenToRepo(r), nil
|
|
}
|
|
|
|
func (s *Store) UpdateSession(ctx context.Context, arg repository.UpdateSessionParams) (repository.Session, error) {
|
|
r, err := s.q.UpdateSession(ctx, UpdateSessionParams(arg))
|
|
if err != nil {
|
|
return repository.Session{}, mapErr(err)
|
|
}
|
|
return sessionToRepo(r), nil
|
|
}
|