diff --git a/addons/api/package.json b/addons/api/package.json index 1bf61697c..a38301dec 100644 --- a/addons/api/package.json +++ b/addons/api/package.json @@ -59,7 +59,7 @@ "ember-source-channel-url": "^3.0.0", "ember-template-lint": "^2.15.0", "ember-try": "^1.4.0", - "eslint": "^7.17.0", + "eslint": "^7.31.0", "eslint-config-prettier": "^7.1.0", "eslint-plugin-ember": "^10.1.1", "eslint-plugin-node": "^11.1.0", diff --git a/addons/auth/package.json b/addons/auth/package.json index 9d27bee7c..44405d65b 100644 --- a/addons/auth/package.json +++ b/addons/auth/package.json @@ -53,7 +53,7 @@ "ember-source-channel-url": "^3.0.0", "ember-template-lint": "^2.15.0", "ember-try": "^1.4.0", - "eslint": "^7.17.0", + "eslint": "^7.31.0", "eslint-config-prettier": "^7.1.0", "eslint-plugin-ember": "^10.1.1", "eslint-plugin-node": "^11.1.0", diff --git a/addons/core/package.json b/addons/core/package.json index 1e3f3ef9a..3bdf0c75c 100644 --- a/addons/core/package.json +++ b/addons/core/package.json @@ -68,7 +68,7 @@ "ember-source-channel-url": "^3.0.0", "ember-template-lint": "^2.15.0", "ember-try": "^1.4.0", - "eslint": "^7.17.0", + "eslint": "^7.31.0", "eslint-config-prettier": "^7.1.0", "eslint-plugin-ember": "^10.1.1", "eslint-plugin-node": "^11.1.0", diff --git a/addons/rose/package.json b/addons/rose/package.json index dad7f51cb..04110e79e 100644 --- a/addons/rose/package.json +++ b/addons/rose/package.json @@ -73,7 +73,7 @@ "ember-source-channel-url": "^3.0.0", "ember-template-lint": "^2.15.0", "ember-try": "^1.4.0", - "eslint": "^7.17.0", + "eslint": "^7.31.0", "eslint-config-prettier": "^7.1.0", "eslint-plugin-ember": "^10.1.1", "eslint-plugin-node": "^11.1.0", diff --git a/ui/admin/app/components/form/credential-library/index.hbs b/ui/admin/app/components/form/credential-library/index.hbs index beef7e8c6..88154aa84 100644 --- a/ui/admin/app/components/form/credential-library/index.hbs +++ b/ui/admin/app/components/form/credential-library/index.hbs @@ -12,6 +12,7 @@ @label={{t 'form.name.label'}} @error={{@model.errors.name}} @helperText={{t 'form.name.help'}} + disabled={{@model.isSaving}} readonly={{false}} as |field| > @@ -31,7 +32,7 @@ @label={{t 'form.description.label'}} @error={{@model.errors.description}} @helperText={{t 'form.description.help'}} - @disabled={{@model.isSaving}} + disabled={{@model.isSaving}} readonly={{false}} as |field| > @@ -51,6 +52,7 @@ @label={{t 'resources.credential-library.form.vault_path.label'}} @error={{@model.errors.attributes_path}} @helperText={{t 'resources.credential-library.form.vault_path.help'}} + disabled={{@model.isSaving}} readonly={{false}} as |field| > @@ -74,6 +76,7 @@ @selectedValue={{@model.attributes.http_method}} @changed={{fn (mut @model.attributes.http_method)}} @inline={{true}} + disabled={{@model.isSaving}} as |radioGroup| > {{#each this.httpMethodOptions as |httpMethod|}} diff --git a/ui/admin/app/router.js b/ui/admin/app/router.js index 3c359e268..a1bfa1e18 100644 --- a/ui/admin/app/router.js +++ b/ui/admin/app/router.js @@ -93,6 +93,11 @@ Router.map(function () { function () { this.route('credential-libraries', function () { this.route('new'); + this.route( + 'credential-library', + { path: ':credential_library_id' }, + function () {} + ); }); } ); diff --git a/ui/admin/app/routes/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library.js b/ui/admin/app/routes/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library.js new file mode 100644 index 000000000..45f5953fb --- /dev/null +++ b/ui/admin/app/routes/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library.js @@ -0,0 +1,49 @@ +import Route from '@ember/routing/route'; + +export default class ScopesScopeCredentialStoresCredentialStoreCredentialLibrariesCredentialLibraryRoute extends Route { + // =methods + + /** + * Load a credential-library using current credential store and its parent scope. + * @param {object} params + * @param {string} params.credential_library_id + * @return {CredentialLibraryModel} + */ + async model({ credential_library_id }) { + return this.store.findRecord('credential-library', credential_library_id, { + reload: true, + }); + } + + /** + * Renders the credential library specific templates for header, navigation, and action page sections. + * @override + */ + renderTemplate() { + super.renderTemplate(...arguments); + + this.render( + 'scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/-header', + { + into: 'scopes/scope/credential-stores/credential-store', + outlet: 'header', + } + ); + + this.render( + 'scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/-navigation', + { + into: 'scopes/scope/credential-stores/credential-store', + outlet: 'navigation', + } + ); + + this.render( + 'scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/-actions', + { + into: 'scopes/scope/credential-stores/credential-store', + outlet: 'actions', + } + ); + } +} diff --git a/ui/admin/app/routes/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/index.js b/ui/admin/app/routes/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/index.js new file mode 100644 index 000000000..8d9b40c15 --- /dev/null +++ b/ui/admin/app/routes/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/index.js @@ -0,0 +1,3 @@ +import Route from '@ember/routing/route'; + +export default class ScopesScopeCredentialStoresCredentialStoreCredentialLibrariesCredentialLibraryIndexRoute extends Route {} diff --git a/ui/admin/app/templates/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library.hbs b/ui/admin/app/templates/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library.hbs new file mode 100644 index 000000000..7d32ecb0d --- /dev/null +++ b/ui/admin/app/templates/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library.hbs @@ -0,0 +1,3 @@ +{{page-title @model.displayName}} + +{{outlet}} \ No newline at end of file diff --git a/ui/admin/app/templates/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/-actions.hbs b/ui/admin/app/templates/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/-actions.hbs new file mode 100644 index 000000000..e69de29bb diff --git a/ui/admin/app/templates/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/-header.hbs b/ui/admin/app/templates/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/-header.hbs new file mode 100644 index 000000000..3c2de9eef --- /dev/null +++ b/ui/admin/app/templates/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/-header.hbs @@ -0,0 +1,9 @@ +

{{t 'resources.credential-library.title'}}

+

{{t 'resources.credential-library.description'}}

+ + {{@model.id}} + \ No newline at end of file diff --git a/ui/admin/app/templates/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/-navigation.hbs b/ui/admin/app/templates/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/-navigation.hbs new file mode 100644 index 000000000..d5bb5cf63 --- /dev/null +++ b/ui/admin/app/templates/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/-navigation.hbs @@ -0,0 +1,7 @@ + + + {{t 'titles.details'}} + + \ No newline at end of file diff --git a/ui/admin/app/templates/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/index.hbs b/ui/admin/app/templates/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/index.hbs new file mode 100644 index 000000000..648221a43 --- /dev/null +++ b/ui/admin/app/templates/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/index.hbs @@ -0,0 +1,5 @@ + \ No newline at end of file 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 2164989cc..cbe1ede49 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 @@ -11,7 +11,12 @@ {{#each @model as |credentialLibrary|}} - {{credentialLibrary.displayName}} + + {{credentialLibrary.displayName}} +

{{credentialLibrary.description}}

diff --git a/ui/admin/package.json b/ui/admin/package.json index 0f7e95b19..2d1e8f9b0 100644 --- a/ui/admin/package.json +++ b/ui/admin/package.json @@ -77,7 +77,7 @@ "ember-source": "~3.24.0", "ember-template-lint": "^2.15.0", "ember-template-lint-plugin-prettier": "^2.0.0", - "eslint": "^7.17.0", + "eslint": "^7.31.0", "eslint-config-prettier": "^7.1.0", "eslint-plugin-ember": "^10.1.1", "eslint-plugin-node": "^11.1.0", diff --git a/ui/admin/tests/unit/routes/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library-test.js b/ui/admin/tests/unit/routes/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library-test.js new file mode 100644 index 000000000..54025fe54 --- /dev/null +++ b/ui/admin/tests/unit/routes/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library-test.js @@ -0,0 +1,16 @@ +import { module, test } from 'qunit'; +import { setupTest } from 'ember-qunit'; + +module( + 'Unit | Route | scopes/scope/credential-stores/credential-store/credential-libraries/credential-library', + function (hooks) { + setupTest(hooks); + + test('it exists', function (assert) { + let route = this.owner.lookup( + 'route:scopes/scope/credential-stores/credential-store/credential-libraries/credential-library' + ); + assert.ok(route); + }); + } +); diff --git a/ui/admin/tests/unit/routes/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/index-test.js b/ui/admin/tests/unit/routes/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/index-test.js new file mode 100644 index 000000000..1e4586a16 --- /dev/null +++ b/ui/admin/tests/unit/routes/scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/index-test.js @@ -0,0 +1,16 @@ +import { module, test } from 'qunit'; +import { setupTest } from 'ember-qunit'; + +module( + 'Unit | Route | scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/index', + function (hooks) { + setupTest(hooks); + + test('it exists', function (assert) { + let route = this.owner.lookup( + 'route:scopes/scope/credential-stores/credential-store/credential-libraries/credential-library/index' + ); + assert.ok(route); + }); + } +); diff --git a/ui/desktop/package.json b/ui/desktop/package.json index c22ee5143..046442e65 100755 --- a/ui/desktop/package.json +++ b/ui/desktop/package.json @@ -92,7 +92,7 @@ "ember-source": "~3.24.0", "ember-template-lint": "^2.15.0", "ember-template-lint-plugin-prettier": "^2.0.0", - "eslint": "^7.17.0", + "eslint": "^7.31.0", "eslint-config-prettier": "^7.1.0", "eslint-plugin-ember": "^10.1.1", "eslint-plugin-node": "^11.1.0", diff --git a/yarn.lock b/yarn.lock index eeeb32795..82666df63 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2060,6 +2060,21 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + "@formatjs/ecma402-abstract@1.6.4": version "1.6.4" resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.6.4.tgz#cff5ef03837fb6bae70b16d04940213c17e87884" @@ -2284,6 +2299,20 @@ resolved "https://registry.yarnpkg.com/@hashicorp/structure-icons/-/structure-icons-1.9.1.tgz#eb294ef28e8192062f6c7c08459382ba31a8b4af" integrity sha512-uuncAHmehXk/WeNzE3NqS8z0YX/AU3Go8rDEUK2rNFdp1c0T1HiHO6RaBW5byB8KEBAPRdSsFSNqB4RaETarNA== +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf" + integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== + "@iarna/cli@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@iarna/cli/-/cli-1.2.0.tgz#0f7af5e851afe895104583c4ca07377a8094d641" @@ -10099,7 +10128,7 @@ eslint@^2.7.0: text-table "~0.2.0" user-home "^2.0.0" -eslint@^7.17.0, eslint@^7.27.0: +eslint@^7.27.0: version "7.28.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.28.0.tgz#435aa17a0b82c13bb2be9d51408b617e49c1e820" integrity sha512-UMfH0VSjP0G4p3EWirscJEQ/cHqnT/iuH6oNZOB94nBjWbMnhGEPxsZm1eyIW0C/9jLI0Fow4W5DXLjEI7mn1g== @@ -10144,6 +10173,52 @@ eslint@^7.17.0, eslint@^7.27.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" +eslint@^7.31.0: + version "7.31.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.31.0.tgz#f972b539424bf2604907a970860732c5d99d3aca" + integrity sha512-vafgJpSh2ia8tnTkNUkwxGmnumgckLh5aAbLa1xRmIn9+owi8qBNGKL+B881kNKNTy7FFqTEkpNkUvmw0n6PkA== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + esm@^3.2.25, esm@^3.2.4: version "3.2.25" resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10"