repository

package
v0.1.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 17, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	ID            string    `json:"id"`
	Secret        []byte    `json:"secret"`
	Domain        string    `json:"domain"`
	IsPublic      bool      `json:"is_public"`
	UserID        uuid.UUID `json:"user_id"`
	AllowedGrants []string  `json:"allowed_grants"`
	Scope         string    `json:"scope"`
	CreatedAt     time.Time `json:"created_at"`
}

type CreateClientParams

type CreateClientParams struct {
	ID            string    `json:"id"`
	Secret        []byte    `json:"secret"`
	Domain        string    `json:"domain"`
	IsPublic      bool      `json:"is_public"`
	UserID        uuid.UUID `json:"user_id"`
	AllowedGrants []string  `json:"allowed_grants"`
	Scope         string    `json:"scope"`
}

type CreateTokenParams

type CreateTokenParams struct {
	ClientID            string        `json:"client_id"`
	UserID              uuid.NullUUID `json:"user_id"`
	RedirectURI         string        `json:"redirect_uri"`
	Scope               string        `json:"scope"`
	Code                string        `json:"code"`
	CodeCreatedAt       sql.NullTime  `json:"code_created_at"`
	CodeExpiresIn       int64         `json:"code_expires_in"`
	CodeChallenge       string        `json:"code_challenge"`
	CodeChallengeMethod string        `json:"code_challenge_method"`
	Access              string        `json:"access"`
	AccessCreatedAt     sql.NullTime  `json:"access_created_at"`
	AccessExpiresIn     int64         `json:"access_expires_in"`
	Refresh             string        `json:"refresh"`
	RefreshCreatedAt    sql.NullTime  `json:"refresh_created_at"`
	RefreshExpiresIn    int64         `json:"refresh_expires_in"`
}

type CreateUserParams

type CreateUserParams struct {
	Email    string `json:"email"`
	Password []byte `json:"password"`
}

type CreateUserVerificationParams

type CreateUserVerificationParams struct {
	RequestType      UserVerificationRequestType `json:"request_type"`
	UserID           uuid.UUID                   `json:"user_id"`
	Email            string                      `json:"email"`
	VerificationCode []byte                      `json:"verification_code"`
	ExpiresAt        time.Time                   `json:"expires_at"`
}

type DBTX

type DBTX interface {
	ExecContext(context.Context, string, ...interface{}) (sql.Result, error)
	PrepareContext(context.Context, string) (*sql.Stmt, error)
	QueryContext(context.Context, string, ...interface{}) (*sql.Rows, error)
	QueryRowContext(context.Context, string, ...interface{}) *sql.Row
}

type DeleteUserVerificationsByEmailParams

type DeleteUserVerificationsByEmailParams struct {
	RequestType UserVerificationRequestType `json:"request_type"`
	Email       string                      `json:"email"`
}

type DeleteUserVerificationsByUserIDParams

type DeleteUserVerificationsByUserIDParams struct {
	RequestType UserVerificationRequestType `json:"request_type"`
	UserID      uuid.UUID                   `json:"user_id"`
}

type GetUserVerificationByEmailParams

type GetUserVerificationByEmailParams struct {
	RequestType UserVerificationRequestType `json:"request_type"`
	Email       string                      `json:"email"`
}

type GetUserVerificationByUserIDParams

type GetUserVerificationByUserIDParams struct {
	RequestType UserVerificationRequestType `json:"request_type"`
	UserID      uuid.UUID                   `json:"user_id"`
}

type GetVerificationByUserIDAndEmailParams

type GetVerificationByUserIDAndEmailParams struct {
	RequestType UserVerificationRequestType `json:"request_type"`
	UserID      uuid.UUID                   `json:"user_id"`
	Email       string                      `json:"email"`
}

type NullUserVerificationRequestType

type NullUserVerificationRequestType struct {
	UserVerificationRequestType UserVerificationRequestType
	Valid                       bool // Valid is true if UserVerificationRequestType is not NULL
}

func (*NullUserVerificationRequestType) Scan

func (ns *NullUserVerificationRequestType) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullUserVerificationRequestType) Value

Value implements the driver Valuer interface.

type Queries

type Queries struct {
	// contains filtered or unexported fields
}

func New

func New(db DBTX) *Queries

func Prepare

func Prepare(ctx context.Context, db DBTX) (*Queries, error)

func (*Queries) CleanUpExpiredUserVerifications

func (q *Queries) CleanUpExpiredUserVerifications(ctx context.Context) error

func (*Queries) Close

func (q *Queries) Close() error

func (*Queries) CreateClient

func (q *Queries) CreateClient(ctx context.Context, arg CreateClientParams) (Client, error)

func (*Queries) CreateToken

func (q *Queries) CreateToken(ctx context.Context, arg CreateTokenParams) (Token, error)

func (*Queries) CreateUser

func (q *Queries) CreateUser(ctx context.Context, arg CreateUserParams) (User, error)

func (*Queries) CreateUserVerification

func (q *Queries) CreateUserVerification(ctx context.Context, arg CreateUserVerificationParams) error

func (*Queries) DeleteByAccess

func (q *Queries) DeleteByAccess(ctx context.Context, access string) error

func (*Queries) DeleteByCode

func (q *Queries) DeleteByCode(ctx context.Context, code string) error

func (*Queries) DeleteByRefresh

func (q *Queries) DeleteByRefresh(ctx context.Context, refresh string) error

func (*Queries) DeleteClient

func (q *Queries) DeleteClient(ctx context.Context, id string) error

func (*Queries) DeleteExpiredTokens

func (q *Queries) DeleteExpiredTokens(ctx context.Context) error

