[PR #321] [MERGED] Add integration registry and shared provider interfaces #288

Closed
opened 2026-03-02 23:34:58 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/AJaySi/ALwrity/pull/321
Author: @AJaySi
Created: 2/9/2026
Status: Merged
Merged: 2/9/2026
Merged by: @AJaySi

Base: mainHead: codex/implement-integration-provider-architecture


📝 Commits (2)

  • 9f5685b Add integration registry adapters
  • 27ab459 Document integrations registry

📊 Changes

3 files changed (+204 additions, -0 deletions)

View changed files

backend/services/integrations/base.py (+37 -0)
backend/services/integrations/registry.py (+127 -0)
docs/integrations_registry.md (+40 -0)

📄 Description

Motivation

  • Provide a small abstraction layer and shared models to normalize OAuth auth-URL responses and connection status across multiple providers to simplify future integration work.
  • Introduce thin adapter/wrapper classes that reuse existing provider implementations so we can migrate endpoints incrementally while keeping onboarding/monitoring on legacy paths until Week 3.

Description

  • Add backend/services/integrations/base.py which defines ConnectionStatus, AuthUrlPayload, and the IntegrationProvider Protocol for a normalized provider contract.
  • Add backend/services/integrations/registry.py which implements thin adapters for gsc, bing, wordpress, and wix that wrap the existing GSCService, BingOAuthService, WordPressOAuthService, WixService/WixOAuthService implementations.
  • Register each adapter via register_provider(...) in the registry and leave a note to keep legacy paths in use for onboarding and monitoring until Week 3 so behaviour is non-breaking.

Testing

  • No automated tests were executed as part of this change.

Codex Task


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/AJaySi/ALwrity/pull/321 **Author:** [@AJaySi](https://github.com/AJaySi) **Created:** 2/9/2026 **Status:** ✅ Merged **Merged:** 2/9/2026 **Merged by:** [@AJaySi](https://github.com/AJaySi) **Base:** `main` ← **Head:** `codex/implement-integration-provider-architecture` --- ### 📝 Commits (2) - [`9f5685b`](https://github.com/AJaySi/ALwrity/commit/9f5685b0708e4e8eac0ca7c30b1bb9eaed6a6780) Add integration registry adapters - [`27ab459`](https://github.com/AJaySi/ALwrity/commit/27ab459820d61ea05dbec25be20ff0da27cd2023) Document integrations registry ### 📊 Changes **3 files changed** (+204 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `backend/services/integrations/base.py` (+37 -0) ➕ `backend/services/integrations/registry.py` (+127 -0) ➕ `docs/integrations_registry.md` (+40 -0) </details> ### 📄 Description ### Motivation - Provide a small abstraction layer and shared models to normalize OAuth auth-URL responses and connection status across multiple providers to simplify future integration work. - Introduce thin adapter/wrapper classes that reuse existing provider implementations so we can migrate endpoints incrementally while keeping onboarding/monitoring on legacy paths until Week 3. ### Description - Add `backend/services/integrations/base.py` which defines `ConnectionStatus`, `AuthUrlPayload`, and the `IntegrationProvider` `Protocol` for a normalized provider contract. - Add `backend/services/integrations/registry.py` which implements thin adapters for `gsc`, `bing`, `wordpress`, and `wix` that wrap the existing `GSCService`, `BingOAuthService`, `WordPressOAuthService`, `WixService`/`WixOAuthService` implementations. - Register each adapter via `register_provider(...)` in the registry and leave a note to keep legacy paths in use for onboarding and monitoring until Week 3 so behaviour is non-breaking. ### Testing - No automated tests were executed as part of this change. ------ [Codex Task](https://chatgpt.com/codex/tasks/task_e_69897a0e501483288bc98ce70b754859) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-02 23:34:58 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ALwrity#288
No description provided.