From afd4456893c9cc7be0d7515445e6347c92efb7e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yusuf=20=C4=B0pek?= Date: Sat, 22 Nov 2025 15:53:19 +0300 Subject: [PATCH] feat: Add AUR package synchronization and update README documentation. --- README.md | 1 + src/app/api/sync/route.ts | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/README.md b/README.md index 8ff289e..f86c047 100644 --- a/README.md +++ b/README.md @@ -79,6 +79,7 @@ You can trigger a repository sync using the API. This is useful for updating the - `debian`: Sync Debian packages (Official Repo) - `ubuntu`: Sync Ubuntu packages (Official Repo) - `arch`: Sync Arch Linux packages (Official Repo) + - `aur`: Sync Arch User Repository (AUR) packages - `fedora`: Sync Fedora packages (Official Repo) - `windows`: Sync Windows packages (Winget) - `macos`: Sync macOS packages (Homebrew) diff --git a/src/app/api/sync/route.ts b/src/app/api/sync/route.ts index f41a7a2..3631342 100644 --- a/src/app/api/sync/route.ts +++ b/src/app/api/sync/route.ts @@ -1,6 +1,7 @@ import { NextRequest, NextResponse } from 'next/server' import { PackageFetcherV2 } from '@/services/packageFetcherV2' import { ArchPackageFetcher } from '@/services/archPackageFetcher' +import { AurPackageFetcher } from '@/services/aurPackageFetcher' import { FedoraPackageFetcher } from '@/services/fedoraPackageFetcher' import { WingetPackageFetcher } from '@/services/wingetPackageFetcher' import { HomebrewPackageFetcher } from '@/services/homebrewPackageFetcher' @@ -46,12 +47,21 @@ export async function POST(request: NextRequest) { return 'Ubuntu packages synced' case 'arch': { + // Sync official Arch packages const archFetcher = new ArchPackageFetcher() const archPackages = await archFetcher.fetchAllPackages() await archFetcher.storePackages(archPackages) return `Arch Linux packages synced (${archPackages.length})` } + case 'aur': { + // Sync AUR packages + const aurFetcher = new AurPackageFetcher() + const aurPackages = await aurFetcher.fetchAllPackages() + await aurFetcher.storePackages(aurPackages) + return `AUR packages synced (${aurPackages.length})` + } + case 'fedora': { const fedoraFetcher = new FedoraPackageFetcher() const fedoraPackages = await fedoraFetcher.fetchAllPackages()