From 0cb90353f00ae8a4cc5839e4844fd9ac56578a26 Mon Sep 17 00:00:00 2001
From: Susmitha Girumala
Date: Tue, 27 Jul 2021 11:52:02 -0400
Subject: [PATCH 1/2] fix: Add type field to credential library
---
.../addon/generated/models/credential-library.js | 5 +++++
.../api/mirage/factories/credential-library.js | 16 +++++++++++-----
.../unit/serializers/credential-library-test.js | 4 ++++
addons/core/translations/resources/en-us.yaml | 4 ++++
.../components/form/credential-library/index.hbs | 8 ++++++++
.../target/add-credential-libraries/index.hbs | 8 ++++++++
.../credential-store/credential-libraries/new.js | 3 ++-
.../credential-libraries/index.hbs | 8 ++++++++
.../scopes/scope/credential-stores/index.hbs | 6 +++++-
.../targets/target/credential-libraries.hbs | 8 ++++++++
10 files changed, 63 insertions(+), 7 deletions(-)
diff --git a/addons/api/addon/generated/models/credential-library.js b/addons/api/addon/generated/models/credential-library.js
index 895c467f9..a5f63633a 100644
--- a/addons/api/addon/generated/models/credential-library.js
+++ b/addons/api/addon/generated/models/credential-library.js
@@ -8,6 +8,11 @@ import { attr } from '@ember-data/model';
export default class GeneratedCredentialLibraryModel extends BaseModel {
// =attributes
+ @attr('string', {
+ description: 'The type of the resource, to help differentiate schemas',
+ })
+ type;
+
@attr('string', {
description: 'The owning credential store ID.',
})
diff --git a/addons/api/mirage/factories/credential-library.js b/addons/api/mirage/factories/credential-library.js
index f1127d5ef..06d8c4f6c 100644
--- a/addons/api/mirage/factories/credential-library.js
+++ b/addons/api/mirage/factories/credential-library.js
@@ -1,14 +1,20 @@
import factory from '../generated/factories/credential-library';
import { random, system } from 'faker';
+const types = ['vault'];
+
export default factory.extend({
id: (i) => `credential-library-id-${i}`,
+ type: (i) => types[i % types.length],
attributes() {
- return {
- http_method: 'GET',
- http_request_body: random.word(),
- path: system.directoryPath(),
- };
+ switch (this.type) {
+ case 'vault':
+ return {
+ http_method: 'GET',
+ http_request_body: random.word(),
+ path: system.directoryPath(),
+ };
+ }
},
});
diff --git a/addons/api/tests/unit/serializers/credential-library-test.js b/addons/api/tests/unit/serializers/credential-library-test.js
index 4be3c76f2..885474d42 100644
--- a/addons/api/tests/unit/serializers/credential-library-test.js
+++ b/addons/api/tests/unit/serializers/credential-library-test.js
@@ -9,6 +9,7 @@ module('Unit | Serializer | credential library', function (hooks) {
const store = this.owner.lookup('service:store');
const serializer = store.serializerFor('credential-library');
const record = store.createRecord('credential-library', {
+ type: 'vault',
name: 'Name',
description: 'Description',
attributes: {
@@ -20,6 +21,7 @@ module('Unit | Serializer | credential library', function (hooks) {
const snapshot = record._createSnapshot();
const serializedRecord = serializer.serialize(snapshot);
assert.deepEqual(serializedRecord, {
+ type: 'vault',
credential_store_id: null,
name: 'Name',
description: 'Description',
@@ -40,6 +42,7 @@ module('Unit | Serializer | credential library', function (hooks) {
id: '1',
type: 'credential-library',
attributes: {
+ type: 'vault',
name: 'Name',
description: 'Description',
attributes: {
@@ -54,6 +57,7 @@ module('Unit | Serializer | credential library', function (hooks) {
const snapshot = record._createSnapshot();
const serializedRecord = serializer.serialize(snapshot);
assert.deepEqual(serializedRecord, {
+ type: 'vault',
credential_store_id: null,
name: 'Name',
description: 'Description',
diff --git a/addons/core/translations/resources/en-us.yaml b/addons/core/translations/resources/en-us.yaml
index 0867adc93..a448c0011 100644
--- a/addons/core/translations/resources/en-us.yaml
+++ b/addons/core/translations/resources/en-us.yaml
@@ -288,6 +288,8 @@ credential-store:
title: Welcome to Credential Stores
actions:
delete: Delete Credential Store
+ types:
+ vault: Vault
credential-library:
title: Credential Library
title_plural: Credential Libraries
@@ -309,3 +311,5 @@ credential-library:
http_request_body:
label: HTTP Method POST Request Body
help: The body of the HTTP request the library sends to Vault when requesting credentials. Only allowed when HTTP method is set to POST.
+ types:
+ vault: Vault
diff --git a/ui/admin/app/components/form/credential-library/index.hbs b/ui/admin/app/components/form/credential-library/index.hbs
index 88154aa84..3e3add0ee 100644
--- a/ui/admin/app/components/form/credential-library/index.hbs
+++ b/ui/admin/app/components/form/credential-library/index.hbs
@@ -5,6 +5,14 @@
@showEditToggle={{if @model.isNew false true}}
as |form|
>
+
+
+
{{t 'form.id.label'}}
{{t 'form.name.label'}}
+ {{t 'form.type.label'}}
@@ -30,6 +31,13 @@
/>
{{credentialLibrary.name}}
+
+ {{t
+ (concat
+ 'resources.credential-library.types.' credentialLibrary.type
+ )
+ }}
+
{{/each}}
diff --git a/ui/admin/app/routes/scopes/scope/credential-stores/credential-store/credential-libraries/new.js b/ui/admin/app/routes/scopes/scope/credential-stores/credential-store/credential-libraries/new.js
index d83109dda..c9ccc770c 100644
--- a/ui/admin/app/routes/scopes/scope/credential-stores/credential-store/credential-libraries/new.js
+++ b/ui/admin/app/routes/scopes/scope/credential-stores/credential-store/credential-libraries/new.js
@@ -8,10 +8,11 @@ export default class ScopesScopeCredentialStoresCredentialStoreCredentialLibrari
* @return {CredentialLibraryModel}
*/
model() {
- const { id: credential_store_id } = this.modelFor(
+ const { id: credential_store_id, type } = this.modelFor(
'scopes.scope.credential-stores.credential-store'
);
return this.store.createRecord('credential-library', {
+ type,
credential_store_id,
});
}
diff --git a/ui/admin/app/templates/scopes/scope/credential-stores/credential-store/credential-libraries/index.hbs b/ui/admin/app/templates/scopes/scope/credential-stores/credential-store/credential-libraries/index.hbs
index cbe1ede49..e97d52411 100644
--- a/ui/admin/app/templates/scopes/scope/credential-stores/credential-store/credential-libraries/index.hbs
+++ b/ui/admin/app/templates/scopes/scope/credential-stores/credential-store/credential-libraries/index.hbs
@@ -4,6 +4,7 @@
{{t 'form.name.label'}}
+ {{t 'form.type.label'}}
{{t 'form.id.label'}}
@@ -19,6 +20,13 @@
{{credentialLibrary.description}}
+
+ {{t
+ (concat
+ 'resources.credential-library.types.' credentialLibrary.type
+ )
+ }}
+
{{credentialStore.description}}
- {{credentialStore.type}}
+ {{t
+ (concat
+ 'resources.credential-store.types.' credentialStore.type
+ )
+ }}
{{t 'form.name.label'}}
+ {{t 'form.type.label'}}
{{t 'form.id.label'}}
@@ -24,6 +25,13 @@
{{credentialLibrary.description}}
+
+ {{t
+ (concat
+ 'resources.credential-library.types.' credentialLibrary.type
+ )
+ }}
+
Date: Tue, 27 Jul 2021 15:35:51 -0700
Subject: [PATCH 2/2] =?UTF-8?q?chore:=20=F0=9F=A4=96=20Update=20Sass=20ver?=
=?UTF-8?q?sion?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
addons/rose/package.json | 2 +-
ui/admin/package.json | 2 +-
ui/desktop/package.json | 2 +-
yarn.lock | 8 ++++----
4 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/addons/rose/package.json b/addons/rose/package.json
index dde5784b5..6e1f5fadb 100644
--- a/addons/rose/package.json
+++ b/addons/rose/package.json
@@ -83,7 +83,7 @@
"prettier": "^2.2.1",
"qunit": "^2.13.0",
"qunit-dom": "^1.6.0",
- "sass": "^1.26.5",
+ "sass": "^1.36.0",
"sass-lint": "^1.13.1"
},
"engines": {
diff --git a/ui/admin/package.json b/ui/admin/package.json
index 6c2390fe6..bc9e5b2b6 100644
--- a/ui/admin/package.json
+++ b/ui/admin/package.json
@@ -89,7 +89,7 @@
"qunit": "^2.13.0",
"qunit-dom": "^1.6.0",
"rose": "*",
- "sass": "^1.29.0",
+ "sass": "^1.36.0",
"sass-lint": "^1.13.1",
"sinon": "^11.1.1"
},
diff --git a/ui/desktop/package.json b/ui/desktop/package.json
index 6ed9cd93e..1327bccd6 100755
--- a/ui/desktop/package.json
+++ b/ui/desktop/package.json
@@ -104,7 +104,7 @@
"qunit": "^2.13.0",
"qunit-dom": "^1.6.0",
"rose": "*",
- "sass": "^1.29.0",
+ "sass": "^1.36.0",
"sinon": "^11.1.1",
"stylelint": "^13.8.0",
"stylelint-config-sass-guidelines": "^7.1.0"
diff --git a/yarn.lock b/yarn.lock
index e2f00c012..80808da5a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -18934,10 +18934,10 @@ sass-lint@^1.13.1:
path-is-absolute "^1.0.0"
util "^0.10.3"
-sass@^1.26.5, sass@^1.29.0:
- version "1.34.1"
- resolved "https://registry.yarnpkg.com/sass/-/sass-1.34.1.tgz#30f45c606c483d47b634f1e7371e13ff773c96ef"
- integrity sha512-scLA7EIZM+MmYlej6sdVr0HRbZX5caX5ofDT9asWnUJj21oqgsC+1LuNfm0eg+vM0fCTZHhwImTiCU0sx9h9CQ==
+sass@^1.36.0:
+ version "1.36.0"
+ resolved "https://registry.yarnpkg.com/sass/-/sass-1.36.0.tgz#5912ef9d5d16714171ba11cb17edb274c4bbc07e"
+ integrity sha512-fQzEjipfOv5kh930nu3Imzq3ie/sGDc/4KtQMJlt7RRdrkQSfe37Bwi/Rf/gfuYHsIuE1fIlDMvpyMcEwjnPvg==
dependencies:
chokidar ">=3.0.0 <4.0.0"