summaryrefslogtreecommitdiff
path: root/Hutch/Models/Todo.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Hutch/Models/Todo.swift')
-rw-r--r--Hutch/Models/Todo.swift49
1 files changed, 49 insertions, 0 deletions
diff --git a/Hutch/Models/Todo.swift b/Hutch/Models/Todo.swift
index 8a2b06c..129d4bf 100644
--- a/Hutch/Models/Todo.swift
+++ b/Hutch/Models/Todo.swift
@@ -81,6 +81,55 @@ struct TicketLabel: Codable, Sendable, Identifiable, Hashable {
let foregroundColor: String
}
+// MARK: - Tracker ACL
+
+struct TrackerACLPermissions: Codable, Sendable, Hashable {
+ let browse: Bool
+ let submit: Bool
+ let comment: Bool
+ let edit: Bool
+ let triage: Bool
+}
+
+struct TrackerACL: Codable, Sendable, Identifiable, Hashable {
+ let id: Int
+ let created: Date
+ let entity: Entity
+ let browse: Bool
+ let submit: Bool
+ let comment: Bool
+ let edit: Bool
+ let triage: Bool
+
+ var permissions: TrackerACLPermissions {
+ TrackerACLPermissions(
+ browse: browse,
+ submit: submit,
+ comment: comment,
+ edit: edit,
+ triage: triage
+ )
+ }
+}
+
+struct DefaultTrackerACL: Codable, Sendable, Hashable {
+ let browse: Bool
+ let submit: Bool
+ let comment: Bool
+ let edit: Bool
+ let triage: Bool
+
+ var permissions: TrackerACLPermissions {
+ TrackerACLPermissions(
+ browse: browse,
+ submit: submit,
+ comment: comment,
+ edit: edit,
+ triage: triage
+ )
+ }
+}
+
// MARK: - Tracker
/// A bug tracker from todo.sr.ht.