Reformat codebase with trailing commas in functions (#2006)

* style: 💄 Update trailing commas in API

* style: 💄 Update trailing commas in core

* style: 💄 Update trailing commas in rose

* style: 💄 Update trailing commas in admin

* style: 💄 Update trailing commas in desktop
This commit is contained in:
Zhihe Li authored and GitHub committed 2023-11-22 14:07:41 -05:00
1 parent cb3a9e3bdc
commit bcf004b8a4
423 files changed
+1636 -1605

No files matched your search

@@ -18,7 +18,7 @@ export default class ChannelRecordingAbility extends ModelAbility {
const sessionRecording = this.model.connection_recording.session_recording;
const sessionRecordingAbility = this.abilities.abilityFor(
'session-recording',
sessionRecording
sessionRecording,
);
return this.model.isAsciicast && sessionRecordingAbility.canDownload;
+1 -1
View File
@@ -54,7 +54,7 @@ export default class RoleAbility extends ModelAbility {
type === 'user' || type === 'group' || type === 'managed-group';
if (!typeIsValid)
throw new InvalidRolePrincipalTypeError(
`Expected a role principal of type 'user', 'group', or 'managed-group'. Got '${type}'.`
`Expected a role principal of type 'user', 'group', or 'managed-group'. Got '${type}'.`,
);
return this.can.can(`read ${type}`, this.model);
}
+1 -1
View File
@@ -45,7 +45,7 @@ function prenormalizeArrayResponse(response) {
}
export default class ApplicationAdapter extends RESTAdapter.extend(
AdapterBuildURLMixin
AdapterBuildURLMixin,
) {
// =attributes
@@ -55,7 +55,7 @@ export default class SessionRecordingAdapter extends ApplicationAdapter {
throw this.handleResponse(
response.status,
response.headers,
await response.text()
await response.text(),
);
}
}
+1 -1
View File
@@ -87,7 +87,7 @@ export default class AccountModel extends GeneratedAccountModel {
changePassword(
currentPassword,
newPassword,
options = { adapterOptions: {} }
options = { adapterOptions: {} },
) {
const defaultAdapterOptions = {
method: 'change-password',
+4 -4
View File
@@ -138,7 +138,7 @@ export default class RoleModel extends GeneratedRoleModel {
const authMethods = this.resourceFilterStore.queryBy(
'auth-method',
{ type: [TYPE_AUTH_METHOD_OIDC, TYPE_AUTH_METHOD_LDAP] },
{ scope_id: 'global', recursive: true }
{ scope_id: 'global', recursive: true },
);
// For each auth method, query all managed groups with IDs
@@ -149,9 +149,9 @@ export default class RoleModel extends GeneratedRoleModel {
methods.map(({ id: auth_method_id }) =>
this.resourceFilterStore
.queryBy('managed-group', { id: ids }, { auth_method_id })
.then((models) => models.map((model) => model))
)
)
.then((models) => models.map((model) => model)),
),
),
)
// The result is an array of arrays of model instances (grouped by
// auth methods), so these must be flattened.
+1 -1
View File
@@ -76,7 +76,7 @@ class SessionCredential {
if (this.#payloadSecret?.decoded) {
const secretJSON = this.#payloadSecret.decoded;
return Object.keys(secretJSON).map(
(key) => new SessionCredential.SecretItem(key, secretJSON[key])
(key) => new SessionCredential.SecretItem(key, secretJSON[key]),
);
} else {
// decode from base64
+8 -8
View File
@@ -122,7 +122,7 @@ export default class TargetModel extends GeneratedTargetModel {
*/
get isActive() {
const pendingOrActiveSessions = this.sessions.filter(
(s) => s.isActive || s.isPending
(s) => s.isActive || s.isPending,
);
return Boolean(pendingOrActiveSessions.length);
}
@@ -195,7 +195,7 @@ export default class TargetModel extends GeneratedTargetModel {
*/
addBrokeredCredentialSources(
brokeredCredentialSourceIDs,
options = { adapterOptions: {} }
options = { adapterOptions: {} },
) {
const defaultAdapterOptions = {
method: 'add-credential-sources',
@@ -221,7 +221,7 @@ export default class TargetModel extends GeneratedTargetModel {
*/
addInjectedApplicationCredentialSources(
injectedApplicationCredentialSourceIDs,
options = { adapterOptions: {} }
options = { adapterOptions: {} },
) {
const defaultAdapterOptions = {
method: 'add-credential-sources',
@@ -247,7 +247,7 @@ export default class TargetModel extends GeneratedTargetModel {
*/
removeBrokeredCredentialSources(
brokeredCredentialSourceIDs,
options = { adapterOptions: {} }
options = { adapterOptions: {} },
) {
const defaultAdapterOptions = {
method: 'remove-credential-sources',
@@ -272,7 +272,7 @@ export default class TargetModel extends GeneratedTargetModel {
removeBrokeredCredentialSource(brokeredCredentialSourceID, options) {
return this.removeBrokeredCredentialSources(
[brokeredCredentialSourceID],
options
options,
);
}
@@ -286,7 +286,7 @@ export default class TargetModel extends GeneratedTargetModel {
*/
removeInjectedApplicationCredentialSources(
injectedApplicationCredentialSourceIDs,
options = { adapterOptions: {} }
options = { adapterOptions: {} },
) {
const defaultAdapterOptions = {
method: 'remove-credential-sources',
@@ -310,11 +310,11 @@ export default class TargetModel extends GeneratedTargetModel {
*/
removeInjectedApplicationCredentialSource(
injectedApplicationCredentialSourceID,
options
options,
) {
return this.removeInjectedApplicationCredentialSources(
[injectedApplicationCredentialSourceID],
options
options,
);
}
+2 -2
View File
@@ -37,7 +37,7 @@ export default class WorkerModel extends GeneratedWorkerModel {
return Object.values(this.config_tags).reduce(
(previousCount, currentTags) => previousCount + currentTags.length,
0
0,
);
}
@@ -51,7 +51,7 @@ export default class WorkerModel extends GeneratedWorkerModel {
}
return Object.entries(this.config_tags).flatMap(([key, value]) =>
value.map((tag) => ({ key, value: tag }))
value.map((tag) => ({ key, value: tag })),
);
}
+1 -1
View File
@@ -110,7 +110,7 @@ export default class AccountSerializer extends ApplicationSerializer {
serialized = this.serializeForChangePassword(
snapshot,
currentPassword,
newPassword
newPassword,
);
}
return serialized;
+6 -6
View File
@@ -145,7 +145,7 @@ export default class ApplicationSerializer extends RESTSerializer {
const transformedPayload = {};
// Find the Ember-data-expected root key name.
const payloadKey = this.payloadKeyFromModelName(
primaryModelClass.modelName
primaryModelClass.modelName,
);
// Copy the data rooted under `items` in the existing payload into the new
// payload under the expected root key name.
@@ -156,7 +156,7 @@ export default class ApplicationSerializer extends RESTSerializer {
primaryModelClass,
transformedPayload,
id,
requestType
requestType,
);
}
@@ -183,7 +183,7 @@ export default class ApplicationSerializer extends RESTSerializer {
const transformedPayload = {};
// Find the Ember-data-expected root key name.
const payloadKey = this.payloadKeyFromModelName(
primaryModelClass.modelName
primaryModelClass.modelName,
);
// Copy the unrooted payload under the expected root key name.
transformedPayload[payloadKey] = payload;
@@ -193,7 +193,7 @@ export default class ApplicationSerializer extends RESTSerializer {
primaryModelClass,
transformedPayload,
id,
requestType
requestType,
);
}
@@ -318,7 +318,7 @@ export default class ApplicationSerializer extends RESTSerializer {
primaryModelClass,
payload,
id,
requestType
requestType,
) {
const newPayload = structuredClone(payload);
@@ -338,7 +338,7 @@ export default class ApplicationSerializer extends RESTSerializer {
primaryModelClass,
newPayload,
id,
requestType
requestType,
);
}
}
+1 -1
View File
@@ -74,7 +74,7 @@ export default class AuthMethodSerializer extends ApplicationSerializer {
normalizeArrayResponse() {
const normalized = super.normalizeArrayResponse(...arguments);
normalized.data = normalized.data.sort((a) =>
a.attributes.is_primary ? -1 : 1
a.attributes.is_primary ? -1 : 1,
);
return normalized;
}
@@ -7,7 +7,7 @@ import ApplicationSerializer from './application';
import { EmbeddedRecordsMixin } from '@ember-data/serializer/rest';
export default class ConnectionSerializer extends ApplicationSerializer.extend(
EmbeddedRecordsMixin
EmbeddedRecordsMixin,
) {
attrs = {
channel_recordings: { embedded: 'always' },
+1 -1
View File
@@ -24,7 +24,7 @@ export default class CredentialSerializer extends ApplicationSerializer {
if (serialized?.attributes?.json_object) {
serialized.attributes.object = JSON.parse(
serialized.attributes.json_object
serialized.attributes.json_object,
);
delete serialized.attributes.json_object;
}
@@ -6,7 +6,7 @@
import ApplicationSerializer from './application';
import { EmbeddedRecordsMixin } from '@ember-data/serializer/rest';
export default class RecordingSerializer extends ApplicationSerializer.extend(
EmbeddedRecordsMixin
EmbeddedRecordsMixin,
) {
attrs = {
connection_recordings: { embedded: 'always' },
+4 -4
View File
@@ -36,12 +36,12 @@ export default class TargetSerializer extends ApplicationSerializer {
if (brokeredCredentialSourceIDs)
serialized = this.serializeWithBrokeredCredentialSources(
snapshot,
brokeredCredentialSourceIDs
brokeredCredentialSourceIDs,
);
if (injectedApplicationCredentialSourceIDs)
serialized = this.serializeWithInjectedApplicationCredentialSources(
snapshot,
injectedApplicationCredentialSourceIDs
injectedApplicationCredentialSourceIDs,
);
// Delete session recording related fields from non-SSH targets
@@ -75,7 +75,7 @@ export default class TargetSerializer extends ApplicationSerializer {
*/
serializeWithBrokeredCredentialSources(
snapshot,
brokered_credential_source_ids
brokered_credential_source_ids,
) {
return {
version: snapshot.attr('version'),
@@ -92,7 +92,7 @@ export default class TargetSerializer extends ApplicationSerializer {
*/
serializeWithInjectedApplicationCredentialSources(
snapshot,
injected_application_credential_source_ids
injected_application_credential_source_ids,
) {
return {
version: snapshot.attr('version'),
+1 -1
View File
@@ -22,7 +22,7 @@ export default class WorkerSerializer extends ApplicationSerializer {
if (workerGeneratedAuthToken)
serialized = this.serializeWithGeneratedToken(
snapshot,
workerGeneratedAuthToken
workerGeneratedAuthToken,
);
return serialized;
}
@@ -42,8 +42,8 @@ export class ResourceFilter {
return this.in(value.contains, key);
}
return this.equals(key, value);
})
)
}),
),
);
})
.flat()
+36 -36
View File
@@ -74,7 +74,7 @@ function routes() {
});
}
return resultSet.filter(makeBooleanFilter(filter));
}
},
);
this.post('/scopes', function ({ scopes }) {
// Parent scope comes through the payload via `scope_id`, but this needs
@@ -107,11 +107,11 @@ function routes() {
});
} else {
resultSet = authMethods.where(
(authMethod) => authMethod.scopeId === scope_id
(authMethod) => authMethod.scopeId === scope_id,
);
}
return resultSet.filter(makeBooleanFilter(filter));
}
},
);
this.post('/auth-methods', function ({ authMethods }) {
const attrs = this.normalizedRequestAttrs();
@@ -130,7 +130,7 @@ function routes() {
}
return authMethods.find(id).update(attrs);
}
},
);
this.del('/auth-methods/:id', ({ authMethods }, { params: { id } }) => {
const authMethod = authMethods.find(id);
@@ -149,7 +149,7 @@ function routes() {
'/accounts',
(
{ accounts },
{ queryParams: { auth_method_id: authMethodId, filter } }
{ queryParams: { auth_method_id: authMethodId, filter } },
) => {
let resultSet;
if (authMethodId) {
@@ -158,7 +158,7 @@ function routes() {
resultSet = accounts.all();
}
return resultSet.filter(makeBooleanFilter(filter));
}
},
);
this.post('/accounts');
this.get('/accounts/:id');
@@ -184,7 +184,7 @@ function routes() {
updatedAttrs.attributes.password = attrs.new_password;
}
return account.update(updatedAttrs);
}
},
);
// Authenticate + auth methods custom routes
@@ -211,7 +211,7 @@ function routes() {
resultSet = users.where((user) => user.scopeId === scope_id);
}
return resultSet.filter(makeBooleanFilter(filter));
}
},
);
this.post('/users');
this.get('/users/:id');
@@ -262,7 +262,7 @@ function routes() {
resultSet = groups.where((group) => group.scopeId === scope_id);
}
return resultSet.filter(makeBooleanFilter(filter));
}
},
);
this.post('/groups');
this.get('/groups/:id');
@@ -294,7 +294,7 @@ function routes() {
});
}
return group.update(updatedAttrs);
}
},
);
// IAM: Roles
@@ -309,7 +309,7 @@ function routes() {
'/roles/:idMethod',
function (
{ roles, users, groups, managedGroups },
{ params: { idMethod } }
{ params: { idMethod } },
) {
const attrs = this.normalizedRequestAttrs();
const id = idMethod.split(':')[0];
@@ -361,7 +361,7 @@ function routes() {
updatedAttrs.managedGroupIds = updatedAttrs.managedGroupIds.filter(
(id) => {
return !attrs.principalIds.includes(id);
}
},
);
}
@@ -373,7 +373,7 @@ function routes() {
}
return role.update(updatedAttrs);
}
},
);
// Other resources
@@ -383,7 +383,7 @@ function routes() {
'/host-catalogs',
({ hostCatalogs }, { queryParams: { scope_id: scopeId } }) => {
return hostCatalogs.where({ scopeId });
}
},
);
this.post(
'/host-catalogs',
@@ -396,7 +396,7 @@ function routes() {
};
}
return hostCatalogs.create(attrs);
}
},
);
this.get('/host-catalogs/:id');
this.patch('/host-catalogs/:id');
@@ -408,7 +408,7 @@ function routes() {
'/hosts',
function ({ hosts }, { queryParams: { host_catalog_id: hostCatalogId } }) {
return hosts.where({ hostCatalogId });
}
},
);
this.post('/hosts', function ({ hostCatalogs, hosts }) {
const attrs = this.normalizedRequestAttrs();
@@ -426,10 +426,10 @@ function routes() {
'/host-sets',
function (
{ hostSets },
{ queryParams: { host_catalog_id: hostCatalogId } }
{ queryParams: { host_catalog_id: hostCatalogId } },
) {
return hostSets.where({ hostCatalogId });
}
},
);
this.post('/host-sets', function ({ hostCatalogs, hostSets }) {
@@ -477,7 +477,7 @@ function routes() {
}
return hostSet.update(updatedAttrs);
}
},
);
// target
@@ -500,7 +500,7 @@ function routes() {
resultSet = targets.where((target) => target.scopeId === scope_id);
}
return resultSet.filter(makeBooleanFilter(filter));
}
},
);
this.post('/targets', function ({ targets }) {
const attrs = this.normalizedRequestAttrs();
@@ -548,7 +548,7 @@ function routes() {
resultSet = sessions.where((session) => session.scopeId === scope_id);
}
return resultSet.filter(makeBooleanFilter(filter));
}
},
);
this.get('/sessions/:id', function ({ sessions }, { params: { id } }) {
const session = sessions.find(id);
@@ -573,7 +573,7 @@ function routes() {
updatedAttrs.status = 'canceling';
}
return session.update(updatedAttrs);
}
},
);
// auth-tokens
@@ -589,7 +589,7 @@ function routes() {
this.get(
'/credential-stores',
({ credentialStores }, { queryParams: { scope_id: scopeId } }) =>
credentialStores.where({ scopeId })
credentialStores.where({ scopeId }),
);
this.get('/credential-stores/:id');
@@ -603,8 +603,8 @@ function routes() {
'/credential-libraries',
(
{ credentialLibraries },
{ queryParams: { credential_store_id: credentialStoreId } }
) => credentialLibraries.where({ credentialStoreId })
{ queryParams: { credential_store_id: credentialStoreId } },
) => credentialLibraries.where({ credentialStoreId }),
);
this.get('/credential-libraries/:id');
this.post(
@@ -614,7 +614,7 @@ function routes() {
const credentialStore = credentialStores.find(attrs.credentialStoreId);
attrs.scopeId = credentialStore.scope.id;
return credentialLibraries.create(attrs);
}
},
);
this.del('/credential-libraries/:id');
this.patch('/credential-libraries/:id');
@@ -625,8 +625,8 @@ function routes() {
'/credentials',
(
{ credentials },
{ queryParams: { credential_store_id: credentialStoreId } }
) => credentials.where({ credentialStoreId })
{ queryParams: { credential_store_id: credentialStoreId } },
) => credentials.where({ credentialStoreId }),
);
this.get('/credentials/:id');
this.post('/credentials', function ({ credentialStores, credentials }) {
@@ -644,7 +644,7 @@ function routes() {
'/managed-groups',
(
{ managedGroups },
{ queryParams: { auth_method_id: authMethodId, filter } }
{ queryParams: { auth_method_id: authMethodId, filter } },
) => {
let resultSet;
if (authMethodId) {
@@ -653,7 +653,7 @@ function routes() {
resultSet = managedGroups.all();
}
return resultSet.filter(makeBooleanFilter(filter));
}
},
);
this.post('/managed-groups');
this.get('/managed-groups/:id');
@@ -665,7 +665,7 @@ function routes() {
'/workers',
({ workers }, { queryParams: { scope_id: scopeId } }) => {
return workers.where({ scopeId });
}
},
);
this.get('/workers/:id');
this.del('/workers/:id');
@@ -689,7 +689,7 @@ function routes() {
return storageBuckets.all();
}
return storageBuckets.where({ scopeId });
}
},
);
this.get('/storage-buckets/:id');
this.del('/storage-buckets/:id');
@@ -708,7 +708,7 @@ function routes() {
delete attrs.secrets;
return storageBuckets.create(attrs);
}
},
);
// session recordings
@@ -716,13 +716,13 @@ function routes() {
'/session-recordings',
(
{ sessionRecordings },
{ queryParams: { scope_id: scopeId, recursive } }
{ queryParams: { scope_id: scopeId, recursive } },
) => {
if (recursive && scopeId === 'global') {
return sessionRecordings.all();
}
return sessionRecordings.where({ scopeId });
}
},
);
this.get(
'/session-recordings/:idMethod',
@@ -735,7 +735,7 @@ function routes() {
} else {
return sessionRecordings.find(id);
}
}
},
);
/* Uncomment the following line and the Response import above
+1 -1
View File
@@ -54,7 +54,7 @@ export default factory.extend({
return {
disable_credential_rotation: faker.datatype.boolean(),
region: `us-${faker.location.cardinalDirection()}-${faker.number.int(
9
9,
)}`,
};
case 'azure':
+1 -1
View File
@@ -61,7 +61,7 @@ export default factory.extend({
type: 'org',
scope: { id: record.id, type: record.type },
},
'withChildren'
'withChildren',
);
}
if (record.type === 'org') {
@@ -57,7 +57,8 @@ export default factory.extend({
const session = pickRandomElement(server.schema.sessions.all().models);
session.id = 'deleted_session';
const target = pickRandomElement(
server.schema.targets.where((target) => target.storage_bucket_id).models
server.schema.targets.where((target) => target.storage_bucket_id)
.models,
);
target.id = 'deleted_target';
@@ -77,7 +78,8 @@ export default factory.extend({
const user = pickRandomElement(server.schema.users.all().models);
const session = pickRandomElement(server.schema.sessions.all().models);
const target = pickRandomElement(
server.schema.targets.where((target) => target.storage_bucket_id).models
server.schema.targets.where((target) => target.storage_bucket_id)
.models,
);
sessionRecording.update({
@@ -46,7 +46,7 @@ export default factory.extend({
case TYPE_STORAGE_BUCKET_PLUGIN_AWS_S3:
return {
region: `us-${faker.location.cardinalDirection()}-${faker.number.int(
9
9,
)}`,
disable_credential_rotation: faker.datatype.boolean(),
};
+1 -1
View File
@@ -60,7 +60,7 @@ export default factory.extend({
randomlySelectedCredentialLibraries = server.schema.credentialLibraries
.where(
(credentialLibrary) => credentialLibrary.scopeId === target.scope.id
(credentialLibrary) => credentialLibrary.scopeId === target.scope.id,
)
.models.filter(() => randomBoolean())
.map((cred) => cred.id);
@@ -51,7 +51,7 @@ export default Factory.extend({
certificates: [faker.string.alphanumeric(50)],
client_certificate: faker.string.alphanumeric(50),
client_certificate_key: `---Begin Certificate --- ${faker.string.alphanumeric(
170
170,
)} ---End Certificate ---`,
client_certificate_key_hmac: faker.string.alphanumeric(50),
enable_groups: true,
@@ -22,6 +22,6 @@ export default Factory.extend({
active_connection_count: () => faker.number.int(10),
release_version: () =>
`Boundary v${faker.number.int(11)}.${faker.number.int(
50
50,
)}.${faker.number.int(12)}`,
});
+1 -1
View File
@@ -39,7 +39,7 @@ export default function (prefix = '') {
let result = '';
for (let i = 0; i < 10; i++) {
result = result.concat(
characters[Math.floor(random() * characters.length)]
characters[Math.floor(random() * characters.length)],
);
}
return prefix.concat(result);
+2 -2
View File
@@ -35,13 +35,13 @@ class ToggledCapabilities {
// Find the value of a pair with key `authorized_actions`
// Safe-ish when the item is not present
#rawAuthorizedActions = (this.#queryPairs.find(
(item) => item[0] === 'authorized_actions'
(item) => item[0] === 'authorized_actions',
) || [])[1];
// Safe-ish when the value is not present
#authorizedActions =
JSON.parse(
decodeURIComponent(this.#rawAuthorizedActions || '') || 'null'
decodeURIComponent(this.#rawAuthorizedActions || '') || 'null',
) || {};
// =methods
+4 -4
View File
@@ -56,7 +56,7 @@ const commandHandlers = {
last_used_time: '',
expiration_time: '',
},
}
},
);
}
},
@@ -82,7 +82,7 @@ const commandHandlers = {
auth_url: 'https://www.duckduckgo.com',
token_id: 'token_1234',
},
}
},
),
token: (_, scopeAttrs) => {
oidcAttemptCounter++;
@@ -105,7 +105,7 @@ const commandHandlers = {
last_used_time: '',
expiration_time: '',
},
}
},
);
}
},
@@ -115,7 +115,7 @@ const commandHandlers = {
// Handles all custom methods on /auth-methods/:id route
export function authHandler({ scopes, authMethods }, request) {
const [, id, method] = request.params.id_method.match(
/(?<id>.[^:]*):(?<method>(.*))/
/(?<id>.[^:]*):(?<method>(.*))/,
);
const authMethod = authMethods.find(id);
+6 -6
View File
@@ -40,7 +40,7 @@ export function targetHandler({ targets }, { params: { idMethod } }) {
if (selectedHostSourceIds) {
const listOfHostSources = addToSourcesList(
originHostSetIds,
selectedHostSourceIds
selectedHostSourceIds,
);
if (listOfHostSources?.length) {
updatedAttrs.hostSetIds = listOfHostSources;
@@ -52,7 +52,7 @@ export function targetHandler({ targets }, { params: { idMethod } }) {
if (selectedHostSourceIds) {
const removedHostSources = removeFromSourcesList(
originHostSetIds,
selectedHostSourceIds
selectedHostSourceIds,
);
updatedAttrs.hostSetIds = removedHostSources;
}
@@ -62,7 +62,7 @@ export function targetHandler({ targets }, { params: { idMethod } }) {
if (selectedBrokeredCredentials) {
const listOfBrokeredCredentialSources = addToSourcesList(
originalBrokeredCredentials,
selectedBrokeredCredentials
selectedBrokeredCredentials,
);
if (listOfBrokeredCredentialSources?.length) {
updatedAttrs.brokeredCredentialSourceIds =
@@ -73,7 +73,7 @@ export function targetHandler({ targets }, { params: { idMethod } }) {
if (selectedInjectedCredentials) {
const listOfInjectedCredentialSources = addToSourcesList(
originalInjectedCredentials,
selectedInjectedCredentials
selectedInjectedCredentials,
);
if (listOfInjectedCredentialSources?.length) {
updatedAttrs.injectedApplicationCredentialSourceIds =
@@ -86,7 +86,7 @@ export function targetHandler({ targets }, { params: { idMethod } }) {
if (selectedBrokeredCredentials) {
const removedCredentialSources = removeFromSourcesList(
originalBrokeredCredentials,
selectedBrokeredCredentials
selectedBrokeredCredentials,
);
updatedAttrs.brokeredCredentialSourceIds = removedCredentialSources;
}
@@ -94,7 +94,7 @@ export function targetHandler({ targets }, { params: { idMethod } }) {
if (selectedInjectedCredentials) {
const removedCredentialSources = removeFromSourcesList(
originalInjectedCredentials,
selectedInjectedCredentials
selectedInjectedCredentials,
);
updatedAttrs.injectedApplicationCredentialSourceIds =
removedCredentialSources;
+10 -10
View File
@@ -21,7 +21,7 @@ export default function (server) {
type: 'org',
scope: { id: globalScope.id, type: globalScope.type },
},
'withChildren'
'withChildren',
)[0];
// Auth
@@ -29,13 +29,13 @@ export default function (server) {
'auth-method',
5,
{ scope: globalScope },
'withAccountsAndUsersAndManagedGroups'
'withAccountsAndUsersAndManagedGroups',
);
const orgAuthMethods = server.createList(
'auth-method',
3,
{ scope: orgScope },
'withAccountsAndUsersAndManagedGroups'
'withAccountsAndUsersAndManagedGroups',
);
// Authenticated user/account
const user = server.create('user', {
@@ -62,13 +62,13 @@ export default function (server) {
'role',
1,
{ scope: globalScope },
'withPrincipals'
'withPrincipals',
);
//create managed groups for role/principals in globalScope
globalScopeRoles.forEach((role) => {
const { scope } = role;
const oidcAuthMethod = globalAuthMethods.filter(
(auth) => auth.type === TYPE_AUTH_METHOD_OIDC
(auth) => auth.type === TYPE_AUTH_METHOD_OIDC,
)[0];
const { type } = oidcAuthMethod;
const managedGroups = server.createList('managed-group', 2, {
@@ -83,13 +83,13 @@ export default function (server) {
'role',
5,
{ scope: orgScope },
'withPrincipals'
'withPrincipals',
);
//create managed groups for role/principals in orgScope
orgScopeRoles.forEach((role) => {
const { scope } = role;
const oidcAuthMethod = orgAuthMethods.filter(
(auth) => auth.type === TYPE_AUTH_METHOD_OIDC
(auth) => auth.type === TYPE_AUTH_METHOD_OIDC,
)[0];
const { type } = oidcAuthMethod;
const managedGroups = server.createList('managed-group', 2, {
@@ -129,19 +129,19 @@ export default function (server) {
3,
{ scope: globalScope },
'withConnectionAndChannels',
'withExistingUserAndTarget'
'withExistingUserAndTarget',
);
server.create(
'session-recording',
{ scope: globalScope },
'withConnectionAndChannels',
'withNonExistingUserAndTarget'
'withNonExistingUserAndTarget',
);
server.createList(
'session-recording',
2,
{ scope: orgScope },
'withConnectionAndChannels',
'withExistingUserAndTarget'
'withExistingUserAndTarget',
);
}
+1 -1
View File
@@ -11,7 +11,7 @@ export default ApplicationSerializer.extend({
_hashForModel(model) {
const json = ApplicationSerializer.prototype._hashForModel.apply(
this,
arguments
arguments,
);
json.auth_method_id = model.authMethodId;
delete json.attributes?.password;
+1 -1
View File
@@ -38,7 +38,7 @@ export default RestSerializer.extend({
keyForRelationshipId(relationshipName) {
return `${this._container.inflector.singularize(
underscore(relationshipName)
underscore(relationshipName),
)}_id`;
},
+1 -1
View File
@@ -11,7 +11,7 @@ export default ApplicationSerializer.extend({
_hashForModel(model) {
const json = ApplicationSerializer.prototype._hashForModel.apply(
this,
arguments
arguments,
);
// If the scope marks this auth method as primary, designate it
// as such with a read-only boolean field (this is how the API behaves).
@@ -11,7 +11,7 @@ export default ApplicationSerializer.extend({
_hashForModel(model) {
const json = ApplicationSerializer.prototype._hashForModel.apply(
this,
arguments
arguments,
);
const { channelRecordings } = this.schema;
if (model.channelRecordingIds) {
@@ -11,7 +11,7 @@ export default ApplicationSerializer.extend({
_hashForModel(model) {
const json = ApplicationSerializer.prototype._hashForModel.apply(
this,
arguments
arguments,
);
json.credential_store_id = model.credentialStoreId;
return json;
@@ -11,7 +11,7 @@ export default ApplicationSerializer.extend({
_hashForModel(/* model */) {
const json = ApplicationSerializer.prototype._hashForModel.apply(
this,
arguments
arguments,
);
// in a real API, the following fields are set-only and returned in
// associated HMAC fields
+1 -1
View File
@@ -11,7 +11,7 @@ export default ApplicationSerializer.extend({
_hashForModel(model) {
const json = ApplicationSerializer.prototype._hashForModel.apply(
this,
arguments
arguments,
);
json.credential_store_id = model.credentialStoreId;
+2 -2
View File
@@ -11,14 +11,14 @@ export default ApplicationSerializer.extend({
keyForRelationshipIds(relationshipName) {
return `${this._container.inflector.singularize(
underscore(relationshipName)
underscore(relationshipName),
)}_ids`;
},
_hashForModel(model) {
const json = ApplicationSerializer.prototype._hashForModel.apply(
this,
arguments
arguments,
);
if (model.memberIds.length) json.member_ids = model.memberIds;
return json;
+2 -2
View File
@@ -11,14 +11,14 @@ export default ApplicationSerializer.extend({
keyForRelationshipIds(relationshipName) {
return `${this._container.inflector.singularize(
underscore(relationshipName)
underscore(relationshipName),
)}_ids`;
},
_hashForModel(model) {
const json = ApplicationSerializer.prototype._hashForModel.apply(
this,
arguments
arguments,
);
json.host_catalog_id = model.hostCatalogId;
if (model.hostIds?.length) {
+1 -1
View File
@@ -11,7 +11,7 @@ export default ApplicationSerializer.extend({
_hashForModel(model) {
const json = ApplicationSerializer.prototype._hashForModel.apply(
this,
arguments
arguments,
);
json.host_catalog_id = model.hostCatalogId;
return json;
@@ -11,7 +11,7 @@ export default ApplicationSerializer.extend({
_hashForModel(model) {
const json = ApplicationSerializer.prototype._hashForModel.apply(
this,
arguments
arguments,
);
json.auth_method_id = model.authMethodId;
return json;
+2 -2
View File
@@ -11,7 +11,7 @@ export default ApplicationSerializer.extend({
_hashForModel(model) {
const json = ApplicationSerializer.prototype._hashForModel.apply(
this,
arguments
arguments,
);
const serializedUsers = model.users.models.map((user) => ({
scope_id: model.scope.id,
@@ -28,7 +28,7 @@ export default ApplicationSerializer.extend({
scope_id: model.scope.id,
id: managedGroup.id,
type: 'managed group',
})
}),
);
json.principals = [
...serializedUsers,
@@ -12,7 +12,7 @@ export default ApplicationSerializer.extend({
_hashForModel(model) {
const json = ApplicationSerializer.prototype._hashForModel.apply(
this,
arguments
arguments,
);
const { connectionRecordings, scopes } = this.schema;
@@ -22,7 +22,7 @@ export default ApplicationSerializer.extend({
const connection = connectionRecordings.find(id);
return ConnectionRecordingSerializer.prototype._hashForModel.apply(
this,
[connection]
[connection],
);
});
}
+2 -2
View File
@@ -11,14 +11,14 @@ export default ApplicationSerializer.extend({
keyForRelationshipId(relationshipName) {
return `${this._container.inflector.singularize(
underscore(relationshipName)
underscore(relationshipName),
)}_id`;
},
_hashForModel(model) {
const json = ApplicationSerializer.prototype._hashForModel.apply(
this,
arguments
arguments,
);
json.user_id = model.userId;
json.target_id = model.targetId;
+2 -2
View File
@@ -11,14 +11,14 @@ export default ApplicationSerializer.extend({
keyForRelationshipIds(relationshipName) {
return `${this._container.inflector.singularize(
underscore(relationshipName)
underscore(relationshipName),
)}_ids`;
},
_hashForModel(model) {
const json = ApplicationSerializer.prototype._hashForModel.apply(
this,
arguments
arguments,
);
const { hostSets } = this.schema;
if (model.hostSetIds?.length) {
+2 -2
View File
@@ -11,14 +11,14 @@ export default ApplicationSerializer.extend({
keyForRelationshipIds(relationshipName) {
return `${this._container.inflector.singularize(
underscore(relationshipName)
underscore(relationshipName),
)}_ids`;
},
_hashForModel(model) {
const json = ApplicationSerializer.prototype._hashForModel.apply(
this,
arguments
arguments,
);
if (model.accountIds.length) json.account_ids = model.accountIds;
return json;
@@ -35,7 +35,7 @@ module('Unit | Ability | channel-recording', function (hooks) {
'connection-recording',
{
session_recording: sessionRecordingModel,
}
},
);
const channelRecordingModel = store.createRecord('channel-recording', {
mime_types: [MIME_TYPE_ASCIICAST],
@@ -43,7 +43,7 @@ module('Unit | Ability | channel-recording', function (hooks) {
});
assert.true(
canService.can('getAsciicast channel-recording', channelRecordingModel)
canService.can('getAsciicast channel-recording', channelRecordingModel),
);
});
@@ -58,7 +58,7 @@ module('Unit | Ability | channel-recording', function (hooks) {
'connection-recording',
{
session_recording: sessionRecordingModel,
}
},
);
const channelRecordingModel = store.createRecord('channel-recording', {
mime_types: ['unknown'],
@@ -66,7 +66,7 @@ module('Unit | Ability | channel-recording', function (hooks) {
});
assert.false(
canService.can('getAsciicast channel-recording', channelRecordingModel)
canService.can('getAsciicast channel-recording', channelRecordingModel),
);
});
});
@@ -29,26 +29,26 @@ module('Unit | Ability | session-recording', function (hooks) {
'session-recording',
{
authorized_actions: ['download'],
}
},
);
const recordingWithoutAuthorizedAction = store.createRecord(
'session-recording',
{
authorized_actions: [],
}
},
);
assert.true(
canService.can(
'download session-recording',
recordingWithAuthorizedAction
)
recordingWithAuthorizedAction,
),
);
assert.false(
canService.can(
'download session-recording',
recordingWithoutAuthorizedAction
)
recordingWithoutAuthorizedAction,
),
);
});
});
@@ -80,19 +80,19 @@ module('Unit | Abilities | Target', function (hooks) {
};
assert.true(
canService.can('addInjectedApplicationCredentialSources target', model)
canService.can('addInjectedApplicationCredentialSources target', model),
);
assert.false(
canService.can(
'addInjectedApplicationCredentialSources target',
modelWithoutAuthorizedActions
)
modelWithoutAuthorizedActions,
),
);
assert.false(
canService.can(
'addInjectedApplicationCredentialSources target',
modelWithoutSSHType
)
modelWithoutSSHType,
),
);
});
});
+16 -16
View File
@@ -37,25 +37,25 @@ module('Unit | Abilities | User', function (hooks) {
assert.true(
canService.can('addAccount user', instances.user, {
account: instances.account,
})
}),
);
instances.account.type = TYPE_AUTH_METHOD_PASSWORD;
assert.true(
canService.can('addAccount user', instances.user, {
account: instances.account,
})
}),
);
instances.account.type = TYPE_AUTH_METHOD_LDAP;
assert.true(
canService.can('addAccount user', instances.user, {
account: instances.account,
})
}),
);
instances.account.type = 'no-such-type';
assert.false(
canService.can('addAccount user', instances.user, {
account: instances.account,
})
}),
);
});
@@ -67,25 +67,25 @@ module('Unit | Abilities | User', function (hooks) {
assert.false(
canService.can('addAccount user', instances.user, {
account: instances.account,
})
}),
);
instances.account.type = TYPE_AUTH_METHOD_PASSWORD;
assert.false(
canService.can('addAccount user', instances.user, {
account: instances.account,
})
}),
);
instances.account.type = TYPE_AUTH_METHOD_LDAP;
assert.false(
canService.can('addAccount user', instances.user, {
account: instances.account,
})
}),
);
instances.account.type = 'no-such-type';
assert.false(
canService.can('addAccount user', instances.user, {
account: instances.account,
})
}),
);
});
@@ -97,25 +97,25 @@ module('Unit | Abilities | User', function (hooks) {
assert.true(
canService.can('removeAccount user', instances.user, {
account: instances.account,
})
}),
);
instances.account.type = TYPE_AUTH_METHOD_PASSWORD;
assert.true(
canService.can('removeAccount user', instances.user, {
account: instances.account,
})
}),
);
instances.account.type = TYPE_AUTH_METHOD_LDAP;
assert.true(
canService.can('removeAccount user', instances.user, {
account: instances.account,
})
}),
);
instances.account.type = 'no-such-type';
assert.false(
canService.can('removeAccount user', instances.user, {
account: instances.account,
})
}),
);
});
@@ -127,25 +127,25 @@ module('Unit | Abilities | User', function (hooks) {
assert.false(
canService.can('addAccount user', instances.user, {
account: instances.account,
})
}),
);
instances.account.type = TYPE_AUTH_METHOD_PASSWORD;
assert.false(
canService.can('removeAccount user', instances.user, {
account: instances.account,
})
}),
);
instances.account.type = TYPE_AUTH_METHOD_LDAP;
assert.false(
canService.can('removeAccount user', instances.user, {
account: instances.account,
})
}),
);
instances.account.type = 'no-such-type';
assert.false(
canService.can('removeAccount user', instances.user, {
account: instances.account,
})
}),
);
});
});
@@ -67,7 +67,7 @@ module('Unit | Adapter | application', function (hooks) {
'user',
'1',
mockSnapshot,
'findRecord'
'findRecord',
);
assert.strictEqual(findRecordURL, '/v1/users/1:my-custom-method');
const findAllURL = adapter.buildURL('user', null, mockSnapshot, 'findAll');
@@ -76,28 +76,28 @@ module('Unit | Adapter | application', function (hooks) {
'user',
'2',
mockSnapshot,
'findBelongsTo'
'findBelongsTo',
);
assert.strictEqual(findBelongsToURL, '/v1/users/2:my-custom-method');
const createRecordURL = adapter.buildURL(
'user',
null,
mockSnapshot,
'createRecord'
'createRecord',
);
assert.strictEqual(createRecordURL, '/v1/users:my-custom-method');
const updateRecordURL = adapter.buildURL(
'user',
'3',
mockSnapshot,
'updateRecord'
'updateRecord',
);
assert.strictEqual(updateRecordURL, '/v1/users/3:my-custom-method');
const deleteRecordURL = adapter.buildURL(
'user',
'4',
mockSnapshot,
'deleteRecord'
'deleteRecord',
);
assert.strictEqual(deleteRecordURL, '/v1/users/4:my-custom-method');
});
@@ -109,7 +109,7 @@ module('Unit | Adapter | application', function (hooks) {
assert.strictEqual(
scope_id,
'p_456',
'Scoped resource URL was requested.'
'Scoped resource URL was requested.',
);
return { items: [] };
});
@@ -154,7 +154,7 @@ module('Unit | Adapter | application', function (hooks) {
store,
{ modelName: 'user' },
null,
[]
[],
);
assert.deepEqual(prenormalized, { items: [] });
});
@@ -209,7 +209,7 @@ module('Unit | Adapter | application', function (hooks) {
assert.strictEqual(
handledResponse.errors.length,
2,
'A base error plus one field error'
'A base error plus one field error',
);
});
});
@@ -25,7 +25,7 @@ module('Unit | Adapter | host catalog', function (hooks) {
'host-catalog',
null,
mockSnapshot,
'createRecord'
'createRecord',
);
assert.strictEqual(createRecordURL, '/v1/host-catalogs');
});
@@ -46,7 +46,7 @@ module('Unit | Adapter | host catalog', function (hooks) {
'host-catalog',
null,
mockSnapshot,
'createRecord'
'createRecord',
);
assert.strictEqual(createRecordURL, '/v1/host-catalogs?plugin_name=aws');
});
@@ -25,11 +25,11 @@ module('Unit | Adapter | session recording', function (hooks) {
'sr_id',
mockSnapshot,
'findRecord',
queryObject
queryObject,
);
assert.strictEqual(
createRecordURL,
'/v1/session-recordings/sr_id:download?mime_type=mimeType'
'/v1/session-recordings/sr_id:download?mime_type=mimeType',
);
});
@@ -40,7 +40,7 @@ module('Unit | Adapter | session recording', function (hooks) {
'session-recording',
'sr_id',
{},
'findRecord'
'findRecord',
);
assert.strictEqual(createRecordURL, '/v1/session-recordings/sr_id');
});
@@ -25,11 +25,11 @@ module('Unit | Adapter | storage bucket', function (hooks) {
'storage-bucket',
null,
mockSnapshot,
'createRecord'
'createRecord',
);
assert.strictEqual(
createRecordURL,
'/v1/storage-buckets?plugin_name=aws_s3'
'/v1/storage-buckets?plugin_name=aws_s3',
);
});
});
@@ -40,7 +40,7 @@ module('Unit | Model | auth method', function (hooks) {
version: 1,
});
return { id: '123abc' };
}
},
);
store.push({
data: {
+5 -5
View File
@@ -27,12 +27,12 @@ module('Unit | Model | group', function (hooks) {
assert.strictEqual(
group.member_ids.length,
2,
'Group has two entires in member_ids'
'Group has two entires in member_ids',
);
assert.strictEqual(
group.members.length,
0,
'Group has no resolved members because they are not loaded yet'
'Group has no resolved members because they are not loaded yet',
);
store.push({
data: {
@@ -53,12 +53,12 @@ module('Unit | Model | group', function (hooks) {
assert.strictEqual(
group.member_ids.length,
2,
'Group has two entires in member_ids'
'Group has two entires in member_ids',
);
assert.strictEqual(
group.members.length,
2,
'Group has two resolved members'
'Group has two resolved members',
);
});
@@ -168,7 +168,7 @@ module('Unit | Model | group', function (hooks) {
assert.strictEqual(
group.member_ids.length,
0,
'Group has empty member_ids by default'
'Group has empty member_ids by default',
);
});
});
+2 -2
View File
@@ -94,7 +94,7 @@ module('Unit | Model | role', function (hooks) {
version: 1,
});
return { id: '123abc' };
}
},
);
const store = this.owner.lookup('service:store');
store.push({
@@ -132,7 +132,7 @@ module('Unit | Model | role', function (hooks) {
version: 1,
});
return { id: '123abc' };
}
},
);
const store = this.owner.lookup('service:store');
store.push({
+5 -5
View File
@@ -30,27 +30,27 @@ module('Unit | Model | scope', function (hooks) {
assert.strictEqual(
await scopes.objectAt(1).get('scope.scope_id'),
'global',
'Org 1 parent scope is global'
'Org 1 parent scope is global',
);
assert.strictEqual(
await scopes.objectAt(2).get('scope.scope_id'),
'global',
'Org 2 parent scope is global'
'Org 2 parent scope is global',
);
assert.strictEqual(
await scopes.objectAt(3).get('scope.scope_id'),
'o_1',
'Project 1 parent scope is org 1'
'Project 1 parent scope is org 1',
);
assert.strictEqual(
await scopes.objectAt(4).get('scope.scope_id'),
'o_1',
'Project 2 parent scope is org 1'
'Project 2 parent scope is org 1',
);
assert.strictEqual(
await scopes.objectAt(5).get('scope.scope_id'),
'o_2',
'Project 3 parent scope is org 2'
'Project 3 parent scope is org 2',
);
});
@@ -110,7 +110,7 @@ module('Unit | Model | storage bucket', function (hooks) {
assert.strictEqual(modelPlugin.type, 'plugin');
assert.strictEqual(
modelPlugin.plugin.name,
TYPE_STORAGE_BUCKET_PLUGIN_AWS_S3
TYPE_STORAGE_BUCKET_PLUGIN_AWS_S3,
);
});
});
+17 -17
View File
@@ -31,12 +31,12 @@ module('Unit | Model | target', function (hooks) {
assert.strictEqual(
target.host_sources.length,
2,
'Target has two entires in host_sources'
'Target has two entires in host_sources',
);
assert.strictEqual(
target.hostSets.length,
0,
'Target has no resolved hostSets because they are not loaded yet'
'Target has no resolved hostSets because they are not loaded yet',
);
store.push({
data: {
@@ -55,16 +55,16 @@ module('Unit | Model | target', function (hooks) {
assert.strictEqual(
target.host_sources.length,
2,
'Target has two entires in host_sources'
'Target has two entires in host_sources',
);
assert.strictEqual(
target.hostSets.length,
2,
'Target has two resolved hostSets'
'Target has two resolved hostSets',
);
assert.notOk(
target.hostSets[0].hostCatalog,
'Host catalog was not resolved because it is not loaded yet'
'Host catalog was not resolved because it is not loaded yet',
);
store.push({
data: {
@@ -89,7 +89,7 @@ module('Unit | Model | target', function (hooks) {
version: 1,
});
return { id: '123abc' };
}
},
);
const store = this.owner.lookup('service:store');
store.push({
@@ -126,7 +126,7 @@ module('Unit | Model | target', function (hooks) {
version: 1,
});
return { id: '123abc' };
}
},
);
const store = this.owner.lookup('service:store');
store.push({
@@ -163,7 +163,7 @@ module('Unit | Model | target', function (hooks) {
version: 1,
});
return { id: '123abc' };
}
},
);
const store = this.owner.lookup('service:store');
store.push({
@@ -224,12 +224,12 @@ module('Unit | Model | target', function (hooks) {
assert.strictEqual(
store.peekAll('session').length,
3,
'There are 3 sessions loaded in the store'
'There are 3 sessions loaded in the store',
);
assert.strictEqual(
target.sessions.length,
2,
'Target has two associated sessions loaded in the store'
'Target has two associated sessions loaded in the store',
);
});
@@ -249,12 +249,12 @@ module('Unit | Model | target', function (hooks) {
assert.strictEqual(
target.brokered_credential_source_ids.length,
2,
'Target has two entires in brokered_credential_source_ids'
'Target has two entires in brokered_credential_source_ids',
);
assert.strictEqual(
target.brokeredCredentialSources.length,
0,
'Target has no resolved credentialSources, because they are not yet loaded'
'Target has no resolved credentialSources, because they are not yet loaded',
);
store.push({
data: {
@@ -274,12 +274,12 @@ module('Unit | Model | target', function (hooks) {
assert.strictEqual(
target.brokered_credential_source_ids.length,
2,
'Target has two entires in brokered_credential_source_ids'
'Target has two entires in brokered_credential_source_ids',
);
assert.strictEqual(
target.brokeredCredentialSources.length,
2,
'Target has two resolved credentialSources'
'Target has two resolved credentialSources',
);
});
@@ -294,7 +294,7 @@ module('Unit | Model | target', function (hooks) {
version: 1,
});
return { id: '123abc' };
}
},
);
const store = this.owner.lookup('service:store');
store.push({
@@ -328,7 +328,7 @@ module('Unit | Model | target', function (hooks) {
version: 1,
});
return { id: '123abc' };
}
},
);
const store = this.owner.lookup('service:store');
store.push({
@@ -362,7 +362,7 @@ module('Unit | Model | target', function (hooks) {
version: 1,
});
return { id: '123abc' };
}
},
);
const store = this.owner.lookup('service:store');
store.push({
+1 -1
View File
@@ -117,7 +117,7 @@ module('Unit | Model | user', function (hooks) {
assert.strictEqual(
user.account_ids.length,
0,
'User has empty account_ids by default'
'User has empty account_ids by default',
);
});
@@ -205,7 +205,7 @@ module('Unit | Serializer | application', function (hooks) {
const normalizedArray = serializer.normalizeArrayResponse(
store,
userModelClass,
payload
payload,
);
assert.deepEqual(normalizedArray, {
included: [],
@@ -254,7 +254,7 @@ module('Unit | Serializer | application', function (hooks) {
const normalized = serializer.normalizeSingleResponse(
store,
userModelClass,
payload
payload,
);
assert.deepEqual(normalized, {
included: [],
@@ -285,7 +285,7 @@ module('Unit | Serializer | application', function (hooks) {
const normalized = serializer.normalizeSingleResponse(
store,
target,
payload
payload,
);
assert.deepEqual(normalized, {
included: [],
@@ -318,7 +318,7 @@ module('Unit | Serializer | application', function (hooks) {
const normalized = serializer.normalizeUpdateRecordResponse(
store,
user,
payload
payload,
);
assert.deepEqual(normalized, {
included: [],
@@ -36,7 +36,7 @@ module('Unit | Serializer | auth method', function (hooks) {
assert.ok(serializedRecord);
assert.notOk(
serializedRecord.attributes,
'Password should not have attributes'
'Password should not have attributes',
);
});
@@ -327,7 +327,7 @@ module('Unit | Serializer | auth method', function (hooks) {
const normalizedArray = serializer.normalizeArrayResponse(
store,
modelClass,
payload
payload,
);
assert.ok(payload.items[1].is_primary, 'Second payload item is primary');
assert.deepEqual(
@@ -370,7 +370,7 @@ module('Unit | Serializer | auth method', function (hooks) {
},
],
},
'First normalized item is primary'
'First normalized item is primary',
);
});
@@ -432,7 +432,7 @@ module('Unit | Serializer | auth method', function (hooks) {
assert.strictEqual(record.client_id, clientId);
assert.strictEqual(
record.disable_discovered_config_validation,
disableDiscoveredConfigValidation
disableDiscoveredConfigValidation,
);
assert.strictEqual(record.dry_run, dryRun);
assert.strictEqual(record.issuer, issuer);
@@ -143,7 +143,7 @@ module('Unit | Serializer | credential library', function (hooks) {
name: null,
type: TYPE_CREDENTIAL_LIBRARY_VAULT_GENERIC,
},
'http_request_body attribute is not expected'
'http_request_body attribute is not expected',
);
record.http_method = 'POST';
@@ -161,7 +161,7 @@ module('Unit | Serializer | credential library', function (hooks) {
name: null,
type: TYPE_CREDENTIAL_LIBRARY_VAULT_GENERIC,
},
'http_request_body attribute is expected'
'http_request_body attribute is expected',
);
});
@@ -161,7 +161,7 @@ module('Unit | Serializer | credential store', function (hooks) {
name: null,
type: 'vault',
},
'token attribute is not expected'
'token attribute is not expected',
);
});
@@ -198,7 +198,7 @@ module('Unit | Serializer | credential store', function (hooks) {
name: null,
type: 'vault',
},
'client certificate key attribute is not expected'
'client certificate key attribute is not expected',
);
record.client_certificate_key = 'client-cert-key-456';
@@ -221,7 +221,7 @@ module('Unit | Serializer | credential store', function (hooks) {
name: null,
type: 'vault',
},
'client certificate key attribute is expected'
'client certificate key attribute is expected',
);
});
@@ -63,7 +63,7 @@ module('Unit | Serializer | group', function (hooks) {
const normalized = serializer.normalizeSingleResponse(
store,
group,
payload
payload,
);
assert.deepEqual(normalized, {
included: [],
@@ -184,7 +184,7 @@ module('Unit | Serializer | host catalog', function (hooks) {
const normalized = serializer.normalizeSingleResponse(
store,
hostCatalog,
payload
payload,
);
assert.deepEqual(normalized, {
data: {
@@ -234,7 +234,7 @@ module('Unit | Serializer | host catalog', function (hooks) {
const normalized = serializer.normalizeSingleResponse(
store,
hostCatalog,
payload
payload,
);
assert.deepEqual(normalized, {
data: {
@@ -293,7 +293,7 @@ module('Unit | Serializer | host catalog', function (hooks) {
const normalized = serializer.normalizeSingleResponse(
store,
hostCatalog,
payload
payload,
);
assert.deepEqual(normalized, {
data: {
@@ -116,7 +116,7 @@ module('Unit | Serializer | host set', function (hooks) {
const normalized = serializer.normalizeSingleResponse(
store,
hostSetModelClass,
payload
payload,
);
assert.deepEqual(normalized, {
@@ -153,7 +153,7 @@ module('Unit | Serializer | host set', function (hooks) {
const normalized = serializer.normalizeSingleResponse(
store,
hostSet,
payload
payload,
);
assert.deepEqual(normalized, {
included: [],
@@ -191,7 +191,7 @@ module('Unit | Serializer | host set', function (hooks) {
const normalized = serializer.normalizeSingleResponse(
store,
hostSetModelClass,
payload
payload,
);
assert.deepEqual(normalized, {
@@ -204,7 +204,7 @@ module('Unit | Serializer | Managed group', function (hooks) {
const normalized = serializer.normalizeSingleResponse(
store,
hostSetModelClass,
payload
payload,
);
assert.deepEqual(normalized, {
@@ -64,7 +64,7 @@ module('Unit | Serializer | role', function (hooks) {
const normalized = serializer.normalizeSingleResponse(
store,
roleModelClass,
payload
payload,
);
assert.deepEqual(normalized, {
included: [],
@@ -248,7 +248,7 @@ module('Unit | Serializer | storage bucket', function (hooks) {
const normalized = serializer.normalizeSingleResponse(
store,
hostSetModelClass,
payload
payload,
);
assert.deepEqual(normalized, {
@@ -354,7 +354,7 @@ module('Unit | Serializer | target', function (hooks) {
const normalized = serializer.normalizeSingleResponse(
store,
targetModelClass,
payload
payload,
);
assert.deepEqual(normalized, {
included: [],
@@ -391,7 +391,7 @@ module('Unit | Serializer | target', function (hooks) {
const normalized = serializer.normalizeSingleResponse(
store,
targetModelClass,
payload
payload,
);
assert.deepEqual(normalized, {
included: [],
@@ -424,7 +424,7 @@ module('Unit | Serializer | target', function (hooks) {
const normalized = serializer.normalizeSingleResponse(
store,
target,
payload
payload,
);
assert.deepEqual(normalized, {
included: [],
@@ -457,7 +457,7 @@ module('Unit | Serializer | target', function (hooks) {
const normalized = serializer.normalizeSingleResponse(
store,
target,
payload
payload,
);
assert.deepEqual(normalized, {
included: [],
@@ -490,7 +490,7 @@ module('Unit | Serializer | target', function (hooks) {
const normalized = serializer.normalizeSingleResponse(
store,
target,
payload
payload,
);
assert.deepEqual(normalized, {
included: [],
@@ -523,7 +523,7 @@ module('Unit | Serializer | target', function (hooks) {
const normalized = serializer.normalizeSingleResponse(
store,
target,
payload
payload,
);
assert.deepEqual(normalized, {
included: [],
@@ -557,7 +557,7 @@ module('Unit | Serializer | target', function (hooks) {
const normalized = serializer.normalizeSingleResponse(
store,
target,
payload
payload,
);
assert.deepEqual(normalized, {
included: [],
+1 -1
View File
@@ -57,7 +57,7 @@ export function notifySuccess(notification) {
*/
export function notifyError(
notification,
options = { catch: false, sticky: true }
options = { catch: false, sticky: true },
) {
return function (_target, _propertyKey, desc) {
const method = desc.value;
@@ -68,8 +68,8 @@ class RouteResourceFilter extends EmberObject {
? value
.map((serializedValue) =>
this.allowedValues.find((item) =>
this.deserializeValue(item, serializedValue)
)
this.deserializeValue(item, serializedValue),
),
)
.filter((value) => value !== undefined)
: null;
@@ -161,7 +161,7 @@ class RouteResourceFilter extends EmberObject {
allowed,
defaultValue,
serialize,
findBySerialized
findBySerialized,
) {
const owner = getOwner(routeInstance);
const containerKey = `resource-filter:${name}@${routeInstance.routeName}`;
@@ -237,7 +237,7 @@ export function resourceFilter({
RouteResourceFilter.setupRouteQueryParams(
target,
name,
refreshRouteOnChange
refreshRouteOnChange,
);
let instance;
@@ -254,7 +254,7 @@ export function resourceFilter({
allowed,
defaultValue,
serialize,
findBySerialized
findBySerialized,
);
return instance.value;
},
+1 -1
View File
@@ -19,7 +19,7 @@ export default class extends Helper {
Documentation for "${docKey}" could not be found. Please ensure that
this key exists under "documentation" in your app config.
`,
configuredPath
configuredPath,
);
}
const path = configuredPath || '';
@@ -60,7 +60,7 @@ export default class HasRouteResourceFilterSelectionsHelper extends Helper {
const selectedValues = names.map((name) => route[name] || null).flat();
const anyTruthy = selectedValues.reduce(
(previousValue, currentValue) => previousValue || currentValue,
false
false,
);
return Boolean(anyTruthy);
}
@@ -59,7 +59,7 @@ export default class extends Helper {
? previousValue
: currentValue;
},
unitMappings[0]
unitMappings[0],
);
const scaledDelta =
delta < 0
+1 -1
View File
@@ -48,7 +48,7 @@ export default class RouteActionHelper extends Helper {
[boundary-core-helper-route-action]
Unable to find action ${actionName}
`,
handler
handler,
);
});
@@ -17,41 +17,41 @@ module('Integration | Component | error/message', function (hooks) {
await render(hbs`<Error::Message @status='401' />`);
assert.strictEqual(
find('.rose-message-title').textContent.trim(),
'You are not signed in'
'You are not signed in',
);
assert.strictEqual(
find('.rose-message-subtitle').textContent.trim(),
'Error 401'
'Error 401',
);
assert.strictEqual(
find('.rose-message-description').textContent.trim(),
'You are not signed in. Please sign in and try again later.'
'You are not signed in. Please sign in and try again later.',
);
await render(hbs`<Error::Message @status='403' />`);
assert.strictEqual(
find('.rose-message-title').textContent.trim(),
'You are not authorized'
'You are not authorized',
);
assert.strictEqual(
find('.rose-message-subtitle').textContent.trim(),
'Error 403'
'Error 403',
);
assert.strictEqual(
find('.rose-message-description').textContent.trim(),
'You must be granted permissions to view this data. Ask your administrator if you think you should have access.'
'You must be granted permissions to view this data. Ask your administrator if you think you should have access.',
);
await render(hbs`<Error::Message @status='404' />`);
assert.strictEqual(
find('.rose-message-title').textContent.trim(),
'Resource not found'
'Resource not found',
);
assert.strictEqual(
find('.rose-message-subtitle').textContent.trim(),
'Error 404'
'Error 404',
);
assert.strictEqual(
find('.rose-message-description').textContent.trim(),
'We could not find the requested resource. You can ask your administrator or try again later.'
'We could not find the requested resource. You can ask your administrator or try again later.',
);
});
@@ -59,15 +59,15 @@ module('Integration | Component | error/message', function (hooks) {
await render(hbs`<Error::Message @status='599' />`);
assert.strictEqual(
find('.rose-message-title').textContent.trim(),
'Something went wrong'
'Something went wrong',
);
assert.strictEqual(
find('.rose-message-subtitle').textContent.trim(),
'Error 599'
'Error 599',
);
assert.strictEqual(
find('.rose-message-description').textContent.trim(),
"We're not sure what happened. Please contact your administrator or try again later."
"We're not sure what happened. Please contact your administrator or try again later.",
);
});
});
@@ -12,7 +12,7 @@ module('Integration | Helper | company-copyright', function (hooks) {
await render(hbs`{{company-copyright}}`);
assert.strictEqual(
this.element.textContent.trim(),
`© ${currentYear} Company Name`
`© ${currentYear} Company Name`,
);
});
});
@@ -18,7 +18,7 @@ module('Integration | Helper | format-date-iso', function (hooks) {
assert.strictEqual(
this.element.textContent.trim(),
'2020-01-01T00:00:00.999Z'
'2020-01-01T00:00:00.999Z',
);
});
@@ -29,11 +29,11 @@ module('Integration | Helper | truncate-list', function (hooks) {
this.set('inputValue', list);
this.set('limit', limit);
await render(
hbs`{{truncate-list 'actions.more' this.inputValue this.limit}}`
hbs`{{truncate-list 'actions.more' this.inputValue this.limit}}`,
);
assert.strictEqual(
this.element.textContent.trim(),
'boundary, consul, packer, +1 more'
'boundary, consul, packer, +1 more',
);
});
@@ -39,7 +39,7 @@ module('Unit | Authenticator | password', function (hooks) {
authenticator.restore(mockData);
assert.strictEqual(
applicationAdapter.headers.Authorization,
'Bearer token1234'
'Bearer token1234',
);
});
@@ -54,7 +54,7 @@ module('Unit | Authenticator | password', function (hooks) {
await authenticator.authenticate(creds, null, { scope, authMethod });
assert.strictEqual(
applicationAdapter.headers.Authorization,
'Bearer thetokenstring'
'Bearer thetokenstring',
);
});
});
@@ -26,13 +26,13 @@ module('Unit | Service | confirm', function (hooks) {
assert.strictEqual(
service.pending.length,
0,
'No pending confirmations yet'
'No pending confirmations yet',
);
const confirmation = service.confirm();
assert.strictEqual(
service.pending.length,
1,
'One pending confirmation created'
'One pending confirmation created',
);
confirmation.confirm();
assert.strictEqual(service.pending.length, 0, 'Confirmation was confirmed');
@@ -51,7 +51,7 @@ export default class RoseFormCheckboxGroupComponent extends Component {
if (this.args.itemEqualityFunc) {
return currentItems.some((element) =>
this.args.itemEqualityFunc(element, item)
this.args.itemEqualityFunc(element, item),
);
}
@@ -69,7 +69,7 @@ export default class RoseFormCheckboxGroupComponent extends Component {
if (this.args.itemEqualityFunc) {
return currentItems.findIndex((element) =>
this.args.itemEqualityFunc(element, item)
this.args.itemEqualityFunc(element, item),
);
}
@@ -24,5 +24,5 @@ export default modifier(
element.removeEventListener('click', handleClick, false);
};
},
{ eager: false }
{ eager: false },
);
@@ -24,5 +24,5 @@ export default modifier(
document.removeEventListener('click', handleClick, false);
};
},
{ eager: false }
{ eager: false },
);
@@ -18,7 +18,8 @@
margin-bottom: sizing.rems(m);
border: sizing.rems(xxxxs) solid;
border-radius: $xxxs;
box-shadow: 0 $xs $s rgba(var(--stark-components), var(--opacity-3)),
box-shadow:
0 $xs $s rgba(var(--stark-components), var(--opacity-3)),
0 $xxs $xxs rgba(var(--stark-components), var(--opacity-4));
.rose-notification-icon {
@@ -35,7 +35,8 @@ $xxxs: sizing.rems(xxxs); // 2
display: inline-flex;
flex-direction: column;
margin: 0 sizing.rems(m) sizing.rems(m) 0;
box-shadow: 0 $xxxs $xxxs rgba(var(--stark-components), var(--opacity-4)),
box-shadow:
0 $xxxs $xxxs rgba(var(--stark-components), var(--opacity-4)),
0 $xxxs $xxxs rgba(var(--stark-components), var(--opacity-4));
background-color: var(--background-color);
@@ -57,7 +58,8 @@ $xxxs: sizing.rems(xxxs); // 2
border-color: var(--ui-gray);
background-color: var(--ui-gray-subtler-5);
box-shadow: 0 $xs $s rgba(var(--stark-components), var(--opacity-3)),
box-shadow:
0 $xs $s rgba(var(--stark-components), var(--opacity-3)),
0 $xxs $xxs rgba(var(--stark-components), var(--opacity-4));
.rose-card-link-description,
@@ -22,7 +22,8 @@ $xxxxs: sizing.rems(xxxxs); // 1
border-radius: $xxxs;
background-color: var(--subtle);
box-shadow: 0 $xs $s rgba(var(--stark-components), var(--opacity-2)),
box-shadow:
0 $xs $s rgba(var(--stark-components), var(--opacity-2)),
0 $xxs $xxs rgba(var(--stark-components), var(--opacity-3));
&.rose-dialog-success {
@@ -105,7 +105,8 @@ $chevron-grey: url("data:image/svg+xml;utf-8,<svg viewBox='0 0 24 24' fill='%236
border: 1px solid var(--ui-gray-subtler-2);
border-radius: sizing.rems(xxxs);
background: var(--subtle);
box-shadow: 0 $xxs $xxs rgba(var(--stark-components), var(--opacity-3)),
box-shadow:
0 $xxs $xxs rgba(var(--stark-components), var(--opacity-3)),
0 $xxs $xs rgba(var(--stark-components), var(--opacity-4));
z-index: 99;
}
@@ -11,9 +11,19 @@
* SASS variables defining typography.
*/
$family-primary: system-ui, -apple-system, blinkmacsystemfont, 'Segoe UI',
'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans',
'Helvetica Neue', sans-serif;
$family-primary:
system-ui,
-apple-system,
blinkmacsystemfont,
'Segoe UI',
'Roboto',
'Oxygen',
'Ubuntu',
'Cantarell',
'Fira Sans',
'Droid Sans',
'Helvetica Neue',
sans-serif;
$family-monospace: 'SFMono-Regular', consolas, 'Liberation Mono', menlo, courier,
monospace;
+1 -1
View File
@@ -62,7 +62,7 @@ module.exports = {
*/
includeFlightIcons(app) {
const iconPackagePath = path.resolve(
'../../node_modules/@hashicorp/flight-icons'
'../../node_modules/@hashicorp/flight-icons',
);
const iconsPath = path.resolve(iconPackagePath, '..');
+1 -1
View File
@@ -10,7 +10,7 @@ const { embroiderSafe, embroiderOptimized } = require('@embroider/test-setup');
module.exports = async function () {
return {
scenarios: [
scenarios: [
{
name: 'ember-lts-4.4',
npm: {
@@ -70,5 +70,5 @@ module(
assert.dom(editorSelector).includesText(myNewCode);
assert.true(this.called);
});
}
},
);
@@ -27,7 +27,7 @@ module('Integration | Component | rose/dropdown', function (hooks) {
await render(hbs`<Rose::Dropdown @text="Click me" />`);
assert.strictEqual(
find('.rose-dropdown-trigger').textContent.trim(),
'Click me'
'Click me',
);
});
@@ -38,7 +38,7 @@ module('Integration | Component | rose/dropdown', function (hooks) {
test('it supports an icon', async function (assert) {
await render(
hbs`<Rose::Dropdown @icon="flight-icons/svg/user-circle-16" />`
hbs`<Rose::Dropdown @icon="flight-icons/svg/user-circle-16" />`,
);
assert.ok(find('svg'));
});
@@ -22,7 +22,7 @@ module('Integration | Component | rose/dropdown/key-value', function (hooks) {
assert.strictEqual(find('.rose-dropdown-key').textContent.trim(), 'key');
assert.strictEqual(
find('.rose-dropdown-value').textContent.trim(),
'value'
'value',
);
});
});
@@ -28,7 +28,7 @@ module('Integration | Component | rose/dropdown/link', function (hooks) {
</Rose::Dropdown::Link>`);
assert.strictEqual(
find('.rose-dropdown-link').textContent.trim(),
'content'
'content',
);
});
@@ -29,7 +29,7 @@ module('Integration | Component | rose/dropdown/section', function (hooks) {
`);
assert.strictEqual(
find('.rose-dropdown-section-title').textContent.trim(),
'Section Title'
'Section Title',
);
});
});
Loaded 100 of 423 files, more files were not shown because too many files have changed in this diff. Show more