Shared subscription, payment, and multi-tenancy models for TalentGate ecosystem
Project description
TalentGate Base
The core shared package for the TalentGate multi-tenant SaaS ecosystem. This package provides abstract models, services, and security utilities to maintain consistency across all TalentGate-integrated applications (like HRMS, BMS, etc.).
Features
- Multi-Tenancy: Base abstract models for Organizations and Subscriptions.
- Payment Integration: Standardized wrappers for Paystack and Bank Transfer workflows.
- Inter-System Communication: Secure HMAC-based communication utilities for service-to-service calls.
- Feature Gating: Middleware to enforce subscription status across your application.
Installation
Install via pip:
pip install talent-gate-base
Setup & Configuration
1. Add to Django Settings
Add the package to your INSTALLED_APPS and specify your organization model:
INSTALLED_APPS = [
...
"talent_gate_base",
]
# Required for the multi-tenant models
ORGANIZATION_MODEL = "your_app.Organization"
2. Implement Concrete Models
This package provides Abstract models. You must inherit from them in your local app:
from talent_gate_base.models.organization import AbstractOrganization
from talent_gate_base.models.subscription import AbstractSubscription
class Organization(AbstractOrganization):
# Add your system-specific organization fields here
pass
class Subscription(AbstractSubscription):
# Add your system-specific subscription logic here
pass
3. Inter-System Security
To communicate securely between TalentGate and your app, use the SystemCommunicator:
from talent_gate_base.services.system_comm import SystemCommunicator
# Verifying an incoming request from TalentGate
is_valid, error = SystemCommunicator.verify_django_request(
request,
expected_api_key=settings.TG_API_KEY,
expected_api_secret=settings.TG_SECRET_KEY
)
License
Proprietary. © AFEX Innovation Lab.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file talent_gate_base-0.3.13.tar.gz.
File metadata
- Download URL: talent_gate_base-0.3.13.tar.gz
- Upload date:
- Size: 18.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22957d01e3ac3ed9030d65eb6d758668bab604ee5e62b5a9fac1941bad4d3d61
|
|
| MD5 |
62682bb770dacb4c1e413b753cc2031e
|
|
| BLAKE2b-256 |
d4c040c75eca98375e24815e5e7ebea9268d866c51d7c78a3fb1c5622577ee94
|
File details
Details for the file talent_gate_base-0.3.13-py3-none-any.whl.
File metadata
- Download URL: talent_gate_base-0.3.13-py3-none-any.whl
- Upload date:
- Size: 26.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ee4157b403e773aef0e65ca62edeaa69abba45ad32eee9496c46c0371acb4e7
|
|
| MD5 |
59d9a2eb5cb5c71f8a967daa1d540c71
|
|
| BLAKE2b-256 |
62172b02e66ad70548c40929e66ad5565d2edecfc4b169c426ca44c7e781f899
|