chore: normalize formatting for workers
This commit is contained in:
parent
2f6cfbe7ae
commit
2cd835d31b
14 changed files with 879 additions and 604 deletions
|
@ -1,77 +1,79 @@
|
|||
import { createClient } from '@supabase/supabase-js'
|
||||
import { fetchDataByUrl, fetchGlobals } from './utils/fetchers.js'
|
||||
import { createClient } from "@supabase/supabase-js";
|
||||
import { fetchDataByUrl, fetchGlobals } from "./utils/fetchers.js";
|
||||
import {
|
||||
generateArtistHTML,
|
||||
generateBookHTML,
|
||||
generateGenreHTML,
|
||||
generateMetadata,
|
||||
generateWatchingHTML
|
||||
} from './utils/generators.js'
|
||||
import { updateDynamicContent } from './utils/updaters.js'
|
||||
generateWatchingHTML,
|
||||
} from "./utils/generators.js";
|
||||
import { updateDynamicContent } from "./utils/updaters.js";
|
||||
|
||||
const BASE_URL = 'https://coryd.dev'
|
||||
const NOT_FOUND_URL = `${BASE_URL}/404`
|
||||
const BASE_URL = "https://coryd.dev";
|
||||
const NOT_FOUND_URL = `${BASE_URL}/404`;
|
||||
|
||||
export default {
|
||||
async fetch(request, env) {
|
||||
const url = new URL(request.url)
|
||||
const path = url.pathname.replace(/\/$/, '')
|
||||
const supabaseUrl = env.SUPABASE_URL || process.env.SUPABASE_URL
|
||||
const supabaseKey = env.SUPABASE_KEY || process.env.SUPABASE_KEY
|
||||
const supabase = createClient(supabaseUrl, supabaseKey)
|
||||
let data, type
|
||||
const url = new URL(request.url);
|
||||
const path = url.pathname.replace(/\/$/, "");
|
||||
const supabaseUrl = env.SUPABASE_URL || process.env.SUPABASE_URL;
|
||||
const supabaseKey = env.SUPABASE_KEY || process.env.SUPABASE_KEY;
|
||||
const supabase = createClient(supabaseUrl, supabaseKey);
|
||||
let data, type;
|
||||
|
||||
if (path === '/books' || path === '/books/') return fetch(`${BASE_URL}/books/`)
|
||||
if (path.startsWith('/books/years/')) return fetch(`${BASE_URL}${path}`)
|
||||
if (path === "/books" || path === "/books/")
|
||||
return fetch(`${BASE_URL}/books/`);
|
||||
if (path.startsWith("/books/years/")) return fetch(`${BASE_URL}${path}`);
|
||||
|
||||
if (path.startsWith('/watching/movies/')) {
|
||||
data = await fetchDataByUrl(supabase, 'optimized_movies', path)
|
||||
type = 'movie'
|
||||
} else if (path.startsWith('/watching/shows/')) {
|
||||
data = await fetchDataByUrl(supabase, 'optimized_shows', path)
|
||||
type = 'show'
|
||||
} else if (path.startsWith('/music/artists/')) {
|
||||
data = await fetchDataByUrl(supabase, 'optimized_artists', path)
|
||||
type = 'artist'
|
||||
} else if (path.startsWith('/music/genres/')) {
|
||||
data = await fetchDataByUrl(supabase, 'optimized_genres', path)
|
||||
type = 'genre'
|
||||
} else if (path.startsWith('/books/')) {
|
||||
data = await fetchDataByUrl(supabase, 'optimized_books', path)
|
||||
type = 'book'
|
||||
if (path.startsWith("/watching/movies/")) {
|
||||
data = await fetchDataByUrl(supabase, "optimized_movies", path);
|
||||
type = "movie";
|
||||
} else if (path.startsWith("/watching/shows/")) {
|
||||
data = await fetchDataByUrl(supabase, "optimized_shows", path);
|
||||
type = "show";
|
||||
} else if (path.startsWith("/music/artists/")) {
|
||||
data = await fetchDataByUrl(supabase, "optimized_artists", path);
|
||||
type = "artist";
|
||||
} else if (path.startsWith("/music/genres/")) {
|
||||
data = await fetchDataByUrl(supabase, "optimized_genres", path);
|
||||
type = "genre";
|
||||
} else if (path.startsWith("/books/")) {
|
||||
data = await fetchDataByUrl(supabase, "optimized_books", path);
|
||||
type = "book";
|
||||
} else {
|
||||
return Response.redirect(NOT_FOUND_URL, 302)
|
||||
return Response.redirect(NOT_FOUND_URL, 302);
|
||||
}
|
||||
|
||||
if (!data) return Response.redirect(NOT_FOUND_URL, 302)
|
||||
if (!data) return Response.redirect(NOT_FOUND_URL, 302);
|
||||
|
||||
const globals = await fetchGlobals(supabase)
|
||||
let mediaHtml
|
||||
const globals = await fetchGlobals(supabase);
|
||||
let mediaHtml;
|
||||
|
||||
switch (type) {
|
||||
case 'artist':
|
||||
mediaHtml = generateArtistHTML(data, globals)
|
||||
break
|
||||
case 'genre':
|
||||
mediaHtml = generateGenreHTML(data, globals)
|
||||
break
|
||||
case 'book':
|
||||
mediaHtml = generateBookHTML(data, globals)
|
||||
break
|
||||
case "artist":
|
||||
mediaHtml = generateArtistHTML(data, globals);
|
||||
break;
|
||||
case "genre":
|
||||
mediaHtml = generateGenreHTML(data, globals);
|
||||
break;
|
||||
case "book":
|
||||
mediaHtml = generateBookHTML(data, globals);
|
||||
break;
|
||||
default:
|
||||
mediaHtml = generateWatchingHTML(data, globals, type)
|
||||
break
|
||||
mediaHtml = generateWatchingHTML(data, globals, type);
|
||||
break;
|
||||
}
|
||||
|
||||
const templateResponse = await fetch(`${BASE_URL}/dynamic.html`)
|
||||
const template = await templateResponse.text()
|
||||
const metadata = generateMetadata(data, type, globals)
|
||||
const html = updateDynamicContent(template, metadata, mediaHtml)
|
||||
const templateResponse = await fetch(`${BASE_URL}/dynamic.html`);
|
||||
const template = await templateResponse.text();
|
||||
const metadata = generateMetadata(data, type, globals);
|
||||
const html = updateDynamicContent(template, metadata, mediaHtml);
|
||||
const headers = new Headers({
|
||||
'Content-Type': 'text/html',
|
||||
'Cache-Control': 'public, max-age=3600, s-maxage=3600, stale-while-revalidate=86400',
|
||||
})
|
||||
"Content-Type": "text/html",
|
||||
"Cache-Control":
|
||||
"public, max-age=3600, s-maxage=3600, stale-while-revalidate=86400",
|
||||
});
|
||||
|
||||
return new Response(html, { headers })
|
||||
}
|
||||
}
|
||||
return new Response(html, { headers });
|
||||
},
|
||||
};
|
||||
|
|
Reference in a new issue