mirror of
https://github.com/thecyberlearn/quantum-ai-v3.git
synced 2026-08-18 18:52:57 +00:00
BREAKING CHANGES: - Move marketplace and agent discovery views from core to agent_base app - Transfer all wallet functionality from core to dedicated wallet app - Move Stripe webhook handling to wallet app for better organization - Consolidate payment system logic under single responsibility NEW STRUCTURE: - core app: Platform pages only (homepage, pricing) - agent_base app: Complete agent marketplace and catalog system - wallet app: Full payment system with Stripe integration - Individual agent apps: Unchanged, self-contained IMPROVEMENTS: - Clean URL namespacing (agent_base:marketplace, wallet:wallet) - Template organization by app responsibility - Removed deprecated CSS files (header.css) - Added utility classes (.hidden) - Updated all template references to new URL structure - Comprehensive CLAUDE.md documentation updates TECHNICAL CHANGES: - Templates moved: marketplace.html, agent_detail.html → agent_base/ - Templates moved: wallet*.html → wallet/ - New files: agent_base/views.py, agent_base/urls.py, wallet/urls.py - Updated main urls.py routing configuration - Fixed Django system checks and namespace conflicts - Verified all functionality with test suite This reorganization follows Django best practices with single responsibility principle, making the codebase more maintainable and scalable. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
from django.db import models
|
|
from decimal import Decimal
|
|
from agent_base.models import BaseAgentRequest, BaseAgentResponse
|
|
|
|
|
|
class {{ agent_name_camel }}Request(BaseAgentRequest):
|
|
"""{{ agent_name }} request tracking"""
|
|
|
|
# Agent-specific request fields
|
|
{% for field in request_fields %}{{ field.name }} = models.{{ field.type }}({{ field.args }})
|
|
{% endfor %}
|
|
|
|
class Meta:
|
|
db_table = '{{ agent_slug_underscore }}_requests'
|
|
verbose_name = '{{ agent_name }} Request'
|
|
verbose_name_plural = '{{ agent_name }} Requests'
|
|
|
|
|
|
class {{ agent_name_camel }}Response(BaseAgentResponse):
|
|
"""{{ agent_name }} response storage"""
|
|
|
|
request = models.OneToOneField(
|
|
{{ agent_name_camel }}Request,
|
|
on_delete=models.CASCADE,
|
|
related_name='response'
|
|
)
|
|
|
|
# Agent-specific response fields
|
|
{% for field in response_fields %}{{ field.name }} = models.{{ field.type }}({{ field.args }})
|
|
{% endfor %}
|
|
|
|
class Meta:
|
|
db_table = '{{ agent_slug_underscore }}_responses'
|
|
verbose_name = '{{ agent_name }} Response'
|
|
verbose_name_plural = '{{ agent_name }} Responses' |