61 lines
1.5 KiB
Go
61 lines
1.5 KiB
Go
package types
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
type ThoughtPatch struct {
|
|
Content *string `json:"content,omitempty"`
|
|
Metadata ThoughtMetadata `json:"metadata,omitempty"`
|
|
Project *int64 `json:"project_id,omitempty"`
|
|
}
|
|
|
|
type Project struct {
|
|
ID uuid.UUID `json:"id"`
|
|
NumericID int64 `json:"-"`
|
|
Name string `json:"name"`
|
|
Description string `json:"description,omitempty"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
LastActiveAt time.Time `json:"last_active_at"`
|
|
}
|
|
|
|
type ProjectSummary struct {
|
|
Project
|
|
ThoughtCount int `json:"thought_count"`
|
|
}
|
|
|
|
type ThoughtLink struct {
|
|
FromID uuid.UUID `json:"from_id"`
|
|
ToID uuid.UUID `json:"to_id"`
|
|
Relation string `json:"relation"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
}
|
|
|
|
type LinkedThought struct {
|
|
Thought Thought `json:"thought"`
|
|
Relation string `json:"relation"`
|
|
Direction string `json:"direction"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
}
|
|
|
|
type ThoughtLearningLink struct {
|
|
ThoughtID int64 `json:"thought_id"`
|
|
LearningID int64 `json:"learning_id"`
|
|
Relation string `json:"relation"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
}
|
|
|
|
type LinkedLearning struct {
|
|
Learning Learning `json:"learning"`
|
|
Relation string `json:"relation"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
}
|
|
|
|
type LinkedLearningThought struct {
|
|
Thought Thought `json:"thought"`
|
|
Relation string `json:"relation"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
}
|