Как использовать пользовательскую задачу Rake «undo change timestamp»?

Как запустить это подробно? Я не знаком с задачей rake.

Я столкнулся с этой проблемой:

-bash: cd: /var/www/discourse: Нет такой директории

Вам нужно сделать это внутри контейнера.

cd /var/discourse
./launcher enter app

Если вы можете сделать это через графический интерфейс, как предлагают в одном из вышеупомянутых сообщений, я бы рекомендовал именно этот способ.

Вам также, возможно, потребуется создать файл с этим кодом, используя nano.

Спасибо, я попробую позже.

Я только что попробовал API-метод.

Но получил ошибку 400 с сообщением:

{ errors: [ 'param is missing or the value is empty: timestamp' ] }

Вот мой код:

changeTimestamp(935, 1694291380);

async function changeTimestamp(topicId, timestamp) {
  const endpoint = `/t/${topicId}/change-timestamp`;
  const payload = {
    timestamp: timestamp,
  };
  put(endpoint, payload);
}

async function put(endpoint, payload) {
  const response = await fetch(DISCOURSE_ADDRESS + endpoint, {
    method: "PUT",
    headers: {
      "Content-Type": "application/json",
      "Api-Key": DISCOURSE_API_KEY,
      "Api-Username": API_USERNAME,
      body: JSON.stringify(payload),
    },
  });
  const result = await response.json();
  if (!response.ok) {
    console.log("put failed");
    console.log(result);
  } else {
    console.log("put success");
  }
}

Вы поместили body внутрь headers. Это не заголовок, а опция. См. документацию ниже: