Documentation
¶
Index ¶
- type WorkspaceDB
- func (db *WorkspaceDB) CheckAccountIsVerified(accountID uuid.UUID) (bool, error)
- func (db *WorkspaceDB) CheckWorkspaceExists(name string) (bool, error)
- func (w *WorkspaceDB) Close() error
- func (w *WorkspaceDB) CommitTransaction(tx *sql.Tx) error
- func (w *WorkspaceDB) CreateAccount(req *ws_services.Account) (*ws_services.Account, error)
- func (w *WorkspaceDB) CreateAccountApprovalToken(accountID uuid.UUID) (string, error)
- func (w *WorkspaceDB) CreateWorkspace(req *ws_manager.WorkspaceSettings) (*sql.Tx, error)
- func (w *WorkspaceDB) DeleteAccount(accountID uuid.UUID) error
- func (w *WorkspaceDB) DisableWorkspace(workspaceName string) error
- func (db *WorkspaceDB) GetAccount(accountID uuid.UUID) (*ws_services.Account, error)
- func (db *WorkspaceDB) GetAccounts(accountOwner string) ([]ws_services.Account, error)
- func (db *WorkspaceDB) GetAllWorkspaces() ([]string, error)
- func (db *WorkspaceDB) GetOwnedWorkspaces(username string) ([]ws_manager.WorkspaceSettings, error)
- func (db *WorkspaceDB) GetUserWorkspaces(memberGroups []string) ([]ws_manager.WorkspaceSettings, error)
- func (db *WorkspaceDB) GetWorkspace(workspace_name string) (*ws_manager.WorkspaceSettings, error)
- func (db *WorkspaceDB) IsUserAccountOwner(username, workspaceID string) (bool, error)
- func (w *WorkspaceDB) Migrate() error
- func (w *WorkspaceDB) UpdateAccount(accountID uuid.UUID, account ws_services.Account) (*ws_services.Account, error)
- func (w *WorkspaceDB) UpdateAccountStatus(token, accountID, status string) error
- func (w *WorkspaceDB) UpdateWorkspaceStatus(status ws_manager.WorkspaceStatus) error
- func (w *WorkspaceDB) ValidateApprovalToken(token string) (string, error)
- type WorkspaceDBInterface
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type WorkspaceDB ¶
WorkspaceDB wraps database, events, and logging functionalities.
func NewWorkspaceDB ¶
func NewWorkspaceDB(awsConfig appconfig.AWSConfig) (*WorkspaceDB, error)
NewWorkspaceDB initializes a WorkspaceDB instance with a database connection.
func (*WorkspaceDB) CheckAccountIsVerified ¶
func (db *WorkspaceDB) CheckAccountIsVerified(accountID uuid.UUID) (bool, error)
CheckAccountIsVerified checks if an account is verified and approved to use.
func (*WorkspaceDB) CheckWorkspaceExists ¶
func (db *WorkspaceDB) CheckWorkspaceExists(name string) (bool, error)
CheckWorkspaceExists checks if a workspace with the specified name already exists.
func (*WorkspaceDB) Close ¶
func (w *WorkspaceDB) Close() error
Close closes the database connection and event notifier.
func (*WorkspaceDB) CommitTransaction ¶
func (w *WorkspaceDB) CommitTransaction(tx *sql.Tx) error
CommitTransaction commits a given transaction
func (*WorkspaceDB) CreateAccount ¶
func (w *WorkspaceDB) CreateAccount(req *ws_services.Account) (*ws_services.Account, error)
CreateAccount creates a new account in the database.
func (*WorkspaceDB) CreateAccountApprovalToken ¶
func (w *WorkspaceDB) CreateAccountApprovalToken(accountID uuid.UUID) (string, error)
CreateAccountApproval stores an approval request in the database
func (*WorkspaceDB) CreateWorkspace ¶
func (w *WorkspaceDB) CreateWorkspace(req *ws_manager.WorkspaceSettings) (*sql.Tx, error)
CreateWorkspace starts a transaction to insert a new workspace record.
func (*WorkspaceDB) DeleteAccount ¶
func (w *WorkspaceDB) DeleteAccount(accountID uuid.UUID) error
DeleteAccount deletes an account from the database by its ID.
func (*WorkspaceDB) DisableWorkspace ¶
func (w *WorkspaceDB) DisableWorkspace(workspaceName string) error
func (*WorkspaceDB) GetAccount ¶
func (db *WorkspaceDB) GetAccount(accountID uuid.UUID) (*ws_services.Account, error)
GetAccount retrieves a single account.
func (*WorkspaceDB) GetAccounts ¶
func (db *WorkspaceDB) GetAccounts(accountOwner string) ([]ws_services.Account, error)
GetAccounts retrieves all accounts owned by the specified account owner.
func (*WorkspaceDB) GetAllWorkspaces ¶
func (db *WorkspaceDB) GetAllWorkspaces() ([]string, error)
GetAllWorkspaces retrieves all workspaces.
func (*WorkspaceDB) GetOwnedWorkspaces ¶
func (db *WorkspaceDB) GetOwnedWorkspaces(username string) ([]ws_manager.WorkspaceSettings, error)
GetOwnedWorkspaces retrieves workspaces owned by the specified username.
func (*WorkspaceDB) GetUserWorkspaces ¶
func (db *WorkspaceDB) GetUserWorkspaces(memberGroups []string) ([]ws_manager.WorkspaceSettings, error)
GetUserWorkspaces retrieves workspaces accessible to the specified member groups.
func (*WorkspaceDB) GetWorkspace ¶
func (db *WorkspaceDB) GetWorkspace(workspace_name string) (*ws_manager.WorkspaceSettings, error)
getWorkspace retrieves a workspace by name.
func (*WorkspaceDB) IsUserAccountOwner ¶
func (db *WorkspaceDB) IsUserAccountOwner(username, workspaceID string) (bool, error)
func (*WorkspaceDB) Migrate ¶
func (w *WorkspaceDB) Migrate() error
Migrate runs database migrations.
func (*WorkspaceDB) UpdateAccount ¶
func (w *WorkspaceDB) UpdateAccount(accountID uuid.UUID, account ws_services.Account) (*ws_services.Account, error)
UpdateAccount updates an existing account's details.
func (*WorkspaceDB) UpdateAccountStatus ¶
func (w *WorkspaceDB) UpdateAccountStatus(token, accountID, status string) error
UpdateAccountStatus changes the status of an account and removes the token from being used again
func (*WorkspaceDB) UpdateWorkspaceStatus ¶
func (w *WorkspaceDB) UpdateWorkspaceStatus(status ws_manager.WorkspaceStatus) error
func (*WorkspaceDB) ValidateApprovalToken ¶
func (w *WorkspaceDB) ValidateApprovalToken(token string) (string, error)
ValidateApprovalToken checks if the token is valid and retrieves the account ID
type WorkspaceDBInterface ¶
type WorkspaceDBInterface interface {
Close() error
GetAccounts(accountOwner string) ([]ws_services.Account, error)
GetAccount(accountID uuid.UUID) (*ws_services.Account, error)
CreateAccount(req *ws_services.Account) (*ws_services.Account, error)
UpdateAccount(accountID uuid.UUID, account ws_services.Account) (*ws_services.Account, error)
DeleteAccount(accountID uuid.UUID) error
CheckAccountIsVerified(accountID uuid.UUID) (bool, error)
IsUserAccountOwner(username, workspaceID string) (bool, error)
CreateAccountApprovalToken(accountID uuid.UUID) (string, error)
ValidateApprovalToken(token string) (string, error)
UpdateAccountStatus(token, accountID, status string) error
GetWorkspace(workspace_name string) (*ws_manager.WorkspaceSettings, error)
GetUserWorkspaces(memberGroups []string) ([]ws_manager.WorkspaceSettings, error)
GetOwnedWorkspaces(username string) ([]ws_manager.WorkspaceSettings, error)
CheckWorkspaceExists(name string) (bool, error)
UpdateWorkspaceStatus(status ws_manager.WorkspaceStatus) error
DisableWorkspace(workspaceName string) error
CreateWorkspace(req *ws_manager.WorkspaceSettings) (*sql.Tx, error)
CommitTransaction(tx *sql.Tx) error
}
WorkspaceDBInterface defines the database operations.