Adds in Mantis features. Enabling automated downloading of Mantises into the internal database, browsing of them, and viewing of attachments (including .msg files).

Resolves #14
This commit is contained in:
Cameron Redmore 2025-04-25 23:31:50 +01:00
parent 0e77e310bd
commit 5268d6aecd
15 changed files with 1583 additions and 44 deletions

View file

@ -137,3 +137,44 @@ model Log {
message String
meta Json? // Optional field for additional structured data
}
// --- Mantis Models Start ---
model MantisIssue {
id Int @id @default(autoincrement())
title String
description String?
reporterUsername String? @map("reporter_username")
status String
priority String
severity String
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
comments MantisComment[]
}
model MantisComment {
id Int @id @default(autoincrement())
mantisIssueId Int @map("mantis_issue_id")
senderUsername String? @map("sender_username")
comment String
createdAt DateTime @default(now()) @map("created_at")
mantisIssue MantisIssue @relation(fields: [mantisIssueId], references: [id], onDelete: Cascade)
attachments MantisAttachment[]
}
model MantisAttachment {
id Int @id @default(autoincrement())
commentId Int @map("comment_id")
filename String
url String // Store path or URL to the file
mimeType String? @map("mime_type")
size Int?
uploadedAt DateTime @default(now()) @map("uploaded_at")
comment MantisComment @relation(fields: [commentId], references: [id], onDelete: Cascade)
}
// --- Mantis Models End ---