From 9b9eda90ac705a99c98882751a9e2b0fecb199d8 Mon Sep 17 00:00:00 2001 From: Istvan Soos Date: Mon, 19 May 2025 14:18:02 +0200 Subject: [PATCH] Simpler visibility/is-moderated check. --- app/lib/frontend/handlers/package.dart | 17 ++++++----------- app/lib/package/backend.dart | 13 ------------- app/lib/shared/redis_cache.dart | 10 ---------- 3 files changed, 6 insertions(+), 34 deletions(-) diff --git a/app/lib/frontend/handlers/package.dart b/app/lib/frontend/handlers/package.dart index 7394768730..da2091b749 100644 --- a/app/lib/frontend/handlers/package.dart +++ b/app/lib/frontend/handlers/package.dart @@ -300,17 +300,12 @@ Future _handlePackagePage({ if (cachedPage == null) { final package = await packageBackend.lookupPackage(packageName); - if (package == null || !package.isVisible) { - if (package?.isModerated ?? false) { - final content = renderModeratedPackagePage(packageName); - return htmlResponse(content, status: 404); - } - if (await packageBackend.isPackageModerated(packageName)) { - final content = renderModeratedPackagePage(packageName); - return htmlResponse(content, status: 404); - } else { - return formattedNotFoundHandler(request); - } + if (package == null) { + return formattedNotFoundHandler(request); + } + if (package.isNotVisible) { + final content = renderModeratedPackagePage(packageName); + return htmlResponse(content, status: 404); } final serviceSw = Stopwatch()..start(); final PackagePageData data; diff --git a/app/lib/package/backend.dart b/app/lib/package/backend.dart index 21eec1d718..0fdf7411e8 100644 --- a/app/lib/package/backend.dart +++ b/app/lib/package/backend.dart @@ -110,18 +110,6 @@ class PackageBackend { }))!; } - /// Whether the package has been deleted and a [ModeratedPackage] entity exists for it. - Future isPackageModerated(String package) async { - return (await cache.packageModerated(package).get(() async { - final visible = await isPackageVisible(package); - if (visible) { - return false; - } - final p = await lookupModeratedPackage(package); - return p != null; - }))!; - } - Stream allPackages() => db.query().run(); Stream allPackageNames() { @@ -1769,7 +1757,6 @@ api.PackagePublisherInfo _asPackagePublisherInfo(Package p) => Future purgePackageCache(String package) async { await Future.wait([ cache.packageVisible(package).purge(), - cache.packageModerated(package).purge(), cache.packageData(package).purge(), cache.packageDataGz(package).purge(), cache.packageLatestVersion(package).purge(), diff --git a/app/lib/shared/redis_cache.dart b/app/lib/shared/redis_cache.dart index 6607d77a13..063a2ce73f 100644 --- a/app/lib/shared/redis_cache.dart +++ b/app/lib/shared/redis_cache.dart @@ -130,16 +130,6 @@ class CachePatterns { decode: (d) => d as bool, ))[package]; - Entry packageModerated(String package) => _cache - .withPrefix('package-moderated/') - .withTTL(Duration(days: 7)) - .withCodec(utf8) - .withCodec(json) - .withCodec(wrapAsCodec( - encode: (bool value) => value, - decode: (d) => d as bool, - ))[package]; - Entry> packageData(String package) => _cache .withPrefix('api-package-data-by-uri/') .withTTL(Duration(minutes: 10))['$package'];