feat: add ability to search and select icons from selfh.st (#1807)

This commit is contained in:
Elias Schneider
2026-10-04 20:40:41 +02:00
committed by GitHub
parent e7d77d8a9d
commit 1be9ba9991
30 changed files with 1506 additions and 247 deletions
@@ -180,6 +180,7 @@ func registerRoutes(r *gin.Engine, db *gorm.DB, svc *services, rateLimitServices
svc.apiModule.RegisterRoutes(apiGroup, authMiddleware.Add())
controller.NewCustomClaimController(apiGroup, authMiddleware, svc.customClaimService)
svc.environmentModule.RegisterRoutes(apiGroup, authMiddleware.WithAdminNotRequired().Add())
svc.logoPresetModule.RegisterRoutes(apiGroup, authMiddleware.Add())
svc.scimSyncModule.RegisterRoutes(apiGroup, authMiddleware.Add())
svc.userSignUpModule.RegisterRoutes(apiGroup,
authMiddleware.Add(),
@@ -19,6 +19,7 @@ import (
"github.com/pocket-id/pocket-id/backend/internal/geolite"
"github.com/pocket-id/pocket-id/backend/internal/iplocation"
"github.com/pocket-id/pocket-id/backend/internal/ldapsync"
"github.com/pocket-id/pocket-id/backend/internal/logopreset"
"github.com/pocket-id/pocket-id/backend/internal/oidc"
"github.com/pocket-id/pocket-id/backend/internal/onetimeaccess"
"github.com/pocket-id/pocket-id/backend/internal/scimsync"
@@ -55,6 +56,7 @@ type services struct {
emailVerificationModule *emailverification.Module
apiModule *api.Module
environmentModule *environment.Module
logoPresetModule *logopreset.Module
actors francishost.Host
}
@@ -258,6 +260,16 @@ func initServices(
SQLiteOnNetworkedFilesystem: sqliteOnNetworkedFilesystem,
})
// An empty base URL keeps the icon library disabled
var iconLibraryURL string
if common.EnvConfig.IconLibraryEnabled() {
iconLibraryURL = common.EnvConfig.IconLibraryURL
}
svc.logoPresetModule = logopreset.New(logopreset.Dependencies{
HTTPClient: httpClient,
BaseURL: iconLibraryURL,
})
return svc, nil
}