add methods in Repository an dModel for importing data
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 6s
Gitea Actions Demo / build-and-test (push) Failing after 13m11s

This commit is contained in:
Thomas Peetz
2026-10-30 00:19:25 +01:00
parent 0750621b96
commit 8706b3880f
25 changed files with 486 additions and 0 deletions
+12
View File
@@ -28,6 +28,18 @@ type ArticleDTO struct {
Title string `json:"title"`
}
func (dto ArticleDTO) ConvertDTOToModel() Article {
model := Article{
ID: dto.ID,
CreatedAt: dto.CreatedAt.Time,
UpdatedAt: dto.UpdatedAt.Time,
DeletedAt: dto.DeletedAt,
Version: dto.Version,
Title: dto.Title,
}
return model
}
func ConvertArticlesToDtos(articles []Article) []ArticleDTO {
dtos := make([]ArticleDTO, len(articles))
for i, article := range articles {
@@ -31,6 +31,19 @@ type ArticleAuthorDTO struct {
AuthorID *string `json:"author_id"`
}
func (dto ArticleAuthorDTO) ConvertDTOToModel() ArticleAuthor {
model := ArticleAuthor{
ID: dto.ID,
CreatedAt: dto.CreatedAt.Time,
UpdatedAt: dto.UpdatedAt.Time,
DeletedAt: dto.DeletedAt,
Version: dto.Version,
ArticleID: dto.ArticleID,
AuthorID: dto.AuthorID,
}
return model
}
func ConvertArticleAuthorsToDtos(article_authors []ArticleAuthor) []ArticleAuthorDTO {
dtos := make([]ArticleAuthorDTO, len(article_authors))
for i, article_author := range article_authors {
+13
View File
@@ -31,6 +31,19 @@ type AuthorDTO struct {
LastName string `json:"last_name"`
}
func (dto AuthorDTO) ConvertDTOToModel() Author {
model := Author{
ID: dto.ID,
CreatedAt: dto.CreatedAt.Time,
UpdatedAt: dto.UpdatedAt.Time,
DeletedAt: dto.DeletedAt,
Version: dto.Version,
FirstName: dto.FirstName,
LastName: dto.LastName,
}
return model
}
func ConvertAuthorsToDtos(authors []Author) []AuthorDTO {
dtos := make([]AuthorDTO, len(authors))
for i, author := range authors {
+12
View File
@@ -32,6 +32,18 @@ type BookDTO struct {
Title string `json:"title"`
}
func (dto BookDTO) ConvertDTOToModel() Book {
model := Book{
ID: dto.ID,
CreatedAt: dto.CreatedAt.Time,
UpdatedAt: dto.UpdatedAt.Time,
DeletedAt: dto.DeletedAt,
Version: dto.Version,
Title: dto.Title,
}
return model
}
func ConvertBooksToDtos(books []Book) []BookDTO {
dtos := make([]BookDTO, len(books))
for i, book := range books {
+13
View File
@@ -31,6 +31,19 @@ type BookAuthorDTO struct {
AuthorID *string `json:"author_id"`
}
func (dto BookAuthorDTO) ConvertDTOToModel() BookAuthor {
model := BookAuthor{
ID: dto.ID,
CreatedAt: dto.CreatedAt.Time,
UpdatedAt: dto.UpdatedAt.Time,
DeletedAt: dto.DeletedAt,
Version: dto.Version,
BookID: dto.BookID,
AuthorID: dto.AuthorID,
}
return model
}
func ConvertBookAuthorsToDtos(book_authors []BookAuthor) []BookAuthorDTO {
dtos := make([]BookAuthorDTO, len(book_authors))
for i, book_author := range book_authors {
@@ -28,6 +28,18 @@ type BookshelfPublisherDTO struct {
Name string `json:"name"`
}
func (dto BookshelfPublisherDTO) ConvertDTOToModel() BookshelfPublisher {
model := BookshelfPublisher{
ID: dto.ID,
CreatedAt: dto.CreatedAt.Time,
UpdatedAt: dto.UpdatedAt.Time,
DeletedAt: dto.DeletedAt,
Version: dto.Version,
Name: dto.Name,
}
return model
}
func ConvertBookshelfPublishersToDtos(publishers []BookshelfPublisher) []BookshelfPublisherDTO {
dtos := make([]BookshelfPublisherDTO, len(publishers))
for i, publisher := range publishers {
+14
View File
@@ -34,6 +34,20 @@ type ComicworkDTO struct {
WorkTypeID *string `json:"work_type_id"`
}
func (dto ComicworkDTO) ConvertDTOToModel() ComicWork {
model := ComicWork{
ID: dto.ID,
CreatedAt: dto.CreatedAt.Time,
UpdatedAt: dto.UpdatedAt.Time,
DeletedAt: dto.DeletedAt,
Version: dto.Version,
ComicID: dto.ComicID,
ArtistID: dto.ArtistID,
WorkTypeID: dto.WorkTypeID,
}
return model
}
func ConvertComicworksToDtos(comicworks []ComicWork) []ComicworkDTO {
dtos := make([]ComicworkDTO, len(comicworks))
for i, comicwork := range comicworks {
+19
View File
@@ -44,6 +44,25 @@ type IssueDTO struct {
StoryArcID *string `json:"story_arc_id"`
}
func (dto IssueDTO) ConvertDTOToModel() Issue {
model := Issue{
ID: dto.ID,
CreatedAt: dto.CreatedAt.Time,
UpdatedAt: dto.UpdatedAt.Time,
DeletedAt: dto.DeletedAt,
Version: dto.Version,
IssueNumber: dto.IssueNumber,
Title: dto.Title,
PublishedOn: dto.PublishedOn.Time,
InStock: dto.InStock,
IsRead: dto.IsRead,
ComicID: dto.ComicID,
VolumeID: dto.VolumeID,
StoryArcID: dto.StoryArcID,
}
return model
}
func ConvertIssuesToDtos(issues []Issue) []IssueDTO {
dtos := make([]IssueDTO, len(issues))
for i, issue := range issues {
+14
View File
@@ -34,6 +34,20 @@ type IssueworkDTO struct {
WorkTypeID *string `json:"work_type_id"`
}
func (dto IssueworkDTO) ConvertDTOToModel() IssueWork {
model := IssueWork{
ID: dto.ID,
CreatedAt: dto.CreatedAt.Time,
UpdatedAt: dto.UpdatedAt.Time,
DeletedAt: dto.DeletedAt,
Version: dto.Version,
IssueID: dto.IssueID,
ArtistID: dto.ArtistID,
WorkTypeID: dto.WorkTypeID,
}
return model
}
func ConvertIssueworksToDtos(issueworks []IssueWork) []IssueworkDTO {
dtos := make([]IssueworkDTO, len(issueworks))
for i, issuework := range issueworks {
+16
View File
@@ -35,6 +35,22 @@ type MailDTO struct {
ReceivedAt time.Time `json:"received_date"`
}
func (dto MailDTO) ConvertDTOToModel() Mail {
model := Mail{
ID: dto.ID,
CreatedAt: dto.CreatedAt.Time,
UpdatedAt: dto.UpdatedAt.Time,
DeletedAt: dto.DeletedAt,
Version: dto.Version,
Folder: dto.Folder,
Subject: dto.Subject,
Body: dto.Body,
SendAt: dto.SendAt,
ReceivedAt: dto.ReceivedAt,
}
return model
}
func ConvertMailsToDtos(mails []Mail) []MailDTO {
dtos := make([]MailDTO, len(mails))
for i, mail := range mails {
+14
View File
@@ -33,6 +33,20 @@ type StoryArcDTO struct {
VolumeID *string `json:"volume_id"`
}
func (dto StoryArcDTO) ConvertDTOToModel() StoryArc {
model := StoryArc{
ID: dto.ID,
CreatedAt: dto.CreatedAt.Time,
UpdatedAt: dto.UpdatedAt.Time,
DeletedAt: dto.DeletedAt,
Version: dto.Version,
Name: dto.Name,
ComicID: dto.ComicID,
VolumeID: dto.VolumeID,
}
return model
}
func ConvertStoryArcsToDtos(storyarcs []StoryArc) []StoryArcDTO {
dtos := make([]StoryArcDTO, len(storyarcs))
for i, storyarc := range storyarcs {
@@ -34,6 +34,21 @@ type TradePaperbackDTO struct {
ComicID *string `json:"comic_id"`
}
func (dto TradePaperbackDTO) ConvertDTOToModel() TradePaperback {
model := TradePaperback{
ID: dto.ID,
CreatedAt: dto.CreatedAt.Time,
UpdatedAt: dto.UpdatedAt.Time,
DeletedAt: dto.DeletedAt,
Version: dto.Version,
Name: dto.Name,
IssueStart: dto.IssueStart,
IssueEnd: dto.IssueEnd,
ComicID: dto.ComicID,
}
return model
}
func ConvertTradePaperbacksToDtos(tradepaperbacks []TradePaperback) []TradePaperbackDTO {
dtos := make([]TradePaperbackDTO, len(tradepaperbacks))
for i, tradepaperback := range tradepaperbacks {