diff --git a/addons/core/translations/resources/en-us.yaml b/addons/core/translations/resources/en-us.yaml index 425020e59..60fcc81d5 100644 --- a/addons/core/translations/resources/en-us.yaml +++ b/addons/core/translations/resources/en-us.yaml @@ -220,6 +220,8 @@ session-recording: storage-bucket: title: Storage Bucket title_plural: Storage Buckets + titles: + new: New Storage Bucket project: title: Project title_plural: Projects diff --git a/ui/admin/app/router.js b/ui/admin/app/router.js index 26ba1f57b..0187e2f03 100644 --- a/ui/admin/app/router.js +++ b/ui/admin/app/router.js @@ -148,7 +148,14 @@ Router.map(function () { } ); }); - this.route('storage-buckets', function () {}); + this.route('storage-buckets', function () { + this.route('new'); + this.route( + 'storage-bucket', + { path: ':storage_bucket_id' }, + function () {} + ); + }); }); }); diff --git a/ui/admin/app/routes/scopes/scope/storage-buckets.js b/ui/admin/app/routes/scopes/scope/storage-buckets.js index 9d17270e6..6c75be9b8 100644 --- a/ui/admin/app/routes/scopes/scope/storage-buckets.js +++ b/ui/admin/app/routes/scopes/scope/storage-buckets.js @@ -1,3 +1,8 @@ +/** + * Copyright (c) HashiCorp, Inc. + * SPDX-License-Identifier: MPL-2.0 + */ + import Route from '@ember/routing/route'; export default class ScopesScopeStorageBucketsRoute extends Route {} diff --git a/ui/admin/app/routes/scopes/scope/storage-buckets/index.js b/ui/admin/app/routes/scopes/scope/storage-buckets/index.js index e27e0a0dc..57bbf4b1f 100644 --- a/ui/admin/app/routes/scopes/scope/storage-buckets/index.js +++ b/ui/admin/app/routes/scopes/scope/storage-buckets/index.js @@ -1,3 +1,8 @@ +/** + * Copyright (c) HashiCorp, Inc. + * SPDX-License-Identifier: MPL-2.0 + */ + import Route from '@ember/routing/route'; export default class ScopesScopeStorageBucketsIndexRoute extends Route {} diff --git a/ui/admin/app/routes/scopes/scope/storage-buckets/new.js b/ui/admin/app/routes/scopes/scope/storage-buckets/new.js new file mode 100644 index 000000000..d318e1a66 --- /dev/null +++ b/ui/admin/app/routes/scopes/scope/storage-buckets/new.js @@ -0,0 +1,26 @@ +/** + * Copyright (c) HashiCorp, Inc. + * SPDX-License-Identifier: MPL-2.0 + */ + +import Route from '@ember/routing/route'; +import { inject as service } from '@ember/service'; + +export default class ScopesScopeStorageBucketsNewRoute extends Route { + // =services + + @service store; + + // =methods + + /** + * Creates a new unsaved storage bucket. + * @return {StorageBucket} + */ + model() { + const scopeModel = this.modelFor('scopes.scope'); + const record = this.store.createRecord('storage-bucket'); + record.scopeModel = scopeModel; + return record; + } +} diff --git a/ui/admin/app/routes/scopes/scope/storage-buckets/storage-bucket.js b/ui/admin/app/routes/scopes/scope/storage-buckets/storage-bucket.js new file mode 100644 index 000000000..8bf0c5ef4 --- /dev/null +++ b/ui/admin/app/routes/scopes/scope/storage-buckets/storage-bucket.js @@ -0,0 +1,14 @@ +/** + * Copyright (c) HashiCorp, Inc. + * SPDX-License-Identifier: MPL-2.0 + */ + +import Route from '@ember/routing/route'; + +export default class ScopesScopeStorageBucketsStorageBucketRoute extends Route { + model() { + return { + scope_id: 'sb_1234567890', + }; + } +} diff --git a/ui/admin/app/routes/scopes/scope/storage-buckets/storage-bucket/index.js b/ui/admin/app/routes/scopes/scope/storage-buckets/storage-bucket/index.js new file mode 100644 index 000000000..687ffc78a --- /dev/null +++ b/ui/admin/app/routes/scopes/scope/storage-buckets/storage-bucket/index.js @@ -0,0 +1,8 @@ +/** + * Copyright (c) HashiCorp, Inc. + * SPDX-License-Identifier: MPL-2.0 + */ + +import Route from '@ember/routing/route'; + +export default class ScopesScopeStorageBucketsStorageBucketIndexRoute extends Route {} diff --git a/ui/admin/app/templates/scopes/scope/storage-buckets.hbs b/ui/admin/app/templates/scopes/scope/storage-buckets.hbs index 5fda700a0..6067d7abe 100644 --- a/ui/admin/app/templates/scopes/scope/storage-buckets.hbs +++ b/ui/admin/app/templates/scopes/scope/storage-buckets.hbs @@ -1,3 +1,8 @@ +{{! + Copyright (c) HashiCorp, Inc. + SPDX-License-Identifier: MPL-2.0 +}} + {{page-title (t 'resources.storage-bucket.title_plural')}} {{outlet}} \ No newline at end of file diff --git a/ui/admin/app/templates/scopes/scope/storage-buckets/index.hbs b/ui/admin/app/templates/scopes/scope/storage-buckets/index.hbs index e69de29bb..3faf92ead 100644 --- a/ui/admin/app/templates/scopes/scope/storage-buckets/index.hbs +++ b/ui/admin/app/templates/scopes/scope/storage-buckets/index.hbs @@ -0,0 +1,4 @@ +{{! + Copyright (c) HashiCorp, Inc. + SPDX-License-Identifier: MPL-2.0 +}} \ No newline at end of file diff --git a/ui/admin/app/templates/scopes/scope/storage-buckets/new.hbs b/ui/admin/app/templates/scopes/scope/storage-buckets/new.hbs new file mode 100644 index 000000000..233691fac --- /dev/null +++ b/ui/admin/app/templates/scopes/scope/storage-buckets/new.hbs @@ -0,0 +1,6 @@ +{{! + Copyright (c) HashiCorp, Inc. + SPDX-License-Identifier: MPL-2.0 +}} + +{{page-title (t 'titles.new')}} \ No newline at end of file diff --git a/ui/admin/app/templates/scopes/scope/storage-buckets/storage-bucket.hbs b/ui/admin/app/templates/scopes/scope/storage-buckets/storage-bucket.hbs new file mode 100644 index 000000000..1d6ed5ba4 --- /dev/null +++ b/ui/admin/app/templates/scopes/scope/storage-buckets/storage-bucket.hbs @@ -0,0 +1,9 @@ +{{! + Copyright (c) HashiCorp, Inc. + SPDX-License-Identifier: MPL-2.0 +}} + +{{page-title @model.displayName}} + +
{{@model.scope_id}}
+{{outlet}} \ No newline at end of file diff --git a/ui/admin/app/templates/scopes/scope/storage-buckets/storage-bucket/index.hbs b/ui/admin/app/templates/scopes/scope/storage-buckets/storage-bucket/index.hbs new file mode 100644 index 000000000..3faf92ead --- /dev/null +++ b/ui/admin/app/templates/scopes/scope/storage-buckets/storage-bucket/index.hbs @@ -0,0 +1,4 @@ +{{! + Copyright (c) HashiCorp, Inc. + SPDX-License-Identifier: MPL-2.0 +}} \ No newline at end of file diff --git a/ui/admin/tests/unit/routes/scopes/scope/storage-buckets-test.js b/ui/admin/tests/unit/routes/scopes/scope/storage-buckets-test.js index 59c84d020..6f1795910 100644 --- a/ui/admin/tests/unit/routes/scopes/scope/storage-buckets-test.js +++ b/ui/admin/tests/unit/routes/scopes/scope/storage-buckets-test.js @@ -1,3 +1,8 @@ +/** + * Copyright (c) HashiCorp, Inc. + * SPDX-License-Identifier: MPL-2.0 + */ + import { module, test } from 'qunit'; import { setupTest } from 'admin/tests/helpers'; diff --git a/ui/admin/tests/unit/routes/scopes/scope/storage-buckets/index-test.js b/ui/admin/tests/unit/routes/scopes/scope/storage-buckets/index-test.js index 4c19c6e24..f8978d9f9 100644 --- a/ui/admin/tests/unit/routes/scopes/scope/storage-buckets/index-test.js +++ b/ui/admin/tests/unit/routes/scopes/scope/storage-buckets/index-test.js @@ -1,3 +1,8 @@ +/** + * Copyright (c) HashiCorp, Inc. + * SPDX-License-Identifier: MPL-2.0 + */ + import { module, test } from 'qunit'; import { setupTest } from 'admin/tests/helpers'; diff --git a/ui/admin/tests/unit/routes/scopes/scope/storage-buckets/new-test.js b/ui/admin/tests/unit/routes/scopes/scope/storage-buckets/new-test.js new file mode 100644 index 000000000..2c96c88cc --- /dev/null +++ b/ui/admin/tests/unit/routes/scopes/scope/storage-buckets/new-test.js @@ -0,0 +1,16 @@ +/** + * Copyright (c) HashiCorp, Inc. + * SPDX-License-Identifier: MPL-2.0 + */ + +import { module, test } from 'qunit'; +import { setupTest } from 'admin/tests/helpers'; + +module('Unit | Route | scopes/scope/storage-buckets/new', function (hooks) { + setupTest(hooks); + + test('it exists', function (assert) { + let route = this.owner.lookup('route:scopes/scope/storage-buckets/new'); + assert.ok(route); + }); +}); diff --git a/ui/admin/tests/unit/routes/scopes/scope/storage-buckets/storage-bucket-test.js b/ui/admin/tests/unit/routes/scopes/scope/storage-buckets/storage-bucket-test.js new file mode 100644 index 000000000..a4104dbf6 --- /dev/null +++ b/ui/admin/tests/unit/routes/scopes/scope/storage-buckets/storage-bucket-test.js @@ -0,0 +1,21 @@ +/** + * Copyright (c) HashiCorp, Inc. + * SPDX-License-Identifier: MPL-2.0 + */ + +import { module, test } from 'qunit'; +import { setupTest } from 'admin/tests/helpers'; + +module( + 'Unit | Route | scopes/scope/storage-buckets/storage-bucket', + function (hooks) { + setupTest(hooks); + + test('it exists', function (assert) { + let route = this.owner.lookup( + 'route:scopes/scope/storage-buckets/storage-bucket' + ); + assert.ok(route); + }); + } +); diff --git a/ui/admin/tests/unit/routes/scopes/scope/storage-buckets/storage-bucket/index-test.js b/ui/admin/tests/unit/routes/scopes/scope/storage-buckets/storage-bucket/index-test.js new file mode 100644 index 000000000..70bbcf915 --- /dev/null +++ b/ui/admin/tests/unit/routes/scopes/scope/storage-buckets/storage-bucket/index-test.js @@ -0,0 +1,21 @@ +/** + * Copyright (c) HashiCorp, Inc. + * SPDX-License-Identifier: MPL-2.0 + */ + +import { module, test } from 'qunit'; +import { setupTest } from 'admin/tests/helpers'; + +module( + 'Unit | Route | scopes/scope/storage-buckets/storage-bucket/index', + function (hooks) { + setupTest(hooks); + + test('it exists', function (assert) { + let route = this.owner.lookup( + 'route:scopes/scope/storage-buckets/storage-bucket/index' + ); + assert.ok(route); + }); + } +);