Skip to content

Commit

Permalink
Add initial v2 routes (or v3?)
Browse files Browse the repository at this point in the history
  • Loading branch information
geospiza-fortis committed Mar 4, 2021
1 parent 9ca8375 commit 0696ff4
Show file tree
Hide file tree
Showing 7 changed files with 54 additions and 21 deletions.
1 change: 1 addition & 0 deletions .env.template
@@ -1 +1,2 @@
OWLREPO_URL=https://owlrepo-nonprod.wl.r.appspot.com
PROJECT_ID=owlrepo-nonprod
1 change: 1 addition & 0 deletions app.nonprod.yaml
Expand Up @@ -2,4 +2,5 @@ runtime: nodejs14
entrypoint: node __sapper__/build

env_variables:
PROJECT_ID: owlrepo-nonprod
OWLREPO_URL: https://api-v1-3s5yebp5cq-uc.a.run.app
1 change: 1 addition & 0 deletions app.prod.yaml
Expand Up @@ -2,4 +2,5 @@ runtime: nodejs14
entrypoint: node __sapper__/build

env_variables:
PROJECT_ID: owlrepo
OWLREPO_URL: https://api-v1-6jpxgj6jpa-uc.a.run.app
8 changes: 8 additions & 0 deletions src/routes/api/v2/data/[task_id]/[prefix].js
@@ -0,0 +1,8 @@
const BUCKET = process.env.PROJECT_ID;

export async function get(req, res, next) {
const { task_id, prefix } = req.params;
res.redirect(
`https://storage.googleapis.com/${BUCKET}/v1/uploads/${task_id}/${prefix}`
);
}
8 changes: 8 additions & 0 deletions src/routes/api/v2/query/[prefix].js
@@ -0,0 +1,8 @@
const BUCKET = process.env.PROJECT_ID;

export async function get(req, res, next) {
const { prefix } = req.params;
res.redirect(
`https://storage.googleapis.com/${BUCKET}/v1/queries/${prefix}.json`
);
}
41 changes: 20 additions & 21 deletions src/routes/index.svelte
@@ -1,3 +1,16 @@
<script context="module">
export async function preload() {
const fetchData = async (url) => {
let resp = await this.fetch(url);
return await resp.json();
};
const random_listing = await fetchData("/api/v2/query/random_listing");
const heatmap = await fetchData("/api/v2/query/heatmap");
return { random_listing, heatmap };
}
</script>

<script>
import IndexView from "../components/IndexView.svelte";
import ActivityHeatmap from "../components/ActivityHeatmap.svelte";
Expand All @@ -7,23 +20,13 @@
import IndexDescription from "../docs/IndexDescription.svx";
import References from "../docs/References.svx";
import CollapseInfo from "../components/CollapseInfo.svelte";
import { onMount } from "svelte";
const BG_RED = "#ffaebf";
const BG_ORANGE = "#ffc6ae";
const BG_YELLOW = "#ffefae";
let random_listing;
let heatmap;
async function fetchData(url) {
let resp = await fetch(url);
return await resp.json();
}
onMount(async () => {
random_listing = await fetchData("/api/v1/query/random_listing");
heatmap = await fetchData("/api/v1/query/heatmap");
});
export let random_listing;
export let heatmap;
</script>

<svelte:head>
Expand All @@ -44,12 +47,10 @@
to see more plots this this.
</p>

{#if random_listing}
<PriceQuantityCharts
data={random_listing}
search_item_name={random_listing[0].search_item}
/>
{/if}
<PriceQuantityCharts
data={random_listing}
search_item_name={random_listing[0].search_item}
/>

<h2>Contributions</h2>
<p>
Expand All @@ -70,9 +71,7 @@
</p>

<h3>Upload Activity</h3>
{#if heatmap}
<ActivityHeatmap data={heatmap} max_range={14} />
{/if}
<ActivityHeatmap data={heatmap} max_range={14} />

<br />

Expand Down
15 changes: 15 additions & 0 deletions src/server.js
Expand Up @@ -17,6 +17,21 @@ server.use(
})
);

// simple redirect middleware
// https://github.com/lukeed/polka/issues/78#issuecomment-600496930
server.use(function (req, res, next) {
res.redirect = (location) => {
let str = `Redirecting to ${location}`;
res.writeHead(302, {
Location: location,
"Content-Type": "text/plain",
"Content-Length": str.length,
});
res.end(str);
};
next();
});

server
.use(
compression({ threshold: 0 }),
Expand Down

0 comments on commit 0696ff4

Please sign in to comment.