Skip to content

Commit f81ab0d

Browse files
committed
feat: query db for PackageApi
1 parent feb91ee commit f81ab0d

File tree

1 file changed

+20
-19
lines changed

1 file changed

+20
-19
lines changed

lib/handlers/package/handle-package.ts

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { Bun, getPackageJson, getPackageTypes } from "@jsdocs-io/extractor";
22
import { goTry } from "go-go-try";
33
import { join } from "pathe";
4+
import { PackageApiMemDb } from "../../db/package-api-mem-db";
5+
import { PackageApiR2Bucket } from "../../db/package-api-r2-bucket";
46
import { serverEnv } from "../../server-env";
57
import { checkLicense } from "../../utils/check-license";
68
import { getDTPackageName, isDTPackage } from "../../utils/definitely-typed";
@@ -12,6 +14,7 @@ import { redirect } from "../redirect";
1214
import { parsePackageSlug } from "./parse-package-slug";
1315

1416
const bun = new Bun(serverEnv.BUN_PATH);
17+
const db = serverEnv.CF_BUCKET_NAME ? new PackageApiR2Bucket() : new PackageApiMemDb();
1518

1619
export interface HandlePackageOutput {}
1720

@@ -116,25 +119,23 @@ export async function handlePackage(slug: string) {
116119
};
117120
}
118121

119-
// // Check if the DB already has the package API.
120-
// const db = yield * Db;
121-
// yield * Effect.logInfo(`using db: ${db.name}`);
122-
// const getPkgApiRes = yield * Effect.either(db.getPackageApi({ pkg, subpath }));
123-
// if (Either.isLeft(getPkgApiRes)) {
124-
// yield * Effect.logWarning(getPkgApiRes.left);
125-
// } else {
126-
// yield * Effect.logInfo(`db has package api for: ${pkgId}`);
127-
// const pkgApi = getPkgApiRes.right;
128-
// return {
129-
// status: "with-api" as const,
130-
// pkgId,
131-
// subpath,
132-
// pkgJson,
133-
// pkgApi,
134-
// generatedAt: generatedAt(),
135-
// generatedIn: generatedIn(start),
136-
// };
137-
// }
122+
// Check if the DB already has the package API.
123+
const [dbErr, dbPkgApi] = await goTry(db.getPackageApi(pkgId));
124+
if (dbErr !== undefined) {
125+
log.warn({ db: db.dbName, warn: dbErr });
126+
}
127+
if (dbPkgApi) {
128+
log.info({ db: db.dbName, pkgId, hasApi: true });
129+
return {
130+
status: "has-api" as const,
131+
pkgId,
132+
subpath,
133+
pkgJson,
134+
pkgApi: dbPkgApi,
135+
generatedAt: generatedAt(),
136+
generatedIn: generatedIn(start),
137+
};
138+
}
138139

139140
// // Extract the package API.
140141
// const pkgApiRes = yield * Effect.either(extractPackageApi({ pkg, subpath }));

0 commit comments

Comments
 (0)