logout static method

Future<bool> logout(
  1. HttpRequest request
)

Implementation

static Future<bool> logout(HttpRequest request) async {
  try {
    final cookie = request.cookies.firstWhereOrNull((cookie) => cookie.name == "archery_session");
    final authSessions = App().tryMake<List<AuthSession>>();

    final session = authSessions?.firstWhereOrNull((session) => session.cookie?.value == cookie?.value);

    if (session != null) {
      final sessionRecord = await Model.firstWhere<AuthSession>(field: "email", value: session.email);
      await sessionRecord?.delete();
      authSessions?.remove(session);
      return true;
    }
    return false;
  } catch (e) {
    return false;
  }
}