Angular map flower (celery+django) вернуться к списку задач

Я хочу отобразить возврат либарии flower (/api/tasks) в список объектов. Сейчас он возвращает несколько объектов, но без "обертки списка", поэтому итерация невозможна. API: https://flower.readthedocs.io/en/latest/api.html#get--api-tasks

Возврат, например:

HTTP/1.1 200 OK
Content-Length: 1109
Content-Type: application/json; charset=UTF-8
Etag: "b2478118015c8b825f7b88ce6b660e5449746c37"
Server: TornadoServer/3.1.1

{
    "e42ceb2d-8730-47b5-8b4d-8e0d2a1ef7c9": {
        "args": "[3, 4]",
        "client": null,
        "clock": 1079,
        "eta": null,
        "exception": null,
        "exchange": null,
        "expires": null,
        "failed": null,
        "kwargs": "{}",
        "name": "tasks.add",
        "received": 1398505411.107885,
        "result": "'7'",
        "retried": null,
        "retries": 0,
        "revoked": null,
        "routing_key": null,
        "runtime": 0.01610181899741292,
        "sent": null,
        "started": 1398505411.108985,
        "state": "SUCCESS",
        "succeeded": 1398505411.124802,
        "timestamp": 1398505411.124802,
        "traceback": null,
        "uuid": "e42ceb2d-8730-47b5-8b4d-8e0d2a1ef7c9",
        "worker": "celery@worker1"
    },
    "f67ea225-ae9e-42a8-90b0-5de0b24507e0": {
        "args": "[1, 2]",
        "client": null,
        "clock": 1042,
        "eta": null,
        "exception": null,
        "exchange": null,
        "expires": null,
        "failed": null,
        "kwargs": "{}",
        "name": "tasks.add",
        "received": 1398505395.327208,
        "result": "'3'",
        "retried": null,
        "retries": 0,
        "revoked": null,
        "routing_key": null,
        "runtime": 0.012884548006695695,
        "sent": null,
        "started": 1398505395.3289,
        "state": "SUCCESS",
        "succeeded": 1398505395.341089,
        "timestamp": 1398505395.341089,
        "traceback": null,
        "uuid": "f67ea225-ae9e-42a8-90b0-5de0b24507e0",
        "worker": "celery@worker1"
    }
}

Есть идеи, как это сделать? Я пробовал следующее:

export interface Tasks {
  tasks: TaskWrapper[]
}

export interface TaskWrapper {
  [uuid: string]: Task
}

export interface Task {
  uuid: string,
  state: string,
  received: string,
}

То, как вы организовали интерфейсы, хорошо, вы можете поместить элементы в массив таким образом:

const tasks: Task[] = Object.entries(data).map(entry => ({
    uuid: entry[0],
    state: entry[1].state,
    received: entry[1].received
}));
Вернуться на верх