cutelyst 5.0.0
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
11using namespace Cutelyst;
12
14 : m_idField(idField)
15{
16}
17
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}
Container for user data retrieved from an AuthenticationStore.
The Cutelyst Context.
Definition context.h:42
StoreMinimal(const QString &idField)
Definition minimal.cpp:13
void addUser(const AuthenticationUser &user)
Definition minimal.cpp:22
AuthenticationUser findUser(Context *c, const ParamsMultiMap &userInfo) override final
Definition minimal.cpp:27
AuthenticationUser fromSession(Context *c, const QVariant &frozenUser) override final
Definition minimal.cpp:48
virtual ~StoreMinimal() override
Definition minimal.cpp:18
QVariant forSession(Context *c, const AuthenticationUser &user) override final
Definition minimal.cpp:42
The Cutelyst namespace holds all public Cutelyst API.
T value(const Key &key, const T &defaultValue) const const
QString toString() const const