banniere legacy + base

This commit is contained in:
m
2026-09-10 07:09:19 +02:00
parent 8ff2339c8a
commit 77d2ea8356
12 changed files with 0 additions and 4 deletions
+14
View File
@@ -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
}
+33
View File
@@ -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
}
+52
View File
@@ -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)
}
}
+33
View File
@@ -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, ""
}
+19
View File
@@ -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
}