package db import "time" // User represents a user from the database. type User struct { ID string `json:"id"` Username string `json:"username"` Email string `json:"email"` IsAdmin bool `json:"is_admin"` IsBlocked bool `json:"is_blocked"` BucketCapacity int64 `json:"-"` } // Object represents an object from the database. type Object struct { Bucket string `json:"bucket"` Key string `json:"key"` Directory string `json:"dir"` Type int `json:"type"` DestURL *string `json:"dest_url"` ContentType *string `json:"content_type"` ContentLength *int64 `json:"content_length"` CreatedAt time.Time `json:"created_at"` DeletedAt *time.Time `json:"deleted_at"` DeleteReason *string `json:"delete_reason"` AssociatedUser *string `json:"-"` MD5HashBytes []byte `json:"-"` SHA256HashBytes []byte `json:"-"` // Computed fields MD5Hash *string `json:"md5_hash"` SHA256Hash *string `json:"sha256_hash"` AssociatedWithCurrentUser *bool `json:"associated_with_current_user,omitempty"` } // FileBan represents a banned file from the database. type FileBan struct { SHA256HashBytes []byte `json:"-"` DidQuarantine bool `json:"did_quarantine"` Reason int `json:"reason"` Description *string `json:"description"` MalwareName *string `json:"malware_name"` // Computed fields SHA256Hash *string `json:"sha256_hash"` }