1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- // Copyright 2021 The Gitea Authors. All rights reserved.
- // SPDX-License-Identifier: MIT
-
- package private
-
- import (
- "io"
- "net/http"
-
- myCtx "code.gitea.io/gitea/modules/context"
- "code.gitea.io/gitea/modules/json"
- "code.gitea.io/gitea/modules/private"
- "code.gitea.io/gitea/services/migrations"
- )
-
- // RestoreRepo restore a repository from data
- func RestoreRepo(ctx *myCtx.PrivateContext) {
- bs, err := io.ReadAll(ctx.Req.Body)
- if err != nil {
- ctx.JSON(http.StatusInternalServerError, private.Response{
- Err: err.Error(),
- })
- return
- }
- params := struct {
- RepoDir string
- OwnerName string
- RepoName string
- Units []string
- Validation bool
- }{}
- if err = json.Unmarshal(bs, ¶ms); err != nil {
- ctx.JSON(http.StatusInternalServerError, private.Response{
- Err: err.Error(),
- })
- return
- }
-
- if err := migrations.RestoreRepository(
- ctx,
- params.RepoDir,
- params.OwnerName,
- params.RepoName,
- params.Units,
- params.Validation,
- ); err != nil {
- ctx.JSON(http.StatusInternalServerError, private.Response{
- Err: err.Error(),
- })
- } else {
- ctx.PlainText(http.StatusOK, "success")
- }
- }
|