Older/WebApplication/Restful.h

67 lines
1.5 KiB
C
Raw Permalink Normal View History

2024-11-01 19:05:20 +08:00
#ifndef __RESTFUL_H__
#define __RESTFUL_H__
#include <Wt/Dbo/Session.h>
#include <Wt/Dbo/Types.h>
#include <Wt/WResource.h>
#include <random>
class MyMessage {
public:
std::string message;
template <class Action>
void persist(Action &a) {
Wt::Dbo::field(a, message, "message");
}
};
class World {
public:
int randomNumber;
template <class Action>
void persist(Action &a) {
Wt::Dbo::field(a, randomNumber, "randomnumber");
}
};
class Fortune {
public:
std::string message;
template <class Action>
void persist(Action &a) {
Wt::Dbo::field(a, message, "message");
}
};
struct DbStruct {
DbStruct(const std::string &db);
int rand();
Wt::Dbo::Session session;
std::default_random_engine rng;
std::uniform_int_distribution<int> distribution;
};
2024-11-14 21:53:18 +08:00
class AuthenticationResource : public Wt::WResource {
2024-11-01 19:05:20 +08:00
public:
2024-11-14 23:06:22 +08:00
AuthenticationResource(Wt::Dbo::SqlConnectionPool &connectionPool);
2024-11-01 19:05:20 +08:00
void handleRequest(const Wt::Http::Request &request, Wt::Http::Response &response) final;
2024-11-14 23:06:22 +08:00
private:
Wt::Dbo::SqlConnectionPool &m_connectionPool;
2024-11-01 19:05:20 +08:00
};
class PlaintextResource : public Wt::WResource {
public:
void handleRequest(const Wt::Http::Request &request, Wt::Http::Response &response) final;
};
class DbResource : public Wt::WResource {
public:
DbResource(const std::string &db);
void handleRequest(const Wt::Http::Request &request, Wt::Http::Response &response) final;
};
#endif // __RESTFUL_H__