11import { getCollection , getEntry } from "astro:content" ;
22import type { APIRoute } from "astro" ;
3+ import { sponsorDisplay } from "@data/sponsorDisplay" ;
4+ import { getImage } from "astro:assets" ;
5+
6+ const siteUrl = import . meta. env . SITE ;
37
48export const GET : APIRoute = async ( ) => {
59 const allJobs = await getCollection ( "jobs" ) ;
@@ -15,6 +19,11 @@ export const GET: APIRoute = async () => {
1519 throw new Error ( `Sponsor with ID "${ job . data . sponsor } " not found` ) ;
1620 }
1721
22+ const image = sponsorDisplay [ sponsorId ] ;
23+ const processedImage = image
24+ ? await getImage ( { src : image , format : "webp" } )
25+ : null ;
26+
1827 return {
1928 id : job . id ,
2029 title : `${ sponsor . data . name } - ${ job . data . title } ` ,
@@ -27,13 +36,14 @@ export const GET: APIRoute = async () => {
2736 responsibilities : job . data . responsibilities ,
2837 min_requirements : job . data . min_requirements ,
2938 requirements : job . data . requirements ,
30- preferred : job . data . preferred , // fixed typo: ` preffered` → `preferred`
39+ preferred : job . data . preffered ,
3140 stack : job . data . stack ,
3241 benefits : job . data . benefits ,
3342 description2 : job . data . description2 ,
34- apply_link : `https://ep2025.europython.eu/sponsor/ ${ job . id } ` ,
43+ apply_link : `${ siteUrl } ${ job . id } ` ,
3544 sponsor : sponsor . data . name ,
3645 sponsor_description : sponsor . data . description ,
46+ sponsor_image : `${ siteUrl } ${ processedImage ?. src || "" } ` ,
3747 } ;
3848 } )
3949 ) ;
0 commit comments