diff --git a/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/actions/BaseAPIActionUtil.java b/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/actions/BaseAPIActionUtil.java index cc5d35fb..7dd9f6ca 100644 --- a/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/actions/BaseAPIActionUtil.java +++ b/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/actions/BaseAPIActionUtil.java @@ -519,7 +519,7 @@ public class BaseAPIActionUtil { String wrapperObjectName = getBackendDetails(table).getTableWrapperObjectName(); jsonObject = JsonUtils.toJSONObject(resultString); - if(jsonObject.has(wrapperObjectName)) + if(jsonObject.has(wrapperObjectName) && !jsonObject.isNull(wrapperObjectName)) { Object o = jsonObject.get(wrapperObjectName); if(o instanceof JSONArray jsonArray) @@ -750,6 +750,10 @@ public class BaseAPIActionUtil throw (new QException("Error setting authorization query parameter", e)); } } + case CUSTOM -> + { + handleCustomAuthorization(request); + } default -> throw new IllegalArgumentException("Unexpected authorization type: " + backendMetaData.getAuthorizationType()); } } @@ -1398,4 +1402,16 @@ public class BaseAPIActionUtil /////////////////////////////////////////////////////////////////////////////////////////////////// return (7 * 1024); } + + + + /******************************************************************************* + ** + *******************************************************************************/ + protected void handleCustomAuthorization(HttpRequestBase request) throws QException + { + /////////////////////////////////////////////////////////////////////// + // nothing to do at this layer, meant to be overridden by subclasses // + /////////////////////////////////////////////////////////////////////// + } } diff --git a/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/model/AuthorizationType.java b/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/model/AuthorizationType.java index 7e8060f3..9a4f750c 100644 --- a/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/model/AuthorizationType.java +++ b/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/model/AuthorizationType.java @@ -31,6 +31,7 @@ public enum AuthorizationType API_TOKEN, BASIC_AUTH_API_KEY, BASIC_AUTH_USERNAME_PASSWORD, + CUSTOM, OAUTH2, API_KEY_QUERY_PARAM, }