AttendanceRoutes provides routes for adding, removing and querying attendee attendance.

const conferenceRepo: ConferenceRepository
const registrationRepo: RegistrationRepository
const attendanceRepo: AttendanceRepository
const jwt: JwtService

const app = express().use(express.json())

const attendanceRoutes = new AttendanceRoutes({
conferenceRepo,
registrationRepo,
attendanceRepo,
})

These general errors might occur with any of the AttendanceRoutes:

  • general.unauthorized — the authToken was missing or not verified
  • general.notFound — the related session does not exist

Hierarchy

  • AttendanceRoutes

Constructors

Methods

  • attend marks a user as attending/interested in a session.

    Extra potential errors:

    • general.badRequest — the session has met it's participation cap
    app.post('/attendance/attend/:sessionId', async (req, res) => {
    res.send(
    await attendanceRoutes.attend(
    jwt.getRequestAuth(req.headers),
    req.params.sessionId
    )
    )
    })

    Parameters

    • authToken: null | AuthToken
    • sessionId: string

    Returns Promise<VoidResponse>

  • getSessionAttendance gets the attendance for a session and whether the current user is attending it.

    app.get('/attendance/session/:sessionId', async (req, res) => {
    res.send(
    await attendanceRoutes.getSessionAttendance(
    jwt.getRequestAuth(req.headers),
    req.params.sessionId
    )
    )
    })

    Parameters

    • authToken: null | AuthToken
    • sessionId: string

    Returns Promise<UserSessionAttendance>

  • getUserAttendance fetches the sessions an attendee is attending.

    app.get('/attendance/me', async (req, res) => {
    res.send(
    await attendanceRoutes.getUserAttendance(jwt.getRequestAuth(req.headers))
    )
    })

    Parameters

    • authToken: null | AuthToken

    Returns Promise<UserAttendance>

  • unattend remove's an attendee's attendance/interest in a session.

    app.post('/attendance/unattend/:sessionId', async (req, res) => {
    res.send(
    await attendanceRoutes.unattend(
    jwt.getRequestAuth(req.headers),
    req.params.sessionId
    )
    )
    })

    Parameters

    • authToken: null | AuthToken
    • sessionId: string

    Returns Promise<VoidResponse>

Generated using TypeDoc