func (*Queries) DeleteUser

func (q *Queries) DeleteUser(ctx context.Context, id uuid.UUID) error

func (*Queries) DeleteUserVerificationsByEmail

func (q *Queries) DeleteUserVerificationsByEmail(ctx context.Context, arg DeleteUserVerificationsByEmailParams) error

func (*Queries) DeleteUserVerificationsByUserID

func (q *Queries) DeleteUserVerificationsByUserID(ctx context.Context, arg DeleteUserVerificationsByUserIDParams) error

func (*Queries) GetClientByID

func (q *Queries) GetClientByID(ctx context.Context, id string) (Client, error)

func (*Queries) GetClientByUserID

func (q *Queries) GetClientByUserID(ctx context.Context, userID uuid.UUID) ([]Client, error)

func (*Queries) GetTokenByAccess

func (q *Queries) GetTokenByAccess(ctx context.Context, access string) (Token, error)

func (*Queries) GetTokenByCode

func (q *Queries) GetTokenByCode(ctx context.Context, code string) (Token, error)

func (*Queries) GetTokenByRefresh

func (q *Queries) GetTokenByRefresh(ctx context.Context, refresh string) (Token, error)

func (*Queries) GetUserByEmail

func (q *Queries) GetUserByEmail(ctx context.Context, email string) (User, error)

func (*Queries) GetUserByID

func (q *Queries) GetUserByID(ctx context.Context, id uuid.UUID) (User, error)

func (*Queries) GetUserVerificationByEmail

func (q *Queries) GetUserVerificationByEmail(ctx context.Context, arg GetUserVerificationByEmailParams) (UserVerification, error)

func (*Queries) GetUserVerificationByUserID

func (q *Queries) GetUserVerificationByUserID(ctx context.Context, arg GetUserVerificationByUserIDParams) (UserVerification, error)

func (*Queries) GetVerificationByUserIDAndEmail

func (q *Queries) GetVerificationByUserIDAndEmail(ctx context.Context, arg GetVerificationByUserIDAndEmailParams) (UserVerification, error)

func (*Queries) UpdateClientSecret

func (q *Queries) UpdateClientSecret(ctx context.Context, arg UpdateClientSecretParams) (Client, error)

func (*Queries) UpdateUserEmail

func (q *Queries) UpdateUserEmail(ctx context.Context, arg UpdateUserEmailParams) (User, error)

func (*Queries) UpdateUserPassword

func (q *Queries) UpdateUserPassword(ctx context.Context, arg UpdateUserPasswordParams) (User, error)

func (*Queries) UpdateUserVerifiedAt

func (q *Queries) UpdateUserVerifiedAt(ctx context.Context, id uuid.UUID) error

func (*Queries) WithTx

func (q *Queries) WithTx(tx *sql.Tx) *Queries

type Token

type Token struct {
	ID                  uuid.UUID     `json:"id"`
	ClientID            string        `json:"client_id"`
	UserID              uuid.NullUUID `json:"user_id"`
	RedirectURI         string        `json:"redirect_uri"`
	Scope               string        `json:"scope"`
	Code                string        `json:"code"`
	CodeCreatedAt       sql.NullTime  `json:"code_created_at"`
	CodeExpiresIn       int64         `json:"code_expires_in"`
	CodeChallenge       string        `json:"code_challenge"`
	CodeChallengeMethod string        `json:"code_challenge_method"`
	Access              string        `json:"access"`
	AccessCreatedAt     sql.NullTime  `json:"access_created_at"`
	AccessExpiresIn     int64         `json:"access_expires_in"`
	Refresh             string        `json:"refresh"`
	RefreshCreatedAt    sql.NullTime  `json:"refresh_created_at"`
	RefreshExpiresIn    int64         `json:"refresh_expires_in"`
	CreatedAt           time.Time     `json:"created_at"`
}

type UpdateClientSecretParams

type UpdateClientSecretParams struct {
	Secret []byte `json:"secret"`
	ID     string `json:"id"`
}

type UpdateUserEmailParams

type UpdateUserEmailParams struct {
	Email string    `json:"email"`
	ID    uuid.UUID `json:"id"`
}

type UpdateUserPasswordParams

type UpdateUserPasswordParams struct {
	Password []byte    `json:"password"`
	ID       uuid.UUID `json:"id"`
}

type User

type User struct {
	ID         uuid.UUID    `json:"id"`
	Email      string       `json:"email"`
	Password   []byte       `json:"password"`
	CreatedAt  time.Time    `json:"created_at"`
	UpdatedAt  sql.NullTime `json:"updated_at"`
	VerifiedAt sql.NullTime `json:"verified_at"`
}

type UserVerification

type UserVerification struct {
	RequestType      UserVerificationRequestType `json:"request_type"`
	UserID           uuid.UUID                   `json:"user_id"`
	Email            string                      `json:"email"`
	VerificationCode []byte                      `json:"verification_code"`
	ExpiresAt        time.Time                   `json:"expires_at"`
	CreatedAt        time.Time                   `json:"created_at"`
}

type UserVerificationRequestType

type UserVerificationRequestType string
const (
	UserVerificationRequestTypeEmailChange       UserVerificationRequestType = "email_change"
	UserVerificationRequestTypeEmailVerification UserVerificationRequestType = "email_verification"
	UserVerificationRequestTypePasswordReset     UserVerificationRequestType = "password_reset"
	UserVerificationRequestTypeDeleteAccount     UserVerificationRequestType = "delete_account"
)

func (*UserVerificationRequestType) Scan

func (e *UserVerificationRequestType) Scan(src interface{}) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL