Update REST API to new document multi version methods and structures
This commit is contained in:
@@ -8,15 +8,46 @@ from converter.exceptions import UnknownFileFormat, UnkownConvertError
|
|||||||
|
|
||||||
class DocumentResourceSimple(ModelResource):
|
class DocumentResourceSimple(ModelResource):
|
||||||
model = Document
|
model = Document
|
||||||
fields = ('url', 'pk', 'document_type', 'uuid', 'date_added', 'description', 'tags', 'comments', 'expensive_methods', 'files')
|
fields = ('url', 'pk', 'document_type', 'uuid', 'date_added', 'description', 'tags', 'comments', 'expensive_methods', 'versions')
|
||||||
|
|
||||||
def files(self, instance):
|
def versions(self, instance):
|
||||||
|
return [
|
||||||
|
{
|
||||||
|
'version': version.get_formated_version(),
|
||||||
|
'major': version.major,
|
||||||
|
'minor': version.minor,
|
||||||
|
'micro': version.micro,
|
||||||
|
'release_level': version.release_level,
|
||||||
|
'serial': version.serial,
|
||||||
|
'timestamp': version.timestamp,
|
||||||
|
'comment': version.comment,
|
||||||
|
'mimetype': version.mimetype,
|
||||||
|
'encoding': version.encoding,
|
||||||
|
'filename': version.filename,
|
||||||
|
'checksum': version.checksum,
|
||||||
|
'download': reverse('document_version_download', args=[version.pk]),
|
||||||
|
'stored_filename': version.file.name,
|
||||||
|
# TODO: Add transformations
|
||||||
|
'pages': [
|
||||||
|
{
|
||||||
|
'content': page.content,
|
||||||
|
'page_label': page.page_label,
|
||||||
|
'page_number': page.page_number,
|
||||||
|
}
|
||||||
|
for page in version.pages.all()
|
||||||
|
]
|
||||||
|
|
||||||
|
}
|
||||||
|
for version in instance.versions.all()
|
||||||
|
]
|
||||||
|
|
||||||
|
'''
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
'version': 1,
|
'version': 1,
|
||||||
'mimetype': instance.file_mimetype,
|
'mimetype': instance.file_mimetype,
|
||||||
'encoding': instance.file_mime_encoding,
|
'encoding': instance.file_mime_encoding,
|
||||||
'filename': instance.get_fullname(),
|
'filename': instance.filename,
|
||||||
'date_updated': instance.date_updated,
|
'date_updated': instance.date_updated,
|
||||||
'checksum': instance.checksum,
|
'checksum': instance.checksum,
|
||||||
'size': instance.size,
|
'size': instance.size,
|
||||||
@@ -33,6 +64,6 @@ class DocumentResourceSimple(ModelResource):
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
'''
|
||||||
def expensive_methods(self, instance):
|
def expensive_methods(self, instance):
|
||||||
return []
|
return []
|
||||||
|
|||||||
Reference in New Issue
Block a user