feat: add sync process and liquibase generator patterns

This commit is contained in:
james.maes committed 2025-12-27 15:06:34 -06:00
1 parent 8190bc5000
commit 7d51f1abba
6 files changed
+614

No files matched your search

@@ -0,0 +1,45 @@
/*******************************************************************************
** MetaData producer for the example data sync process.
*******************************************************************************/
package com.kingsrook.qbits.example.sync;
import java.util.List;
import com.kingsrook.qqq.backend.core.exceptions.QException;
import com.kingsrook.qqq.backend.core.model.metadata.QInstance;
import com.kingsrook.qqq.backend.core.model.metadata.code.QCodeReference;
import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldMetaData;
import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldType;
import com.kingsrook.qqq.backend.core.model.metadata.processes.QBackendStepMetaData;
import com.kingsrook.qqq.backend.core.model.metadata.processes.QProcessMetaData;
import com.kingsrook.qqq.backend.core.model.MetaDataProducerInterface;
import com.kingsrook.qbits.example.model.ExampleEntity;
public class ExampleDataSyncProcessMetaDataProducer implements MetaDataProducerInterface<QProcessMetaData>
{
public static final String NAME = "exampleDataSyncProcess";
/*******************************************************************************
** Produce the process metadata.
*******************************************************************************/
@Override
public QProcessMetaData produce(QInstance qInstance) throws QException
{
return new QProcessMetaData()
.withName(NAME)
.withLabel("Example Data Sync")
.withInputFields(List.of(
new QFieldMetaData("tableName", QFieldType.STRING),
new QFieldMetaData("naturalKeyField", QFieldType.STRING),
new QFieldMetaData("dataResourcePath", QFieldType.STRING)
))
.withStepList(List.of(
new QBackendStepMetaData()
.withName("sync")
.withCode(new QCodeReference(ExampleDataSyncStep.class))
));
}
}