{
    "object_kind": "push",
    "event_name": "push",
    "before": "3eeb41f579fcd60b4f865b731eb287c5fdc53598",
    "after": "0ddf7b52dad6c1266fcf83a52d32e75af547ec4b",
    "ref": "refs\/heads\/main",
    "ref_protected": true,
    "checkout_sha": "0ddf7b52dad6c1266fcf83a52d32e75af547ec4b",
    "message": null,
    "user_id": 19,
    "user_name": "Bohunka Zsolt",
    "user_username": "bohunkazsolt",
    "user_email": "[REDACTED]",
    "user_avatar": "https:\/\/www.gravatar.com\/avatar\/495e14a024c9ddd64b339a3ee5bcce2be2e8468e23180b4ee001574938728865?s=80&d=identicon",
    "project_id": 206,
    "project": {
        "id": 206,
        "name": "leadmachine",
        "description": null,
        "web_url": "http:\/\/git.dunahousedev.hu\/leadmachine\/leadmachine",
        "avatar_url": null,
        "git_ssh_url": "git@git.dunahousedev.hu:leadmachine\/leadmachine.git",
        "git_http_url": "http:\/\/git.dunahousedev.hu\/leadmachine\/leadmachine.git",
        "namespace": "LeadMachine",
        "visibility_level": 0,
        "path_with_namespace": "leadmachine\/leadmachine",
        "default_branch": "main",
        "ci_config_path": "",
        "homepage": "http:\/\/git.dunahousedev.hu\/leadmachine\/leadmachine",
        "url": "git@git.dunahousedev.hu:leadmachine\/leadmachine.git",
        "ssh_url": "git@git.dunahousedev.hu:leadmachine\/leadmachine.git",
        "http_url": "http:\/\/git.dunahousedev.hu\/leadmachine\/leadmachine.git"
    },
    "commits": [
        {
            "id": "0ddf7b52dad6c1266fcf83a52d32e75af547ec4b",
            "message": "Introduce blackout periods for market configurations (D-122).\n\n- **Backend**:\n  - Added support for recurring blackout periods (`MM-DD .. MM-DD`) to block all calls, including manual ones.\n  - Updated `MarketRules` to handle creation, modification, and validation of blackout periods.\n  - Introduced `MarketConfigStore` logic for adding and removing blackout periods dynamically.\n  - Synced blackout periods with calendar and scheduling logic (`ContactCalendar`, `ContactWindow`).\n  - Enhanced `AdminChangePresenter` to display blackout additions\/removals with reasons and periods.\n\n- **Frontend**:\n  - Added UI for managing blackout periods under \"Market Rules\" \u2192 \"Call Times\" in the admin panel.\n  - Styled blackout editor components using modular `lm-*` class namespace and updated `admin.css`.\n  - Extended dropdown and form validations for blackout name and range.\n\n- **Testing**:\n  - Added comprehensive feature tests for blackout scheduling and validation, including edge cases around invalid dates and overlapping periods.\n  - Enhanced existing calendar tests to ensure blackout periods prohibit all call types during their range.\n\n- **Docs**:\n  - Updated inline comments and `DEVELOPMENT.md` to describe blackout logic, usage, and UI changes.\n",
            "title": "Introduce blackout periods for market configurations (D-122).",
            "timestamp": "2026-10-11T23:45:55+02:00",
            "url": "http:\/\/git.dunahousedev.hu\/leadmachine\/leadmachine\/-\/commit\/0ddf7b52dad6c1266fcf83a52d32e75af547ec4b",
            "author": {
                "name": "Bohunka Zsolt",
                "email": "bohunka.zsolt@dh.hu"
            },
            "added": [],
            "modified": [
                "CLAUDE.md",
                "backend\/app\/Domain\/Scheduling\/ContactCalendar.php",
                "backend\/app\/Domain\/Scheduling\/ContactPolicySummary.php",
                "backend\/app\/Http\/Presenters\/AdminChangePresenter.php",
                "backend\/app\/Livewire\/Admin\/Rules\/RulesEditor.php",
                "backend\/app\/Services\/Admin\/MarketRules.php",
                "backend\/lang\/en\/admin_rules.php",
                "backend\/lang\/hu\/admin_rules.php",
                "backend\/lang\/it\/admin_rules.php",
                "backend\/resources\/admin-assets\/admin.css",
                "backend\/resources\/admin-assets\/admin.js",
                "backend\/resources\/views\/components\/admin\/select.blade.php",
                "backend\/resources\/views\/livewire\/admin\/rules\/rules-editor.blade.php",
                "backend\/tests\/Feature\/AdminServicesTest.php",
                "backend\/tests\/Feature\/AdminWebRulesTest.php",
                "backend\/tests\/Feature\/ContactWindowTest.php",
                "config\/markets\/HU.yaml",
                "config\/markets\/IT.yaml",
                "docs\/DECISIONS.md",
                "docs\/OPEN_QUESTIONS.md",
                "docs\/SPEC.md",
                "openapi\/app-api.yaml"
            ],
            "removed": []
        }
    ],
    "total_commits_count": 1,
    "push_options": [],
    "repository": {
        "name": "leadmachine",
        "url": "git@git.dunahousedev.hu:leadmachine\/leadmachine.git",
        "description": null,
        "homepage": "http:\/\/git.dunahousedev.hu\/leadmachine\/leadmachine",
        "git_http_url": "http:\/\/git.dunahousedev.hu\/leadmachine\/leadmachine.git",
        "git_ssh_url": "git@git.dunahousedev.hu:leadmachine\/leadmachine.git",
        "visibility_level": 0
    },
    "output": [
        "\/etc\/apache2\/sites-available\/bohunkazsolt.leadmachine.dunahousedev.hu.conf exists.",
        "\/etc\/apache2\/sites-available\/leadmachine.dunahousedev.hu.conf exists.",
        "Saving debug log to \/var\/log\/letsencrypt\/letsencrypt.log",
        "An unexpected error occurred:",
        "BrokenPipeError: [Errno 32] Broken pipe",
        "Ask for help or search for solutions at https:\/\/community.letsencrypt.org. See the logfile \/var\/log\/letsencrypt\/letsencrypt.log or re-run Certbot with -v for more details.",
        "Saving debug log to \/var\/log\/letsencrypt\/letsencrypt.log",
        "An unexpected error occurred:",
        "BrokenPipeError: [Errno 32] Broken pipe",
        "Ask for help or search for solutions at https:\/\/community.letsencrypt.org. See the logfile \/var\/log\/letsencrypt\/letsencrypt.log or re-run Certbot with -v for more details.",
        "Fetching origin",
        "From git.dunahousedev.hu:leadmachine\/leadmachine",
        "   3eeb41f..0ddf7b5  main       -> origin\/main",
        "HEAD is now at 0ddf7b5 Introduce blackout periods for market configurations (D-122).",
        "--OK--"
    ]
}