kontenhumas-be/app/module/bookmarks/mapper/bookmarks.mapper.go

56 lines
2.0 KiB
Go
Raw Normal View History

2025-09-28 01:53:09 +00:00
package mapper
import (
2025-09-30 13:34:56 +00:00
"netidhub-saas-be/app/database/entity"
"netidhub-saas-be/app/module/bookmarks/response"
2025-09-28 01:53:09 +00:00
)
2025-10-12 17:51:58 +00:00
func ToBookmarksResponse(domain string, bookmark *entity.Bookmarks) *response.BookmarksResponse {
2025-09-28 01:53:09 +00:00
return &response.BookmarksResponse{
ID: bookmark.ID,
UserId: bookmark.UserId,
ArticleId: bookmark.ArticleId,
IsActive: bookmark.IsActive,
CreatedAt: bookmark.CreatedAt,
UpdatedAt: bookmark.UpdatedAt,
Article: response.ArticleDetails{
ID: bookmark.Article.ID,
Title: bookmark.Article.Title,
Slug: bookmark.Article.Slug,
Description: bookmark.Article.Description,
HtmlDescription: bookmark.Article.HtmlDescription,
CategoryId: bookmark.Article.CategoryId,
TypeId: bookmark.Article.TypeId,
Tags: bookmark.Article.Tags,
2025-10-12 17:51:58 +00:00
ThumbnailUrl: getThumbnailUrl(domain, bookmark.Article.ThumbnailName),
2025-09-28 01:53:09 +00:00
PageUrl: bookmark.Article.PageUrl,
CreatedById: bookmark.Article.CreatedById,
ShareCount: bookmark.Article.ShareCount,
ViewCount: bookmark.Article.ViewCount,
CommentCount: bookmark.Article.CommentCount,
StatusId: bookmark.Article.StatusId,
IsBanner: bookmark.Article.IsBanner,
IsPublish: bookmark.Article.IsPublish,
PublishedAt: bookmark.Article.PublishedAt,
IsActive: bookmark.Article.IsActive,
CreatedAt: bookmark.Article.CreatedAt,
UpdatedAt: bookmark.Article.UpdatedAt,
},
}
}
2025-10-12 17:51:58 +00:00
func ToBookmarksResponseList(domain string, bookmarks []entity.Bookmarks) []*response.BookmarksResponse {
2025-09-28 01:53:09 +00:00
var responses []*response.BookmarksResponse
for _, bookmark := range bookmarks {
2025-10-12 17:51:58 +00:00
responses = append(responses, ToBookmarksResponse(domain, &bookmark))
2025-09-28 01:53:09 +00:00
}
return responses
}
2025-10-12 17:51:58 +00:00
func getThumbnailUrl(domain string, thumbnailName *string) string {
if thumbnailName != nil && *thumbnailName != "" {
return domain + "/articles/thumbnail/viewer/" + *thumbnailName
2025-09-28 01:53:09 +00:00
}
return ""
}