53 lines · 1.4 KB · Go
RawDownload
// Copyright 2020 The Gitea Authors. All rights reserved.// SPDX-License-Identifier: MIT package user import (	"net/http"	"strconv" 	admin_model "forgejo.org/models/admin"	"forgejo.org/modules/json"	"forgejo.org/services/context") // TaskStatus returns task's statusfunc TaskStatus(ctx *context.Context) {	task, opts, err := admin_model.GetMigratingTaskByID(ctx, ctx.ParamsInt64("task"), ctx.Doer.ID)	if err != nil {		if admin_model.IsErrTaskDoesNotExist(err) {			ctx.JSON(http.StatusNotFound, map[string]any{				"error": "task `" + strconv.FormatInt(ctx.ParamsInt64("task"), 10) + "` does not exist",			})			return		}		ctx.JSON(http.StatusInternalServerError, map[string]any{			"err": err,		})		return	} 	message := task.Message 	if task.Message != "" && task.Message[0] == '{' {		// assume message is actually a translatable string		var translatableMessage admin_model.TranslatableMessage		if err := json.Unmarshal([]byte(message), &translatableMessage); err != nil {			translatableMessage = admin_model.TranslatableMessage{				Format: "migrate.migrating_failed.error",				Args:   []any{task.Message},			}		}		message = ctx.Locale.TrString(translatableMessage.Format, translatableMessage.Args...)	} 	ctx.JSON(http.StatusOK, map[string]any{		"status":    task.Status,		"message":   message,		"repo-id":   task.RepoID,		"repo-name": opts.RepoName,		"start":     task.StartTime,		"end":       task.EndTime,	})}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t