Jordan Reimer c1754f5f97
[UI] Types Linting (#29702)
* adds linting for types to scripts and lint staged

* fixes issue with AdapterError type

* moves lint-staged setup out of package.json and into config file

* fixes ember data store service type

* fixes route params types

* fixes model types

* fixes general type errors

* fixes ts declaration errors in js files

* adds missing copyright headers

* fixes issue accessing capabilities model properties

* ignores AdapterError import type error

* more updates to AdapterError type

* adds comment to lint-staged config

* moves ember data store type to @ember-data namespace

* updates store import

* moves AdapterError type to @ember-data namespace

* turns ember-data import eslint rule back on
2025-02-25 16:08:51 -07:00

38 lines
1.4 KiB
TypeScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import Component from '@glimmer/component';
import type { StaticCredentials, DynamicCredentials } from 'ldap/routes/roles/role/credentials';
import { Breadcrumb } from 'vault/vault/app-types';
import type AdapterError from '@ember-data/adapter/error';
interface Args {
credentials: StaticCredentials | DynamicCredentials;
error: AdapterError;
breadcrumbs: Array<Breadcrumb>;
}
export default class LdapRoleCredentialsPageComponent extends Component<Args> {
staticFields = [
{ label: 'Last Vault rotation', key: 'last_vault_rotation', formatDate: 'MMM d yyyy, h:mm:ss aaa' },
{ label: 'Password', key: 'password', hasBlock: 'masked' },
{ label: 'Username', key: 'username' },
{ label: 'Rotation period', key: 'rotation_period', formatTtl: true },
{ label: 'Time remaining', key: 'ttl', formatTtl: true },
];
dynamicFields = [
{ label: 'Distinguished Name', key: 'distinguished_names' },
{ label: 'Username', key: 'username', hasBlock: 'masked' },
{ label: 'Password', key: 'password', hasBlock: 'masked' },
{ label: 'Lease ID', key: 'lease_id' },
{ label: 'Lease duration', key: 'lease_duration', formatTtl: true },
{ label: 'Lease renewable', key: 'renewable', hasBlock: 'check' },
];
get fields() {
return this.args.credentials.type === 'dynamic' ? this.dynamicFields : this.staticFields;
}
}