Documentation
¶
Overview ¶
Package firebase provides a client wrapper for Firebase Authentication and User Management operations. It simplifies interaction with Firebase Admin SDK for managing users and verifying ID tokens.
Index ¶
- func FxModule() fx.Option
- func NewClient(opts ...clientOption) *client
- func NewUser(email, password, firstName string, opts ...UserOption) *user
- func WithClientFirebaseOpts(opts ...option.ClientOption) clientOption
- type AuthAPI
- type Client
- type TokenClaims
- type User
- type UserManagement
- type UserOption
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewUser ¶
func NewUser(email, password, firstName string, opts ...UserOption) *user
func WithClientFirebaseOpts ¶
func WithClientFirebaseOpts(opts ...option.ClientOption) clientOption
Types ¶
type AuthAPI ¶
type AuthAPI interface {
VerifyIDToken(ctx context.Context, idToken string) (TokenClaims, error)
}
type Client ¶
type Client interface {
Auth() AuthAPI
AuthClient() *firebaseAuth.Client
UserManagement() UserManagement
}
Client interface (similar to TradingClient pattern)
type TokenClaims ¶
type User ¶
type User interface {
ID() string
Email() string
Password() string
FirstName() string
LastName() string
EmailVerified() bool
}
User represents a firebase user
type UserManagement ¶
type UserManagement interface {
Create(ctx context.Context, user User) (User, error)
Get(ctx context.Context, id string) (User, error)
GetByEmail(ctx context.Context, email string) (User, error)
Update(ctx context.Context, id string, user User) (User, error)
Delete(ctx context.Context, id string) error
}
UserManagement defines user management operations
type UserOption ¶
type UserOption func(*user)
func WithID ¶
func WithID(id string) UserOption
func WithUserEmailVerified ¶
func WithUserEmailVerified(verified bool) UserOption
func WithUserLastName ¶
func WithUserLastName(lastName string) UserOption
Click to show internal directories.
Click to hide internal directories.