Add lead workflows, PDF signing, AR projects and photo gallery integration

This commit is contained in:
Dennis Nemec
2026-11-08 17:49:39 +01:00
parent a343bde741
commit 8d18873412
82 changed files with 6401 additions and 34 deletions

View File

@ -0,0 +1,32 @@
import Foundation
/// Neutral projection for project selection. Persistence and customer associations
/// belong to the host application's service.
struct ARProject: Identifiable, Equatable {
let id: UUID
let name: String
let tank: Tank
let createdAt: Date
let source: Source
let reference: String?
enum Source { case supplied, custom }
}
@MainActor
protocol ARProjectsProviding {
func updateProject(id: UUID, name: String, tank: Tank) throws -> ARProject
func deleteProject(id: UUID) throws
func loadProjects() throws -> [ARProject]
func createProject(name: String, tank: Tank) throws -> ARProject
}
nonisolated extension TankSize {
var volumeTitle: String {
switch self {
case .t1_2: "2.700 l"
case .t2_1: "4.850 l"
case .t2_9: "6.400 l"
}
}
}