56 lines
2.0 KiB
Go
56 lines
2.0 KiB
Go
package mapper
|
|
|
|
import (
|
|
"netidhub-saas-be/app/database/entity"
|
|
"netidhub-saas-be/app/module/bookmarks/response"
|
|
)
|
|
|
|
func ToBookmarksResponse(domain string, bookmark *entity.Bookmarks) *response.BookmarksResponse {
|
|
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,
|
|
ThumbnailUrl: getThumbnailUrl(domain, bookmark.Article.ThumbnailName),
|
|
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,
|
|
},
|
|
}
|
|
}
|
|
|
|
func ToBookmarksResponseList(domain string, bookmarks []entity.Bookmarks) []*response.BookmarksResponse {
|
|
var responses []*response.BookmarksResponse
|
|
for _, bookmark := range bookmarks {
|
|
responses = append(responses, ToBookmarksResponse(domain, &bookmark))
|
|
}
|
|
return responses
|
|
}
|
|
|
|
func getThumbnailUrl(domain string, thumbnailName *string) string {
|
|
if thumbnailName != nil && *thumbnailName != "" {
|
|
return domain + "/articles/thumbnail/viewer/" + *thumbnailName
|
|
}
|
|
return ""
|
|
}
|