Add lead workflows, PDF signing, AR projects and photo gallery integration
This commit is contained in:
32
GasTankAR/Domain/AR/ARProject.swift
Normal file
32
GasTankAR/Domain/AR/ARProject.swift
Normal 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"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user