This repository has been archived on 2026-02-12. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
swift-duct-calc/Sources/ManualDCore/Project.swift

78 lines
1.5 KiB
Swift

import Dependencies
import Foundation
public struct Project: Codable, Equatable, Identifiable, Sendable {
public let id: UUID
public let name: String
public let streetAddress: String
public let city: String
public let state: String
public let zipCode: String
public let createdAt: Date
public let updatedAt: Date
public init(
id: UUID,
name: String,
streetAddress: String,
city: String,
state: String,
zipCode: String,
createdAt: Date,
updatedAt: Date
) {
self.id = id
self.name = name
self.streetAddress = streetAddress
self.city = city
self.state = state
self.zipCode = zipCode
self.createdAt = createdAt
self.updatedAt = updatedAt
}
}
extension Project {
public struct Create: Codable, Equatable, Sendable {
public let name: String
public let streetAddress: String
public let city: String
public let state: String
public let zipCode: String
public init(
name: String,
streetAddress: String,
city: String,
state: String,
zipCode: String
) {
self.name = name
self.streetAddress = streetAddress
self.city = city
self.state = state
self.zipCode = zipCode
}
}
}
#if DEBUG
extension Project {
public static let mock = Self(
id: UUID(0),
name: "Testy McTestface",
streetAddress: "1234 Sesame Street",
city: "Monroe",
state: "OH",
zipCode: "55555",
createdAt: Date(),
updatedAt: Date()
)
}
#endif