Files
timelapse-diapo/diagrams/backend/backend1.puml

77 lines
1.8 KiB
Plaintext

@startuml Modèles de données
class Project {
+id: integer
+name: string
+description: string
+start_date: date
+status: integer
+getAllProjects()
+getProjectById(id)
+createProject(name, description, startDate, status)
+updateProject(id, updates)
+updateProjectStatus(id, status)
+deleteProject(id)
+findCurrentRenderingProject()
+findStoppingProject()
}
class Measurement {
+id: integer
+project_id: integer
+timestamp: datetime
+path: string
+temperature: float
+humidity: float
+order_id: integer
+getAllMeasurements()
+getMeasurementById(id)
+getMeasurementByProjectAndOrderId(projectId, orderId)
+getMeasurementsByProjectId(projectId)
+createMeasurement(projectId, timestamp, path, temperature, humidity, orderId)
+updateMeasurement(id, updates)
+deleteMeasurement(id)
+getNextOrderId(projectId)
}
class Video {
+id: integer
+project_id: integer
+measurement_ids: string
+name: string
+resolution: string
+duration: integer
+status: integer
+progress: float
+video_file: string
+started_at: datetime
+updated_at: datetime
+eta: float
+getAllVideos()
+getVideoById(id)
+getVideosByProjectId(projectId)
+createVideo(projectId, measurementIds, name, resolution, duration, status)
+updateVideo(id, updates)
+updateVideoFilePath(id, videoFile)
+updateVideoStatus(id, status)
+deleteVideo(id)
+getUnfinishedVideos()
+updateVideoProgress(id, progress, eta)
}
class Camera {
+id: integer
+interval: integer
+maintenance: integer
+active: integer
+getCamera()
+updateCamera(id, updates)
+deleteCamera(id)
+initializeCamera()
}
Project "1" -- "0..*" Measurement : possède >
Project "1" -- "0..*" Video : possède >
Measurement "1..*" -- "0..*" Video : utilisée dans >
@enduml