Started a repository of the uploads
This commit is contained in:
parent
6b697e008f
commit
0a9af9cde8
11 changed files with 101 additions and 15 deletions
35
providers/uploadfiles/provider.go
Normal file
35
providers/uploadfiles/provider.go
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
package uploadfiles
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"lmika.dev/lmika/weiro/models"
|
||||
)
|
||||
|
||||
type Provider struct {
|
||||
baseDir string
|
||||
}
|
||||
|
||||
func New(baseDir string) *Provider {
|
||||
return &Provider{
|
||||
baseDir: baseDir,
|
||||
}
|
||||
}
|
||||
|
||||
func (p *Provider) AdoptFile(site models.Site, up models.Upload, filename string) error {
|
||||
baseDir := filepath.Join(p.baseDir, site.GUID,
|
||||
fmt.Sprintf("%04d", up.CreatedAt.Year()),
|
||||
fmt.Sprintf("%02d", up.CreatedAt.Month()))
|
||||
|
||||
if err := os.MkdirAll(baseDir, 0755); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
targetFilename := filepath.Join(baseDir, up.GUID)
|
||||
if err := os.Rename(filename, targetFilename); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue