Add position for book in collection
This commit is contained in:
@@ -10,12 +10,37 @@ import (
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func CollectionQueryToCollectionItemDto(collectionsQueryResult []query.CollectionsQueryResult) []dto.CollectionItemGet {
|
||||
var collections []dto.CollectionItemGet
|
||||
func CollectionItemsQueryToDto(itemsQueryResult []query.CollectionItemQueryResult) []dto.CollectionItemGet {
|
||||
var dtoItems []dto.CollectionItemGet
|
||||
for _, queryResult := range itemsQueryResult {
|
||||
bookItem := dto.BookItemGet{
|
||||
ID: queryResult.ID,
|
||||
Title: queryResult.Title,
|
||||
Author: queryResult.Author,
|
||||
Description: queryResult.Description,
|
||||
InventaireID: queryResult.InventaireID,
|
||||
IsInventaireEdition: queryResult.IsInventaireEdition,
|
||||
Rating: queryResult.Rating,
|
||||
Read: queryResult.Read,
|
||||
StartReadDate: queryResult.StartReadDate,
|
||||
WantRead: queryResult.WantRead,
|
||||
CoverPath: queryResult.CoverPath,
|
||||
}
|
||||
dtoItems = append(dtoItems,
|
||||
dto.CollectionItemGet{
|
||||
Position: queryResult.Position,
|
||||
Book: bookItem,
|
||||
})
|
||||
}
|
||||
return dtoItems
|
||||
}
|
||||
|
||||
func CollectionQueryToCollectionItemDto(collectionsQueryResult []query.CollectionsQueryResult) []dto.CollectionListItemGet {
|
||||
var collections []dto.CollectionListItemGet
|
||||
for _, collectionDb := range collectionsQueryResult {
|
||||
i := findIdInCollection(collections, collectionDb.ID)
|
||||
if i == -1 {
|
||||
collections = append(collections, dto.CollectionItemGet{
|
||||
collections = append(collections, dto.CollectionListItemGet{
|
||||
ID: collectionDb.ID,
|
||||
Name: collectionDb.Name,
|
||||
})
|
||||
@@ -30,9 +55,9 @@ func CollectionQueryToCollectionItemDto(collectionsQueryResult []query.Collectio
|
||||
return collections
|
||||
}
|
||||
|
||||
func collectionDbToCollectionBookItem(collectionDb *query.CollectionsQueryResult) *dto.CollectionBookItemGet {
|
||||
func collectionDbToCollectionBookItem(collectionDb *query.CollectionsQueryResult) *dto.CollectionListBookItemGet {
|
||||
if collectionDb.BookId > 0 {
|
||||
bookItem := dto.CollectionBookItemGet{
|
||||
bookItem := dto.CollectionListBookItemGet{
|
||||
ID: collectionDb.BookId,
|
||||
Title: collectionDb.BookTitle,
|
||||
CoverPath: collectionDb.CoverPath,
|
||||
@@ -44,7 +69,7 @@ func collectionDbToCollectionBookItem(collectionDb *query.CollectionsQueryResult
|
||||
}
|
||||
|
||||
// returns the position in collections, -1 if not found
|
||||
func findIdInCollection(collections []dto.CollectionItemGet, collectionId uint) int {
|
||||
func findIdInCollection(collections []dto.CollectionListItemGet, collectionId uint) int {
|
||||
for i, collection := range collections {
|
||||
if collection.ID == collectionId {
|
||||
return i
|
||||
|
||||
Reference in New Issue
Block a user