@@ -2,7 +2,7 @@ import { fakerEN_GB as faker } from '@faker-js/faker'
22import xlsx from 'json-as-xlsx'
33
44import { DownloadFormat , DownloadType } from '../enums.js'
5- import { Programme , Team , Vaccination , User } from '../models.js'
5+ import { Programme , Session , Team , Vaccination , User } from '../models.js'
66import {
77 convertIsoDateToObject ,
88 convertObjectToIsoDate ,
@@ -44,6 +44,7 @@ export class Download {
4444 this . format = options ?. format || DownloadFormat . CSV
4545 this . type = options ?. type || DownloadType . Report
4646 this . programme_id = options ?. programme_id
47+ this . session_id = options ?. session_id
4748 this . team_ids = options ?. team_ids
4849 this . vaccination_uuids = options ?. vaccination_uuids || [ ]
4950 }
@@ -112,6 +113,8 @@ export class Download {
112113 switch ( true ) {
113114 case this . type === DownloadType . Report :
114115 return `${ this . programme . name } vaccination records`
116+ case this . type === DownloadType . Session :
117+ return `Offline spreadsheet for ${ this . session . name } `
115118 default :
116119 return 'Download'
117120 }
@@ -133,6 +136,19 @@ export class Download {
133136 }
134137 }
135138
139+ /**
140+ * Get session
141+ *
142+ * @returns {Session|undefined } Session
143+ */
144+ get session ( ) {
145+ try {
146+ return Session . findOne ( this . session_id , this . context )
147+ } catch ( error ) {
148+ console . error ( 'Download.session' , error . message )
149+ }
150+ }
151+
136152 /**
137153 * Get teams
138154 *
0 commit comments