firebase

package
v0.1.928 Latest Latest
Warning

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

Go to latest
Published: Feb 6, 2026 License: Apache-2.0 Imports: 16 Imported by: 1

Documentation

Index

Constants

View Source
const (
	MaxFCMTokens = 500
)

Variables

View Source
var (
	TargetLanguageKey  = contract.ToPubSubKey("target_language")
	UserIDsKey         = contract.ToPubSubKey("user_ids")
	EnglishTitleKey    = contract.ToPubSubKey("english_title")
	EnglishBodyKey     = contract.ToPubSubKey("english_body")
	PathCustomImageKey = contract.ToPubSubKey("path_custom_image")
	URLCustomSoundKey  = contract.ToPubSubKey("url_custom_sound")
	CustomDataKey      = contract.ToPubSubKey("custom_data")
)

Functions

This section is empty.

Types

type Blackbox

type Blackbox interface {
	// contains filtered or unexported methods
}

type Client

type Client interface {
	Blackbox
	contract.FirebaseOperator
}

func NewClient

func NewClient(ctx context.Context, d Dependencies, opts ClientOptions) (Client, error)

func NewNoopClient added in v0.1.859

func NewNoopClient() Client

type ClientOption added in v0.1.123

type ClientOption = contract.Opt[ClientOptions]

func WithAPIKey added in v0.1.123

func WithAPIKey(x string) ClientOption

func WithAPIKeyMod added in v0.1.124

func WithAPIKeyMod(x string) ClientOption

func WithApp added in v0.1.175

func WithApp(x *firebase.App) ClientOption

func WithCredentialsJSON added in v0.1.123

func WithCredentialsJSON(x []byte) ClientOption

func WithCredentialsJSONMod added in v0.1.123

func WithCredentialsJSONMod(x []byte) ClientOption

func WithInitialized added in v0.1.175

func WithInitialized(x Initialized) ClientOption

func WithLoaded added in v0.1.163

func WithLoaded(x Loaded) ClientOption

func WithModApp added in v0.1.175

func WithModApp(x *firebase.App) ClientOption

type ClientOptions added in v0.1.123

type ClientOptions struct {
	Loaded
	Initialized
}

func ApplyClientOptions added in v0.1.123

func ApplyClientOptions(opts *ClientOptions, modifiers ...ClientOption) ClientOptions

type DefaultTool added in v0.1.11

type DefaultTool struct {
	T *contract.Tool[Client]
}

func NewTool

func NewTool(c Client, opts contract.ToolOptions[Client]) *DefaultTool

func (*DefaultTool) AuthenticateFirebaseIDToken added in v0.1.178

func (d *DefaultTool) AuthenticateFirebaseIDToken(ctx context.Context, r *http.Request, opts contract.AuthOptions) error

AuthenticateFirebaseIDToken validates a Firebase ID token from the request.

func (*DefaultTool) BatchSendNotif added in v0.1.583

BatchSendNotif sends a push notification to multiple tokens using a multicast message.

func (*DefaultTool) CreateMockUser added in v0.1.219

func (d *DefaultTool) CreateMockUser(ctx context.Context) (*contract.FirebaseMockUser, error)

CreateMockUser creates a Firebase test user with a random email and password.

func (*DefaultTool) DeleteMockUser added in v0.1.219

func (d *DefaultTool) DeleteMockUser(ctx context.Context, email string) error

DeleteMockUser deletes a Firebase test user by email.

func (*DefaultTool) FirebaseIDToken added in v0.1.178

func (d *DefaultTool) FirebaseIDToken(ctx context.Context, u contract.FirebaseMockUser, apiKey string) (string, error)

FirebaseIDToken exchanges email and password for a Firebase ID token.

func (*DefaultTool) GenerateMockFirebaseUID added in v0.1.11

func (d *DefaultTool) GenerateMockFirebaseUID(ctx context.Context, length int) (string, error)

GenerateMockFirebaseUID generates a random Firebase UID.

func (*DefaultTool) GetAPIKey added in v0.1.221

func (d *DefaultTool) GetAPIKey(ctx context.Context) (string, error)

GetAPIKey returns the Firebase API key.

func (*DefaultTool) InitFirebase added in v0.1.11

func (d *DefaultTool) InitFirebase(ctx context.Context, credentialsJSON []byte) (*firebase.App, error)

InitFirebase initializes Firebase Admin SDK.

func (*DefaultTool) SendNotif added in v0.1.583

SendNotif sends a single push notification to a specified token.

type Initialized added in v0.1.175

type Initialized struct {
	App    *firebase.App
	ModApp *firebase.App
}

type Loaded added in v0.1.123

type Loaded struct {
	APIKey             string
	APIKeyMod          string
	CredentialsJSON    []byte
	CredentialsJSONMod []byte
}

type Tool added in v0.1.245

type Tool interface {
	contract.FirebaseOperator
}

Jump to

Keyboard shortcuts

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