mirror of
https://github.com/rommapp/romm.git
synced 2026-02-18 00:27:41 +01:00
Add Rom.ra_hash and RomFile.ra_hash fields to API
This commit is contained in:
@@ -162,6 +162,7 @@ class RomFileSchema(BaseModel):
|
||||
crc_hash: str | None
|
||||
md5_hash: str | None
|
||||
sha1_hash: str | None
|
||||
ra_hash: str | None
|
||||
category: RomFileCategory | None
|
||||
|
||||
class Config:
|
||||
@@ -273,6 +274,7 @@ class RomSchema(BaseModel):
|
||||
crc_hash: str | None
|
||||
md5_hash: str | None
|
||||
sha1_hash: str | None
|
||||
ra_hash: str | None
|
||||
|
||||
has_simple_single_file: bool
|
||||
has_nested_single_file: bool
|
||||
|
||||
@@ -704,15 +704,21 @@ def get_rom_by_hash(
|
||||
crc_hash: Annotated[str | None, Query(description="CRC hash value")] = None,
|
||||
md5_hash: Annotated[str | None, Query(description="MD5 hash value")] = None,
|
||||
sha1_hash: Annotated[str | None, Query(description="SHA1 hash value")] = None,
|
||||
ra_hash: Annotated[
|
||||
str | None, Query(description="RetroAchivements hash value")
|
||||
] = None,
|
||||
) -> DetailedRomSchema:
|
||||
if not crc_hash and not md5_hash and not sha1_hash:
|
||||
if not crc_hash and not md5_hash and not sha1_hash and not ra_hash:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_400_BAD_REQUEST,
|
||||
detail="At least one metadata hash value must be provided",
|
||||
)
|
||||
|
||||
rom = db_rom_handler.get_rom_by_hash(
|
||||
crc_hash=crc_hash, md5_hash=md5_hash, sha1_hash=sha1_hash
|
||||
crc_hash=crc_hash,
|
||||
md5_hash=md5_hash,
|
||||
sha1_hash=sha1_hash,
|
||||
ra_hash=ra_hash,
|
||||
)
|
||||
|
||||
if not rom:
|
||||
|
||||
@@ -1267,9 +1267,10 @@ class DBRomsHandler(DBBaseHandler):
|
||||
@with_details
|
||||
def get_rom_by_hash(
|
||||
self,
|
||||
crc_hash: str | None,
|
||||
md5_hash: str | None,
|
||||
sha1_hash: str | None,
|
||||
crc_hash: str | None = None,
|
||||
md5_hash: str | None = None,
|
||||
sha1_hash: str | None = None,
|
||||
ra_hash: str | None = None,
|
||||
*,
|
||||
query: Query = None, # type: ignore
|
||||
session: Session = None, # type: ignore
|
||||
@@ -1286,9 +1287,11 @@ class DBRomsHandler(DBBaseHandler):
|
||||
(crc_hash, Rom.crc_hash),
|
||||
(md5_hash, Rom.md5_hash),
|
||||
(sha1_hash, Rom.sha1_hash),
|
||||
(ra_hash, Rom.ra_hash),
|
||||
(crc_hash, RomFile.crc_hash),
|
||||
(md5_hash, RomFile.md5_hash),
|
||||
(sha1_hash, RomFile.sha1_hash),
|
||||
(ra_hash, RomFile.ra_hash),
|
||||
]
|
||||
if value is not None
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user