feat(documents): rebuild project document workbench

This commit is contained in:
2026-07-24 12:16:02 +08:00
parent 366136cee9
commit 77beaebb30
73 changed files with 5867 additions and 1264 deletions

View File

@@ -75,7 +75,7 @@ func (m *SaTask) BeforeCreate(tx *gorm.DB) error {
return resolveOptionalIdentity(tx, &SaInboxItem{}, m.SourceInboxItemID, &m.SourceInboxItemIdentity)
}
func (m *SaNote) BeforeCreate(tx *gorm.DB) error {
func (m *SaDocument) BeforeCreate(tx *gorm.DB) error {
if err := ensureIdentity(&m.Identity); err != nil {
return err
}
@@ -85,20 +85,20 @@ func (m *SaNote) BeforeCreate(tx *gorm.DB) error {
if err := resolveIdentity(tx, &SaUser{}, m.CreatedBy, &m.CreatedByIdentity); err != nil {
return err
}
if err := resolveOptionalIdentity(tx, &SaDocument{}, m.ParentID, &m.ParentIdentity); err != nil {
return err
}
return resolveOptionalIdentity(tx, &SaInboxItem{}, m.SourceInboxItemID, &m.SourceInboxItemIdentity)
}
func (m *SaSource) BeforeCreate(tx *gorm.DB) error {
func (m *SaDocumentShare) BeforeCreate(tx *gorm.DB) error {
if err := ensureIdentity(&m.Identity); err != nil {
return err
}
if err := resolveIdentity(tx, &SaProject{}, m.ProjectID, &m.ProjectIdentity); err != nil {
if err := resolveIdentity(tx, &SaDocument{}, m.DocumentID, &m.DocumentIdentity); err != nil {
return err
}
if err := resolveIdentity(tx, &SaUser{}, m.CreatedBy, &m.CreatedByIdentity); err != nil {
return err
}
return resolveOptionalIdentity(tx, &SaInboxItem{}, m.SourceInboxItemID, &m.SourceInboxItemIdentity)
return nil
}
func (m *SaAISession) BeforeCreate(tx *gorm.DB) error {
@@ -233,10 +233,8 @@ func resolveEntityIdentity(tx *gorm.DB, entityType string, entityID uint, identi
return resolveIdentity(tx, &SaInboxItem{}, entityID, identity)
case "task":
return resolveIdentity(tx, &SaTask{}, entityID, identity)
case "note":
return resolveIdentity(tx, &SaNote{}, entityID, identity)
case "source":
return resolveIdentity(tx, &SaSource{}, entityID, identity)
case "document":
return resolveIdentity(tx, &SaDocument{}, entityID, identity)
case "ai_session":
return resolveIdentity(tx, &SaAISession{}, entityID, identity)
case "tag":