mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-18 13:10:44 +00:00
Add environmentValues to qInstance
This commit is contained in:
@ -149,6 +149,8 @@ public class MetaDataAction
|
||||
metaDataOutput.setBranding(metaDataInput.getInstance().getBranding());
|
||||
}
|
||||
|
||||
metaDataOutput.setEnvironmentValues(metaDataInput.getInstance().getEnvironmentValues());
|
||||
|
||||
// todo post-customization - can do whatever w/ the result if you want?
|
||||
|
||||
return metaDataOutput;
|
||||
|
@ -45,6 +45,7 @@ public class MetaDataOutput extends AbstractActionOutput
|
||||
private Map<String, QFrontendReportMetaData> reports;
|
||||
private Map<String, QFrontendAppMetaData> apps;
|
||||
private Map<String, QFrontendWidgetMetaData> widgets;
|
||||
private Map<String, String> environmentValues;
|
||||
|
||||
private List<AppTreeNode> appTree;
|
||||
private QBrandingMetaData branding;
|
||||
@ -202,4 +203,27 @@ public class MetaDataOutput extends AbstractActionOutput
|
||||
{
|
||||
this.branding = branding;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
** Getter for environmentValues
|
||||
**
|
||||
*******************************************************************************/
|
||||
public Map<String, String> getEnvironmentValues()
|
||||
{
|
||||
return environmentValues;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
** Setter for environmentValues
|
||||
**
|
||||
*******************************************************************************/
|
||||
public void setEnvironmentValues(Map<String, String> environmentValues)
|
||||
{
|
||||
this.environmentValues = environmentValues;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -50,6 +50,8 @@ import com.kingsrook.qqq.backend.core.model.metadata.reporting.QReportMetaData;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableMetaData;
|
||||
import com.kingsrook.qqq.backend.core.modules.authentication.metadata.QAuthenticationMetaData;
|
||||
import com.kingsrook.qqq.backend.core.utils.StringUtils;
|
||||
import io.github.cdimascio.dotenv.Dotenv;
|
||||
import io.github.cdimascio.dotenv.DotenvEntry;
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
@ -83,6 +85,8 @@ public class QInstance
|
||||
private Map<String, QQueueProviderMetaData> queueProviders = new LinkedHashMap<>();
|
||||
private Map<String, QQueueMetaData> queues = new LinkedHashMap<>();
|
||||
|
||||
private Map<String, String> environmentValues = new LinkedHashMap<>();
|
||||
|
||||
// todo - lock down the object (no more changes allowed) after it's been validated?
|
||||
|
||||
@JsonIgnore
|
||||
@ -93,6 +97,51 @@ public class QInstance
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
**
|
||||
*******************************************************************************/
|
||||
public QInstance()
|
||||
{
|
||||
loadEnvironmentValues();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
**
|
||||
*******************************************************************************/
|
||||
private void loadEnvironmentValues()
|
||||
{
|
||||
String prefix = "QQQ_ENV_";
|
||||
for(String name : System.getenv().keySet())
|
||||
{
|
||||
String value = System.getenv(name);
|
||||
addEnvironmentValueIfNameMatchesPrefix(prefix, name, value);
|
||||
}
|
||||
|
||||
Dotenv dotenv = Dotenv.configure().ignoreIfMissing().load();
|
||||
for(DotenvEntry entry : dotenv.entries())
|
||||
{
|
||||
addEnvironmentValueIfNameMatchesPrefix(prefix, entry.getKey(), entry.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
**
|
||||
*******************************************************************************/
|
||||
private void addEnvironmentValueIfNameMatchesPrefix(String prefix, String name, String value)
|
||||
{
|
||||
if(name.startsWith(prefix))
|
||||
{
|
||||
name = name.replaceFirst(prefix, "");
|
||||
environmentValues.put(name, value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
** Get the backend for a given table name
|
||||
*******************************************************************************/
|
||||
@ -937,4 +986,26 @@ public class QInstance
|
||||
this.queues = queues;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
** Getter for environmentValues
|
||||
**
|
||||
*******************************************************************************/
|
||||
public Map<String, String> getEnvironmentValues()
|
||||
{
|
||||
return environmentValues;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
** Setter for environmentValues
|
||||
**
|
||||
*******************************************************************************/
|
||||
public void setEnvironmentValues(Map<String, String> environmentValues)
|
||||
{
|
||||
this.environmentValues = environmentValues;
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user