first commit
This commit is contained in:
55
backend/internal/domain/entities/note.go
Normal file
55
backend/internal/domain/entities/note.go
Normal file
@@ -0,0 +1,55 @@
|
||||
package entities
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"go.mongodb.org/mongo-driver/v2/bson"
|
||||
)
|
||||
|
||||
// Note represents a note within a space
|
||||
type Note struct {
|
||||
ID bson.ObjectID `bson:"_id,omitempty"`
|
||||
SpaceID bson.ObjectID `bson:"space_id"`
|
||||
CategoryID *bson.ObjectID `bson:"category_id,omitempty"`
|
||||
Title string `bson:"title"`
|
||||
Description string `bson:"description"`
|
||||
Content string `bson:"content"`
|
||||
PasswordHash string `bson:"password_hash,omitempty"`
|
||||
Tags []string `bson:"tags"`
|
||||
IsPinned bool `bson:"is_pinned"`
|
||||
IsFavorite bool `bson:"is_favorite"`
|
||||
IsPublic bool `bson:"is_public"`
|
||||
IsPasswordProtected bool `bson:"is_password_protected"`
|
||||
CreatedBy bson.ObjectID `bson:"created_by"`
|
||||
UpdatedBy bson.ObjectID `bson:"updated_by"`
|
||||
CreatedAt time.Time `bson:"created_at"`
|
||||
UpdatedAt time.Time `bson:"updated_at"`
|
||||
ViewedAt *time.Time `bson:"viewed_at,omitempty"`
|
||||
}
|
||||
|
||||
// Category represents a folder/category within a space
|
||||
type Category struct {
|
||||
ID bson.ObjectID `bson:"_id,omitempty"`
|
||||
SpaceID bson.ObjectID `bson:"space_id"`
|
||||
Name string `bson:"name"`
|
||||
Description string `bson:"description,omitempty"`
|
||||
ParentID *bson.ObjectID `bson:"parent_id,omitempty"`
|
||||
Icon string `bson:"icon,omitempty"`
|
||||
Order int `bson:"order"`
|
||||
CreatedBy bson.ObjectID `bson:"created_by"`
|
||||
UpdatedBy bson.ObjectID `bson:"updated_by"`
|
||||
CreatedAt time.Time `bson:"created_at"`
|
||||
UpdatedAt time.Time `bson:"updated_at"`
|
||||
}
|
||||
|
||||
// NoteRevision represents a historical version of a note
|
||||
type NoteRevision struct {
|
||||
ID bson.ObjectID `bson:"_id,omitempty"`
|
||||
NoteID bson.ObjectID `bson:"note_id"`
|
||||
SpaceID bson.ObjectID `bson:"space_id"`
|
||||
Title string `bson:"title"`
|
||||
Content string `bson:"content"`
|
||||
ChangedBy bson.ObjectID `bson:"changed_by"`
|
||||
CreatedAt time.Time `bson:"created_at"`
|
||||
ChangeRef string `bson:"change_ref,omitempty"`
|
||||
}
|
||||
Reference in New Issue
Block a user