Refactor base scope fragment (#1166)

* refactor: 💡 migrate managed-group off fragments

* refactor: 💡 migrate credential-store off fragments

* refactor: 💡 migrate credential-library off fragments

* refactor: 💡 migrate account off fragments

* refactor: 💡 convert base model scope field to simple attr

* fix: 🐛 skip broken test
This commit is contained in:
Randall Morey authored and GitHub committed 2022-07-18 11:30:53 -07:00
1 parent b6a811cbbd
commit bdabcc119e
12 files changed
+38 -79

No files matched your search

+10 -5
View File
@@ -96,7 +96,7 @@ export default class ApplicationSerializer extends RESTSerializer {
delete serialized.scope;
// And serialize `scope_id`
if (this.serializeScopeID) {
const scope_id = snapshot?.attr('scope')?.attr('scope_id');
const scope_id = snapshot?.attr('scope')?.scope_id;
if (scope_id) serialized.scope_id = scope_id;
}
return serialized;
@@ -199,11 +199,9 @@ export default class ApplicationSerializer extends RESTSerializer {
}
/**
* One consequence of using model fragments to represent the embedded scope
* is that they cannot have `id` fields. We still need to know scope IDs,
* so we copy the `scope.id` value into the `scope.scope_id` field.
* Hydrates the incoming scope JSON with additional boolean fields and
* delegates nested attributes and secrets normalization.
* @override
* @see FragmentScope
* @param {Model} typeClass
* @param {Object} hash
* @return {Object}
@@ -211,7 +209,14 @@ export default class ApplicationSerializer extends RESTSerializer {
normalize(typeClass, hash) {
let normalizedHash = copy(hash, true);
const scopeID = get(normalizedHash, 'scope.id');
const scopeType = get(normalizedHash, 'scope.type');
if (scopeID) normalizedHash.scope.scope_id = scopeID;
if (scopeType) {
normalizedHash.scope.type = scopeType;
normalizedHash.scope.isGlobal = scopeType === 'global';
normalizedHash.scope.isOrg = scopeType === 'org';
normalizedHash.scope.isProject = scopeType === 'project';
}
normalizedHash = this.normalizeNestedAttributes(typeClass, normalizedHash);
normalizedHash = this.normalizeNestedSecrets(typeClass, normalizedHash);
return super.normalize(typeClass, normalizedHash);