Skip to content

Commit de87a80

Browse files
committed
fix(login): json parse error
1 parent 111de2b commit de87a80

File tree

3 files changed

+22
-20
lines changed

3 files changed

+22
-20
lines changed

src/controller/ui/login.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ LoginController::LoginController() {
6262
if (query.hasQueryItem("code")) {
6363
auto code = query.queryItemValue("code");
6464
getRepo()->loginViaSastLink(code).then(
65-
[=](EventoResult<DTO_User> result) {
65+
[this](EventoResult<DTO_User> result) {
6666
if (!result) {
6767
emit loginFailed(result.message());
6868
return;
@@ -231,7 +231,7 @@ void LoginController::loadPermissionList() {
231231
if (message.contains("No valid permission exist")) {
232232
UserHelper::getInstance()->setProperty("permission",
233233
UserHelper::Permission::UserPermission);
234-
loadPermissionSuccessEvent();
234+
emit loadPermissionSuccessEvent();
235235
} else {
236236
loadPermissionErrorEvent(message);
237237
}
@@ -244,6 +244,6 @@ void LoginController::loadPermissionList() {
244244
else
245245
UserHelper::getInstance()->setProperty("permission",
246246
UserHelper::Permission::AdminPermission);
247-
loadPermissionSuccessEvent();
247+
emit loadPermissionSuccessEvent();
248248
});
249249
}

src/infrastructure/dto/user.h

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
11
#ifndef DTO_USER_H
22
#define DTO_USER_H
33

4-
#include "permission.h"
54
#include "types.h"
65

76
struct DTO_User {
7+
QString avatar;
8+
QString biography;
9+
QString email;
810
UserID id;
911
QString linkId;
10-
QString studentId;
11-
QString email;
12+
QStringList link;
1213
QString nickname;
13-
QString avatar;
1414
QString organization;
15-
QString biography;
16-
QString link;
15+
QString studentId;
1716
};
1817

19-
#endif // DTO_USER_H
18+
#endif // DTO_USER_H

src/infrastructure/network/EventoNetworkClient.cpp

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,8 @@ EventoFuture<EventoResult<QJsonValue>> EventoNetworkClient::post(const QUrl& url
102102
reply = manager.post(request, requestData);
103103
else
104104
QMetaObject::invokeMethod(
105-
&manager, [&]() { return manager.post(request, requestData); }, Qt::BlockingQueuedConnection, &reply);
105+
&manager, [&]() { return manager.post(request, requestData); },
106+
Qt::BlockingQueuedConnection, &reply);
106107

107108
reply->ignoreSslErrors();
108109

@@ -136,7 +137,8 @@ EventoFuture<EventoResult<QJsonValue>> EventoNetworkClient::put(const QUrl& url,
136137
reply = manager.put(request, requestData);
137138
else
138139
QMetaObject::invokeMethod(
139-
&manager, [&]() { return manager.put(request, requestData); }, Qt::BlockingQueuedConnection, &reply);
140+
&manager, [&]() { return manager.put(request, requestData); },
141+
Qt::BlockingQueuedConnection, &reply);
140142

141143
reply->ignoreSslErrors();
142144

@@ -170,7 +172,8 @@ EventoFuture<EventoResult<QJsonValue>> EventoNetworkClient::patch(const QUrl& ur
170172
reply = manager.sendCustomRequest(request, "PATCH", requestData);
171173
else
172174
QMetaObject::invokeMethod(
173-
&manager, [&]() { return manager.sendCustomRequest(request, "PATCH", requestData); }, Qt::BlockingQueuedConnection, &reply);
175+
&manager, [&]() { return manager.sendCustomRequest(request, "PATCH", requestData); },
176+
Qt::BlockingQueuedConnection, &reply);
174177

175178
reply->ignoreSslErrors();
176179

@@ -201,7 +204,8 @@ EventoFuture<EventoResult<QJsonValue>> EventoNetworkClient::deleteResource(const
201204
reply = manager.deleteResource(request);
202205
else
203206
QMetaObject::invokeMethod(
204-
&manager, [&]() { return manager.deleteResource(request); }, Qt::BlockingQueuedConnection, &reply);
207+
&manager, [&]() { return manager.deleteResource(request); },
208+
Qt::BlockingQueuedConnection, &reply);
205209

206210
reply->ignoreSslErrors();
207211

@@ -246,14 +250,13 @@ EventoFuture<EventoResult<DTO_User>> EventoNetworkClient::loginViaSastLink(const
246250
if (result) {
247251
auto rootValue = result.take();
248252
DTO_User dto;
249-
if (rootValue.isObject()) {
250-
this->tokenBytes = rootValue["token"].toString().toLatin1();
251-
declare_top_deserialiser(dto, deserialiser_holder);
252-
deserialiser_holder.assign(rootValue["userInfo"].toObject());
253-
} else {
253+
qDebug() << rootValue;
254+
if (!rootValue.isObject())
254255
return EventoException(EventoExceptionCode::JsonError,
255256
QStringLiteral("expect object or null but got other"));
256-
}
257+
this->tokenBytes = rootValue["token"].toString().toLatin1();
258+
declare_top_deserialiser(dto, deserialiser_holder);
259+
deserialiser_holder.assign(rootValue["userInfo"].toObject());
257260
return dto;
258261
} else {
259262
return {result.code(), result.message()};

0 commit comments

Comments
 (0)