From 4a667a8c35387d02c41381276a9fb9bd9d0e6ae9 Mon Sep 17 00:00:00 2001 From: Adrian Stephens Date: Sat, 9 May 2026 07:49:16 +0100 Subject: [PATCH] implementation of fen database --- .../feca_mailshots_plugin.php | 2 +- .../src/Admin/DataSourcesAdminPage.php | 32 ++-- .../src/Admin/SetupAdminPage.php | 9 +- .../src/Application/DataSourceService.php | 4 + .../src/Application/DslCompiler.php | 118 ++++++++++++-- .../src/Application/DslValidator.php | 52 +++++- .../Application/SourceMetadataProvider.php | 4 + .../src/Domain/DslParser.php | 4 +- .../src/Infrastructure/DatabaseRouter.php | 2 + .../DatabaseSourceMetadataProvider.php | 152 ++++++++++++++++-- .../src/Infrastructure/PdoDatabaseRouter.php | 8 + feca_mailshots_plugin/src/bootstrap.php | 1 + requirements/mailshot.md | 2 +- tests/e2e/specs/data-sources.spec.mjs | 36 +++++ tests/fixture/bootstrap.php | 1 + tests/fixture/plugin-assets.php | 26 +++ tests/fixture/wp_shim.php | 7 + .../integration/test_per_user_credentials.php | 1 + tests/integration/test_phase2_db_access.php | 1 + .../integration/test_phase3_admin_crud_ui.php | 1 + tests/integration/test_phase3_db_access.php | 1 + tests/integration/test_phase4_run_flow.php | 1 + tests/unit/FakeMetadataProvider.php | 37 +++++ tests/unit/test_dsl_fen_builtins.php | 64 ++++++++ tests/unit/test_dsl_pipeline.php | 26 +++ 25 files changed, 548 insertions(+), 44 deletions(-) create mode 100644 tests/fixture/plugin-assets.php create mode 100644 tests/unit/test_dsl_fen_builtins.php diff --git a/feca_mailshots_plugin/feca_mailshots_plugin.php b/feca_mailshots_plugin/feca_mailshots_plugin.php index 9c78f2f..4c0774e 100644 --- a/feca_mailshots_plugin/feca_mailshots_plugin.php +++ b/feca_mailshots_plugin/feca_mailshots_plugin.php @@ -3,7 +3,7 @@ * Plugin Name: FECA Mailshots * Plugin URI: https://fenedge.co.uk/ * Description: FECA mailshots plugin. - * Version: 1.0.3 + * Version: 1.0.4 * Requires at least: 6.0 * Requires PHP: 7.4 * Author: FECA diff --git a/feca_mailshots_plugin/src/Admin/DataSourcesAdminPage.php b/feca_mailshots_plugin/src/Admin/DataSourcesAdminPage.php index 587b2d6..5408d6c 100644 --- a/feca_mailshots_plugin/src/Admin/DataSourcesAdminPage.php +++ b/feca_mailshots_plugin/src/Admin/DataSourcesAdminPage.php @@ -186,7 +186,13 @@ final class DataSourcesAdminPage echo '
'; echo '
'; echo '
'; - echo '

'; + echo '
'; + echo '
'; + echo '
'; + echo '
'; + echo '
'; + echo '
'; + echo '

'; echo 'Add custom source
'; echo '