Skip to content

Commit a2c5dab

Browse files
committed
fix(api): add project_id to tasks
1 parent 48cd2b2 commit a2c5dab

4 files changed

Lines changed: 9 additions & 0 deletions

File tree

src/server/api/go/internal/bootstrap/container.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ func BuildContainer() *do.Injector {
4949
&model.Project{},
5050
&model.Space{},
5151
&model.Session{},
52+
&model.Task{},
5253
&model.Message{},
5354
&model.Block{},
5455
&model.Disk{},

src/server/api/go/internal/modules/model/project.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ type Project struct {
2121

2222
// Project <-> Session
2323
Sessions []Session `gorm:"constraint:OnDelete:CASCADE,OnUpdate:CASCADE;" json:"sessions"`
24+
25+
// Project <-> Task
26+
Tasks []Task `gorm:"constraint:OnDelete:CASCADE,OnUpdate:CASCADE;" json:"tasks"`
2427
}
2528

2629
func (Project) TableName() string { return "projects" }

src/server/api/go/internal/modules/model/task.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
type Task struct {
1111
ID uuid.UUID `gorm:"type:uuid;default:gen_random_uuid();primaryKey" json:"id"`
1212
SessionID uuid.UUID `gorm:"type:uuid;not null;index:ix_session_session_id;index:ix_session_session_id_task_id,priority:1;index:ix_session_session_id_status,priority:1;uniqueIndex:uq_session_id_order,priority:1" json:"session_id"`
13+
ProjectID uuid.UUID `gorm:"type:uuid;not null;index:ix_session_project_id" json:"project_id"`
1314

1415
Order int `gorm:"not null;uniqueIndex:uq_session_id_order,priority:2" json:"order"`
1516
Data datatypes.JSONMap `gorm:"type:jsonb;not null" swaggertype:"object" json:"data"`
@@ -23,6 +24,9 @@ type Task struct {
2324
// Task <-> Session
2425
Session *Session `gorm:"foreignKey:SessionID;references:ID;constraint:OnDelete:CASCADE,OnUpdate:CASCADE;" json:"session"`
2526

27+
// Task <-> Project
28+
Project *Project `gorm:"foreignKey:ProjectID;references:ID;constraint:OnDelete:CASCADE,OnUpdate:CASCADE;" json:"project"`
29+
2630
// Task <-> Message (one-to-many)
2731
Messages []Message `gorm:"constraint:OnDelete:SET NULL,OnUpdate:CASCADE;" json:"messages"`
2832
}

src/server/core/acontext_core/schema/orm/task.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ class Task(CommonMixin):
4444
Index("ix_session_session_id", "session_id"),
4545
Index("ix_session_session_id_task_id", "session_id", "id"),
4646
Index("ix_session_session_id_status", "session_id", "status"),
47+
Index("ix_session_project_id", "project_id"),
4748
)
4849

4950
session_id: asUUID = field(

0 commit comments

Comments
 (0)