* refactor: 💡 Add isSecret option for model attributes Move secret attribute logic to application serializer that will remove the key/value pair if the value is null or empty ✅ Closes: ICU-6800 * refactor: 💡 Add isSecret option to credential store token * Update addons/api/addon/serializers/credential.js Remove unneeded serialize method for credentials Co-authored-by: Randall Morey <randall@randallmorey.com> * refactor: 💡 add type check for serializing secret attributes Co-authored-by: Randall Morey <randall@randallmorey.com>
83 lines
1.9 KiB
JavaScript
83 lines
1.9 KiB
JavaScript
import BaseModel from '../../models/base';
|
|
import { attr } from '@ember-data/model';
|
|
|
|
/**
|
|
* A credential is a data structure containing one or more secrets that binds an
|
|
* identity to a set of permissions or capabilities on a host for a session.
|
|
*/
|
|
export default class GeneratedCredentialModel extends BaseModel {
|
|
// =attributes
|
|
|
|
@attr('string', {
|
|
description:
|
|
'The ID of the Credential Store of which this Credential is a part.',
|
|
})
|
|
credential_store_id;
|
|
|
|
@attr('string', {
|
|
description: 'The type of the resource, to help differentiate schemas',
|
|
})
|
|
type;
|
|
|
|
@attr('string', {
|
|
description: 'Optional name for identification purposes',
|
|
})
|
|
name;
|
|
|
|
@attr('string', {
|
|
description: 'Optional user-set description for identification purposes',
|
|
})
|
|
description;
|
|
|
|
@attr('date', {
|
|
description: 'The time this resource was created\nOutput only.',
|
|
readOnly: true,
|
|
})
|
|
created_time;
|
|
|
|
@attr('date', {
|
|
description: 'The time this resource was last updated\nOutput only.',
|
|
readOnly: true,
|
|
})
|
|
updated_time;
|
|
|
|
@attr('number', {
|
|
description: 'Current version number of this resource.',
|
|
})
|
|
version;
|
|
|
|
// =attributes (username_password, ssh_private_key)
|
|
@attr('string', {
|
|
for: ['username_password', 'ssh_private_key'],
|
|
isNestedAttribute: true,
|
|
description: 'The username for credential.',
|
|
})
|
|
username;
|
|
|
|
// =attributes (username_password)
|
|
@attr('string', {
|
|
for: 'username_password',
|
|
isNestedAttribute: true,
|
|
isSecret: true,
|
|
description: 'The password for credential.',
|
|
})
|
|
password;
|
|
|
|
// =attributes (ssh_private_key)
|
|
@attr('string', {
|
|
for: 'ssh_private_key',
|
|
isNestedAttribute: true,
|
|
isSecret: true,
|
|
description: 'The private key for credential.',
|
|
})
|
|
private_key;
|
|
|
|
@attr('string', {
|
|
for: 'ssh_private_key',
|
|
isNestedAttribute: true,
|
|
isSecret: true,
|
|
description: 'The private key passphrase for credential.',
|
|
})
|
|
private_key_passphrase;
|
|
}
|