Получить историю изменений пользователя

Запрос

HTTP Запрос

GET /node/api/users/:id/audit-log

Параметры пути

Параметр Тип Описание

id

String
обязательный

ID пользователя.

Параметры запроса

Параметр Тип Описание

from

Integer

От какой даты искать записи.

limit

String

Максимальное количество записей.

skip

String

Количество пропущеных записей с начала списка.

to

Integer

До какой даты искать записи.

Тело запроса

Тело запроса пустое.

Ответ

Возвращает список всех изменений, совершённых пользователем. Подробная информация о модели доступна в статье История изменений.

Пример

Запрос

  • Bash

  • JavaScript

  • NodeJS

  • Python

login=<...>
password=<...>
saymon_hostname=<...>
user_id=<...>
url=https://$saymon_hostname/node/api/users/$user_id/audit-log

curl -X GET $url -u $login:$password \
    -G --data-urlencode "limit=5"
let login = <...>
let password = <...>
let saymonHostname = <...>
let userId = <...>
let queryParams = "limit=5"
let path = "/node/api/users/" + userId + "/audit-log" + "?" + queryParams;
let auth = "Basic " + btoa(login + ":" + password);

let headers = new Headers();
headers.append("Authorization", auth);

let requestOptions = {
    method: "GET",
    headers: headers
};

fetch(saymonHostname + path, requestOptions)
    .then(response => response.text())
    .then(result => console.log(result))
    .catch(error => console.log("error", error));
const http = require("http");

let login = <...>
let password = <...>
let saymonHostname = <...>
let userId = <...>
let path = "/node/api/users/" + userId + "/audit-log";
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");

let options = {
    "method": "GET",
    "hostname": saymonHostname,
    "headers": {
        "Authorization": auth
    },
    "path": path
};

let req = http.request(options, function (res) {
    let chunks = [];

    res.on("data", function (chunk) {
        chunks.push(chunk);
    });

    res.on("end", function (chunk) {
        let body = Buffer.concat(chunks);
        console.log(body.toString());
    });

    res.on("error", function (error) {
        console.error(error);
    });
});

req.end();
import requests

login = <...>
password = <...>
saymon_hostname = <...>
user_id = <...>
url = "https://" + saymon_hostname + "/node/api/users/" + \
    user_id + "/audit-log"

params = {
    "limit": "3"
}

response = requests.request("GET", url, auth=(login, password), params=params)
print(response.text)

Ответ

[
{
        "entityId": "62d7e58056d203149a08001b",
        "entityType": 1,
        "userId": "62c2f3ce80c8654892764d56",
        "kind": 10,
        "oldBody": {
            "type_id": 8,
            "name": "TaskType",
            "value": "disabled",
            "id": "62f6538fad05cf4924c34fbb",
            "owner_id": "62d7e58056d203149a08001b",
            "owner_type": 1
        },
        "newBody": {
            "type_id": 8,
            "name": "TaskType",
            "value": "mqtt",
            "id": "62f6538fad05cf4924c34fbb",
            "owner_id": "62d7e58056d203149a08001b",
            "owner_type": 1
        },
        "timestamp": 1660658644532
    },
    {
        "entityId": "62d7e58056d203149a08001b",
        "entityType": 1,
        "userId": "62c2f3ce80c8654892764d56",
        "kind": 10,
        "oldBody": null,
        "newBody": {
            "type_id": 8,
            "name": "MqttExpiryPeriodUnit",
            "value": "seconds",
            "id": "62fba3d453500b6617df4d5c"
        },
        "timestamp": 1660658644748
    },
    {
        "entityId": "62d7e58056d203149a08001b",
        "entityType": 1,
        "userId": "62c2f3ce80c8654892764d56",
        "kind": 10,
        "oldBody": null,
        "newBody": {
            "type_id": 8,
            "name": "MqttTopic",
            "value": "Test MQTT",
            "id": "62fba3db53500b6617df4d5e"
        },
        "timestamp": 1660658651350
    }
]

Смотрите также