mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-18 05:01:07 +00:00
Give good error message if running in a QQQ instance without script tables
This commit is contained in:
@ -35,9 +35,11 @@ import com.kingsrook.qqq.backend.core.actions.scripts.StoreAssociatedScriptActio
|
||||
import com.kingsrook.qqq.backend.core.actions.scripts.TestScriptActionInterface;
|
||||
import com.kingsrook.qqq.backend.core.actions.tables.GetAction;
|
||||
import com.kingsrook.qqq.backend.core.actions.tables.QueryAction;
|
||||
import com.kingsrook.qqq.backend.core.context.QContext;
|
||||
import com.kingsrook.qqq.backend.core.exceptions.QException;
|
||||
import com.kingsrook.qqq.backend.core.exceptions.QNotFoundException;
|
||||
import com.kingsrook.qqq.backend.core.instances.QInstanceEnricher;
|
||||
import com.kingsrook.qqq.backend.core.logging.QLogger;
|
||||
import com.kingsrook.qqq.backend.core.model.actions.scripts.StoreAssociatedScriptInput;
|
||||
import com.kingsrook.qqq.backend.core.model.actions.scripts.StoreAssociatedScriptOutput;
|
||||
import com.kingsrook.qqq.backend.core.model.actions.scripts.TestScriptInput;
|
||||
@ -56,6 +58,7 @@ import com.kingsrook.qqq.backend.core.model.metadata.code.QCodeType;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldMetaData;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.tables.AssociatedScript;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableMetaData;
|
||||
import com.kingsrook.qqq.backend.core.model.scripts.Script;
|
||||
import com.kingsrook.qqq.backend.core.model.scripts.ScriptType;
|
||||
import com.kingsrook.qqq.backend.core.processes.utils.GeneralProcessUtils;
|
||||
import com.kingsrook.qqq.backend.core.utils.CollectionUtils;
|
||||
@ -72,6 +75,9 @@ import static io.javalin.apibuilder.ApiBuilder.post;
|
||||
*******************************************************************************/
|
||||
public class QJavalinScriptsHandler
|
||||
{
|
||||
private static final QLogger LOG = QLogger.getLogger(QJavalinScriptsHandler.class);
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
** Define routes under the basic /data/${table}/${primaryKey} path - e.g.,
|
||||
@ -132,6 +138,11 @@ public class QJavalinScriptsHandler
|
||||
ArrayList<HashMap<String, Serializable>> associatedScripts = new ArrayList<>();
|
||||
rs.put("associatedScripts", associatedScripts);
|
||||
|
||||
QTableMetaData scriptTypeTable = QContext.getQInstance().getTable(ScriptType.TABLE_NAME);
|
||||
QTableMetaData scriptRevisionTable = QContext.getQInstance().getTable(ScriptType.TABLE_NAME);
|
||||
QTableMetaData scriptTable = QContext.getQInstance().getTable(Script.TABLE_NAME);
|
||||
if(scriptTypeTable != null && scriptTable != null && scriptRevisionTable != null)
|
||||
{
|
||||
Map<Serializable, QRecord> scriptTypeMap = GeneralProcessUtils.loadTableToMap(getInput, ScriptType.TABLE_NAME, "id");
|
||||
|
||||
///////////////////////////////////////////////////////
|
||||
@ -184,6 +195,11 @@ public class QJavalinScriptsHandler
|
||||
thisScriptData.put("testOutputFields", enrichFieldsToArrayList(qInstanceEnricher, scriptTester.getTestOutputFields()));
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG.info("One or more script tables was not found in the instance.");
|
||||
}
|
||||
|
||||
QJavalinAccessLogger.logEndSuccess();
|
||||
context.result(JsonUtils.toJson(rs));
|
||||
|
Reference in New Issue
Block a user