#99: DataTransferPublicAttachmentPageRest.kt
plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt Kotlin-Klasse, plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt 108 Zeilen · 69 Code · 28 Kommentare · 11 leer
Zweck: Quelldatei: plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt. DataTransferPublicAttachmentPageRest.kt ist Teil der Open-Source-Projektmanagement-Anwendung ProjectForge.
Quelltext (erste 100 Zeilen)
/////////////////////////////////////////////////////////////////////////////
//
// Project ProjectForge Community Edition
// www.projectforge.org
//
// Copyright (C) 2001-2026 Micromata GmbH, Deutschland (www.micromata.com)
//
// ProjectForge ist dual-lizenziert.
//
// Diese Community-Edition ist freie Software; Sie können es weiterverteilen und/oder
// modifizieren unter den Bedingungen der GNU General Public License, wie veröffentlicht
// von der Free Software Foundation; Version 3 der Lizenz.
//
// Diese Community-Edition wird in der Hoffnung verteilt, dass sie nützlich sein wird,
// aber OHNE JEDE GEWÄHRLEISTUNG; ohne sogar die stillschweigende Garantie der
// MARKTGÄNGIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Siehe die GNU General
// Public License für weitere Details.
//
// Sie sollten eine Kopie der GNU General Public License zusammen mit
// diesem Programm erhalten haben; falls nicht, siehe http://www.gnu.org/licenses/.
//
/////////////////////////////////////////////////////////////////////////////
package org.projectforge.plugins.datatransfer.restPublic
import jakarta.annotation.PostConstruct
import jakarta.servlet.http.HttpServletRequest
import mu.KotlinLogging
import org.projectforge.framework.jcr.AttachmentsService
import org.projectforge.plugins.datatransfer.DataTransferAreaDao
import org.projectforge.plugins.datatransfer.DataTransferPlugin
import org.projectforge.plugins.datatransfer.rest.DataTransferAreaPagesRest
import org.projectforge.rest.AttachmentPageRest
import org.projectforge.rest.AttachmentsServicesRest
import org.projectforge.rest.config.Rest
import org.projectforge.rest.core.AbstractDynamicPageRest
import org.projectforge.rest.dto.FormLayoutData
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RequestParam
import org.springframework.web.bind.annotation.RestController
private val log = KotlinLogging.logger {}
/**
* Für externe anonyme Nutzung über Token/Passwort.
*/
@RestController
@RequestMapping("${Rest.PUBLIC_URL}/attachment")
class DataTransferPublicAttachmentPageRest : AbstractDynamicPageRest() {
@Autowired
private lateinit var services: AttachmentsServicesRest
@Autowired
private lateinit var dataTransferAreaPagesRest: DataTransferAreaPagesRest
@Autowired
private lateinit var dataTransferPublicServicesRest: DataTransferPublicServicesRest
@Autowired
private lateinit var dataTransferPublicSession: DataTransferPublicSession
private lateinit var dataTransferPublicAccessChecker: DataTransferPublicAccessChecker
@PostConstruct
private fun postConstruct() {
dataTransferPublicAccessChecker = DataTransferPublicAccessChecker(dataTransferPublicSession)
}
/**
* Schlägt fehl, wenn der Benutzer keine Sitzung hat.
*/
@GetMapping("dynamic")
fun getForm(
@RequestParam("id", required = true) id: Long,
@RequestParam("category", required = true) category: String,
@RequestParam("fileId", required = true) fileId: String,
@RequestParam("listId") listId: String?,
request: HttpServletRequest
): FormLayoutData {
check(category == DataTransferPlugin.ID)
check(listId == AttachmentsService.DEFAULT_NODE)
val data =
dataTransferPublicSession.checkLogin(request, id) ?: throw IllegalArgumentException("Keine gültige Anmeldung.")
val area = data.first
val sessionData = data.second
log.info {
"Benutzer versucht, Details des Anhangs zu bearbeiten/anzuzeigen: category=$category, id=$id, fileId=$fileId, listId=$listId)}, user='${
DataTransferAreaDao.getExternalUserString(request, sessionData.userInfo)
}'."
}
val attachmentData =
AttachmentsServicesRest.AttachmentData(category = category, id = id, fileId = fileId, listId = listId)
attachmentData.attachment =
services.getAttachment(dataTransferAreaPagesRest.jcrPath!!, dataTransferPublicAccessChecker, attachmentData)
val layout = AttachmentPageRest.createAttachmentLayout(
id = id,
category = category,
Git-Verlauf
868d6abb7 2025 -> 2026
63081666f Quelltext-Dateiköpfe: 2024 -> 2025.
d67bce18b Migrationsarbeiten in Bearbeitung...
4c04cfd65 GROSSE ÄNDERUNG! Migration von Integer-IDs zu Long-IDs (inkl. Fremdschlüssel usw.)
77bade6df javax.* -> jakarta.*
868d6abb7
2025 -> 2026868d6abb75cd191a892911ac8e45058932cf9074
diff --git a/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt b/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt
index 107f1e29f..7e77dc16f 100644
--- a/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt
+++ b/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt
@@ -3,7 +3,7 @@
// Project ProjectForge Community Edition
// www.projectforge.org
//
-// Copyright (C) 2001-2025 Micromata GmbH, Deutschland (www.micromata.com)
+// Copyright (C) 2001-2026 Micromata GmbH, Deutschland (www.micromata.com)
//
// ProjectForge ist dual-lizenziert.
//
63081666f
Quelltext-Dateiköpfe: 2024 -> 2025.63081666f620fb87315f01b817e560e0b2f6a33a
diff --git a/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt b/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt
index 89d9339bc..107f1e29f 100644
--- a/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt
+++ b/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt
@@ -3,7 +3,7 @@
// Project ProjectForge Community Edition
// www.projectforge.org
//
-// Copyright (C) 2001-2024 Micromata GmbH, Deutschland (www.micromata.com)
+// Copyright (C) 2001-2025 Micromata GmbH, Deutschland (www.micromata.com)
//
// ProjectForge ist dual-lizenziert.
//
d67bce18b
Migrationsarbeiten in Bearbeitung...d67bce18b948b5dce6a302daf4cfbfe89f4b9d99
diff --git a/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt b/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt
index ea09aa7ce..89d9339bc 100644
--- a/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt
+++ b/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt
@@ -23,6 +23,8 @@
package org.projectforge.plugins.datatransfer.restPublic
+import jakarta.annotation.PostConstruct
+import jakarta.servlet.http.HttpServletRequest
import mu.KotlinLogging
import org.projectforge.framework.jcr.AttachmentsService
import org.projectforge.plugins.datatransfer.DataTransferAreaDao
@@ -38,8 +40,6 @@ import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RequestParam
import org.springframework.web.bind.annotation.RestController
-import jakarta.annotation.PostConstruct
-import jakarta.servlet.http.HttpServletRequest
private val log = KotlinLogging.logger {}
@@ -49,60 +49,60 @@ private val log = KotlinLogging.logger {}
@RestController
@RequestMapping("${Rest.PUBLIC_URL}/attachment")
class DataTransferPublicAttachmentPageRest : AbstractDynamicPageRest() {
- @Autowired
- private lateinit var services: AttachmentsServicesRest
+ @Autowired
+ private lateinit var services: AttachmentsServicesRest
- @Autowired
- private lateinit var dataTransferAreaPagesRest: DataTransferAreaPagesRest
+ @Autowired
+ private lateinit var dataTransferAreaPagesRest: DataTransferAreaPagesRest
- @Autowired
- private lateinit var dataTransferPublicServicesRest: DataTransferPublicServicesRest
+ @Autowired
+ private lateinit var dataTransferPublicServicesRest: DataTransferPublicServicesRest
- @Autowired
- private lateinit var dataTransferPublicSession: DataTransferPublicSession
+ @Autowired
+ private lateinit var dataTransferPublicSession: DataTransferPublicSession
- private lateinit var dataTransferPublicAccessChecker: DataTransferPublicAccessChecker
+ private lateinit var dataTransferPublicAccessChecker: DataTransferPublicAccessChecker
- @PostConstruct
- private fun postConstruct() {
- dataTransferPublicAccessChecker = DataTransferPublicAccessChecker(dataTransferPublicSession)
- }
+ @PostConstruct
+ private fun postConstruct() {
+ dataTransferPublicAccessChecker = DataTransferPublicAccessChecker(dataTransferPublicSession)
+ }
- /** 4c04cfd65
GROSSE ÄNDERUNG! Migration von Integer-IDs zu Long-IDs (inkl. Fremdschlüssel usw.)4c04cfd652210afe373d55f53a5300c85997b109
diff --git a/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt b/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt
index 06ce822f2..ea09aa7ce 100644
--- a/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt
+++ b/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt
@@ -73,7 +73,7 @@ class DataTransferPublicAttachmentPageRest : AbstractDynamicPageRest() {
*/
@GetMapping("dynamic")
fun getForm(
- @RequestParam("id", required = true) id: Int,
+ @RequestParam("id", required = true) id: Long,
@RequestParam("category", required = true) category: String,
@RequestParam("fileId", required = true) fileId: String,
@RequestParam("listId") listId: String?, 77bade6df
javax.* -> jakarta.*77bade6dfb148c87638c71951accb03942157fcf
diff --git a/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt b/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt
index 2219a4403..06ce822f2 100644
--- a/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt
+++ b/plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/restPublic/DataTransferPublicAttachmentPageRest.kt
@@ -38,8 +38,8 @@ import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RequestParam
import org.springframework.web.bind.annotation.RestController
-import javax.annotation.PostConstruct
-import javax.servlet.http.HttpServletRequest
+import jakarta.annotation.PostConstruct
+import jakarta.servlet.http.HttpServletRequest
private val log = KotlinLogging.logger {}