Skip to content

✨(ingestion) handle webhooks to archive offers#512

Merged
AntoineAugusti merged 15 commits into
mainfrom
tycho_endpoint_archive_offer
May 13, 2026
Merged

✨(ingestion) handle webhooks to archive offers#512
AntoineAugusti merged 15 commits into
mainfrom
tycho_endpoint_archive_offer

Conversation

@AntoineAugusti
Copy link
Copy Markdown
Member

@AntoineAugusti AntoineAugusti commented May 12, 2026

📝 Description

Handle Talentsoft webhooks used to archive offers.

🏷️ Type of change

  • 🐛 Bug fix
  • 🎢 New feature (non-breaking change that adds functionality)
  • 🥁 Breaking change (a modification or feature that would cause existing functionality to stop working as expected) requiring a documentation update
  • 📚 Documentation update
  • ♻️ Refactoring
  • 🔧 Technical change

🔧 Changes

  • ingestion: handle webhooks related to archive / delete events and call the web API
  • web: add an API to archive offers by reference
  • add an API key authentication for HTTP calls from ingestion to web
  • add tests

🛸 Required dependencies for this change (if applicable)

🏝️ How to test (if applicable)

Steps to reproduce or test

📸 Screenshots (if applicable)

Screenshot 2026-05-12 at 15 45 18

✅ Checklist

  • 💅 I have added or updated the appropriate tests.
  • 📝 I have updated or added the necessary documentation.
  • 🚀 I have considered the impact on performance, security, and user experience.
  • 👀 I have requested a review from a team member.

@AntoineAugusti AntoineAugusti added the added PR: backward compatible addition label May 12, 2026
@AntoineAugusti AntoineAugusti self-assigned this May 12, 2026
Comment thread src/web/infrastructure/authentication/api_key_authentication.py
Comment thread src/web/infrastructure/authentication/api_key_authentication.py
@AntoineAugusti AntoineAugusti changed the title Handle webhooks to archive offers ✨ (ingestion) handle webhooks to archive offers May 12, 2026
@AntoineAugusti AntoineAugusti changed the title ✨ (ingestion) handle webhooks to archive offers ✨(ingestion) handle webhooks to archive offers May 12, 2026
Comment thread env.d/ingestion-example
Comment thread env.d/tycho-example Outdated
Copy link
Copy Markdown
Collaborator

@Atheane Atheane left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice and quick implementation! Some suggestions about architecture:

Is it possible to add an application layer in ingestion, with a usecase archive_offers ? Also we could add DI to managers dependencies at this point.

For signature verification, maybe we could wrap this usecase with rbac guard, maybe in a custom decorator?

Comment thread src/ingestion/presentation/dtos/talentsoft_webhook.py
Comment thread src/tycho/presentation/api/views.py Outdated
Comment thread src/tycho/tests/ingestion/presentation/views/test_archive_offers_view.py Outdated
@AntoineAugusti
Copy link
Copy Markdown
Member Author

@Atheane I have refactored the ingestion service to clean archi in a2e7379 and introduced a use case in 1b5d3f0

@AntoineAugusti AntoineAugusti requested a review from Atheane May 12, 2026 14:59
Copy link
Copy Markdown
Collaborator

@vincentporte vincentporte left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice.
Ideally, for upcoming PR, we should decouple ingestion PR from tycho/web one, because we want to be able to deploy only the targeted app.

Comment thread src/tycho/presentation/api/views.py Outdated
Comment thread src/web/tests/utils/in_memory_offers_repository.py
Atheane
Atheane previously approved these changes May 12, 2026
Comment thread src/web/infrastructure/authentication/api_key_authentication.py
Comment thread src/web/infrastructure/authentication/api_key_authentication.py
Comment thread src/web/presentation/api/views.py
Comment thread src/tycho/presentation/api/views.py Outdated
Comment thread src/web/presentation/api/views.py
Comment thread src/tycho/presentation/api/views.py Outdated
Comment thread src/tycho/tests/ingestion/unit/test_archive_offer_by_reference.py Outdated
Comment thread src/tycho/tests/ingestion/unit/test_archive_offer_by_reference.py Outdated
@AntoineAugusti
Copy link
Copy Markdown
Member Author

@vincentporte Thank you for your review!

I've tackled your comments or asked questions. Let me know if you're ready to approve.

@AntoineAugusti AntoineAugusti force-pushed the tycho_endpoint_archive_offer branch from e5bb8b9 to e86bc41 Compare May 13, 2026 12:52
Copy link
Copy Markdown
Collaborator

@vincentporte vincentporte left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚢 LGTM

@AntoineAugusti AntoineAugusti merged commit 47ef05b into main May 13, 2026
13 checks passed
@AntoineAugusti AntoineAugusti deleted the tycho_endpoint_archive_offer branch May 13, 2026 13:36
@github-actions github-actions Bot mentioned this pull request May 13, 2026
@github-actions github-actions Bot mentioned this pull request May 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

added PR: backward compatible addition

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants