Documentation ¶
Index ¶
- Constants
- type CreateCommand
- type DeleteCommand
- type FBClientExtension
- type FBClientExtensionImpl
- func (f *FBClientExtensionImpl) CreateUser(ctx context.Context, user *auth.UserToCreate) (*auth.UserRecord, error)
- func (f *FBClientExtensionImpl) DeleteUser(ctx context.Context, uid string) error
- func (f *FBClientExtensionImpl) GetUserByPhoneNumber(ctx context.Context, phone string) (*auth.UserRecord, error)
- type FirestoreClientExtension
- type FirestoreClientExtensionImpl
- func (f *FirestoreClientExtensionImpl) Create(ctx context.Context, command *CreateCommand) (*firestore.DocumentRef, error)
- func (f *FirestoreClientExtensionImpl) Delete(ctx context.Context, command *DeleteCommand) error
- func (f *FirestoreClientExtensionImpl) Get(ctx context.Context, query *GetSingleQuery) (*firestore.DocumentSnapshot, error)
- func (f *FirestoreClientExtensionImpl) GetAll(ctx context.Context, getQuery *GetAllQuery) ([]*firestore.DocumentSnapshot, error)
- func (f *FirestoreClientExtensionImpl) Update(ctx context.Context, command *UpdateCommand) error
- type GetAllQuery
- type GetSingleQuery
- type Repository
- type UpdateCommand
Constants ¶
const ( // EmailOptInCollectionName ... EmailOptInCollectionName = "email_opt_ins" // BreakGlassCollectionName ... BreakGlassCollectionName = "break_glass" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CreateCommand ¶
type CreateCommand struct { CollectionName string Data interface{} }
CreateCommand represent payload required to perform a create operation in the database
type DeleteCommand ¶
DeleteCommand represent payload required to perform a delete operation in the database
type FBClientExtension ¶
type FBClientExtension interface { GetUserByPhoneNumber(ctx context.Context, phone string) (*auth.UserRecord, error) CreateUser(ctx context.Context, user *auth.UserToCreate) (*auth.UserRecord, error) DeleteUser(ctx context.Context, uid string) error }
FBClientExtension represents the methods we need from firebase `auth.Client`
func NewFBClientExtensionImpl ¶
func NewFBClientExtensionImpl() FBClientExtension
NewFBClientExtensionImpl initializes a new FirebaseClient extension
type FBClientExtensionImpl ¶
type FBClientExtensionImpl struct{}
FBClientExtensionImpl ...
func (*FBClientExtensionImpl) CreateUser ¶
func (f *FBClientExtensionImpl) CreateUser(ctx context.Context, user *auth.UserToCreate) (*auth.UserRecord, error)
CreateUser ...
func (*FBClientExtensionImpl) DeleteUser ¶
func (f *FBClientExtensionImpl) DeleteUser(ctx context.Context, uid string) error
DeleteUser ...
func (*FBClientExtensionImpl) GetUserByPhoneNumber ¶
func (f *FBClientExtensionImpl) GetUserByPhoneNumber(ctx context.Context, phone string) (*auth.UserRecord, error)
GetUserByPhoneNumber ...
type FirestoreClientExtension ¶
type FirestoreClientExtension interface { GetAll(ctx context.Context, query *GetAllQuery) ([]*firestore.DocumentSnapshot, error) Create(ctx context.Context, command *CreateCommand) (*firestore.DocumentRef, error) Update(ctx context.Context, command *UpdateCommand) error Delete(ctx context.Context, command *DeleteCommand) error Get(ctx context.Context, query *GetSingleQuery) (*firestore.DocumentSnapshot, error) }
FirestoreClientExtension represents the methods we need from firebase `firestore.Client`
type FirestoreClientExtensionImpl ¶
type FirestoreClientExtensionImpl struct {
// contains filtered or unexported fields
}
FirestoreClientExtensionImpl ...
func NewFirestoreClientExtension ¶
func NewFirestoreClientExtension(fc *firestore.Client) *FirestoreClientExtensionImpl
NewFirestoreClientExtension initializes a new FirestoreClient extension
func (*FirestoreClientExtensionImpl) Create ¶
func (f *FirestoreClientExtensionImpl) Create(ctx context.Context, command *CreateCommand) (*firestore.DocumentRef, error)
Create persists data to a firestore collection
func (*FirestoreClientExtensionImpl) Delete ¶
func (f *FirestoreClientExtensionImpl) Delete(ctx context.Context, command *DeleteCommand) error
Delete deletes data to a firestore collection
func (*FirestoreClientExtensionImpl) Get ¶
func (f *FirestoreClientExtensionImpl) Get(ctx context.Context, query *GetSingleQuery) (*firestore.DocumentSnapshot, error)
Get retrieves data to a firestore collection
func (*FirestoreClientExtensionImpl) GetAll ¶
func (f *FirestoreClientExtensionImpl) GetAll(ctx context.Context, getQuery *GetAllQuery) ([]*firestore.DocumentSnapshot, error)
GetAll retrieve a value from the store
func (*FirestoreClientExtensionImpl) Update ¶
func (f *FirestoreClientExtensionImpl) Update(ctx context.Context, command *UpdateCommand) error
Update updates data to a firestore collection
type GetAllQuery ¶
type GetAllQuery struct { CollectionName string FieldName string Value interface{} Operator string }
GetAllQuery represent payload required to perform a request in the database
type GetSingleQuery ¶
GetSingleQuery represent payload required to get a single item from the database
type Repository ¶
type Repository struct { FirestoreClient FirestoreClientExtension FirebaseClient FBClientExtension }
Repository accesses and updates an item that is stored on Firebase
func NewFirebaseRepository ¶
func NewFirebaseRepository( firestoreClient FirestoreClientExtension, firebaseClient FBClientExtension, ) *Repository
NewFirebaseRepository initializes a Firebase repository
func (Repository) GetEmailOptInCollectionName ¶
func (fr Repository) GetEmailOptInCollectionName() string
GetEmailOptInCollectionName ...
func (Repository) SaveEmailOTP ¶
SaveEmailOTP persist the data of the newly created OTP to a datastore
func (Repository) StageStartEpisodeByBreakGlass ¶
func (fr Repository) StageStartEpisodeByBreakGlass( ctx context.Context, input domain.BreakGlassEpisodeCreationInput) error
StageStartEpisodeByBreakGlass persists starts an emergency episode data
type UpdateCommand ¶
UpdateCommand represent payload required to perform an update operaion in the database