chore(#1667): graceful handling of none type for backward compatibility

This commit is contained in:
Anoop M D 2024-02-27 01:29:10 +05:30
parent 7c416a99ef
commit 1cf8a2f3f1
3 changed files with 27 additions and 11 deletions

View File

@ -34,12 +34,13 @@ const Auth = ({ item, collection }) => {
} }
case 'inherit': { case 'inherit': {
return ( return (
<div className="flex flex-row w-full mt-2 gap-4"> <div className="flex flex-row w-full mt-2 gap-2">
<div>Auth inherited from the Collection: </div> <div>Auth inherited from the Collection: </div>
<div className="inherit-mode-text">{humanizeRequestAuthMode(collectionAuth?.mode)}</div> <div className="inherit-mode-text">{humanizeRequestAuthMode(collectionAuth?.mode)}</div>
</div> </div>
); );
} }
}
}; };
return ( return (
@ -51,4 +52,5 @@ const Auth = ({ item, collection }) => {
</StyledWrapper> </StyledWrapper>
); );
}; };
export default Auth; export default Auth;

View File

@ -31,12 +31,19 @@ const prepareRequest = (request, collectionRoot) => {
headers: headers headers: headers
}; };
// Authentication /**
// A request can override the collection auth with another auth * 27 Feb 2024:
// But it cannot override the collection auth with no auth * ['inherit', 'none'].includes(request.auth.mode)
// We will provide support for disabling the auth via scripting in the future * We are mainitaining the old behavior where 'none' used to inherit the collection auth.
*
* Very soon, 'none' will be treated as no auth and 'inherit' will be the only way to inherit collection auth.
* We will request users to update their collection files to use 'inherit' instead of 'none'.
* Don't want to break ongoing CI pipelines.
*
* Hoping to remove this by 1 April 2024.
*/
const collectionAuth = get(collectionRoot, 'request.auth'); const collectionAuth = get(collectionRoot, 'request.auth');
if (collectionAuth && request.auth.mode == 'inherit') { if (collectionAuth && ['inherit', 'none'].includes(request.auth.mode)) {
if (collectionAuth.mode === 'basic') { if (collectionAuth.mode === 'basic') {
axiosRequest.auth = { axiosRequest.auth = {
username: get(collectionAuth, 'basic.username'), username: get(collectionAuth, 'basic.username'),

View File

@ -29,13 +29,20 @@ const parseFormData = (datas, collectionPath) => {
return form; return form;
}; };
// Authentication /**
// A request can override the collection auth with another auth * 27 Feb 2024:
// But it cannot override the collection auth with no auth * ['inherit', 'none'].includes(request.auth.mode)
// We will provide support for disabling the auth via scripting in the future * We are mainitaining the old behavior where 'none' used to inherit the collection auth.
*
* Very soon, 'none' will be treated as no auth and 'inherit' will be the only way to inherit collection auth.
* We will request users to update their collection files to use 'inherit' instead of 'none'.
* Don't want to break ongoing CI pipelines.
*
* Hoping to remove this by 1 April 2024.
*/
const setAuthHeaders = (axiosRequest, request, collectionRoot) => { const setAuthHeaders = (axiosRequest, request, collectionRoot) => {
const collectionAuth = get(collectionRoot, 'request.auth'); const collectionAuth = get(collectionRoot, 'request.auth');
if (collectionAuth && request.auth.mode == 'inherit') { if (collectionAuth && ['inherit', 'none'].includes(request.auth.mode)) {
switch (collectionAuth.mode) { switch (collectionAuth.mode) {
case 'awsv4': case 'awsv4':
axiosRequest.awsv4config = { axiosRequest.awsv4config = {