mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
87 lines
2.6 KiB
Python
87 lines
2.6 KiB
Python
# from fastapi import Body, HTTPException, Path, Query
|
|
# from fastapi.routing import APIRouter
|
|
# from invokeai.app.services.board_record_storage import BoardRecord, BoardChanges
|
|
# from invokeai.app.services.image_record_storage import OffsetPaginatedResults
|
|
|
|
# from ..dependencies import ApiDependencies
|
|
|
|
# boards_router = APIRouter(prefix="/v1/boards", tags=["boards"])
|
|
|
|
|
|
# @boards_router.post(
|
|
# "/",
|
|
# operation_id="create_board",
|
|
# responses={
|
|
# 201: {"description": "The board was created successfully"},
|
|
# },
|
|
# status_code=201,
|
|
# )
|
|
# async def create_board(
|
|
# board_name: str = Body(description="The name of the board to create"),
|
|
# ):
|
|
# """Creates a board"""
|
|
# try:
|
|
# result = ApiDependencies.invoker.services.boards.save(board_name=board_name)
|
|
# return result
|
|
# except Exception as e:
|
|
# raise HTTPException(status_code=500, detail="Failed to create board")
|
|
|
|
|
|
# @boards_router.delete("/{board_id}", operation_id="delete_board")
|
|
# async def delete_board(
|
|
# board_id: str = Path(description="The id of board to delete"),
|
|
# ) -> None:
|
|
# """Deletes a board"""
|
|
|
|
# try:
|
|
# ApiDependencies.invoker.services.boards.delete(board_id=board_id)
|
|
# except Exception as e:
|
|
# # TODO: Does this need any exception handling at all?
|
|
# pass
|
|
|
|
|
|
# @boards_router.get(
|
|
# "/",
|
|
# operation_id="list_boards",
|
|
# response_model=OffsetPaginatedResults[BoardRecord],
|
|
# )
|
|
# async def list_boards(
|
|
# offset: int = Query(default=0, description="The page offset"),
|
|
# limit: int = Query(default=10, description="The number of boards per page"),
|
|
# ) -> OffsetPaginatedResults[BoardRecord]:
|
|
# """Gets a list of boards"""
|
|
|
|
# results = ApiDependencies.invoker.services.boards.get_many(
|
|
# offset,
|
|
# limit,
|
|
# )
|
|
|
|
# boards = list(
|
|
# map(
|
|
# lambda r: board_record_to_dto(
|
|
# r,
|
|
# generate_cover_photo_url(r.id)
|
|
# ),
|
|
# results.boards,
|
|
# )
|
|
# )
|
|
|
|
# return boards
|
|
|
|
|
|
|
|
# def board_record_to_dto(
|
|
# board_record: BoardRecord, cover_image_url: str
|
|
# ) -> BoardDTO:
|
|
# """Converts an image record to an image DTO."""
|
|
# return BoardDTO(
|
|
# **board_record.dict(),
|
|
# cover_image_url=cover_image_url,
|
|
# )
|
|
|
|
# def generate_cover_photo_url(board_id: str) -> str | None:
|
|
# cover_photo = ApiDependencies.invoker.services.images._services.records.get_board_cover_photo(board_id)
|
|
# if cover_photo is not None:
|
|
# url = ApiDependencies.invoker.services.images._services.urls.get_image_url(cover_photo.image_origin, cover_photo.image_name)
|
|
# return url
|