Files
hive/backend/app/models/project.py
anthonyrawlins 268214d971 Major WHOOSH system refactoring and feature enhancements
- Migrated from HIVE branding to WHOOSH across all components
- Enhanced backend API with new services: AI models, BZZZ integration, templates, members
- Added comprehensive testing suite with security, performance, and integration tests
- Improved frontend with new components for project setup, AI models, and team management
- Updated MCP server implementation with WHOOSH-specific tools and resources
- Enhanced deployment configurations with production-ready Docker setups
- Added comprehensive documentation and setup guides
- Implemented age encryption service and UCXL integration

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-27 08:34:48 +10:00

42 lines
1.5 KiB
Python

from sqlalchemy import Column, Integer, String, DateTime, Text, JSON, Boolean
from sqlalchemy.sql import func
from ..core.database import Base
class Project(Base):
__tablename__ = "projects"
id = Column(Integer, primary_key=True, index=True)
name = Column(String, unique=True, index=True, nullable=False)
description = Column(Text, nullable=True)
status = Column(String, default="active") # e.g., active, completed, arcwhooshd
# GitHub Integration Fields
github_repo = Column(String, nullable=True) # owner/repo format
git_url = Column(String, nullable=True)
git_owner = Column(String, nullable=True)
git_repository = Column(String, nullable=True)
git_branch = Column(String, default="main")
# Bzzz Configuration
bzzz_enabled = Column(Boolean, default=False)
ready_to_claim = Column(Boolean, default=False)
private_repo = Column(Boolean, default=False)
github_token_required = Column(Boolean, default=False)
# Additional configuration
tags = Column(JSON, nullable=True)
created_at = Column(DateTime(timezone=True), server_default=func.now())
updated_at = Column(DateTime(timezone=True), onupdate=func.now())
# You might also need Pydantic models for request/response validation
# from pydantic import BaseModel
# class ProjectCreate(BaseModel):
# name: str
# description: str | None = None
# class ProjectMetrics(BaseModel):
# total_tasks: int
# completed_tasks: int
# # Add other metrics as needed