5
0
Fork 0
mirror of https://github.com/hashicorp/vault-action.git synced 2025-11-07 15:16:56 +00:00
vault-action/scripts/parse.js
2023-07-03 15:57:28 -05:00

50 lines
1.2 KiB
JavaScript

// const core = require('@actions/core');
try {
let inputs = [
process.env.JSONSTRING,
process.env.JSONSTRINGMULTILINE,
process.env.JSONDATA,
process.env.SINGLELINE,
process.env.MULTILINE,
];
let names = [
"test-json-string",
"test-json-string-multiline",
"test-json-data",
"singleline",
"multiline",
];
let i = 0;
inputs.forEach(input => {
console.log(`processing: ${names[i]}`)
i++;
input = (input || '').trim();
if (!input) {
throw new Error(`Missing service account key JSON (got empty value)`);
}
// If the string doesn't start with a JSON object character, it is probably
// base64-encoded.
if (!input.startsWith('{')) {
let str = input.replace(/-/g, '+').replace(/_/g, '/');
while (str.length % 4) str += '=';
input = Buffer.from(str, 'base64').toString('utf8');
}
try {
const creds = JSON.parse(input);
console.log('success!')
return creds;
} catch (err) {
console.log('error parsing')
console.log(err)
}
})
} catch (error) {
console.log(error)
}