Skip to content

Commit 09d6b4a

Browse files
refactor(backend): transition to generic cache
future-proof baby
1 parent 5185d79 commit 09d6b4a

File tree

4 files changed

+7
-71
lines changed

4 files changed

+7
-71
lines changed

src/lib/server/github-cache.ts

Lines changed: 1 addition & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -165,68 +165,4 @@ export class GitHubCache {
165165
}
166166
}
167167

168-
/**
169-
* A {@link GitHubCache} specifically meant for
170-
* repositories inside the `sveltejs` ownership
171-
*/
172-
export class SvelteGitHubCache {
173-
readonly #cache: GitHubCache;
174-
readonly #owner = "sveltejs";
175-
176-
/**
177-
* Creates the cache; see {@link GitHubCache.constructor} for more info
178-
*
179-
* @constructor
180-
*/
181-
constructor(redisUrl: string, redisToken: string, githubToken: string) {
182-
this.#cache = new GitHubCache(redisUrl, redisToken, githubToken);
183-
}
184-
185-
/**
186-
* Get the releases; see {@link GitHubCache.getReleases} for more info
187-
*/
188-
async getReleases(repo: string) {
189-
return await this.#cache.getReleases(this.#owner, repo);
190-
}
191-
192-
/**
193-
* Add new releases to the cache; see {@link GitHubCache.addReleases} for more info
194-
*/
195-
async addReleases(repo: string, newReleases: GitHubRelease[]) {
196-
return await this.#cache.addReleases(this.#owner, repo, newReleases);
197-
}
198-
199-
/**
200-
* Fetches and adds to the cache; see {@link GitHubCache.fetchAndCacheReleases} for more info
201-
*/
202-
async fetchAndCacheReleases(repo: string) {
203-
return await this.#cache.fetchAndCacheReleases(this.#owner, repo);
204-
}
205-
206-
/**
207-
* Checks if a cached entry exists; see {@link GitHubCache.exists} for more info
208-
*/
209-
async exists(repo: string) {
210-
return await this.#cache.exists(this.#owner, repo);
211-
}
212-
213-
/**
214-
* Deletes an entry; see {@link GitHubCache.deleteEntry} for more info
215-
*/
216-
async deleteEntry(repo: string) {
217-
await this.#cache.deleteEntry(this.#owner, repo);
218-
}
219-
220-
/**
221-
* A convenience getter for the underlying cache
222-
*/
223-
get cache() {
224-
return this.#cache;
225-
}
226-
}
227-
228-
export const svelteGitHubCache = new SvelteGitHubCache(
229-
KV_REST_API_URL,
230-
KV_REST_API_TOKEN,
231-
GITHUB_TOKEN
232-
);
168+
export const gitHubCache = new GitHubCache(KV_REST_API_URL, KV_REST_API_TOKEN, GITHUB_TOKEN);

src/lib/server/package-discoverer.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { Prettify } from "$lib/types";
2-
import { GitHubCache, type GitHubRelease, svelteGitHubCache } from "./github-cache";
2+
import { GitHubCache, type GitHubRelease, gitHubCache } from "./github-cache";
33
import { publicRepos, type Repository } from "$lib/repositories";
44

55
export type DiscoveredPackage = Prettify<
@@ -140,4 +140,4 @@ export class PackageDiscoverer {
140140
}
141141
}
142142

143-
export const discoverer = new PackageDiscoverer(svelteGitHubCache.cache, publicRepos);
143+
export const discoverer = new PackageDiscoverer(gitHubCache, publicRepos);

src/routes/cron/+server.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { error, type RequestHandler } from "@sveltejs/kit";
22
import { CRON_SECRET } from "$env/static/private";
3-
import { svelteGitHubCache } from "$lib/server/github-cache";
3+
import { gitHubCache } from "$lib/server/github-cache";
44
import { discoverer } from "$lib/server/package-discoverer";
55
import { uniqueRepos } from "$lib/repositories";
66

@@ -11,7 +11,7 @@ export const GET: RequestHandler = async ({ request }) => {
1111

1212
await Promise.all(
1313
uniqueRepos.map(async ({ owner, name: repo }) => {
14-
const releases = await svelteGitHubCache.fetchAndCacheReleases(repo);
14+
const releases = await gitHubCache.fetchAndCacheReleases(owner, repo);
1515
await discoverer.discoverReleases(owner, repo, releases);
1616
})
1717
);

src/routes/package/[...package]/+page.server.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { error } from "@sveltejs/kit";
2-
import { svelteGitHubCache } from "$lib/server/github-cache";
2+
import { gitHubCache } from "$lib/server/github-cache";
33
import { discoverer } from "$lib/server/package-discoverer";
44

55
export async function load({ params }) {
@@ -16,7 +16,7 @@ export async function load({ params }) {
1616
category,
1717
...rest
1818
},
19-
releases: svelteGitHubCache.getReleases(rest.repoName).then(releases => {
19+
releases: gitHubCache.getReleases(rest.owner, rest.repoName).then(releases => {
2020
const dataFiltered = releases.filter(release => dataFilter?.(release) ?? true);
2121
const pkgTagFiltered = dataFiltered.filter(({ tag_name }) =>
2222
tag_name.includes(slugPackage)

0 commit comments

Comments
 (0)