banniere legacy + base
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
package services
|
||||
|
||||
import "github.com/vaultdrop/backend/entities"
|
||||
|
||||
func (s *Services) CreateFolder(folderName string, destination *entities.Document) (error, *entities.Document) {
|
||||
|
||||
err, directory := entities.NewDocument(folderName, entities.DIRECTORY)
|
||||
if err != nil {
|
||||
return err, nil
|
||||
}
|
||||
|
||||
return nil, directory
|
||||
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package services
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/vaultdrop/backend/entities"
|
||||
)
|
||||
|
||||
func (s *Services) MoveDocumentIntoDocument(from *entities.Document, to *entities.Document) error {
|
||||
|
||||
if from.DocumentUUID == nil {
|
||||
return fmt.Errorf(entities.ERROR_DOCUMENT_NOT_PERCISTED)
|
||||
}
|
||||
|
||||
if to.DocumentType != entities.DIRECTORY {
|
||||
return fmt.Errorf("The destination document must be a directory")
|
||||
}
|
||||
|
||||
if canEdit, _ := UserCanEditDocument(s.ConnectedUser, from); canEdit == false {
|
||||
return fmt.Errorf("You can not edit this folder")
|
||||
}
|
||||
|
||||
if canEdit, _ := UserCanEditDocument(s.ConnectedUser, to); canEdit == false {
|
||||
return fmt.Errorf("You can not edit this folder")
|
||||
}
|
||||
|
||||
// Check if document exist and move the document into document if is directory
|
||||
|
||||
fmt.Println("To implement move to ", to.DocumentUUID)
|
||||
|
||||
return nil
|
||||
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package services
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/vaultdrop/backend/entities"
|
||||
)
|
||||
|
||||
func TestMoveDocument(t *testing.T) {
|
||||
|
||||
err, userAntoine := entities.NewUser("antoine")
|
||||
if err != nil {
|
||||
t.Errorf(`Error creating antoine user %v`, err)
|
||||
}
|
||||
|
||||
fakeUUID := "dsqdsq"
|
||||
err, document := entities.NewDocument("test.pdf", entities.FILE)
|
||||
document.DocumentUUID = &fakeUUID
|
||||
|
||||
err, folder := entities.NewDocument("orga", entities.DIRECTORY)
|
||||
folder.DocumentUUID = &fakeUUID
|
||||
|
||||
service := New(userAntoine)
|
||||
|
||||
err = service.MoveDocumentIntoDocument(document, folder)
|
||||
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestMoveDocumentToAFile(t *testing.T) {
|
||||
|
||||
err, userAntoine := entities.NewUser("antoine")
|
||||
if err != nil {
|
||||
t.Errorf(`Error creating antoine user %v`, err)
|
||||
}
|
||||
|
||||
err, document := entities.NewDocument("test.pdf", entities.FILE)
|
||||
|
||||
err, notAFolder := entities.NewDocument("orga", entities.FILE)
|
||||
|
||||
service := New(userAntoine)
|
||||
|
||||
err = service.MoveDocumentIntoDocument(document, notAFolder)
|
||||
|
||||
if err == nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package services
|
||||
|
||||
import "github.com/vaultdrop/backend/entities"
|
||||
|
||||
// import "github.com/vaultdrop/backend/entities"
|
||||
|
||||
type Services struct {
|
||||
ConnectedUser *entities.User
|
||||
}
|
||||
|
||||
func New(connectedUser *entities.User) *Services {
|
||||
|
||||
return &Services{
|
||||
ConnectedUser: connectedUser,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func UserCanReadDocument(connectedUser *entities.User, document *entities.Document) (bool, string) {
|
||||
return true, ""
|
||||
}
|
||||
|
||||
func UserCanEditDocument(connectedUser *entities.User, document *entities.Document) (bool, string) {
|
||||
return true, ""
|
||||
}
|
||||
|
||||
func UserCanDeleteDocument(connectedUser *entities.User, document *entities.Document) (bool, string) {
|
||||
return true, ""
|
||||
}
|
||||
|
||||
func UserCanCreateDocument(connectedUser *entities.User, document *entities.Document) (bool, string) {
|
||||
return true, ""
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package services
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/vaultdrop/backend/entities"
|
||||
)
|
||||
|
||||
func (s *Services) UploadDocument(file *string, destination *entities.Document) error {
|
||||
|
||||
if canEdit, _ := UserCanEditDocument(s.ConnectedUser, destination); !canEdit {
|
||||
return fmt.Errorf("Can not edit")
|
||||
}
|
||||
|
||||
entities.NewDocument("test", entities.FILE)
|
||||
|
||||
return nil
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user