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__
|