error handling
This commit is contained in:
parent
7f7dc33229
commit
57d38535d3
5 changed files with 58 additions and 35 deletions
|
@ -17,6 +17,7 @@ void main(List<String> argsRaw) async {
|
|||
final parser = ConfigParser()
|
||||
..addOption("socket", mandatory: true)
|
||||
..addOption("homeserver", mandatory: true)
|
||||
..addOption("failureUri", mandatory: true)
|
||||
..addOption("successUri", mandatory: true)
|
||||
..addOption("name", mandatory: true)
|
||||
..addOption("adminName", mandatory: true)
|
||||
|
@ -120,34 +121,48 @@ If you have any issues, reply to this email.""",
|
|||
.addMiddleware(logRequests())
|
||||
.addHandler(
|
||||
(Router()..post("/", (Request request) async {
|
||||
final body = await request.readAsString();
|
||||
final registration = Registration.fromJson(
|
||||
Uri.splitQueryString(
|
||||
body,
|
||||
).map((key, value) => MapEntry(key, value.toLowerCase())),
|
||||
);
|
||||
|
||||
final client = await container.read(
|
||||
ClientController.provider.future,
|
||||
);
|
||||
|
||||
final settings = container.read(SettingsController.provider)!;
|
||||
final room = client.getRoomByAlias(settings.adminRoom);
|
||||
final message =
|
||||
"""# Registration request
|
||||
try {
|
||||
final body = await request.readAsString();
|
||||
final registration = Registration.fromJson(
|
||||
Uri.splitQueryString(
|
||||
body,
|
||||
).map((key, value) => MapEntry(key, value.toLowerCase())),
|
||||
);
|
||||
|
||||
throw "test error";
|
||||
|
||||
final client = await container.read(
|
||||
ClientController.provider.future,
|
||||
);
|
||||
|
||||
final room = client.getRoomByAlias(settings.adminRoom)!;
|
||||
final message =
|
||||
"""# Registration request
|
||||
- Username: `${registration.username}`
|
||||
- Email: `${registration.email}`""";
|
||||
final event = await room!.sendEvent({
|
||||
"body": message,
|
||||
"msgtype": MessageTypes.Text,
|
||||
"format": "org.matrix.custom.html",
|
||||
"formatted_body": markdownToHtml(message),
|
||||
...registration.toJson(),
|
||||
});
|
||||
final event = await room.sendEvent({
|
||||
"body": message,
|
||||
"msgtype": MessageTypes.Text,
|
||||
"format": "org.matrix.custom.html",
|
||||
"formatted_body": markdownToHtml(message),
|
||||
...registration.toJson(),
|
||||
});
|
||||
|
||||
await room.sendReaction(event!, "✅");
|
||||
await room.sendReaction(event!, "✅");
|
||||
|
||||
return Response.found(settings.successUri);
|
||||
return Response.found(settings.successUri);
|
||||
} catch (error) {
|
||||
final message = "An error occurred: $error";
|
||||
|
||||
try {
|
||||
final room = client.getRoomByAlias(settings.adminRoom)!;
|
||||
await room.sendTextEvent(message);
|
||||
} catch (_) {
|
||||
print(message);
|
||||
}
|
||||
return Response.found(settings.failureUri);
|
||||
}
|
||||
}))
|
||||
.call,
|
||||
);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue