- PostgreSQL metadata overlay layer on top of existing S3 storage - 3 new tables: folders, files, share_links - Folder CRUD: create, get with children, tree, rename, delete (cascade) - File operations: upload to folder, move between folders - Share links: create with optional password/expiry/download limit, public access - S3 compensation on PG write failure - Existing 14 endpoints untouched
19 lines
267 B
Go
19 lines
267 B
Go
package model
|
|
|
|
import "time"
|
|
|
|
type Folder struct {
|
|
ID string
|
|
ParentID *string
|
|
Name string
|
|
OwnerID string
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
}
|
|
|
|
type FolderWithChildren struct {
|
|
Folder Folder
|
|
SubFolders []Folder
|
|
Files []FileMeta
|
|
}
|