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.setBranding(metaDataInput.getInstance().getBranding());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
metaDataOutput.setEnvironmentValues(metaDataInput.getInstance().getEnvironmentValues());
|
||||||
|
|
||||||
// todo post-customization - can do whatever w/ the result if you want?
|
// todo post-customization - can do whatever w/ the result if you want?
|
||||||
|
|
||||||
return metaDataOutput;
|
return metaDataOutput;
|
||||||
|
@ -45,6 +45,7 @@ public class MetaDataOutput extends AbstractActionOutput
|
|||||||
private Map<String, QFrontendReportMetaData> reports;
|
private Map<String, QFrontendReportMetaData> reports;
|
||||||
private Map<String, QFrontendAppMetaData> apps;
|
private Map<String, QFrontendAppMetaData> apps;
|
||||||
private Map<String, QFrontendWidgetMetaData> widgets;
|
private Map<String, QFrontendWidgetMetaData> widgets;
|
||||||
|
private Map<String, String> environmentValues;
|
||||||
|
|
||||||
private List<AppTreeNode> appTree;
|
private List<AppTreeNode> appTree;
|
||||||
private QBrandingMetaData branding;
|
private QBrandingMetaData branding;
|
||||||
@ -202,4 +203,27 @@ public class MetaDataOutput extends AbstractActionOutput
|
|||||||
{
|
{
|
||||||
this.branding = branding;
|
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.model.metadata.tables.QTableMetaData;
|
||||||
import com.kingsrook.qqq.backend.core.modules.authentication.metadata.QAuthenticationMetaData;
|
import com.kingsrook.qqq.backend.core.modules.authentication.metadata.QAuthenticationMetaData;
|
||||||
import com.kingsrook.qqq.backend.core.utils.StringUtils;
|
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, QQueueProviderMetaData> queueProviders = new LinkedHashMap<>();
|
||||||
private Map<String, QQueueMetaData> queues = 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?
|
// todo - lock down the object (no more changes allowed) after it's been validated?
|
||||||
|
|
||||||
@JsonIgnore
|
@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
|
** Get the backend for a given table name
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
@ -937,4 +986,26 @@ public class QInstance
|
|||||||
this.queues = queues;
|
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