use new ids for ArchiveResult API

This commit is contained in:
Nick Sweeting 2024-08-17 23:03:43 -07:00
parent f72debfdb2
commit a271bcb4ce
No known key found for this signature in database
3 changed files with 12 additions and 9 deletions

View file

@ -22,8 +22,9 @@ router = Router(tags=['Core Models'])
class ArchiveResultSchema(Schema):
abid: str
uuid: UUID
pk: str
id: UUID
# old_id: int
modified: datetime
created: datetime
created_by_id: str
@ -73,8 +74,7 @@ class ArchiveResultSchema(Schema):
class ArchiveResultFilterSchema(FilterSchema):
uuid: Optional[UUID] = Field(None, q='uuid')
# abid: Optional[str] = Field(None, q='abid')
id: Optional[UUID] = Field(None, q='id')
search: Optional[str] = Field(None, q=['snapshot__url__icontains', 'snapshot__title__icontains', 'snapshot__tags__name__icontains', 'extractor', 'output__icontains'])
snapshot_uuid: Optional[UUID] = Field(None, q='snapshot_uuid__icontains')
@ -104,8 +104,8 @@ def get_archiveresults(request, filters: ArchiveResultFilterSchema = Query(...))
@router.get("/archiveresult/{archiveresult_id}", response=ArchiveResultSchema, url_name="get_archiveresult")
def get_archiveresult(request, archiveresult_id: str):
"""Get a specific ArchiveResult by abid, uuid, or pk."""
return ArchiveResult.objects.get(Q(pk__icontains=archiveresult_id) | Q(abid__icontains=archiveresult_id) | Q(uuid__icontains=archiveresult_id))
"""Get a specific ArchiveResult by pk, abid, or old_id."""
return ArchiveResult.objects.get(Q(pk__icontains=archiveresult_id) | Q(abid__icontains=archiveresult_id) | Q(old_id__icontains=archiveresult_id))
# @router.post("/archiveresult", response=ArchiveResultSchema)

View file

@ -511,7 +511,10 @@ class ArchiveResultAdmin(admin.ModelAdmin):
)
def identifiers(self, obj):
try:
return get_abid_info(self, obj)
except Exception as e:
return str(e)
@admin.display(
description='Snapshot Tags'

View file

@ -347,8 +347,8 @@ class ArchiveResult(ABIDModel):
abid_rand_src = 'self.id'
EXTRACTOR_CHOICES = EXTRACTOR_CHOICES
old_id = models.BigIntegerField(default=rand_int_id, serialize=False, verbose_name='ID')
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=True, unique=True)
old_id = models.BigIntegerField(default=rand_int_id, serialize=False, verbose_name='Old ID')
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=True, unique=True, verbose_name='ID')
abid = ABIDField(prefix=abid_prefix)
snapshot = models.ForeignKey(Snapshot, on_delete=models.CASCADE)