V3 version with backward comp

This commit is contained in:
m
2026-07-28 18:12:56 +02:00
parent 7713835739
commit bd6e7c38f9
48 changed files with 3685 additions and 1344 deletions
+65
View File
@@ -0,0 +1,65 @@
package service
import (
"context"
"github.com/google/uuid"
"github.com/vaultdrop/backend/internal/db"
)
type PlacementService struct {
queries *db.Queries
}
func NewPlacementService(queries *db.Queries) *PlacementService {
return &PlacementService{queries: queries}
}
func (s *PlacementService) GetPlacementsForResource(resourceID string) ([]db.ResourcePlacement, error) {
resourceUUID, _ := uuid.Parse(resourceID)
return s.queries.ListPlacementsByResource(context.Background(), resourceUUID)
}
func (s *PlacementService) GetPlacementsForLocation(locationID string) ([]db.ResourcePlacement, error) {
locationUUID, _ := uuid.Parse(locationID)
return s.queries.ListPlacementsByLocation(context.Background(), locationUUID)
}
func (s *PlacementService) UpdatePlacementStatus(placementID, status string) error {
placementUUID, _ := uuid.Parse(placementID)
return s.queries.UpdatePlacementStatus(context.Background(), db.UpdatePlacementStatusParams{
Status: status,
ID: placementUUID,
})
}
func (s *PlacementService) DeletePlacement(placementID string) error {
placementUUID, _ := uuid.Parse(placementID)
return s.queries.DeletePlacement(context.Background(), placementUUID)
}
func (s *PlacementService) CreateDeviceLocation(userID, deviceName string) (db.StorageLocation, error) {
userUUID, _ := uuid.Parse(userID)
return s.queries.CreateStorageLocation(context.Background(), db.CreateStorageLocationParams{
UserID: userUUID,
DeviceName: deviceName,
Role: "device",
})
}
func (s *PlacementService) ListUserLocations(userID string) ([]db.StorageLocation, error) {
userUUID, _ := uuid.Parse(userID)
return s.queries.ListStorageLocationsByUser(context.Background(), userUUID)
}
func (s *PlacementService) ensureServerLocation(userID uuid.UUID) (db.StorageLocation, error) {
loc, err := s.queries.GetServerStorageLocation(context.Background(), userID)
if err != nil {
return s.queries.CreateStorageLocation(context.Background(), db.CreateStorageLocationParams{
UserID: userID,
DeviceName: "VaultDrop Server",
Role: "server",
})
}
return loc, nil
}