feat: add GORM integration with repository pattern

- Add GORM models in models/ directory with proper column tags
- Create repository interfaces and implementations in core/repository/
- Add database package with MySQL and SQLite support
- Add UUID ID utility for GORM models
- Implement complete repository layer replacing SQL-based data access
- Add database migrations and index creation
- Support both MySQL and SQLite drivers with auto-migration

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-06-30 22:07:51 +12:00
parent e865c4c1a2
commit bd3f101fb4
19 changed files with 1467 additions and 0 deletions

13
models/invite.go Normal file
View File

@@ -0,0 +1,13 @@
package models
// Invite represents organization invitations
type Invite struct {
ID string `gorm:"size:32;primaryKey"`
OrgID []byte `gorm:"column:orgId;type:BINARY(16);not null"`
Inserted uint64 `gorm:"column:inserted;not null"`
Updated uint64 `gorm:"column:updated;not null"`
Email string `gorm:"column:email;size:100;not null"`
Accepted bool `gorm:"column:accepted;not null"`
Org Org `gorm:"foreignKey:OrgID"`
}