aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEgor Kislitsyn <egor@kislitsyn.com>2020-09-09 20:02:20 +0400
committerEgor Kislitsyn <egor@kislitsyn.com>2020-10-07 18:34:29 +0400
commit86ce4afd9338d81f741fa57f962509a6f0f50aff (patch)
tree644c0f73aa8e1e9c13f4215510a7f9692fea904e
parent2c73bfe1227065fa203b0b78c9eb12cf86ab3948 (diff)
downloadpleroma-86ce4afd9338d81f741fa57f962509a6f0f50aff.tar.gz
Improve backup urls
-rw-r--r--lib/pleroma/web/api_spec/operations/pleroma_backup_operation.ex6
-rw-r--r--lib/pleroma/web/pleroma_api/views/backup_view.ex6
-rw-r--r--test/web/pleroma_api/controllers/backup_controller_test.exs11
3 files changed, 14 insertions, 9 deletions
diff --git a/lib/pleroma/web/api_spec/operations/pleroma_backup_operation.ex b/lib/pleroma/web/api_spec/operations/pleroma_backup_operation.ex
index f877ca31b..6993794db 100644
--- a/lib/pleroma/web/api_spec/operations/pleroma_backup_operation.ex
+++ b/lib/pleroma/web/api_spec/operations/pleroma_backup_operation.ex
@@ -69,9 +69,9 @@ defmodule Pleroma.Web.ApiSpec.PleromaBackupOperation do
example: %{
"content_type" => "application/zip",
"file_name" =>
- "archive-cofe-20200908T195819-1lWrJyJqpsj8-KuHFr7N03lfsYYa5nf2NL-7A9-ddFU.zip",
- "file_size" => 1024,
- "inserted_at" => "2020-09-08T19:58:20",
+ "https://cofe.fe:4000/media/backups/archive-foobar-20200908T164207-Yr7vuT5Wycv-sN3kSN2iJ0k-9pMo60j9qmvRCdDqIew.zip",
+ "file_size" => 4105,
+ "inserted_at" => "2020-09-08T16:42:07.000Z",
"processed" => true
}
}
diff --git a/lib/pleroma/web/pleroma_api/views/backup_view.ex b/lib/pleroma/web/pleroma_api/views/backup_view.ex
index 02b94ce4f..bf40a001e 100644
--- a/lib/pleroma/web/pleroma_api/views/backup_view.ex
+++ b/lib/pleroma/web/pleroma_api/views/backup_view.ex
@@ -11,7 +11,7 @@ defmodule Pleroma.Web.PleromaAPI.BackupView do
def render("show.json", %{backup: %Backup{} = backup}) do
%{
content_type: backup.content_type,
- file_name: backup.file_name,
+ url: download_url(backup),
file_size: backup.file_size,
processed: backup.processed,
inserted_at: Utils.to_masto_date(backup.inserted_at)
@@ -21,4 +21,8 @@ defmodule Pleroma.Web.PleromaAPI.BackupView do
def render("index.json", %{backups: backups}) do
render_many(backups, __MODULE__, "show.json")
end
+
+ def download_url(%Backup{file_name: file_name}) do
+ Pleroma.Web.Endpoint.url() <> "/media/backups/" <> file_name
+ end
end
diff --git a/test/web/pleroma_api/controllers/backup_controller_test.exs b/test/web/pleroma_api/controllers/backup_controller_test.exs
index 1ad1b63c4..5d2f1206e 100644
--- a/test/web/pleroma_api/controllers/backup_controller_test.exs
+++ b/test/web/pleroma_api/controllers/backup_controller_test.exs
@@ -6,6 +6,7 @@ defmodule Pleroma.Web.PleromaAPI.BackupControllerTest do
use Pleroma.Web.ConnCase
alias Pleroma.Backup
+ alias Pleroma.Web.PleromaAPI.BackupView
setup do
clear_config([Pleroma.Upload, :uploader])
@@ -26,20 +27,20 @@ defmodule Pleroma.Web.PleromaAPI.BackupControllerTest do
assert [
%{
"content_type" => "application/zip",
- "file_name" => file_name,
+ "url" => url,
"file_size" => 0,
"processed" => false,
"inserted_at" => _
}
] = response
- assert file_name == backup.file_name
+ assert url == BackupView.download_url(backup)
Pleroma.Tests.ObanHelpers.perform_all()
assert [
%{
- "file_name" => ^file_name,
+ "url" => ^url,
"processed" => true
}
] =
@@ -52,7 +53,7 @@ defmodule Pleroma.Web.PleromaAPI.BackupControllerTest do
assert [
%{
"content_type" => "application/zip",
- "file_name" => file_name,
+ "url" => url,
"file_size" => 0,
"processed" => false,
"inserted_at" => _
@@ -66,7 +67,7 @@ defmodule Pleroma.Web.PleromaAPI.BackupControllerTest do
assert [
%{
- "file_name" => ^file_name,
+ "url" => ^url,
"processed" => true
}
] =