Load API_BASE_URL from backend
- Remove api_base_url constant
This commit is contained in:
parent
bb23afc000
commit
e4537e250d
|
@ -0,0 +1,4 @@
|
|||
export default function handler(req, res) {
|
||||
// Return the API_BASE_URL. This Endpoint allows us to access the env Variable in client javascript
|
||||
res.status(200).json({ apiBaseUrl: process.env.API_BASE_URL })
|
||||
}
|
|
@ -1,5 +1,3 @@
|
|||
exports.API_BASE_URL = 'https://api.covidpass.marvinsextro.de/'
|
||||
|
||||
exports.VALUE_SET_BASE_URL = 'https://raw.githubusercontent.com/ehn-dcc-development/ehn-dcc-valuesets/main/'
|
||||
exports.VALUE_TYPES = {
|
||||
medicalProducts: 'vaccine-medicinal-product.json',
|
||||
|
|
110
src/pass.js
110
src/pass.js
|
@ -14,24 +14,24 @@ exports.createPass = async function(data) {
|
|||
sha.update(buffer);
|
||||
return sha.digest('hex');
|
||||
}
|
||||
|
||||
|
||||
async function signPassWithRemote(pass, payload) {
|
||||
// From pass-js
|
||||
// https://github.com/walletpass/pass-js/blob/2b6475749582ca3ea742a91466303cb0eb01a13a/src/pass.ts
|
||||
|
||||
|
||||
// Creating new Zip file
|
||||
const zip = []
|
||||
|
||||
|
||||
// Adding required files
|
||||
// Create pass.json
|
||||
zip.push({ path: 'pass.json', data: Buffer.from(JSON.stringify(pass)) })
|
||||
const passHash = getBufferHash(Buffer.from(JSON.stringify(pass)))
|
||||
|
||||
|
||||
zip.push({ path: 'icon.png', data: payload.img1x })
|
||||
zip.push({ path: 'icon@2x.png', data: payload.img2x })
|
||||
zip.push({ path: 'logo.png', data: payload.img1x })
|
||||
zip.push({ path: 'logo@2x.png', data: payload.img2x })
|
||||
|
||||
|
||||
// adding manifest
|
||||
// Construct manifest here
|
||||
const manifestJson = JSON.stringify(
|
||||
|
@ -44,8 +44,12 @@ exports.createPass = async function(data) {
|
|||
),
|
||||
);
|
||||
zip.push({ path: 'manifest.json', data: manifestJson });
|
||||
|
||||
const response = await fetch(`${constants.API_BASE_URL}/sign`, {
|
||||
|
||||
// Load API_BASE_URL form nextjs backend
|
||||
const configResponse = await fetch('/api/config')
|
||||
const apiBaseUrl = (await configResponse.json()).apiBaseUrl
|
||||
|
||||
const response = await fetch(`${apiBaseUrl}/sign`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Accept': 'application/octet-stream',
|
||||
|
@ -55,19 +59,19 @@ exports.createPass = async function(data) {
|
|||
PassJsonHash: passHash,
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
if (response.status !== 200) {
|
||||
return undefined
|
||||
}
|
||||
|
||||
|
||||
const manifestSignature = await response.arrayBuffer()
|
||||
|
||||
|
||||
zip.push({ path: 'signature', data: Buffer.from(manifestSignature) });
|
||||
|
||||
|
||||
// finished!
|
||||
return toBuffer(zip);
|
||||
}
|
||||
|
||||
|
||||
let valueSets
|
||||
|
||||
try {
|
||||
|
@ -107,69 +111,69 @@ exports.createPass = async function(data) {
|
|||
barcode: qrCode,
|
||||
generic: {
|
||||
headerFields: [
|
||||
{
|
||||
key: "type",
|
||||
label: "Certificate Type",
|
||||
value: payload.certificateType
|
||||
{
|
||||
key: "type",
|
||||
label: "Certificate Type",
|
||||
value: payload.certificateType
|
||||
}
|
||||
],
|
||||
primaryFields: [
|
||||
{
|
||||
key: "name",
|
||||
label: "Name",
|
||||
value: payload.name
|
||||
{
|
||||
key: "name",
|
||||
label: "Name",
|
||||
value: payload.name
|
||||
}
|
||||
],
|
||||
secondaryFields: [
|
||||
{
|
||||
key: "dose",
|
||||
label: "Dose",
|
||||
value: payload.dose
|
||||
{
|
||||
key: "dose",
|
||||
label: "Dose",
|
||||
value: payload.dose
|
||||
},
|
||||
{
|
||||
key: "dov",
|
||||
label: "Date of Vaccination",
|
||||
value: payload.dateOfVaccination,
|
||||
{
|
||||
key: "dov",
|
||||
label: "Date of Vaccination",
|
||||
value: payload.dateOfVaccination,
|
||||
textAlignment: "PKTextAlignmentRight"
|
||||
}
|
||||
],
|
||||
auxiliaryFields: [
|
||||
{
|
||||
key: "vaccine",
|
||||
label: "Vaccine",
|
||||
value: payload.vaccineName
|
||||
{
|
||||
key: "vaccine",
|
||||
label: "Vaccine",
|
||||
value: payload.vaccineName
|
||||
},
|
||||
{
|
||||
key: "dob",
|
||||
label: "Date of Birth", value:
|
||||
payload.dateOfBirth,
|
||||
{
|
||||
key: "dob",
|
||||
label: "Date of Birth", value:
|
||||
payload.dateOfBirth,
|
||||
textAlignment: "PKTextAlignmentRight"
|
||||
}
|
||||
],
|
||||
backFields: [
|
||||
{
|
||||
key: "uvci",
|
||||
label: "Unique Certificate Identifier (UVCI)",
|
||||
{
|
||||
key: "uvci",
|
||||
label: "Unique Certificate Identifier (UVCI)",
|
||||
value: payload.uvci
|
||||
},
|
||||
{
|
||||
key: "issuer",
|
||||
label: "Certificate Issuer",
|
||||
value: payload.certificateIssuer
|
||||
{
|
||||
key: "issuer",
|
||||
label: "Certificate Issuer",
|
||||
value: payload.certificateIssuer
|
||||
},
|
||||
{
|
||||
key: "country",
|
||||
label: "Country of Vaccination",
|
||||
{
|
||||
key: "country",
|
||||
label: "Country of Vaccination",
|
||||
value: payload.countryOfVaccination
|
||||
},
|
||||
{
|
||||
key: "manufacturer",
|
||||
label: "Manufacturer",
|
||||
value: payload.manufacturer
|
||||
{
|
||||
key: "manufacturer",
|
||||
label: "Manufacturer",
|
||||
value: payload.manufacturer
|
||||
},
|
||||
{
|
||||
key: "disclaimer",
|
||||
label: "Disclaimer",
|
||||
{
|
||||
key: "disclaimer",
|
||||
label: "Disclaimer",
|
||||
value: "This certificate is only valid in combination with the ID card of the certificate holder and expires one year + 14 days after the last dose. The validity of this certificate was not checked by CovidPass."
|
||||
}
|
||||
]
|
||||
|
|
Loading…
Reference in New Issue