Jordan Reimer e18b0485f5
[UI] Ember Data Migration - Config UI Engine (#30238)
* WIP updating config-ui engine to use api service and form class

* updates form-field component to support false values for radio types

* updates api-error-message util to log out error in dev env

* fixes issues in custom messages create and edit workflows

* fixes issues in api service

* updates capabilities handling

* updates to custom messages form

* removes store from custom messages tests

* removes store as dependency from config-ui engine

* removes commented out code in messages route

* updates orderedKeys to displayFields in messages page component

* removes unneccesary method var from message create-and-edit component

* removes comment about model in message details page
2025-04-28 16:09:11 -06:00

59 lines
1.4 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import Route from '@ember/routing/route';
import { service } from '@ember/service';
import CustomMessage from 'vault/forms/custom-message';
import { addDays, startOfDay } from 'date-fns';
import timestamp from 'core/utils/timestamp';
export default class MessagesCreateRoute extends Route {
@service api;
queryParams = {
authenticated: {
refreshModel: true,
},
};
async getMessages(authenticated) {
try {
const { keyInfo } = await this.api.sys.uiConfigListCustomMessages(true, undefined, authenticated);
return Object.values(keyInfo);
} catch {
return [];
}
}
async model(params) {
const { authenticated } = params;
const message = new CustomMessage(
{
authenticated,
type: 'banner',
startTime: addDays(startOfDay(timestamp.now()), 1).toISOString(),
},
{ isNew: true }
);
const messages = await this.getMessages(authenticated);
return {
message,
messages,
authenticated,
};
}
setupController(controller, resolvedModel) {
super.setupController(controller, resolvedModel);
controller.breadcrumbs = [
{ label: 'Messages', route: 'messages', query: { authenticated: !!resolvedModel.authenticated } },
{ label: 'Create Message' },
];
}
}