Skip to content

Commit

Permalink
settings: add button to get logs
Browse files Browse the repository at this point in the history
  • Loading branch information
hrfee committed Dec 30, 2021
1 parent 8888807 commit 51b59ae
Show file tree
Hide file tree
Showing 8 changed files with 33 additions and 1 deletion.
9 changes: 9 additions & 0 deletions api.go
Expand Up @@ -2847,6 +2847,15 @@ func (app *appContext) restart(gc *gin.Context) {
}
}

// @Summary Returns the last 100 lines of the log.
// @Router /log [get]
// @Success 200 {object} LogDTO
// @Security Bearer
// @tags Other
func (app *appContext) GetLog(gc *gin.Context) {
gc.JSON(200, LogDTO{lineCache.String()})
}

// no need to syscall.exec anymore!
func (app *appContext) Restart() error {
if TRAY {
Expand Down
7 changes: 7 additions & 0 deletions html/admin.html
Expand Up @@ -71,6 +71,12 @@
<pre class="monospace">{{ .license }}</pre>
</div>
</div>
<div id="modal-logs" class="modal">
<div class="modal-content wide content card">
<span class="heading">{{ .strings.logs }}<span class="modal-close">&times;</span></span>
<pre class="monospace" id="log-area"></pre>
</div>
</div>
<div id="modal-modify-user" class="modal">
<form class="modal-content card" id="form-modify-user" href="">
<span class="heading"><span id="header-modify-user"></span> <span class="modal-close">&times;</span></span>
Expand Down Expand Up @@ -635,6 +641,7 @@ <h1 class="ac" id="telegram-pin"></h1>
</label>
</div>
<div>
<span class="button ~info !normal" id="settings-logs">{{ .strings.logs }}</span>
<span class="button ~neutral !normal" id="settings-restart">{{ .strings.settingsRestart }}</span>
<span class="button ~urge !normal unfocused" id="settings-save">{{ .strings.settingsSave }}</span>
</div>
Expand Down
1 change: 1 addition & 0 deletions lang/admin/en-us.json
Expand Up @@ -48,6 +48,7 @@
"profile": "Profile",
"unknown": "Unknown",
"label": "Label",
"logs": "Logs",
"announce": "Announce",
"templates": "Templates",
"subject": "Subject",
Expand Down
4 changes: 4 additions & 0 deletions models.go
Expand Up @@ -341,3 +341,7 @@ type InternalPWR struct {
ID string `json:"id"`
Expiry time.Time `json:"expiry"`
}

type LogDTO struct {
Log string `json:"log"`
}
1 change: 1 addition & 0 deletions router.go
Expand Up @@ -180,6 +180,7 @@ func (app *appContext) loadRoutes(router *gin.Engine) {
api.GET(p+"/config", app.GetConfig)
api.POST(p+"/config", app.ModifyConfig)
api.POST(p+"/restart", app.restart)
api.GET(p+"/logs", app.GetLog)
if telegramEnabled || discordEnabled || matrixEnabled {
api.GET(p+"/telegram/pin", app.TelegramGetPin)
api.GET(p+"/telegram/verified/:pin", app.TelegramVerified)
Expand Down
2 changes: 2 additions & 0 deletions ts/admin.ts
Expand Up @@ -87,6 +87,8 @@ window.availableProfiles = window.availableProfiles || [];

window.modals.matrix = new Modal(document.getElementById("modal-matrix"));

window.modals.logs = new Modal(document.getElementById("modal-logs"));

if (window.telegramEnabled) {
window.modals.telegram = new Modal(document.getElementById("modal-telegram"));
}
Expand Down
9 changes: 8 additions & 1 deletion ts/modules/settings.ts
Expand Up @@ -634,6 +634,13 @@ export class settingsList {
}
});

private _showLogs = () => _get("/logs", null, (req: XMLHttpRequest) => {
if (req.readyState == 4 && req.status == 200) {
(document.getElementById("log-area") as HTMLPreElement).textContent = req.response["log"] as string;
window.modals.logs.show();
}
});

constructor() {
this._sections = {};
this._buttons = {};
Expand All @@ -645,7 +652,7 @@ export class settingsList {
};
this._saveButton.onclick = this._save;
document.addEventListener("settings-requires-restart", () => { this._needsRestart = true; });

document.getElementById("settings-logs").onclick = this._showLogs;
const advancedEnableToggle = document.getElementById("settings-advanced-enabled") as HTMLInputElement;
advancedEnableToggle.onchange = () => {
document.dispatchEvent(new CustomEvent("settings-advancedState", { detail: advancedEnableToggle.checked }));
Expand Down
1 change: 1 addition & 0 deletions ts/typings/d.ts
Expand Up @@ -107,6 +107,7 @@ declare interface Modals {
discord: Modal;
matrix: Modal;
sendPWR?: Modal;
logs: Modal;
}

interface Invite {
Expand Down

0 comments on commit 51b59ae

Please sign in to comment.