Jordan Reimer 712d3338b7
[UI] Ember Data Migration - Sync Overview/Destinations (#30524)
* improves path handling in capabilities service

* converts has-capability to class helper and adds pathKey and params args

* adds api service to sync engine

* updates sync types

* improves typings in paginate-list util

* adds api client error handling to error page component

* adds api utils for sync

* updates sync overview route and page component to use api service

* updates sync destinations route and page component to use api service

* adds missing copyright header

* fixes paginate-list regression

* fixes return type for has-capability helper

* Apply suggestions from code review

Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>

* fixes page error tests

* resolves suggestions from review

* fixes has-capability usage errors

* fixes comment in capabilities service

* more test fixes

---------

Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
2025-05-07 10:53:56 -06:00

40 lines
1.0 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import Route from '@ember/routing/route';
import { service } from '@ember/service';
import { decodeString } from 'core/utils/b64';
export default class MessagesMessageDetailsRoute extends Route {
@service api;
@service capabilities;
async model() {
const { id } = this.paramsFor('messages.message');
const requests = [
this.api.sys.uiConfigReadCustomMessage(id),
this.capabilities.for('customMessages', { id }),
];
const [customMessage, capabilities] = await Promise.all(requests);
customMessage.message = decodeString(customMessage.message);
return {
message: customMessage,
capabilities,
};
}
setupController(controller, resolvedModel) {
super.setupController(controller, resolvedModel);
const { message } = resolvedModel;
controller.breadcrumbs = [
{ label: 'Messages', route: 'messages', query: { authenticated: message.authenticated } },
{ label: message.title },
];
}
}