summaryrefslogtreecommitdiff
path: root/src/pages/api/imgs.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages/api/imgs.ts')
-rw-r--r--src/pages/api/imgs.ts76
1 files changed, 0 insertions, 76 deletions
diff --git a/src/pages/api/imgs.ts b/src/pages/api/imgs.ts
deleted file mode 100644
index 378d36d..0000000
--- a/src/pages/api/imgs.ts
+++ /dev/null
@@ -1,76 +0,0 @@
-import type { APIRoute } from 'astro';
-
-export const prerender = false;
-
-interface CloudflareEnv {
- IMGS_BUCKET: R2Bucket;
-}
-
-export const GET: APIRoute = async ({ locals }) => {
- try {
- const env = (locals as any).runtime?.env;
-
- if (!env?.IMGS_BUCKET) {
- return new Response('R2 bucket not configured', { status: 500 });
- }
-
- const bucket = env.IMGS_BUCKET;
-
- // Get the latest images from yesterday onwards
- const yesterday = new Date();
- yesterday.setDate(yesterday.getDate() - 1);
- const yesterdayStr = yesterday.toISOString().slice(0, 10).replace(/-/g, '');
-
- const objects = await bucket.list({
- prefix: 'imgs/',
- startAfter: `imgs/${yesterdayStr}`
- });
-
- // Filter for 280.png files and get the latest 10
- const imageKeys = objects.objects
- .map((obj: any) => obj.key)
- .filter((key: string) => key.endsWith('/280.png'))
- .sort()
- .slice(-10);
-
- // Transform keys to full URLs
- const images = imageKeys.map((key: string) => {
- // Extract date/time from path: imgs/20250622/0930/280.png
- const pathParts = key.split('/');
- const date = pathParts[1];
- const time = pathParts[2];
- const filename = pathParts[3];
-
- return {
- path: key,
- url: `https://imgs.geshem.space/${date}/${time}/${filename}`,
- date: date,
- time: time
- };
- });
-
- return new Response(JSON.stringify({
- images: images,
- count: images.length,
- timestamp: new Date().toISOString()
- }), {
- status: 200,
- headers: {
- 'Content-Type': 'application/json',
- 'Cache-Control': 'public, max-age=60, s-maxage=60'
- }
- });
-
- } catch (error) {
- console.error('Error fetching images:', error);
- return new Response(JSON.stringify({
- error: 'Failed to fetch images',
- message: error instanceof Error ? error.message : 'Unknown error'
- }), {
- status: 500,
- headers: {
- 'Content-Type': 'application/json'
- }
- });
- }
-}; \ No newline at end of file