52 lines
1.7 KiB
Python
52 lines
1.7 KiB
Python
"""
|
|
Models package for TimeTrack application.
|
|
Split from monolithic models.py into domain-specific modules.
|
|
"""
|
|
|
|
from flask_sqlalchemy import SQLAlchemy
|
|
|
|
# Initialize SQLAlchemy instance
|
|
db = SQLAlchemy()
|
|
|
|
# Import all models to maintain backward compatibility
|
|
from .enums import (
|
|
Role, AccountType, WorkRegion, CommentVisibility,
|
|
TaskStatus, TaskPriority, SprintStatus, WidgetType, WidgetSize
|
|
)
|
|
|
|
from .company import Company, CompanySettings, CompanyWorkConfig
|
|
from .user import User, UserPreferences, UserDashboard
|
|
from .team import Team
|
|
from .project import Project, ProjectCategory
|
|
from .task import Task, TaskDependency, SubTask, Comment
|
|
from .time_entry import TimeEntry
|
|
from .sprint import Sprint
|
|
from .system import SystemSettings, BrandingSettings, SystemEvent
|
|
from .announcement import Announcement
|
|
from .dashboard import DashboardWidget, WidgetTemplate
|
|
from .work_config import WorkConfig
|
|
from .invitation import CompanyInvitation
|
|
from .note import Note, NoteVisibility, NoteLink, NoteFolder
|
|
from .note_share import NoteShare
|
|
|
|
# Make all models available at package level
|
|
__all__ = [
|
|
'db',
|
|
# Enums
|
|
'Role', 'AccountType', 'WorkRegion', 'CommentVisibility',
|
|
'TaskStatus', 'TaskPriority', 'SprintStatus', 'WidgetType', 'WidgetSize',
|
|
# Models
|
|
'Company', 'CompanySettings', 'CompanyWorkConfig',
|
|
'User', 'UserPreferences', 'UserDashboard',
|
|
'Team',
|
|
'Project', 'ProjectCategory',
|
|
'Task', 'TaskDependency', 'SubTask', 'Comment',
|
|
'TimeEntry',
|
|
'Sprint',
|
|
'SystemSettings', 'BrandingSettings', 'SystemEvent',
|
|
'Announcement',
|
|
'DashboardWidget', 'WidgetTemplate',
|
|
'WorkConfig',
|
|
'CompanyInvitation',
|
|
'Note', 'NoteVisibility', 'NoteLink', 'NoteFolder', 'NoteShare'
|
|
] |