Versions in this module Expand all Collapse all v1 v1.1.0 Sep 26, 2021 Changes in this version + type FirestoreAdapter struct + Client *firestore.Client + ContextFactory data.ContextFactory + func (a *FirestoreAdapter) CleanUp() error + func (a *FirestoreAdapter) GetExecutor() data.DataExecutor + func (a *FirestoreAdapter) Setup() error + type FirestoreCRUD struct + Client *firestore.Client + ContextFactory data.ContextFactory + DocWriter docWriter + func (crud *FirestoreCRUD) CreateClient(client *models.Client) error + func (crud *FirestoreCRUD) CreateMigration(timestamp string) error + func (crud *FirestoreCRUD) CreateUser(user *models.User) error + func (crud *FirestoreCRUD) CreateUserRole(role *models.UserRole) error + func (crud *FirestoreCRUD) DeleteAllOtherUserSessions(username string, token uuid.UUID) error + func (crud *FirestoreCRUD) DeleteAllUserRolesByClientUID(uid uuid.UUID) error + func (crud *FirestoreCRUD) DeleteAllUserRolesByUsername(username string) error + func (crud *FirestoreCRUD) DeleteAllUserSessions(username string) error + func (crud *FirestoreCRUD) DeleteClient(uid uuid.UUID) (bool, error) + func (crud *FirestoreCRUD) DeleteMigrationByTimestamp(timestamp string) error + func (crud *FirestoreCRUD) DeleteSession(token uuid.UUID) (bool, error) + func (crud *FirestoreCRUD) DeleteUser(username string) (bool, error) + func (crud *FirestoreCRUD) DeleteUserRole(clientUID uuid.UUID, username string) (bool, error) + func (crud *FirestoreCRUD) GetClientByUID(uid uuid.UUID) (*models.Client, error) + func (crud *FirestoreCRUD) GetClients() ([]*models.Client, error) + func (crud *FirestoreCRUD) GetLatestTimestamp() (string, bool, error) + func (crud *FirestoreCRUD) GetMigrationByTimestamp(timestamp string) (*models.Migration, error) + func (crud *FirestoreCRUD) GetSessionByToken(token uuid.UUID) (*models.Session, error) + func (crud *FirestoreCRUD) GetUserByUsername(username string) (*models.User, error) + func (crud *FirestoreCRUD) GetUserRoleByClientUIDAndUsername(clientUID uuid.UUID, username string) (*models.UserRole, error) + func (crud *FirestoreCRUD) GetUserRolesWithLesserRankByClientUID(uid uuid.UUID, rank int) ([]*models.UserRole, error) + func (crud *FirestoreCRUD) GetUsersWithLesserRank(rank int) ([]*models.User, error) + func (crud *FirestoreCRUD) SaveSession(session *models.Session) error + func (crud *FirestoreCRUD) Setup() error + func (crud *FirestoreCRUD) UpdateClient(client *models.Client) (bool, error) + func (crud *FirestoreCRUD) UpdateUser(user *models.User) (bool, error) + func (crud *FirestoreCRUD) UpdateUserPassword(username string, hash []byte) (bool, error) + func (crud *FirestoreCRUD) UpdateUserRole(role *models.UserRole) (bool, error) + type FirestoreExecutor struct + func (exec *FirestoreExecutor) Create(ref *firestore.DocumentRef, data interface{}) error + func (exec *FirestoreExecutor) CreateTransaction() (data.Transaction, error) + func (exec *FirestoreExecutor) Delete(ref *firestore.DocumentRef) error + func (exec *FirestoreExecutor) Set(ref *firestore.DocumentRef, data interface{}) error + func (exec *FirestoreExecutor) Update(ref *firestore.DocumentRef, updates []firestore.Update) error + type FirestoreMigrationRepositoryFactory struct + ScopeFactory data.ScopeFactory + func (FirestoreMigrationRepositoryFactory) CreateMigrationRepository(_ data.DataExecutor) migrationrunner.MigrationRepository + type FirestoreTransaction struct + Batch *firestore.WriteBatch + func (*FirestoreTransaction) Rollback() error + func (tx *FirestoreTransaction) Commit() error + func (tx *FirestoreTransaction) Create(ref *firestore.DocumentRef, data interface{}) error + func (tx *FirestoreTransaction) Delete(ref *firestore.DocumentRef) error + func (tx *FirestoreTransaction) Set(ref *firestore.DocumentRef, data interface{}) error + func (tx *FirestoreTransaction) Update(ref *firestore.DocumentRef, updates []firestore.Update) error + type MigrationRepository struct + Executor data.DataExecutor + ScopeFactory data.ScopeFactory + func (repo MigrationRepository) GetMigrations() []migrationrunner.Migration