feat: reapply storage policies to session recording (#2095)

* refactor: 💡 add global settings link

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12257

* fix: 🐛 route

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12257

* fix: 🐛 comment

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12257

* feat: 🎸 add reapply sp to session recording page

* fix: 🐛 normalize

* feat: 🎸 upates

* fix: 🐛 logs

* fix: 🐛 comment

* test: 💍 add tests

* fix: 🐛 normalizer, style

* fix: 🐛 normalize

* fix: 🐛 normalizw

* fix: 🐛 normalize

* test: 💍 add tests for serializer n normalizer

* fix: 🐛 name

* fix: 🐛 do not delete, send null

* fix: 🐛 return

---------

Co-authored-by: Lisbet Alvarez <lisbet.alvarez@hashicorp.com>
This commit is contained in:
Dharini JeevaandLisbet Alvarez authored and GitHub committed 2024-01-17 14:37:54 -05:00
1 parent 9e0467cbf0
commit fb9a080d2e
19 files changed
+314 -3

No files matched your search

@@ -11,4 +11,26 @@ export default class RecordingSerializer extends ApplicationSerializer.extend(
attrs = {
connection_recordings: { embedded: 'always' },
};
serialize(snapshot) {
let serialized = super.serialize(...arguments);
// The post request for reapply-storage-policy doesn't expect a payload,
// so we return nothing
if (snapshot?.adapterOptions?.method === 'reapply-storage-policy') {
return {};
}
return serialized;
}
normalize(typeClass, hash, ...rest) {
const normalizedHash = structuredClone(hash);
const err = normalizedHash.errors;
delete normalizedHash.errors;
const normalized = super.normalize(typeClass, normalizedHash, ...rest);
// we should not override the ember models errors field,
// so we rename the errors field from the api
normalized.data.attributes.errors_number = err;
return normalized;
}
}