Selaa lähdekoodia

ensure CRUD method compliance

pull/294/head
Stefan Benten 4 vuotta sitten
vanhempi
commit
b5e01e7b66
5 muutettua tiedostoa jossa 16 lisäystä ja 8 poistoa
  1. +1
    -2
      server/handlers.go
  2. +2
    -2
      server/storage/common.go
  3. +4
    -2
      server/storage/gdrive.go
  4. +4
    -1
      server/storage/local.go
  5. +5
    -1
      server/storage/s3.go

+ 1
- 2
server/handlers.go Näytä tiedosto

@@ -901,11 +901,10 @@ func (s *Server) checkMetadata(token, filename string, increaseDownload bool) (m
metadata.Downloads++
}

if err := s.storage.Meta(token, filename, metadata); err != nil {
if err := s.storage.Patch(token, filename, nil, metadata); err != nil {
return metadata, errors.New("could not save metadata for " + file)
}
}

return metadata, nil
}



+ 2
- 2
server/storage/common.go Näytä tiedosto

@@ -27,8 +27,8 @@ type Storage interface {
Get(token string, filename string) (reader io.ReadCloser, metaData Metadata, err error)
// Head returns the metadata
Head(token string, filename string) (metadata Metadata, err error)
// Meta updates the file's metadata
Meta(token string, filename string, metadata Metadata) error
// Patch updates the file, reader can be left nil to not update the body of the file
Patch(token string, filename string, reader io.Reader, metadata Metadata) error
// Put stores the content of reader including the metadata
Put(token string, filename string, reader io.Reader, metadata Metadata) error
// Delete deletes the file


+ 4
- 2
server/storage/gdrive.go Näytä tiedosto

@@ -150,11 +150,13 @@ func (s *GDrive) Head(token string, filename string) (metadata Metadata, err err
DeletionToken: fi.Properties["deletionToken"],
Secret: fi.Properties["deletionSecret"],
}

return
}

func (s *GDrive) Meta(token string, filename string, metadata Metadata) error {
func (s *GDrive) Patch(token string, filename string, reader io.Reader, metadata Metadata) error {
if reader == nil {
return s.Put(token, filename, reader, metadata)
}
//TODO: implement
log.Printf("updating meta %s/%s with %v", token, filename, metadata)
return nil


+ 4
- 1
server/storage/local.go Näytä tiedosto

@@ -74,7 +74,10 @@ func (s *LocalStorage) Head(token string, filename string) (metadata Metadata, e
return metadata, nil
}

func (s *LocalStorage) Meta(token string, filename string, metadata Metadata) error {
func (s *LocalStorage) Patch(token string, filename string, reader io.Reader, metadata Metadata) error {
if reader == nil {
return s.Put(token, filename, reader, metadata)
}
return s.putMetadata(token, filename, metadata)
}



+ 5
- 1
server/storage/s3.go Näytä tiedosto

@@ -73,7 +73,11 @@ func (s *S3Storage) Head(token string, filename string) (metadata Metadata, err
return metadata, nil
}

func (s *S3Storage) Meta(token string, filename string, metadata Metadata) error {
func (s *S3Storage) Patch(token string, filename string, reader io.Reader, metadata Metadata) error {

if reader != nil {
return s.Put(token, filename, reader, metadata)
}
key := fmt.Sprintf("%s/%s", token, filename)

input := &s3.CopyObjectInput{


Ladataan…
Peruuta
Tallenna