While adding a reply-tree view to bely-cli's TUI, found two gaps in the REST API around log entry replies. The DB already supports both (Log.parentLog / Log.childLogList is an arbitrary-depth tree), and the JSF portal already creates replies via ItemDomainLogbookController.prepareAddLogReply, but this isn't reachable over /api.
Prerequisite for bely-cli's reply-tree viewer to support composing a reply and to correctly render nested threads deeper than one level.
While adding a reply-tree view to bely-cli's TUI, found two gaps in the REST API around log entry replies. The DB already supports both (
Log.parentLog/Log.childLogListis an arbitrary-depth tree), and the JSF portal already creates replies viaItemDomainLogbookController.prepareAddLogReply, but this isn't reachable over/api.PUT /api/Logbook/AddUpdateLogEntry(LogbookRoute.addUpdateLogEntry) can only create top-level entries — theLogEntryDTO has no parent field. Add aparentLogIdfield torest/entities/LogEntry.java, and branch inaddUpdateLogEntry(whenlogIdis null andparentLogIdis set) to build the entry the same wayItemDomainLogbookController.prepareAddLogReplydoes:LogUtility.createLogEntry(user)+setParentLog(parentLog), notItemDomainLogbookControllerUtility.prepareAddLog(which would wire it into the document's own item-element list and make it a top-level entry instead of a reply).GET /api/Logbook/LogEntries/{logDocumentId}?loadReplies=trueonly returns direct replies —LogEntry.java's constructor hardcodesfalseforloadRepliesin the recursive call that buildslogReplies, so replies-of-replies are silently dropped even though the DB has no such limit.bely-api(tools/developer_tools/python-client) once both land, so clients (including bely-cli) can pick it up.Prerequisite for bely-cli's reply-tree viewer to support composing a reply and to correctly render nested threads deeper than one level.