return cover_image_name since urls change, override one from db for now

This commit is contained in:
maryhipp 2023-06-16 10:21:55 -07:00 committed by psychedelicious
parent 49a02c157b
commit 95b9c8e505
3 changed files with 22 additions and 21 deletions

View File

@ -1,6 +1,6 @@
from abc import ABC, abstractmethod from abc import ABC, abstractmethod
from logging import Logger from logging import Logger
from typing import Union from typing import List, Union
from invokeai.app.services.board_image_record_storage import BoardImageRecordStorageBase from invokeai.app.services.board_image_record_storage import BoardImageRecordStorageBase
from invokeai.app.services.board_record_storage import ( from invokeai.app.services.board_record_storage import (
BoardRecord, BoardRecord,
@ -132,11 +132,11 @@ class BoardImagesService(BoardImagesServiceABC):
def board_record_to_dto( def board_record_to_dto(
board_record: BoardRecord, cover_image_url: str | None, image_count: int board_record: BoardRecord, cover_image_name: str | None, image_count: int
) -> BoardDTO: ) -> BoardDTO:
"""Converts a board record to a board DTO.""" """Converts a board record to a board DTO."""
return BoardDTO( return BoardDTO(
**board_record.dict(), **board_record.dict(exclude={'cover_image_name'}),
cover_image_url=cover_image_url, cover_image_name=cover_image_name,
image_count=image_count, image_count=image_count,
) )

View File

@ -101,15 +101,15 @@ class BoardService(BoardServiceABC):
def get_dto(self, board_id: str) -> BoardDTO: def get_dto(self, board_id: str) -> BoardDTO:
board_record = self._services.board_records.get(board_id) board_record = self._services.board_records.get(board_id)
cover_image_url = ( cover_image = self._services.image_records.get_most_recent_image_for_board(board_recordboard_id)
self._services.urls.get_image_url(board_record.cover_image_name, True) if (cover_image):
if board_record.cover_image_name cover_image_name = cover_image.image_name
else None else:
) cover_image_name = None
image_count = self._services.board_image_records.get_image_count_for_board( image_count = self._services.board_image_records.get_image_count_for_board(
board_id board_id
) )
return board_record_to_dto(board_record, cover_image_url, image_count) return board_record_to_dto(board_record, cover_image_name, image_count)
def update( def update(
self, self,
@ -117,15 +117,16 @@ class BoardService(BoardServiceABC):
changes: BoardChanges, changes: BoardChanges,
) -> BoardDTO: ) -> BoardDTO:
board_record = self._services.board_records.update(board_id, changes) board_record = self._services.board_records.update(board_id, changes)
cover_image_url = ( cover_image = self._services.image_records.get_most_recent_image_for_board(board_record.board_id)
self._services.urls.get_image_url(board_record.cover_image_name, True) if (cover_image):
if board_record.cover_image_name cover_image_name = cover_image.image_name
else None else:
) cover_image_name = None
image_count = self._services.board_image_records.get_image_count_for_board( image_count = self._services.board_image_records.get_image_count_for_board(
board_id board_id
) )
return board_record_to_dto(board_record, cover_image_url, image_count) return board_record_to_dto(board_record, cover_image_name, image_count)
def delete(self, board_id: str) -> None: def delete(self, board_id: str) -> None:
self._services.board_records.delete(board_id) self._services.board_records.delete(board_id)
@ -138,14 +139,14 @@ class BoardService(BoardServiceABC):
for r in board_records.items: for r in board_records.items:
cover_image = self._services.image_records.get_most_recent_image_for_board(r.board_id) cover_image = self._services.image_records.get_most_recent_image_for_board(r.board_id)
if (cover_image): if (cover_image):
cover_image_url = self._services.urls.get_image_url(cover_image.image_name, True) cover_image_name = cover_image.image_name
else: else:
cover_image_url = None cover_image_name = None
image_count = self._services.board_image_records.get_image_count_for_board( image_count = self._services.board_image_records.get_image_count_for_board(
r.board_id r.board_id
) )
board_dtos.append(board_record_to_dto(r, cover_image_url, image_count)) board_dtos.append(board_record_to_dto(r, cover_image_name, image_count))
return OffsetPaginatedResults[BoardDTO]( return OffsetPaginatedResults[BoardDTO](
items=board_dtos, offset=offset, limit=limit, total=len(board_dtos) items=board_dtos, offset=offset, limit=limit, total=len(board_dtos)

View File

@ -27,8 +27,8 @@ class BoardRecord(BaseModel):
class BoardDTO(BoardRecord): class BoardDTO(BoardRecord):
"""Deserialized board record with cover image URL and image count.""" """Deserialized board record with cover image URL and image count."""
cover_image_url: Optional[str] = Field( cover_image_name: Optional[str] = Field(
description="The URL of the thumbnail of the board's cover image." description="The name of the board's cover image."
) )
"""The URL of the thumbnail of the most recent image in the board.""" """The URL of the thumbnail of the most recent image in the board."""
image_count: int = Field(description="The number of images in the board.") image_count: int = Field(description="The number of images in the board.")