Documentation
¶
Index ¶
- func ActivateUserHandler(c *gin.Context)
- func AdminRequiredMiddleware() gin.HandlerFunc
- func AdminResetPasswordHandler(c *gin.Context)
- func AdminUpdatePasswordHandler(c *gin.Context)
- func AnalyzeBackupHandler(c *gin.Context)
- func AnalyzeRestoreUploadHandler(c *gin.Context)
- func ApiKeyOrJWTMiddleware() gin.HandlerFunc
- func AuthRequired() bool
- func CheckAuthHandler(c *gin.Context)
- func CheckSingleUserPaired() bool
- func CleanupDataHandler(c *gin.Context)
- func CleanupExpiredAPIKeysHandler(c *gin.Context)
- func CleanupOrphanedRestoreUploads() error
- func CreateAPIKeyHandler(c *gin.Context)
- func CreateBackupJobHandler(c *gin.Context)
- func DeactivateAPIKeyHandler(c *gin.Context)
- func DeactivateUserHandler(c *gin.Context)
- func DeleteAPIKeyHandler(c *gin.Context)
- func DeleteBackupJobHandler(c *gin.Context)
- func DeleteCurrentUserHandler(c *gin.Context)
- func DeleteRestoreUploadHandler(c *gin.Context)
- func DeleteUserHandler(c *gin.Context)
- func DemoteUserHandler(c *gin.Context)
- func DownloadBackupHandler(c *gin.Context)
- func GetAPIKeyHandler(c *gin.Context)
- func GetAPIKeyStatsHandler(c *gin.Context)
- func GetAPIKeysHandler(c *gin.Context)
- func GetAllAPIKeysHandler(c *gin.Context)
- func GetAuthMethod(c *gin.Context) string
- func GetBackupJobHandler(c *gin.Context)
- func GetBackupJobsHandler(c *gin.Context)
- func GetCurrentUser(c *gin.Context) *database.User
- func GetCurrentUserHandler(c *gin.Context)
- func GetCurrentUserID(c *gin.Context) uuid.UUID
- func GetCurrentUserStatsHandler(c *gin.Context)
- func GetExtractionStatusHandler(c *gin.Context)
- func GetOIDCButtonText() string
- func GetRegistrationStatusHandler(c *gin.Context)
- func GetRestoreUploadsHandler(c *gin.Context)
- func GetSystemSettingsHandler(c *gin.Context)
- func GetSystemStatusHandler(c *gin.Context)
- func GetUISecret() string
- func GetUserHandler(c *gin.Context)
- func GetUserStatsHandler(c *gin.Context)
- func GetUsersHandler(c *gin.Context)
- func InitOIDC() error
- func InitProxyAuth()
- func IsCurrentUserAdmin(c *gin.Context) bool
- func IsOIDCEnabled() bool
- func IsOIDCGroupBasedAdminEnabled() bool
- func IsOIDCSsoOnlyEnabled() bool
- func IsProxyAuthEnabled() bool
- func LoginHandler(c *gin.Context)
- func LogoutHandler(c *gin.Context)
- func MultiUserAuthMiddleware() gin.HandlerFunc
- func MultiUserCheckAuthHandler(c *gin.Context)
- func MultiUserLoginHandler(c *gin.Context)
- func OIDCAuthHandler(c *gin.Context)
- func OIDCCallbackHandler(c *gin.Context)
- func OIDCLogoutHandler(c *gin.Context)
- func OptionalAuthMiddleware() gin.HandlerFunc
- func PasswordResetConfirmHandler(c *gin.Context)
- func PasswordResetHandler(c *gin.Context)
- func PromoteUserHandler(c *gin.Context)
- func ProxyAuthCheckHandler(c *gin.Context)
- func ProxyAuthMiddleware() gin.HandlerFunc
- func PublicRegisterHandler(c *gin.Context)
- func RegisterHandler(c *gin.Context)
- func RequireAdmin(c *gin.Context) (*database.User, bool)
- func RequireUser(c *gin.Context) (*database.User, bool)
- func RestoreDatabaseHandler(c *gin.Context)
- func RunPair(stdout, stderr io.Writer) error
- func ServeIndexWithSecret(c *gin.Context, uiFS fs.FS, secret string)
- func TestSMTPHandler(c *gin.Context)
- func UpdateAPIKeyHandler(c *gin.Context)
- func UpdateCurrentUserHandler(c *gin.Context)
- func UpdatePasswordHandler(c *gin.Context)
- func UpdateSystemSettingHandler(c *gin.Context)
- func UpdateUserHandler(c *gin.Context)
- func UploadRestoreFileHandler(c *gin.Context)
- type APIKeyResponse
- type AdminResetPasswordRequest
- type AdminUpdatePasswordRequest
- type CreateAPIKeyRequest
- type CreateAPIKeyResponse
- type LoginRequest
- type OIDCConfig
- type PasswordResetConfirmRequest
- type PasswordResetRequest
- type RegisterRequest
- type SelfDeleteRequest
- type UpdatePasswordRequest
- type UpdateUserRequest
- type UserResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ActivateUserHandler ¶ added in v1.4.0
ActivateUserHandler activates a user (admin only)
func AdminRequiredMiddleware ¶ added in v1.4.0
func AdminRequiredMiddleware() gin.HandlerFunc
AdminRequiredMiddleware ensures the user is an admin
func AdminResetPasswordHandler ¶ added in v1.4.0
AdminResetPasswordHandler resets any user's password (admin only)
func AdminUpdatePasswordHandler ¶ added in v1.4.0
AdminUpdatePasswordHandler updates any user's password (admin only)
func AnalyzeBackupHandler ¶ added in v1.4.0
AnalyzeBackupHandler analyzes a backup file and returns metadata without restoring (admin only)
func AnalyzeRestoreUploadHandler ¶ added in v1.5.0
AnalyzeRestoreUploadHandler analyzes an already uploaded restore file by ID (admin only)
func ApiKeyOrJWTMiddleware ¶
func ApiKeyOrJWTMiddleware() gin.HandlerFunc
ApiKeyOrJWTMiddleware checks for either valid API key or valid JWT
func AuthRequired ¶ added in v1.4.0
func AuthRequired() bool
AuthRequired checks if API authentication is configured
func CheckAuthHandler ¶
func CheckSingleUserPaired ¶ added in v1.4.0
func CheckSingleUserPaired() bool
CheckSingleUserPaired checks if rmapi.conf exists for single-user mode
func CleanupDataHandler ¶ added in v1.4.0
CleanupDataHandler performs database cleanup (admin only)
func CleanupExpiredAPIKeysHandler ¶ added in v1.4.0
CleanupExpiredAPIKeysHandler removes expired API keys (admin only)
func CleanupOrphanedRestoreUploads ¶ added in v1.5.5
func CleanupOrphanedRestoreUploads() error
func CreateAPIKeyHandler ¶ added in v1.4.0
CreateAPIKeyHandler creates a new API key for the current user
func CreateBackupJobHandler ¶ added in v1.4.1
CreateBackupJobHandler creates a background backup job (admin only)
func DeactivateAPIKeyHandler ¶ added in v1.4.0
DeactivateAPIKeyHandler deactivates an API key
func DeactivateUserHandler ¶ added in v1.4.0
DeactivateUserHandler deactivates a user (admin only)
func DeleteAPIKeyHandler ¶ added in v1.4.0
DeleteAPIKeyHandler permanently deletes an API key
func DeleteBackupJobHandler ¶ added in v1.4.1
DeleteBackupJobHandler deletes a backup job and its file
func DeleteCurrentUserHandler ¶ added in v1.4.0
DeleteCurrentUserHandler allows users to delete their own account
func DeleteRestoreUploadHandler ¶ added in v1.4.1
DeleteRestoreUploadHandler deletes a restore upload and its file
func DeleteUserHandler ¶ added in v1.4.0
DeleteUserHandler deletes a user (admin only)
func DemoteUserHandler ¶ added in v1.4.0
DemoteUserHandler demotes an admin to user (admin only)
func DownloadBackupHandler ¶ added in v1.4.1
DownloadBackupHandler downloads a completed backup file
func GetAPIKeyHandler ¶ added in v1.4.0
GetAPIKeyHandler returns a specific API key
func GetAPIKeyStatsHandler ¶ added in v1.4.0
GetAPIKeyStatsHandler returns API key statistics (admin only)
func GetAPIKeysHandler ¶ added in v1.4.0
GetAPIKeysHandler returns all API keys for the current user
func GetAllAPIKeysHandler ¶ added in v1.4.0
GetAllAPIKeysHandler returns all API keys in the system (admin only)
func GetAuthMethod ¶ added in v1.4.0
GetAuthMethod returns the authentication method used
func GetBackupJobHandler ¶ added in v1.4.1
GetBackupJobHandler returns a specific backup job
func GetBackupJobsHandler ¶ added in v1.4.1
GetBackupJobsHandler returns backup jobs for the admin user
func GetCurrentUser ¶ added in v1.4.0
GetCurrentUser returns the current authenticated user
func GetCurrentUserHandler ¶ added in v1.4.0
GetCurrentUserHandler returns current user info
func GetCurrentUserID ¶ added in v1.4.0
GetCurrentUserID returns the current authenticated user's ID
func GetCurrentUserStatsHandler ¶ added in v1.4.0
GetCurrentUserStatsHandler returns current user's statistics
func GetExtractionStatusHandler ¶ added in v1.5.4
GetExtractionStatusHandler returns the status of a restore extraction job
func GetOIDCButtonText ¶ added in v1.5.0
func GetOIDCButtonText() string
GetOIDCButtonText returns the custom button text for OIDC login, or empty string to use i18n fallback
func GetRegistrationStatusHandler ¶ added in v1.4.0
GetRegistrationStatusHandler returns whether registration is enabled (public endpoint)
func GetRestoreUploadsHandler ¶ added in v1.4.1
GetRestoreUploadsHandler returns pending restore uploads for the admin user
func GetSystemSettingsHandler ¶ added in v1.4.0
GetSystemSettingsHandler returns all system settings (admin only)
func GetSystemStatusHandler ¶ added in v1.4.0
GetSystemStatusHandler returns system status information (admin only)
func GetUISecret ¶
func GetUISecret() string
GetUISecret returns the UI authentication secret for embedding in frontend
func GetUserHandler ¶ added in v1.4.0
GetUserHandler returns a specific user (admin only)
func GetUserStatsHandler ¶ added in v1.4.0
GetUserStatsHandler returns user statistics (admin only)
func GetUsersHandler ¶ added in v1.4.0
GetUsersHandler returns all users (admin only)
func InitOIDC ¶ added in v1.4.0
func InitOIDC() error
InitOIDC initializes OIDC configuration from environment variables
func InitProxyAuth ¶ added in v1.4.0
func InitProxyAuth()
InitProxyAuth initializes proxy authentication configuration
func IsCurrentUserAdmin ¶ added in v1.4.0
IsCurrentUserAdmin checks if the current user is an admin
func IsOIDCEnabled ¶ added in v1.4.0
func IsOIDCEnabled() bool
IsOIDCEnabled returns true if OIDC is configured and enabled
func IsOIDCGroupBasedAdminEnabled ¶ added in v1.4.1
func IsOIDCGroupBasedAdminEnabled() bool
func IsOIDCSsoOnlyEnabled ¶ added in v1.5.0
func IsOIDCSsoOnlyEnabled() bool
IsOIDCSsoOnlyEnabled returns true if OIDC SSO-only mode is enabled
func IsProxyAuthEnabled ¶ added in v1.4.0
func IsProxyAuthEnabled() bool
IsProxyAuthEnabled returns true if proxy authentication is configured
func LoginHandler ¶
func LogoutHandler ¶
func MultiUserAuthMiddleware ¶ added in v1.4.0
func MultiUserAuthMiddleware() gin.HandlerFunc
MultiUserAuthMiddleware provides authentication for multi-user mode
func MultiUserCheckAuthHandler ¶ added in v1.4.0
MultiUserCheckAuthHandler checks authentication for multi-user mode
func MultiUserLoginHandler ¶ added in v1.4.0
MultiUserLoginHandler handles login for multi-user mode
func OIDCAuthHandler ¶ added in v1.4.0
OIDCAuthHandler initiates OIDC authentication flow
func OIDCCallbackHandler ¶ added in v1.4.0
OIDCCallbackHandler handles the OIDC callback
func OIDCLogoutHandler ¶ added in v1.4.0
OIDCLogoutHandler handles OIDC logout
func OptionalAuthMiddleware ¶ added in v1.4.0
func OptionalAuthMiddleware() gin.HandlerFunc
OptionalAuthMiddleware provides optional authentication
func PasswordResetConfirmHandler ¶ added in v1.4.0
PasswordResetConfirmHandler confirms password reset
func PasswordResetHandler ¶ added in v1.4.0
PasswordResetHandler initiates password reset
func PromoteUserHandler ¶ added in v1.4.0
PromoteUserHandler promotes a user to admin (admin only)
func ProxyAuthCheckHandler ¶ added in v1.4.0
ProxyAuthCheckHandler checks proxy authentication status
func ProxyAuthMiddleware ¶ added in v1.4.0
func ProxyAuthMiddleware() gin.HandlerFunc
ProxyAuthMiddleware handles proxy authentication
func PublicRegisterHandler ¶ added in v1.4.0
PublicRegisterHandler handles public user registration (when enabled)
func RegisterHandler ¶ added in v1.4.0
RegisterHandler handles user registration (admin only)
func RequireAdmin ¶ added in v1.4.0
RequireAdmin ensures the user is an admin and returns it
func RequireUser ¶ added in v1.4.0
RequireUser ensures a user is authenticated and returns it
func RestoreDatabaseHandler ¶ added in v1.4.0
RestoreDatabaseHandler initiates database restore from uploaded file (admin only)
func ServeIndexWithSecret ¶ added in v1.4.0
ServeIndexWithSecret serves index.html with injected secret
func TestSMTPHandler ¶ added in v1.4.0
TestSMTPHandler tests SMTP configuration (admin only)
func UpdateAPIKeyHandler ¶ added in v1.4.0
UpdateAPIKeyHandler updates an API key (name only)
func UpdateCurrentUserHandler ¶ added in v1.4.0
UpdateCurrentUserHandler updates the current user's profile
func UpdatePasswordHandler ¶ added in v1.4.0
UpdatePasswordHandler updates the current user's password
func UpdateSystemSettingHandler ¶ added in v1.4.0
UpdateSystemSettingHandler updates a system setting (admin only)
func UpdateUserHandler ¶ added in v1.4.0
UpdateUserHandler updates a user (admin only)
func UploadRestoreFileHandler ¶ added in v1.4.1
UploadRestoreFileHandler uploads a restore file and returns upload ID (admin only)
Types ¶
type APIKeyResponse ¶ added in v1.4.0
type APIKeyResponse struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
KeyPrefix string `json:"key_prefix"`
IsActive bool `json:"is_active"`
LastUsed *time.Time `json:"last_used,omitempty"`
ExpiresAt *time.Time `json:"expires_at,omitempty"`
CreatedAt time.Time `json:"created_at"`
}
APIKeyResponse represents an API key in responses
type AdminResetPasswordRequest ¶ added in v1.4.0
type AdminResetPasswordRequest struct {
NewPassword string `json:"new_password" binding:"required,min=8"`
}
AdminResetPasswordRequest represents an admin password reset request
type AdminUpdatePasswordRequest ¶ added in v1.4.0
type AdminUpdatePasswordRequest struct {
NewPassword string `json:"new_password" binding:"required,min=8"`
}
AdminUpdatePasswordRequest represents an admin password update request
type CreateAPIKeyRequest ¶ added in v1.4.0
type CreateAPIKeyRequest struct {
Name string `json:"name" binding:"required,min=1,max=100"`
ExpiresAt *int64 `json:"expires_at,omitempty"` // Unix timestamp, optional
}
CreateAPIKeyRequest represents an API key creation request
type CreateAPIKeyResponse ¶ added in v1.4.0
type CreateAPIKeyResponse struct {
APIKeyResponse
APIKey string `json:"api_key"`
}
CreateAPIKeyResponse includes the full API key (only returned once)
type LoginRequest ¶
type OIDCConfig ¶ added in v1.4.0
type PasswordResetConfirmRequest ¶ added in v1.4.0
type PasswordResetConfirmRequest struct {
Token string `json:"token" binding:"required"`
Password string `json:"password" binding:"required,min=8"`
}
PasswordResetConfirmRequest represents a password reset confirmation
type PasswordResetRequest ¶ added in v1.4.0
type PasswordResetRequest struct {
Email string `json:"email" binding:"required,email"`
}
PasswordResetRequest represents a password reset request
type RegisterRequest ¶ added in v1.4.0
type RegisterRequest struct {
Username string `json:"username" binding:"required,min=3,max=50"`
Email string `json:"email" binding:"required,email"`
Password string `json:"password" binding:"required,min=8"`
}
RegisterRequest represents a user registration request
type SelfDeleteRequest ¶ added in v1.4.0
type SelfDeleteRequest struct {
CurrentPassword string `json:"current_password" binding:"required"`
Confirmation string `json:"confirmation" binding:"required"`
}
SelfDeleteRequest represents a self-service account deletion request
type UpdatePasswordRequest ¶ added in v1.4.0
type UpdatePasswordRequest struct {
CurrentPassword string `json:"current_password" binding:"required"`
NewPassword string `json:"new_password" binding:"required,min=8"`
}
UpdatePasswordRequest represents a password update request
type UpdateUserRequest ¶ added in v1.4.0
type UpdateUserRequest struct {
Username *string `json:"username,omitempty"`
Email *string `json:"email,omitempty" binding:"omitempty,email"`
RmapiHost *string `json:"rmapi_host,omitempty"`
DefaultRmdir *string `json:"default_rmdir,omitempty"`
CoverpageSetting *string `json:"coverpage_setting,omitempty"`
ConflictResolution *string `json:"conflict_resolution,omitempty"`
FolderDepthLimit *int `json:"folder_depth_limit,omitempty"`
FolderExclusionList *string `json:"folder_exclusion_list,omitempty"`
PageResolution *string `json:"page_resolution,omitempty"`
PageDPI *float64 `json:"page_dpi,omitempty"`
IsAdmin *bool `json:"is_admin,omitempty"`
IsActive *bool `json:"is_active,omitempty"`
}
UpdateUserRequest represents a user update request
type UserResponse ¶ added in v1.4.0
type UserResponse struct {
ID uuid.UUID `json:"id"`
Username string `json:"username"`
Email string `json:"email"`
IsAdmin bool `json:"is_admin"`
IsActive bool `json:"is_active"`
RmapiHost string `json:"rmapi_host,omitempty"`
DefaultRmdir string `json:"default_rmdir"`
CoverpageSetting string `json:"coverpage_setting"`
ConflictResolution string `json:"conflict_resolution"`
FolderDepthLimit int `json:"folder_depth_limit"`
FolderExclusionList string `json:"folder_exclusion_list"`
PageResolution string `json:"page_resolution,omitempty"`
PageDPI float64 `json:"page_dpi,omitempty"`
RmapiPaired bool `json:"rmapi_paired"`
CreatedAt time.Time `json:"created_at"`
LastLogin *time.Time `json:"last_login,omitempty"`
}
UserResponse represents a user in API responses