25 lines
439 B
Go
25 lines
439 B
Go
package files
|
|
|
|
import (
|
|
"io"
|
|
"time"
|
|
)
|
|
|
|
type File struct {
|
|
ID string `json:"id"`
|
|
OriginalFilename string `json:"originalFilename"`
|
|
MaxViews uint `json:"maxViews"`
|
|
ExpiresOn time.Time `json:"expiresOn"`
|
|
|
|
Body io.ReadCloser
|
|
|
|
FileSize int64 `json:"fileSize"`
|
|
}
|
|
|
|
type FileStore interface {
|
|
Store(f *File) error
|
|
Get(id string) (*File, error)
|
|
Delete(id string) error
|
|
List() ([]string, error)
|
|
}
|