Files
drive/apps/backend/internal/upload/upload.go

30 lines
1.0 KiB
Go
Raw Normal View History

2025-11-29 17:25:11 +00:00
package upload
import "github.com/get-drexa/drexa/internal/virtualfs"
// Status represents the upload state
// @Description Upload status enumeration
2025-11-29 17:25:11 +00:00
type Status string
const (
// StatusPending indicates upload is awaiting content
StatusPending Status = "pending"
// StatusCompleted indicates upload finished successfully
2025-11-29 17:25:11 +00:00
StatusCompleted Status = "completed"
// StatusFailed indicates upload failed
StatusFailed Status = "failed"
2025-11-29 17:25:11 +00:00
)
// Upload represents a file upload session
// @Description File upload session with status and upload URL
2025-11-29 17:25:11 +00:00
type Upload struct {
// Unique upload session identifier
ID string `json:"id" example:"xNq5RVBt3K88"`
// Current upload status
Status Status `json:"status" example:"pending" enums:"pending,completed,failed"`
// Internal target node reference
TargetNode *virtualfs.Node `json:"-" swaggerignore:"true"`
// URL to upload file content to
UploadURL string `json:"uploadUrl" example:"https://api.example.com/api/accounts/550e8400-e29b-41d4-a716-446655440000/uploads/xNq5RVBt3K88/content"`
2025-11-29 17:25:11 +00:00
}