Changeset View
Changeset View
Standalone View
Standalone View
src/client/actions/ephemeral.cpp
| /* | /* | ||||
| * This file is part of libkazv. | * This file is part of libkazv. | ||||
| * SPDX-FileCopyrightText: 2020 Tusooa Zhu <tusooa@kazv.moe> | * SPDX-FileCopyrightText: 2020-2026 tusooa <tusooa@kazv.moe> | ||||
| * SPDX-License-Identifier: AGPL-3.0-or-later | * SPDX-License-Identifier: AGPL-3.0-or-later | ||||
| */ | */ | ||||
| #include <libkazv-config.hpp> | #include <libkazv-config.hpp> | ||||
| #include <status-utils.hpp> | #include <status-utils.hpp> | ||||
| #include "ephemeral.hpp" | #include "ephemeral.hpp" | ||||
| Show All 12 Lines | ClientResult updateClient(ClientModel m, SetTypingAction a) | ||||
| return { std::move(m), lager::noop }; | return { std::move(m), lager::noop }; | ||||
| } | } | ||||
| ClientResult processResponse(ClientModel m, SetTypingResponse r) | ClientResult processResponse(ClientModel m, SetTypingResponse r) | ||||
| { | { | ||||
| auto roomId = r.dataStr("roomId"); | auto roomId = r.dataStr("roomId"); | ||||
| if (! r.success()) { | if (! r.success()) { | ||||
| m.addTrigger(SetTypingFailed{roomId, r.errorCode(), r.errorMessage()}); | |||||
| return { std::move(m), failWithResponse(r) }; | return { std::move(m), failWithResponse(r) }; | ||||
| } | } | ||||
| m.addTrigger(SetTypingSuccessful{roomId}); | |||||
| return { std::move(m), lager::noop }; | return { std::move(m), lager::noop }; | ||||
| } | } | ||||
| ClientResult updateClient(ClientModel m, PostReceiptAction a) | ClientResult updateClient(ClientModel m, PostReceiptAction a) | ||||
| { | { | ||||
| auto job = m.job<PostReceiptJob>().make( | auto job = m.job<PostReceiptJob>().make( | ||||
| a.roomId, | a.roomId, | ||||
| /* receiptType = */ "m.read"s, | /* receiptType = */ "m.read"s, | ||||
| Show All 11 Lines | ClientResult updateClient(ClientModel m, PostReceiptAction a) | ||||
| return { std::move(next), lager::noop }; | return { std::move(next), lager::noop }; | ||||
| } | } | ||||
| ClientResult processResponse(ClientModel m, PostReceiptResponse r) | ClientResult processResponse(ClientModel m, PostReceiptResponse r) | ||||
| { | { | ||||
| auto roomId = r.dataStr("roomId"); | auto roomId = r.dataStr("roomId"); | ||||
| if (! r.success()) { | if (! r.success()) { | ||||
| m.addTrigger(PostReceiptFailed{roomId, r.errorCode(), r.errorMessage()}); | |||||
| return { std::move(m), lager::noop }; | return { std::move(m), lager::noop }; | ||||
| } | } | ||||
| m.addTrigger(PostReceiptSuccessful{roomId}); | |||||
| return { std::move(m), lager::noop }; | return { std::move(m), lager::noop }; | ||||
| } | } | ||||
| ClientResult updateClient(ClientModel m, SetReadMarkerAction a) | ClientResult updateClient(ClientModel m, SetReadMarkerAction a) | ||||
| { | { | ||||
| auto job = m.job<SetReadMarkerJob>().make( | auto job = m.job<SetReadMarkerJob>().make( | ||||
| a.roomId, | a.roomId, | ||||
| /* mFullyRead = */ a.eventId) | /* mFullyRead = */ a.eventId) | ||||
| .withData(json{{"roomId", a.roomId}}); | .withData(json{{"roomId", a.roomId}}); | ||||
| m.addJob(std::move(job)); | m.addJob(std::move(job)); | ||||
| return { std::move(m), lager::noop }; | return { std::move(m), lager::noop }; | ||||
| } | } | ||||
| ClientResult processResponse(ClientModel m, SetReadMarkerResponse r) | ClientResult processResponse(ClientModel m, SetReadMarkerResponse r) | ||||
| { | { | ||||
| auto roomId = r.dataStr("roomId"); | |||||
| if (! r.success()) { | if (! r.success()) { | ||||
| m.addTrigger(SetReadMarkerFailed{roomId, r.errorCode(), r.errorMessage()}); | |||||
| return { std::move(m), lager::noop }; | return { std::move(m), lager::noop }; | ||||
| } | } | ||||
| m.addTrigger(SetReadMarkerSuccessful{roomId}); | |||||
| return { std::move(m), lager::noop }; | return { std::move(m), lager::noop }; | ||||
| } | } | ||||
| } | } | ||||