@@ -8,15 +8,18 @@ import { SpeakerDao } from '../../../dao/speakerDao'
88import { SponsorDao } from '../../../dao/sponsorDao'
99import { TeamDao } from '../../../dao/teamDao'
1010import { FaqDao } from '../../../dao/faqDao'
11+ import { JobPostDao } from '../../../dao/jobPostDao'
12+ import { JobStatus } from '../../../../../../src/constants/jobStatus'
1113import { dateToString } from '../../../other/dateConverter'
1214
1315export const generateStaticJson = async ( firebaseApp : firebase . app . App , event : Event ) : Promise < JsonOutput > => {
14- const [ sessions , speakers , sponsors , { team, teams } , faq ] = await Promise . all ( [
16+ const [ sessions , speakers , sponsors , { team, teams } , faq , jobPosts ] = await Promise . all ( [
1517 SessionDao . getSessions ( firebaseApp , event . id ) ,
1618 SpeakerDao . getSpeakers ( firebaseApp , event . id ) ,
1719 SponsorDao . getSponsors ( firebaseApp , event . id ) ,
1820 TeamDao . getTeams ( firebaseApp , event . id ) ,
1921 FaqDao . getFullFaqs ( firebaseApp , event . id ) ,
22+ JobPostDao . getAllJobPosts ( firebaseApp , event . id , JobStatus . APPROVED ) ,
2023 ] )
2124
2225 const faqPublic = faq . filter ( ( f ) => ! f . private )
@@ -74,7 +77,26 @@ export const generateStaticJson = async (firebaseApp: firebase.app.App, event: E
7477 teaserImageUrl : s . teaserImageUrl ,
7578 } ) )
7679
77- const outputSponsor = sponsors
80+ const outputSponsor = sponsors . map ( ( category ) => ( {
81+ ...category ,
82+ sponsors : category . sponsors . map ( ( sponsor ) => ( {
83+ ...sponsor ,
84+ jobPosts : jobPosts
85+ . filter ( ( jobPost ) => jobPost . sponsorId === sponsor . id )
86+ . map ( ( jobPost ) => ( {
87+ id : jobPost . id ,
88+ title : jobPost . title ,
89+ description : jobPost . description ,
90+ location : jobPost . location ,
91+ externalLink : jobPost . externalLink ,
92+ salary : jobPost . salary ,
93+ requirements : jobPost . requirements ,
94+ contactEmail : jobPost . contactEmail ,
95+ category : jobPost . category ,
96+ createdAt : dateToString ( jobPost . createdAt . toDate ( ) ) ,
97+ } ) ) ,
98+ } ) ) ,
99+ } ) )
78100
79101 const outputEvent = {
80102 id : event . id ,
0 commit comments