aboutsummaryrefslogtreecommitdiffstats
path: root/services/convert/attachment.go
diff options
context:
space:
mode:
authorKN4CK3R <admin@oldschoolhack.me>2022-12-29 03:57:15 +0100
committerGitHub <noreply@github.com>2022-12-29 10:57:15 +0800
commita35749893b91db48310d91ae0a32fee3ad3bb901 (patch)
tree09521c51fe8d2c2366694141d82454aa881b853e /services/convert/attachment.go
parent309e86a9bf305e807ead2854fa757c4d704dcfce (diff)
downloadgitea-a35749893b91db48310d91ae0a32fee3ad3bb901.tar.gz
gitea-a35749893b91db48310d91ae0a32fee3ad3bb901.zip
Move `convert` package to services (#22264)
Addition to #22256 The `convert` package relies heavily on different models which is [disallowed by our definition of modules](https://github.com/go-gitea/gitea/blob/main/CONTRIBUTING.md#design-guideline). This helps to prevent possible import cycles. Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Diffstat (limited to 'services/convert/attachment.go')
-rw-r--r--services/convert/attachment.go30
1 files changed, 30 insertions, 0 deletions
diff --git a/services/convert/attachment.go b/services/convert/attachment.go
new file mode 100644
index 0000000000..ddba181a12
--- /dev/null
+++ b/services/convert/attachment.go
@@ -0,0 +1,30 @@
+// Copyright 2021 The Gitea Authors. All rights reserved.
+// SPDX-License-Identifier: MIT
+
+package convert
+
+import (
+ repo_model "code.gitea.io/gitea/models/repo"
+ api "code.gitea.io/gitea/modules/structs"
+)
+
+// ToAttachment converts models.Attachment to api.Attachment
+func ToAttachment(a *repo_model.Attachment) *api.Attachment {
+ return &api.Attachment{
+ ID: a.ID,
+ Name: a.Name,
+ Created: a.CreatedUnix.AsTime(),
+ DownloadCount: a.DownloadCount,
+ Size: a.Size,
+ UUID: a.UUID,
+ DownloadURL: a.DownloadURL(),
+ }
+}
+
+func ToAttachments(attachments []*repo_model.Attachment) []*api.Attachment {
+ converted := make([]*api.Attachment, 0, len(attachments))
+ for _, attachment := range attachments {
+ converted = append(converted, ToAttachment(attachment))
+ }
+ return converted
+}