Skip to content

Commit

Permalink
update oc gen and games to use new R2 bucket
Browse files Browse the repository at this point in the history
  • Loading branch information
dromzeh committed Jul 26, 2023
1 parent c701615 commit e7a39f1
Show file tree
Hide file tree
Showing 5 changed files with 40 additions and 51 deletions.
7 changes: 0 additions & 7 deletions src/lib/types/ocGenerator.ts

This file was deleted.

6 changes: 4 additions & 2 deletions src/routes/games/allGames.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,13 @@ export const allGames = async (
name: result.name,
id: result.id,
assetCategories: await listBucket(env.bucket, {
prefix: `${result.name}/`,
prefix: `assets/${result.name}/`,
delimiter: "/",
}).then((data) =>
data.delimitedPrefixes.map((prefix) =>
prefix.replace(`${result.name}/`, "").replace("/", "")
prefix
.replace(`assets/${result.name}/`, "")
.replace("/", "")
)
),
}))
Expand Down
46 changes: 18 additions & 28 deletions src/routes/oc-generators/getGenerator.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { responseHeaders } from "@/lib/responseHeaders";
import type { Generator } from "@/lib/types/ocGenerator";
import { listBucket } from "@/lib/listBucket";
import { createNotFoundResponse } from "@/lib/helpers/responses/notFoundResponse";

export const getGenerator = async (
request: Request,
Expand All @@ -14,44 +15,33 @@ export const getGenerator = async (

if (response) return response;

const row: D1Result<Generator> = await env.database
.prepare(`SELECT * FROM ocGenerators WHERE name = ?`)
.bind(gameId)
.run();

if (!row.results.length) {
return new Response(
JSON.stringify({
success: false,
status: "error",
error: "404 Not Found",
}),
{
headers: responseHeaders,
}
);
}

const results = row.results.map((result) => ({
name: result.name,
data: JSON.parse(result.data),
uploaded_by: result.uploaded_by,
uploaded_date: result.uploaded_date,
verified: result.verified,
}));
const files = await listBucket(env.bucket, {
prefix: `oc-generators/${gameId}/list.json`,
});

if (files.objects.length === 0)
return createNotFoundResponse("Generator not found", responseHeaders);

const data = await fetch(
`https://files.wanderer.moe/${files.objects[0].key}`
);

const generatorData = await data.json();

response = new Response(
JSON.stringify({
success: true,
status: "ok",
results: results,
uploaded: files.objects[0].uploaded,
key: files.objects[0].key,
data: generatorData,
}),
{
headers: responseHeaders,
}
);

response.headers.set("Cache-Control", "s-maxage=604800");
response.headers.set("Cache-Control", "s-maxage=604800"); // the content of this file is unlikely to change, so caching is fine
await cache.put(cacheKey, response.clone());

return response;
Expand Down
28 changes: 16 additions & 12 deletions src/routes/oc-generators/getGenerators.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { responseHeaders } from "@/lib/responseHeaders";
import type { Generator } from "@/lib/types/ocGenerator";
import { listBucket } from "@/lib/listBucket";

export const getGenerators = async (
request: Request,
Expand All @@ -13,17 +13,21 @@ export const getGenerators = async (

if (response) return response;

const row: D1Result<Generator> = await env.database
.prepare(`SELECT * FROM ocGenerators`)
.run();

const results = row.results.map((result) => ({
name: result.name,
path: `/oc-generator/${result.name}`,
uploaded_by: result.uploaded_by,
uploaded_date: result.uploaded_date,
verified: result.verified,
}));
const files = await listBucket(env.bucket, {
prefix: "oc-generators/",
delimiter: "/",
});

// console.log(files);

const results = files.delimitedPrefixes.map((file) => {
return {
name: file.replace("oc-generators/", "").replace("/", ""),
path: `/oc-generators/${file
.replace("oc-generators/", "")
.replace("/", "")}`,
};
});

response = new Response(
JSON.stringify({
Expand Down
4 changes: 2 additions & 2 deletions wrangler.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ workers_dev = true

[[r2_buckets]]
binding = 'bucket'
bucket_name = 'wanderer-moe'
preview_bucket_name = 'wanderer-moe'
bucket_name = 'files'
preview_bucket_name = 'files'

[[d1_databases]]
binding = 'database'
Expand Down

0 comments on commit e7a39f1

Please sign in to comment.