diff --git a/.gitignore b/.gitignore index a7d3d38..9ad71e2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ *.bak *.exe scripts/* -.forgejo/* \ No newline at end of file +.forgejo/* +.vscode/* \ No newline at end of file diff --git a/bucket/chat_medelexis.json b/bucket/chat-medelexis.json similarity index 100% rename from bucket/chat_medelexis.json rename to bucket/chat-medelexis.json diff --git a/bucket/elexis-3.10.json b/bucket/elexis-3.10.json new file mode 100644 index 0000000..226cbec --- /dev/null +++ b/bucket/elexis-3.10.json @@ -0,0 +1,67 @@ +{ + "version": "20241018T145846Z", + "description": "Elexis 3.10", + "url": "https://download.medelexis.ch/medelexis/3.10/products/ch.medelexis.application.product.Medelexis-win32.win32.x86_64-signed.zip#/Elexis-20241018T145846Z.zip", + "hash": "de4dafd270a875ceebdce054941b7c136d3a1853f0b6c4cf6cef3398e4db9228", + "bin": [ + [ + "Medelexis.exe", + "e10", + "-console" + ] + ], + "shortcuts": [ + [ + "Medelexis.exe", + "Elexis 3.10", + "-console" + ], + [ + "Medelexis.ini", + "ini 3.10" + ] + ], + "post_install": [ + "$iniPath = \"$persist_dir\\Medelexis.ini\"", + "$ini = Get-Content $iniPath", + "$insert = @('-Dprovisioning.UpdateRepository=3.10', '-DopenDBWizard', '-Dfop.printing.debug=true')", + "$missing = @($insert | Where-Object { $_ -notin $ini })", + "if ($missing.Count -gt 0) {", + " $vmargs = $ini | Select-String '^-vmargs$' | Select-Object -First 1", + " if (-not $vmargs) { throw '-vmargs wurde in Medelexis.ini nicht gefunden.' }", + " $index = $vmargs.LineNumber", + " $before = $ini[0..($index - 1)]", + " $after = if ($index -lt $ini.Count) { $ini[$index..($ini.Count - 1)] } else { @() }", + " $ini = @($before) + $missing + @($after)", + " Set-Content $iniPath $ini", + "}" + ], + "persist": [ + "Medelexis.ini", + "workspace\\.metadata\\.plugins\\org.eclipse.e4.workbench" + ], + "notes": [ + "Elexis 3.10 wurde installiert.", + "", + "INI wurde mit Repo-Eintrag, DB-Abfrage und FOP-Debug ergänzt.", + "Programm startet mit Konsole.", + "", + "Konsolenbefehle:", + "-> e10 = Start Elexis 3.10" + ], + "checkver": { + "url": "https://download.medelexis.ch/medelexis/3.10/products/", + "script": [ + "$fileUrl = 'https://download.medelexis.ch/medelexis/3.10/products/ch.medelexis.application.product.Medelexis-win32.win32.x86_64-signed.zip'", + "$response = Invoke-WebRequest -Uri $fileUrl -Method Head -UseBasicParsing", + "$lastModified = [string]$response.Headers['Last-Modified']", + "if ([string]::IsNullOrWhiteSpace($lastModified)) { throw 'Kein Last-Modified-Header vorhanden.' }", + "$date = [DateTimeOffset]::ParseExact($lastModified, 'R', [Globalization.CultureInfo]::InvariantCulture)", + "$date.UtcDateTime.ToString(\"yyyyMMdd'T'HHmmss'Z'\")" + ], + "regex": "(?\\d{8}T\\d{6}Z)" + }, + "autoupdate": { + "url": "https://download.medelexis.ch/medelexis/3.10/products/ch.medelexis.application.product.Medelexis-win32.win32.x86_64-signed.zip#/Elexis-$version.zip" + } +} diff --git a/bucket/elexis-3.12.json b/bucket/elexis-3.12.json new file mode 100644 index 0000000..f22db8e --- /dev/null +++ b/bucket/elexis-3.12.json @@ -0,0 +1,67 @@ +{ + "version": "20260601T081039Z", + "description": "Elexis 3.12", + "url": "https://download.medelexis.ch/medelexis/3.12/products/ch.medelexis.application.product.Medelexis-win32.win32.x86_64-signed.zip#/Elexis-20260601T081039Z.zip", + "hash": "dc19c40dd1bcd66a6d823c1a59ced571542fe34a3e6c58e710f055cdbcc7ed38", + "bin": [ + [ + "Medelexis.exe", + "e12", + "-console" + ] + ], + "shortcuts": [ + [ + "Medelexis.exe", + "Elexis 3.12", + "-console" + ], + [ + "Medelexis.ini", + "ini 3.12" + ] + ], + "post_install": [ + "$iniPath = \"$persist_dir\\Medelexis.ini\"", + "$ini = Get-Content $iniPath", + "$insert = @('-Dprovisioning.UpdateRepository=3.12', '-DopenDBWizard', '-Dfop.printing.debug=true')", + "$missing = @($insert | Where-Object { $_ -notin $ini })", + "if ($missing.Count -gt 0) {", + " $vmargs = $ini | Select-String '^-vmargs$' | Select-Object -First 1", + " if (-not $vmargs) { throw '-vmargs wurde in Medelexis.ini nicht gefunden.' }", + " $index = $vmargs.LineNumber", + " $before = $ini[0..($index - 1)]", + " $after = if ($index -lt $ini.Count) { $ini[$index..($ini.Count - 1)] } else { @() }", + " $ini = @($before) + $missing + @($after)", + " Set-Content $iniPath $ini", + "}" + ], + "persist": [ + "Medelexis.ini", + "workspace\\.metadata\\.plugins\\org.eclipse.e4.workbench" + ], + "notes": [ + "Elexis 3.12 wurde installiert.", + "", + "INI wurde mit Repo-Eintrag, DB-Abfrage und FOP-Debug ergänzt.", + "Programm startet mit Konsole.", + "", + "Konsolenbefehle:", + "-> e12 = Start Elexis 3.12" + ], + "checkver": { + "url": "https://download.medelexis.ch/medelexis/3.12/products/", + "script": [ + "$fileUrl = 'https://download.medelexis.ch/medelexis/3.12/products/ch.medelexis.application.product.Medelexis-win32.win32.x86_64-signed.zip'", + "$response = Invoke-WebRequest -Uri $fileUrl -Method Head -UseBasicParsing", + "$lastModified = [string]$response.Headers['Last-Modified']", + "if ([string]::IsNullOrWhiteSpace($lastModified)) { throw 'Kein Last-Modified-Header vorhanden.' }", + "$date = [DateTimeOffset]::ParseExact($lastModified, 'R', [Globalization.CultureInfo]::InvariantCulture)", + "$date.UtcDateTime.ToString(\"yyyyMMdd'T'HHmmss'Z'\")" + ], + "regex": "(?\\d{8}T\\d{6}Z)" + }, + "autoupdate": { + "url": "https://download.medelexis.ch/medelexis/3.12/products/ch.medelexis.application.product.Medelexis-win32.win32.x86_64-signed.zip#/Elexis-$version.zip" + } +} \ No newline at end of file diff --git a/bucket/elexis-3.13.json b/bucket/elexis-3.13.json new file mode 100644 index 0000000..feabe65 --- /dev/null +++ b/bucket/elexis-3.13.json @@ -0,0 +1,67 @@ +{ + "version": "20260629T074811Z", + "description": "Elexis 3.13", + "url": "https://download.medelexis.ch/medelexis/3.13/products/ch.medelexis.application.product.Medelexis-win32.win32.x86_64-signed.zip#/Elexis-20260629T074811Z.zip", + "hash": "6180ed7b1efae077e506c2e6d3ce9f2f8a4d88e33f24cf50c6f325eb4ebfd239", + "bin": [ + [ + "Medelexis.exe", + "e13", + "-console" + ] + ], + "shortcuts": [ + [ + "Medelexis.exe", + "Elexis 3.13", + "-console" + ], + [ + "Medelexis.ini", + "ini 3.13" + ] + ], + "post_install": [ + "$iniPath = \"$persist_dir\\Medelexis.ini\"", + "$ini = Get-Content $iniPath", + "$insert = @('-Dprovisioning.UpdateRepository=3.13', '-DopenDBWizard', '-Dfop.printing.debug=true')", + "$missing = @($insert | Where-Object { $_ -notin $ini })", + "if ($missing.Count -gt 0) {", + " $vmargs = $ini | Select-String '^-vmargs$' | Select-Object -First 1", + " if (-not $vmargs) { throw '-vmargs wurde in Medelexis.ini nicht gefunden.' }", + " $index = $vmargs.LineNumber", + " $before = $ini[0..($index - 1)]", + " $after = if ($index -lt $ini.Count) { $ini[$index..($ini.Count - 1)] } else { @() }", + " $ini = @($before) + $missing + @($after)", + " Set-Content $iniPath $ini", + "}" + ], + "persist": [ + "Medelexis.ini", + "workspace\\.metadata\\.plugins\\org.eclipse.e4.workbench" + ], + "notes": [ + "Elexis 3.13 wurde installiert.", + "", + "INI wurde mit Repo-Eintrag, DB-Abfrage und FOP-Debug ergänzt.", + "Programm startet mit Konsole.", + "", + "Konsolenbefehle:", + "-> e13 = Start Elexis 3.13" + ], + "checkver": { + "url": "https://download.medelexis.ch/medelexis/3.13/products/", + "script": [ + "$fileUrl = 'https://download.medelexis.ch/medelexis/3.13/products/ch.medelexis.application.product.Medelexis-win32.win32.x86_64-signed.zip'", + "$response = Invoke-WebRequest -Uri $fileUrl -Method Head -UseBasicParsing", + "$lastModified = [string]$response.Headers['Last-Modified']", + "if ([string]::IsNullOrWhiteSpace($lastModified)) { throw 'Kein Last-Modified-Header vorhanden.' }", + "$date = [DateTimeOffset]::ParseExact($lastModified, 'R', [Globalization.CultureInfo]::InvariantCulture)", + "$date.UtcDateTime.ToString(\"yyyyMMdd'T'HHmmss'Z'\")" + ], + "regex": "(?\\d{8}T\\d{6}Z)" + }, + "autoupdate": { + "url": "https://download.medelexis.ch/medelexis/3.13/products/ch.medelexis.application.product.Medelexis-win32.win32.x86_64-signed.zip#/Elexis-$version.zip" + } +} diff --git a/bucket/elexis-master.json b/bucket/elexis-master.json new file mode 100644 index 0000000..4fea5c4 --- /dev/null +++ b/bucket/elexis-master.json @@ -0,0 +1,67 @@ +{ + "version": "20260601T071724Z", + "description": "Elexis master", + "url": "https://download.medelexis.ch/medelexis/master/products/ch.medelexis.application.product.Medelexis-win32.win32.x86_64-signed.zip#/Elexis-20260601T071724Z.zip", + "hash": "325f38a7b7a297a315ddad03ddb34e3061780c3fd869c4856cbe0ab7bed51124", + "bin": [ + [ + "Medelexis.exe", + "em", + "-console" + ] + ], + "shortcuts": [ + [ + "Medelexis.exe", + "Elexis master", + "-console" + ], + [ + "Medelexis.ini", + "ini master" + ] + ], + "post_install": [ + "$iniPath = \"$persist_dir\\Medelexis.ini\"", + "$ini = Get-Content $iniPath", + "$insert = @('-Dprovisioning.UpdateRepository=master', '-DopenDBWizard', '-Dfop.printing.debug=true')", + "$missing = @($insert | Where-Object { $_ -notin $ini })", + "if ($missing.Count -gt 0) {", + " $vmargs = $ini | Select-String '^-vmargs$' | Select-Object -First 1", + " if (-not $vmargs) { throw '-vmargs wurde in Medelexis.ini nicht gefunden.' }", + " $index = $vmargs.LineNumber", + " $before = $ini[0..($index - 1)]", + " $after = if ($index -lt $ini.Count) { $ini[$index..($ini.Count - 1)] } else { @() }", + " $ini = @($before) + $missing + @($after)", + " Set-Content $iniPath $ini", + "}" + ], + "persist": [ + "Medelexis.ini", + "workspace\\.metadata\\.plugins\\org.eclipse.e4.workbench" + ], + "notes": [ + "Elexis master wurde installiert.", + "", + "INI wurde mit Repo-Eintrag, DB-Abfrage und FOP-Debug ergänzt.", + "Programm startet mit Konsole.", + "", + "Konsolenbefehle:", + "-> em = Start Elexis master" + ], + "checkver": { + "url": "https://download.medelexis.ch/medelexis/master/products/", + "script": [ + "$fileUrl = 'https://download.medelexis.ch/medelexis/master/products/ch.medelexis.application.product.Medelexis-win32.win32.x86_64-signed.zip'", + "$response = Invoke-WebRequest -Uri $fileUrl -Method Head -UseBasicParsing", + "$lastModified = [string]$response.Headers['Last-Modified']", + "if ([string]::IsNullOrWhiteSpace($lastModified)) { throw 'Kein Last-Modified-Header vorhanden.' }", + "$date = [DateTimeOffset]::ParseExact($lastModified, 'R', [Globalization.CultureInfo]::InvariantCulture)", + "$date.UtcDateTime.ToString(\"yyyyMMdd'T'HHmmss'Z'\")" + ], + "regex": "(?\\d{8}T\\d{6}Z)" + }, + "autoupdate": { + "url": "https://download.medelexis.ch/medelexis/master/products/ch.medelexis.application.product.Medelexis-win32.win32.x86_64-signed.zip#/Elexis-$version.zip" + } +} diff --git a/bucket/elexis_3.10.json b/bucket/elexis_3.10.json deleted file mode 100644 index 8056bbc..0000000 --- a/bucket/elexis_3.10.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "version": "3.10", - "description": "Elexis 3.10", - "url": [ - "https://download.medelexis.ch/medelexis/3.10/products/ch.medelexis.application.product.Medelexis-win32.win32.x86_64-signed.zip#/Elexis-3.10.zip" - ], - "bin": [ - ["Medelexis.exe", "e10", "-console"] - ], - "shortcuts": [ - ["Medelexis.exe", "Elexis 3.10", "-console"], - ["Medelexis.ini", "ini 3.10"] - ], - "post_install": [ - "$ini = Get-Content \"$persist_dir\\Medelexis.ini\"", - "$insert = @('-Dprovisioning.UpdateRepository=3.10', '-DopenDBWizard', '-Dfop.printing.debug=true')", - "$index = ($ini | Select-String '-vmargs').LineNumber", - "$ini = $ini[0..($index-1)] + $insert + $ini[$index..($ini.Length-1)]", - "Set-Content \"$persist_dir\\Medelexis.ini\" $ini" - ], - "persist": [ - "Medelexis.ini", - "workspace\\.metadata\\.plugins\\org.eclipse.e4.workbench" - ], - "notes": "Elexis 3.10 wurde installiert.\n\nINI wurde mit Repo-Eintrag, DB-Abfrage und FOP-Debug ergänzt.\nProgramm Startet mit Konsole \n\nKonsole Befehle:\n -> e10 = Start Elexis 3.10\n -> e10ini = Öffne ini von Elexis 3.10" -} \ No newline at end of file diff --git a/bucket/elexis_3.12.json b/bucket/elexis_3.12.json deleted file mode 100644 index fde51eb..0000000 --- a/bucket/elexis_3.12.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "version": "3.12", - "description": "Elexis 3.12", - "url": [ - "https://download.medelexis.ch/medelexis/3.12/products/ch.medelexis.application.product.Medelexis-win32.win32.x86_64-signed.zip#/Elexis-3.12.zip" - ], - "bin": [ - ["Medelexis.exe", "e12", "-console"] - ], - "shortcuts": [ - ["Medelexis.exe", "Elexis 3.12", "-console"], - ["Medelexis.ini", "ini 3.12"] - ], - "post_install": [ - "$ini = Get-Content \"$persist_dir\\Medelexis.ini\"", - "$insert = @('-Dprovisioning.UpdateRepository=3.12', '-DopenDBWizard', '-Dfop.printing.debug=true')", - "$index = ($ini | Select-String '-vmargs').LineNumber", - "$ini = $ini[0..($index-1)] + $insert + $ini[$index..($ini.Length-1)]", - "Set-Content \"$persist_dir\\Medelexis.ini\" $ini" - ], - "persist": [ - "Medelexis.ini", - "workspace\\.metadata\\.plugins\\org.eclipse.e4.workbench" - ], - "notes": "Elexis 3.12 wurde installiert.\n\nINI wurde mit Repo-Eintrag, DB-Abfrage und FOP-Debug ergänzt.\nProgramm Startet mit Konsole \n\nKonsole Befehle:\n -> e12 = Start Elexis 3.12\n -> e12ini = Öffne ini von Elexis 3.12" -} \ No newline at end of file diff --git a/bucket/elexis_3.13.json b/bucket/elexis_3.13.json deleted file mode 100644 index df3ce4f..0000000 --- a/bucket/elexis_3.13.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "version": "3.13", - "description": "Elexis 3.13", - "url": [ - "https://download.medelexis.ch/medelexis/3.13/products/ch.medelexis.application.product.Medelexis-win32.win32.x86_64-signed.zip#/Elexis-3.13.zip" - ], - "bin": [ - ["Medelexis.exe", "e13", "-console"] - ], - "shortcuts": [ - ["Medelexis.exe", "Elexis 3.13", "-console"], - ["Medelexis.ini", "ini 3.13"] - ], - "post_install": [ - "$ini = Get-Content \"$persist_dir\\Medelexis.ini\"", - "$insert = @('-Dprovisioning.UpdateRepository=3.13', '-DopenDBWizard', '-Dfop.printing.debug=true')", - "$index = ($ini | Select-String '-vmargs').LineNumber", - "$ini = $ini[0..($index-1)] + $insert + $ini[$index..($ini.Length-1)]", - "Set-Content \"$persist_dir\\Medelexis.ini\" $ini" - ], - "persist": [ - "Medelexis.ini", - "workspace\\.metadata\\.plugins\\org.eclipse.e4.workbench" - ], - "notes": "Elexis 3.13 wurde installiert.\n\nINI wurde mit Repo-Eintrag, DB-Abfrage und FOP-Debug ergänzt.\nProgramm Startet mit Konsole \n\nKonsole Befehle:\n -> e13 = Start Elexis 3.13\n -> e13ini = Öffne ini von Elexis 3.13" -} \ No newline at end of file diff --git a/bucket/elexis_master.json b/bucket/elexis_master.json deleted file mode 100644 index 19691f0..0000000 --- a/bucket/elexis_master.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "version": "master", - "description": "Elexis master", - "url": [ - "https://download.medelexis.ch/medelexis/master/products/ch.medelexis.application.product.Medelexis-win32.win32.x86_64-signed.zip#/Elexis-master.zip" - ], - "bin": [ - ["Medelexis.exe", "em", "-console"] - ], - "shortcuts": [ - ["Medelexis.exe", "Elexis master", "-console"], - ["Medelexis.ini", "ini master"] - ], - "post_install": [ - "$ini = Get-Content \"$persist_dir\\Medelexis.ini\"", - "$insert = @('-Dprovisioning.UpdateRepository=master', '-DopenDBWizard', '-Dfop.printing.debug=true')", - "$index = ($ini | Select-String '-vmargs').LineNumber", - "$ini = $ini[0..($index-1)] + $insert + $ini[$index..($ini.Length-1)]", - "Set-Content \"$persist_dir\\Medelexis.ini\" $ini" - ], - "persist": [ - "Medelexis.ini", - "workspace\\.metadata\\.plugins\\org.eclipse.e4.workbench" - ], - "notes": "Elexis master wurde installiert.\n\nINI wurde mit Repo-Eintrag, DB-Abfrage und FOP-Debug ergänzt.\nProgramm Startet mit Konsole \n\nKonsole Befehle:\n -> em = Start Elexis master\n -> emini = Öffne ini von Elexis master" -} \ No newline at end of file diff --git a/bucket/myelexis-cli.json b/bucket/myelexis-cli.json index 1028af2..9a57956 100644 --- a/bucket/myelexis-cli.json +++ b/bucket/myelexis-cli.json @@ -1,8 +1,31 @@ { - "version": "1.0.0", + "version": "20260715T124927Z", + "description": "MyElexis CLI", "url": "https://download.medelexis.ch/myelexis-cli/windows/myelexis-cli-1.0.0-SNAPSHOT-runner.exe#/myelexis-cli.exe", + "hash": "b9df1355c599acf7e816fe490ca9e1a7c6aef4de1a5f0b45e6343e7ccbe74fc8", "bin": [ - ["myelexis-cli.exe", "ee"], - ["myelexis-cli.exe", "es"] - ] -} \ No newline at end of file + [ + "myelexis-cli.exe", + "ee" + ], + [ + "myelexis-cli.exe", + "es" + ] + ], + "checkver": { + "url": "https://download.medelexis.ch/myelexis-cli/windows/", + "script": [ + "$fileUrl = 'https://download.medelexis.ch/myelexis-cli/windows/myelexis-cli-1.0.0-SNAPSHOT-runner.exe'", + "$response = Invoke-WebRequest -Uri $fileUrl -Method Head -UseBasicParsing", + "$lastModified = [string]$response.Headers['Last-Modified']", + "if ([string]::IsNullOrWhiteSpace($lastModified)) { throw 'Kein Last-Modified-Header vorhanden.' }", + "$date = [DateTimeOffset]::ParseExact($lastModified, 'R', [Globalization.CultureInfo]::InvariantCulture)", + "$date.UtcDateTime.ToString('yyyyMMddTHHmmssZ')" + ], + "regex": "(?\\d{8}T\\d{6}Z)" + }, + "autoupdate": { + "url": "https://download.medelexis.ch/myelexis-cli/windows/myelexis-cli-1.0.0-SNAPSHOT-runner.exe#/myelexis-cli.exe" + } +}