Skip to content
This repository was archived by the owner on Jul 26, 2022. It is now read-only.

Commit 4887469

Browse files
authored
feat(data): support .data in the secretDescriptor (#40)
This mirrors `Secret` objects.
1 parent ab1a05b commit 4887469

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

lib/backends/kv-backend.js

+6-4
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ class KVBackend extends AbstractBackend {
2222
* object, this is the property name of the value to use.
2323
* @returns {Promise} Promise object representing secret property values.
2424
*/
25-
_fetchSecretPropertyValues ({ secretProperties }) {
26-
return Promise.all(secretProperties.map(async secretProperty => {
25+
_fetchSecretPropertyValues ({ externalData }) {
26+
return Promise.all(externalData.map(async secretProperty => {
2727
this._logger.info(`fetching secret property ${secretProperty.name}`)
2828
const value = await this._get({ secretKey: secretProperty.key })
2929

@@ -48,10 +48,12 @@ class KVBackend extends AbstractBackend {
4848
*/
4949
async getSecretManifestData ({ secretDescriptor }) {
5050
const data = {}
51+
// Use secretDescriptor.properties to be backwards compatible.
52+
const externalData = secretDescriptor.data || secretDescriptor.properties
5153
const secretPropertyValues = await this._fetchSecretPropertyValues({
52-
secretProperties: secretDescriptor.properties
54+
externalData
5355
})
54-
secretDescriptor.properties.forEach((secretProperty, index) => {
56+
externalData.forEach((secretProperty, index) => {
5557
data[secretProperty.name] = (Buffer.from(secretPropertyValues[index], 'utf8')).toString('base64')
5658
})
5759
return data

lib/backends/kv-backend.test.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ describe('SecretsManagerBackend', () => {
2828
it('handles secrets values that are objects', async () => {
2929
kvBackend._get.onFirstCall().resolves({ foo: 'bar' })
3030
const secretPropertyValues = await kvBackend._fetchSecretPropertyValues({
31-
secretProperties: [{
31+
externalData: [{
3232
key: 'mocked-key',
3333
name: 'mocked-name',
3434
property: 'foo'
@@ -42,7 +42,7 @@ describe('SecretsManagerBackend', () => {
4242
kvBackend._get.onSecondCall().resolves('fakePropertyValue2')
4343

4444
const secretPropertyValues = await kvBackend._fetchSecretPropertyValues({
45-
secretProperties: [{
45+
externalData: [{
4646
key: 'fakePropertyKey1',
4747
name: 'fakePropertyName1'
4848
}, {
@@ -103,7 +103,7 @@ describe('SecretsManagerBackend', () => {
103103
})
104104

105105
expect(kvBackend._fetchSecretPropertyValues.calledWith({
106-
secretProperties: [{
106+
externalData: [{
107107
key: 'fakePropertyKey1',
108108
name: 'fakePropertyName1'
109109
}, {

0 commit comments

Comments
 (0)