Files
multica/apps/ios/Multica/Models/Comment.swift
Jiayuan 31c2476a7b feat(ios): add MVP iOS app with issue management and agent log viewing
SwiftUI app (iOS 17+) with zero third-party dependencies:
- Passwordless email authentication with Keychain token storage
- Workspace selection and multi-workspace support
- Issue list grouped by status with search and filtering
- Issue detail with inline status/priority/assignee editing
- Comments with threaded display and compose
- Agent task runs history and real-time execution log streaming
- WebSocket integration for live updates
2026-04-02 23:50:28 +08:00

47 lines
1.1 KiB
Swift

import Foundation
struct Comment: Codable, Identifiable, Sendable {
let id: String
let issueId: String
let authorType: String
let authorId: String
let content: String
let type: String
let parentId: String?
let attachments: [Attachment]?
let createdAt: String
let updatedAt: String
// Joined fields from server
let authorName: String?
let authorAvatarURL: String?
enum CodingKeys: String, CodingKey {
case id, content, type, attachments
case issueId = "issue_id"
case authorType = "author_type"
case authorId = "author_id"
case parentId = "parent_id"
case createdAt = "created_at"
case updatedAt = "updated_at"
case authorName = "author_name"
case authorAvatarURL = "author_avatar_url"
}
var isFromAgent: Bool {
authorType == "agent"
}
}
struct Attachment: Codable, Identifiable, Sendable {
let id: String
let filename: String
let contentType: String?
let url: String?
enum CodingKeys: String, CodingKey {
case id, filename, url
case contentType = "content_type"
}
}