cutelyst  5.0.1
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
minimal.cpp
1 /*
2  * SPDX-FileCopyrightText: (C) 2013-2022 Daniel Nicoletti <dantti12@gmail.com>
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 #include "minimal.h"
6 
7 #include <algorithm>
8 
9 #include <QVariant>
10 
11 using namespace Cutelyst;
12 
14  : m_idField(idField)
15 {
16 }
17 
19 {
20 }
21 
23 {
24  m_users << user;
25 }
26 
28 {
29  Q_UNUSED(c)
30  const QString id = userInfo.value(m_idField);
31 
32  auto it = std::ranges::find_if(
33  m_users, [id](const AuthenticationUser &user) { return user.id() == id; });
34 
35  if (it != m_users.end()) {
36  return *it;
37  }
38 
39  return {};
40 }
41 
43 {
44  Q_UNUSED(c);
45  return user.id();
46 }
47 
49 {
50  return findUser(c,
51  {
52  {m_idField, frozenUser.toString()},
53  });
54 }
void addUser(const AuthenticationUser &user)
Definition: minimal.cpp:22
AuthenticationUser fromSession(Context *c, const QVariant &frozenUser) override final
Definition: minimal.cpp:48
QVariant forSession(Context *c, const AuthenticationUser &user) override final
Definition: minimal.cpp:42
The Cutelyst Context.
Definition: context.h:42
AuthenticationUser findUser(Context *c, const ParamsMultiMap &userInfo) override final
Definition: minimal.cpp:27
The Cutelyst namespace holds all public Cutelyst API.
StoreMinimal(const QString &idField)
Definition: minimal.cpp:13
Container for user data retrieved from an AuthenticationStore.
virtual ~StoreMinimal() override
Definition: minimal.cpp:18
QString toString() const const
T value(const Key &key, const T &defaultValue) const const