firebase_messaging_repository.go 860 B

123456789101112131415161718192021222324252627282930
  1. package repositories
  2. import (
  3. "context"
  4. "gorm.io/gorm"
  5. "sikey.com/websocket/models"
  6. )
  7. type FirebaseMessageRepository interface {
  8. GetFirebaseToken(ctx context.Context, uid string) (*models.FirebaseMessageToken, error)
  9. }
  10. var _ FirebaseMessageRepository = (*firebaseMessageRepository)(nil)
  11. type firebaseMessageRepository struct {
  12. source *gorm.DB
  13. }
  14. // GetFirebaseToken implements FirebaseMessageRepository.
  15. func (repo *firebaseMessageRepository) GetFirebaseToken(ctx context.Context, uid string) (*models.FirebaseMessageToken, error) {
  16. var err error
  17. var token models.FirebaseMessageToken
  18. err = repo.source.WithContext(ctx).Where(&models.FirebaseMessageToken{AccountId: uid}).First(&token).Error
  19. return &token, err
  20. }
  21. func NewFirebaseMessageRepository(source *gorm.DB) FirebaseMessageRepository {
  22. return &firebaseMessageRepository{source: source}
  23. }