Skip to content

Commit

Permalink
move filter logic into a transform function
Browse files Browse the repository at this point in the history
  • Loading branch information
jNullj committed Mar 5, 2024
1 parent 2c4e2c4 commit 75f8ac7
Showing 1 changed file with 21 additions and 14 deletions.
35 changes: 21 additions & 14 deletions services/snapcraft/snapcraft-version.service.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,19 +54,8 @@ export default class SnapcraftVersion extends BaseJsonService {
},
}

async handle({ package: packageName, track, risk }, { arch = 'amd64' }) {
const parsedData = await this._requestJson({
schema: versionSchema,
options: {
headers: { 'Snap-Device-Series': 16 },
},
url: `https://api.snapcraft.io/v2/snaps/info/${packageName}`,
httpErrors: {
404: 'package not found',
},
})

const channelMap = parsedData['channel-map']
transform(apiData, track, risk, arch) {
const channelMap = apiData['channel-map']
let filteredChannelMap = channelMap.filter(
({ channel }) => channel.architecture === arch,
)
Expand All @@ -86,6 +75,24 @@ export default class SnapcraftVersion extends BaseJsonService {
throw new NotFound({ prettyMessage: 'risk not found' })
}

return renderVersionBadge({ version: filteredChannelMap[0].version })
return filteredChannelMap[0]
}

async handle({ package: packageName, track, risk }, { arch = 'amd64' }) {
const parsedData = await this._requestJson({
schema: versionSchema,
options: {
headers: { 'Snap-Device-Series': 16 },
},
url: `https://api.snapcraft.io/v2/snaps/info/${packageName}`,
httpErrors: {
404: 'package not found',
},
})

// filter results by track, risk and arch
const { version } = this.transform(parsedData, track, risk, arch)

return renderVersionBadge({ version })
}
}

0 comments on commit 75f8ac7

Please sign in to comment.