Появился метод media.list
This commit is contained in:
parent
a9d3a34c0b
commit
b8478e4c26
@ -714,14 +714,16 @@ class ApiMedia:
|
|||||||
params=[
|
params=[
|
||||||
ApiRequestParam(),
|
ApiRequestParam(),
|
||||||
ApiParamAccessToken(),
|
ApiParamAccessToken(),
|
||||||
ApiParamInt(name="m_id", description="ID медиа",
|
ApiParamInt(name="media_id", description="ID медиа",
|
||||||
value_min=0, value_max=1000000000),
|
value_min=0, value_max=1000000000),
|
||||||
], returns="<code>медиа</code>, в противном случае ошибку")
|
], returns="<code>медиа</code>, в противном случае ошибку")
|
||||||
async def get(request, access_token, m_id):
|
async def get(request, access_token, media_id):
|
||||||
if request.method != "GET":
|
if request.method != "GET":
|
||||||
return make_error_object(Exception(API_ERROR_INVALID_REQUEST, "method must be executed http GET method"))
|
return make_error_object(Exception(API_ERROR_INVALID_REQUEST, "method must be executed http GET method"))
|
||||||
|
|
||||||
m = await Media.objects.filter(owner=access_token.user, pk=m_id).afirst()
|
m = await Media.objects.filter(Q(owner=access_token.user) |
|
||||||
|
Q(owner__account__photo_id=media_id) |
|
||||||
|
Q(owner__account__profile_background_id=media_id)).filter(pk=media_id).afirst()
|
||||||
|
|
||||||
if m is not None:
|
if m is not None:
|
||||||
try:
|
try:
|
||||||
@ -733,6 +735,30 @@ class ApiMedia:
|
|||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
return make_error_object(Exception(API_ERROR_NOT_FOUND, "object in storage not found"))
|
return make_error_object(Exception(API_ERROR_NOT_FOUND, "object in storage not found"))
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
@api_method("media.list",
|
||||||
|
doc="Получение списка всех загруженных медиа для текущего пользователя",
|
||||||
|
params=[
|
||||||
|
ApiParamAccessToken(),
|
||||||
|
ApiParamInt(name="count", description="Количество объектов, максимум 100, по умолчанию 25",
|
||||||
|
value_min=1, value_max=100, default=25, required=False),
|
||||||
|
ApiParamInt(name="offset", description="Смещение списка относительно начала",
|
||||||
|
value_min=0, value_max=100000, default=0, required=False),
|
||||||
|
], returns="Список с объектами media.")
|
||||||
|
async def get_list(access_token, count, offset):
|
||||||
|
ms = [item async for item in
|
||||||
|
Media.objects.filter(owner=access_token.user, ).order_by('upload_datetime')[offset:offset + count]
|
||||||
|
]
|
||||||
|
|
||||||
|
res = [{
|
||||||
|
'id': m.id,
|
||||||
|
'name': m.original_name,
|
||||||
|
'upload_time': int(time.mktime(m.upload_datetime.timetuple())),
|
||||||
|
'extension': m.extension
|
||||||
|
} for m in ms]
|
||||||
|
|
||||||
|
return api_make_response(res)
|
||||||
|
|
||||||
|
|
||||||
class DatabaseApi:
|
class DatabaseApi:
|
||||||
# TODO переместить сюда форму заказа, список городов
|
# TODO переместить сюда форму заказа, список городов
|
||||||
|
Reference in New Issue
Block a user