StreamPhoto
final class StreamPhoto : Model, @unchecked Sendable
extension StreamPhoto: Reportable
A photo to be shown in the photo stream. Currently, photo stream photos:
- are non-editable and non-deletable by the author
- may be deleted by moderators. The ‘locked’ state may be applied as well, but does nothing.
-
Declaration
Swift
static let schema: String
-
Declaration
Swift
@StreamPhoto .ID var id: Int? { get set }
-
The filename for the image. Use with the ImageController methods in
/api/v3/images/**
Declaration
Swift
@StreamPhoto .Field var image: String { get set }
-
Where on the boat the photo was taken. Optional. One of boatLocation or atEvent should be non-nil.
Declaration
Swift
@StreamPhoto .OptionalField var boatLocation: PhotoStreamBoatLocation? { get set }
-
The time the image was taken, as reported by the client upon upload. Should be within a minute of
createdAt
, but maybe not if we allow photo capture while ashore?Declaration
Swift
@StreamPhoto .Field var captureTime: Date { get set }
-
Moderators can set several statuses on streamPhotos that modify visibility.
Declaration
Swift
@StreamPhoto .Enum var moderationStatus: ContentModerationStatus { get set }
-
Timestamp of the model’s creation, set automatically.
Declaration
Swift
@StreamPhoto .Timestamp var createdAt: Date? { get set }
-
Timestamp of the model’s soft-deletion, set automatically.
Declaration
Swift
@StreamPhoto .Timestamp var deletedAt: Date? { get set }
-
The event where the photo was taken, if any.
Declaration
Swift
@StreamPhoto .OptionalParent var atEvent: Event? { get set }
-
Declaration
Swift
init()
-
Declaration
Swift
init(image: String, captureTime: Date, user: UserCacheData, atEvent: Event? = nil, boatLocation: PhotoStreamBoatLocation? = nil)
-
Declaration
Swift
var reportType: ReportType { get }
-
Declaration
Swift
var authorUUID: UUID { get }
-
Declaration
Swift
var autoQuarantineThreshold: Int { get }