Skip to content

Commit b4a62c8

Browse files
committed
feat: enhance company retrieval by allowing specific edition queries and add partner flag in company rendering
1 parent 8be869f commit b4a62c8

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

server/routes/deck/handlers.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,17 @@ exports = module.exports
1414
exports.getAll = {
1515
options: {
1616
tags: ['api', 'company'],
17-
description: 'Gets all companies for the latest edition'
17+
validate: {
18+
query: Joi.object({
19+
edition: Joi.string().description('Event edition id (defaults to latest)')
20+
})
21+
},
22+
description: 'Gets all companies for a specific edition (defaults to latest)'
1823
},
1924
handler: async (request, h) => {
2025
try {
21-
const latestEdition = await request.server.methods.deck.getLatestEdition()
22-
const companies = await request.server.methods.deck.getCompanies(latestEdition.id)
26+
const edition = request.query && request.query.edition ? request.query.edition : (await request.server.methods.deck.getLatestEdition()).id
27+
const companies = await request.server.methods.deck.getCompanies(edition)
2328
return h.response(renderCompanies(companies))
2429
} catch (err) {
2530
log.error({ err: err}, 'error getting company')

server/views/company.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,21 @@ module.exports = function render (content) {
77
}
88

99
function renderObject (model) {
10+
const adv = model.advertisementLvl
11+
// Determine partner flag from different shapes returned by transformCompany
12+
const partner = (function () {
13+
if (!adv) return false
14+
if (typeof adv === 'string') return adv === 'other'
15+
if (typeof adv === 'object') return adv.kind === 'Partner' || adv.advertisementLvl === 'other'
16+
return false
17+
})()
18+
1019
return {
1120
id: model.id,
1221
name: model.name,
1322
site: model.site,
1423
advertisementLvl: model.advertisementLvl,
24+
partner: partner,
1525
img: model.img,
1626
sessions: model.sessions,
1727
standDetails: model.standDetails,

0 commit comments

Comments
 (0)