Documentation
¶
Index ¶
- Constants
- Variables
- type Blackbox
- type Client
- type ClientOption
- func WithAPIKey(x string) ClientOption
- func WithAPIKeyMod(x string) ClientOption
- func WithApp(x *firebase.App) ClientOption
- func WithCredentialsJSON(x []byte) ClientOption
- func WithCredentialsJSONMod(x []byte) ClientOption
- func WithInitialized(x Initialized) ClientOption
- func WithLoaded(x Loaded) ClientOption
- func WithModApp(x *firebase.App) ClientOption
- type ClientOptions
- type DefaultTool
- func (d *DefaultTool) AuthenticateFirebaseIDToken(ctx context.Context, r *http.Request, opts contract.AuthOptions) error
- func (d *DefaultTool) BatchSendNotif(ctx context.Context, opts contract.NotificationOptions) (*contract.BatchSendResult, error)
- func (d *DefaultTool) CreateMockUser(ctx context.Context) (*contract.FirebaseMockUser, error)
- func (d *DefaultTool) DeleteMockUser(ctx context.Context, email string) error
- func (d *DefaultTool) FirebaseIDToken(ctx context.Context, u contract.FirebaseMockUser, apiKey string) (string, error)
- func (d *DefaultTool) GenerateMockFirebaseUID(ctx context.Context, length int) (string, error)
- func (d *DefaultTool) GetAPIKey(ctx context.Context) (string, error)
- func (d *DefaultTool) InitFirebase(ctx context.Context, credentialsJSON []byte) (*firebase.App, error)
- func (d *DefaultTool) SendNotif(ctx context.Context, opts contract.NotificationOptions) (*contract.SendResult, error)
- type Dependencies
- type Initialized
- type Loaded
- type Tool
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 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
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
func (d *DefaultTool) BatchSendNotif(ctx context.Context, opts contract.NotificationOptions) (*contract.BatchSendResult, error)
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
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
func (d *DefaultTool) SendNotif(ctx context.Context, opts contract.NotificationOptions) (*contract.SendResult, error)
SendNotif sends a single push notification to a specified token.
type Dependencies ¶ added in v0.1.8
type Dependencies struct {
HR contract.HTTPRequester
HD contract.HTTPDoer
M contract.Marshaler
U contract.Unmarshaler
R contract.Reader
ENV contract.EnvironmentOperator
}
type Initialized ¶ added in v0.1.175
type Tool ¶ added in v0.1.245
type Tool interface {
contract.FirebaseOperator
}
Click to show internal directories.
Click to hide internal directories.