Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Server ¶
type Server struct { pushpb.UnimplementedPushServer // contains filtered or unexported fields }
func NewServer ¶
func NewServer(log *zap.Logger, auth auth.Authorizer, tokens TokenStore) *Server
func (*Server) AddToken ¶
func (s *Server) AddToken(ctx context.Context, req *pushpb.AddTokenRequest) (*pushpb.AddTokenResponse, error)
func (*Server) DeleteTokens ¶
func (s *Server) DeleteTokens(ctx context.Context, req *pushpb.DeleteTokensRequest) (*pushpb.DeleteTokensResponse, error)
type Token ¶
Token represents a push notification token.
Tokens are bound to a (user, device) pair, identified by the AppInstallID.
type TokenStore ¶
type TokenStore interface { // GetTokens returns all tokens for a user. GetTokens(ctx context.Context, userID *commonpb.UserId) ([]Token, error) // GetTokensBatch returns all tokens for a batch of users. GetTokensBatch(ctx context.Context, userIDs ...*commonpb.UserId) ([]Token, error) // AddToken adds a token for a user. // // If the token already exists for the same user and device, it will be updated. AddToken(ctx context.Context, userID *commonpb.UserId, appInstallID *commonpb.AppInstallId, tokenType pushpb.TokenType, token string) error // DeleteToken deletes a token for a user. DeleteToken(ctx context.Context, tokenType pushpb.TokenType, token string) error }
Click to show internal directories.
Click to hide internal directories.