Documentation
¶
Index ¶
- func New(cfg config.DatabaseConfig) (store.Store, error)
- type SQLStore
- func (s *SQLStore) AssignRole(ctx context.Context, userID, roleID string) error
- func (s *SQLStore) BeginTx(ctx context.Context) (store.Store, error)
- func (s *SQLStore) Close() error
- func (s *SQLStore) Commit() error
- func (s *SQLStore) CreateEmailVerification(ctx context.Context, verification *models.EmailVerification) error
- func (s *SQLStore) CreateOAuthAccount(ctx context.Context, account *models.OAuthAccount) error
- func (s *SQLStore) CreatePasswordReset(ctx context.Context, reset *models.PasswordReset) error
- func (s *SQLStore) CreatePermission(ctx context.Context, permission *models.Permission) error
- func (s *SQLStore) CreateRefreshToken(ctx context.Context, token *models.RefreshToken) error
- func (s *SQLStore) CreateRole(ctx context.Context, role *models.Role) error
- func (s *SQLStore) CreateUser(ctx context.Context, user *models.User) error
- func (s *SQLStore) DB() *sql.DB
- func (s *SQLStore) DeleteExpiredEmailVerifications(ctx context.Context) error
- func (s *SQLStore) DeleteExpiredPasswordResets(ctx context.Context) error
- func (s *SQLStore) DeleteExpiredRefreshTokens(ctx context.Context) error
- func (s *SQLStore) DeleteOAuthAccount(ctx context.Context, id string) error
- func (s *SQLStore) DeletePermission(ctx context.Context, id string) error
- func (s *SQLStore) DeleteRole(ctx context.Context, id string) error
- func (s *SQLStore) DeleteUser(ctx context.Context, id string) error
- func (s *SQLStore) GetEmailVerificationByToken(ctx context.Context, token string) (*models.EmailVerification, error)
- func (s *SQLStore) GetOAuthAccountByProviderID(ctx context.Context, provider models.OAuthProvider, providerID string) (*models.OAuthAccount, error)
- func (s *SQLStore) GetOAuthAccountsByUserID(ctx context.Context, userID string) ([]*models.OAuthAccount, error)
- func (s *SQLStore) GetPasswordResetByToken(ctx context.Context, token string) (*models.PasswordReset, error)
- func (s *SQLStore) GetPermissionByID(ctx context.Context, id string) (*models.Permission, error)
- func (s *SQLStore) GetPermissionByName(ctx context.Context, name string) (*models.Permission, error)
- func (s *SQLStore) GetPermissionByResourceAction(ctx context.Context, resource, action string) (*models.Permission, error)
- func (s *SQLStore) GetPermissionRoles(ctx context.Context, permissionID string) ([]*models.Role, error)
- func (s *SQLStore) GetRefreshTokenByToken(ctx context.Context, token string) (*models.RefreshToken, error)
- func (s *SQLStore) GetRefreshTokensByUserID(ctx context.Context, userID string) ([]*models.RefreshToken, error)
- func (s *SQLStore) GetRoleByID(ctx context.Context, id string) (*models.Role, error)
- func (s *SQLStore) GetRoleByName(ctx context.Context, name string) (*models.Role, error)
- func (s *SQLStore) GetRolePermissions(ctx context.Context, roleID string) ([]*models.Permission, error)
- func (s *SQLStore) GetRoleUsers(ctx context.Context, roleID string) ([]*models.User, error)
- func (s *SQLStore) GetUserByEmail(ctx context.Context, email string) (*models.User, error)
- func (s *SQLStore) GetUserByID(ctx context.Context, id string) (*models.User, error)
- func (s *SQLStore) GetUserDirectPermissions(ctx context.Context, userID string) ([]*models.Permission, error)
- func (s *SQLStore) GetUserRoles(ctx context.Context, userID string) ([]*models.Role, error)
- func (s *SQLStore) GrantPermission(ctx context.Context, roleID, permissionID string) error
- func (s *SQLStore) GrantUserPermission(ctx context.Context, userID, permissionID string) error
- func (s *SQLStore) HasPermissionByName(ctx context.Context, userID, permissionName string) (bool, error)
- func (s *SQLStore) HasRole(ctx context.Context, userID, roleName string) (bool, error)
- func (s *SQLStore) HasRolePermission(ctx context.Context, roleID, permissionID string) (bool, error)
- func (s *SQLStore) ListPermissions(ctx context.Context) ([]*models.Permission, error)
- func (s *SQLStore) ListRoles(ctx context.Context) ([]*models.Role, error)
- func (s *SQLStore) ListUsers(ctx context.Context, limit, offset int) ([]*models.User, error)
- func (s *SQLStore) MarkEmailVerificationUsed(ctx context.Context, id string) error
- func (s *SQLStore) MarkPasswordResetUsed(ctx context.Context, id string) error
- func (s *SQLStore) RemoveRole(ctx context.Context, userID, roleID string) error
- func (s *SQLStore) RevokeAllRefreshTokensForUser(ctx context.Context, userID string) error
- func (s *SQLStore) RevokePermission(ctx context.Context, roleID, permissionID string) error
- func (s *SQLStore) RevokeRefreshToken(ctx context.Context, token string) error
- func (s *SQLStore) RevokeUserPermission(ctx context.Context, userID, permissionID string) error
- func (s *SQLStore) Rollback() error
- func (s *SQLStore) UpdateOAuthAccount(ctx context.Context, account *models.OAuthAccount) error
- func (s *SQLStore) UpdatePermission(ctx context.Context, permission *models.Permission) error
- func (s *SQLStore) UpdateRole(ctx context.Context, role *models.Role) error
- func (s *SQLStore) UpdateUser(ctx context.Context, user *models.User) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type SQLStore ¶
type SQLStore struct {
// contains filtered or unexported fields
}
SQLStore implements the Store interface for SQL databases
func (*SQLStore) AssignRole ¶
AssignRole assigns a role to a user
func (*SQLStore) CreateEmailVerification ¶
func (s *SQLStore) CreateEmailVerification(ctx context.Context, verification *models.EmailVerification) error
CreateEmailVerification creates a new email verification token
func (*SQLStore) CreateOAuthAccount ¶
CreateOAuthAccount creates a new OAuth account
func (*SQLStore) CreatePasswordReset ¶
CreatePasswordReset creates a new password reset token
func (*SQLStore) CreatePermission ¶
CreatePermission creates a new permission
func (*SQLStore) CreateRefreshToken ¶
CreateRefreshToken creates a new refresh token
func (*SQLStore) CreateRole ¶
CreateRole creates a new role
func (*SQLStore) CreateUser ¶
CreateUser creates a new user
func (*SQLStore) DeleteExpiredEmailVerifications ¶
DeleteExpiredEmailVerifications deletes expired email verifications
func (*SQLStore) DeleteExpiredPasswordResets ¶
DeleteExpiredPasswordResets deletes expired password resets
func (*SQLStore) DeleteExpiredRefreshTokens ¶
DeleteExpiredRefreshTokens deletes all expired refresh tokens
func (*SQLStore) DeleteOAuthAccount ¶
DeleteOAuthAccount deletes an OAuth account
func (*SQLStore) DeletePermission ¶
DeletePermission deletes a permission
func (*SQLStore) DeleteRole ¶
DeleteRole deletes a role
func (*SQLStore) DeleteUser ¶
DeleteUser deletes a user (soft delete by setting Active = false)
func (*SQLStore) GetEmailVerificationByToken ¶
func (s *SQLStore) GetEmailVerificationByToken(ctx context.Context, token string) (*models.EmailVerification, error)
GetEmailVerificationByToken retrieves an email verification by token
func (*SQLStore) GetOAuthAccountByProviderID ¶
func (s *SQLStore) GetOAuthAccountByProviderID(ctx context.Context, provider models.OAuthProvider, providerID string) (*models.OAuthAccount, error)
GetOAuthAccountByProviderID retrieves an OAuth account by provider and provider ID
func (*SQLStore) GetOAuthAccountsByUserID ¶
func (s *SQLStore) GetOAuthAccountsByUserID(ctx context.Context, userID string) ([]*models.OAuthAccount, error)
GetOAuthAccountsByUserID retrieves all OAuth accounts for a user
func (*SQLStore) GetPasswordResetByToken ¶
func (s *SQLStore) GetPasswordResetByToken(ctx context.Context, token string) (*models.PasswordReset, error)
GetPasswordResetByToken retrieves a password reset by token
func (*SQLStore) GetPermissionByID ¶
GetPermissionByID retrieves a permission by its ID
func (*SQLStore) GetPermissionByName ¶
func (s *SQLStore) GetPermissionByName(ctx context.Context, name string) (*models.Permission, error)
GetPermissionByName retrieves a permission by its name
func (*SQLStore) GetPermissionByResourceAction ¶ added in v0.0.3
func (s *SQLStore) GetPermissionByResourceAction(ctx context.Context, resource, action string) (*models.Permission, error)
GetPermissionByResourceAction retrieves a permission by resource and action
func (*SQLStore) GetPermissionRoles ¶
func (s *SQLStore) GetPermissionRoles(ctx context.Context, permissionID string) ([]*models.Role, error)
GetPermissionRoles retrieves all roles that have a specific permission
func (*SQLStore) GetRefreshTokenByToken ¶
func (s *SQLStore) GetRefreshTokenByToken(ctx context.Context, token string) (*models.RefreshToken, error)
GetRefreshTokenByToken retrieves a refresh token by its token string
func (*SQLStore) GetRefreshTokensByUserID ¶
func (s *SQLStore) GetRefreshTokensByUserID(ctx context.Context, userID string) ([]*models.RefreshToken, error)
GetRefreshTokensByUserID retrieves all refresh tokens for a user
func (*SQLStore) GetRoleByID ¶
GetRoleByID retrieves a role by its ID
func (*SQLStore) GetRoleByName ¶
GetRoleByName retrieves a role by its name
func (*SQLStore) GetRolePermissions ¶
func (s *SQLStore) GetRolePermissions(ctx context.Context, roleID string) ([]*models.Permission, error)
GetRolePermissions retrieves all permissions for a role
func (*SQLStore) GetRoleUsers ¶
GetRoleUsers retrieves all users with a specific role
func (*SQLStore) GetUserByEmail ¶
GetUserByEmail retrieves a user by their email address
func (*SQLStore) GetUserByID ¶
GetUserByID retrieves a user by their ID
func (*SQLStore) GetUserDirectPermissions ¶ added in v0.0.4
func (s *SQLStore) GetUserDirectPermissions(ctx context.Context, userID string) ([]*models.Permission, error)
GetUserDirectPermissions retrieves all permissions granted directly to a user
func (*SQLStore) GetUserRoles ¶
GetUserRoles retrieves all roles for a user
func (*SQLStore) GrantPermission ¶
GrantPermission grants a permission to a role
func (*SQLStore) GrantUserPermission ¶ added in v0.0.4
GrantUserPermission grants a permission directly to a user
func (*SQLStore) HasPermissionByName ¶ added in v0.0.3
func (s *SQLStore) HasPermissionByName(ctx context.Context, userID, permissionName string) (bool, error)
HasPermissionByName checks if a user has a specific permission by permission name
func (*SQLStore) HasRolePermission ¶ added in v0.0.3
func (s *SQLStore) HasRolePermission(ctx context.Context, roleID, permissionID string) (bool, error)
HasRolePermission checks if a role has a specific permission
func (*SQLStore) ListPermissions ¶
ListPermissions retrieves all permissions
func (*SQLStore) MarkEmailVerificationUsed ¶
MarkEmailVerificationUsed marks an email verification as used
func (*SQLStore) MarkPasswordResetUsed ¶
MarkPasswordResetUsed marks a password reset as used
func (*SQLStore) RemoveRole ¶
RemoveRole removes a role from a user
func (*SQLStore) RevokeAllRefreshTokensForUser ¶
RevokeAllRefreshTokensForUser revokes all refresh tokens for a user
func (*SQLStore) RevokePermission ¶
RevokePermission revokes a permission from a role
func (*SQLStore) RevokeRefreshToken ¶
RevokeRefreshToken revokes a refresh token
func (*SQLStore) RevokeUserPermission ¶ added in v0.0.4
RevokeUserPermission revokes a permission directly from a user
func (*SQLStore) UpdateOAuthAccount ¶
UpdateOAuthAccount updates an existing OAuth account
func (*SQLStore) UpdatePermission ¶
UpdatePermission updates an existing permission
func (*SQLStore) UpdateRole ¶
UpdateRole updates an existing role