Initial commit - realms platform
This commit is contained in:
parent
c590ab6d18
commit
c717c3751c
234 changed files with 74103 additions and 15231 deletions
72
backend/src/controllers/EbookController.h
Normal file
72
backend/src/controllers/EbookController.h
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
#pragma once
|
||||
#include <drogon/HttpController.h>
|
||||
#include "../services/AuthService.h"
|
||||
|
||||
using namespace drogon;
|
||||
|
||||
class EbookController : public HttpController<EbookController> {
|
||||
public:
|
||||
METHOD_LIST_BEGIN
|
||||
// Public endpoints
|
||||
ADD_METHOD_TO(EbookController::getAllEbooks, "/api/ebooks", Get);
|
||||
ADD_METHOD_TO(EbookController::getLatestEbooks, "/api/ebooks/latest", Get);
|
||||
ADD_METHOD_TO(EbookController::getEbook, "/api/ebooks/{1}", Get);
|
||||
ADD_METHOD_TO(EbookController::getUserEbooks, "/api/ebooks/user/{1}", Get);
|
||||
ADD_METHOD_TO(EbookController::getRealmEbooks, "/api/ebooks/realm/{1}", Get);
|
||||
ADD_METHOD_TO(EbookController::incrementReadCount, "/api/ebooks/{1}/read", Post);
|
||||
|
||||
// Authenticated endpoints
|
||||
ADD_METHOD_TO(EbookController::getMyEbooks, "/api/user/ebooks", Get);
|
||||
ADD_METHOD_TO(EbookController::uploadEbook, "/api/user/ebooks", Post);
|
||||
ADD_METHOD_TO(EbookController::updateEbook, "/api/ebooks/{1}", Put);
|
||||
ADD_METHOD_TO(EbookController::deleteEbook, "/api/ebooks/{1}", Delete);
|
||||
ADD_METHOD_TO(EbookController::uploadCover, "/api/ebooks/{1}/cover", Post);
|
||||
ADD_METHOD_TO(EbookController::downloadEbook, "/api/ebooks/{1}/download", Get);
|
||||
METHOD_LIST_END
|
||||
|
||||
// Public ebook listing
|
||||
void getAllEbooks(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback);
|
||||
|
||||
void getLatestEbooks(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback);
|
||||
|
||||
void getEbook(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
const std::string &ebookId);
|
||||
|
||||
void getUserEbooks(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
const std::string &username);
|
||||
|
||||
void getRealmEbooks(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
const std::string &realmId);
|
||||
|
||||
void incrementReadCount(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
const std::string &ebookId);
|
||||
|
||||
// Authenticated ebook management
|
||||
void getMyEbooks(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback);
|
||||
|
||||
void uploadEbook(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback);
|
||||
|
||||
void updateEbook(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
const std::string &ebookId);
|
||||
|
||||
void deleteEbook(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
const std::string &ebookId);
|
||||
|
||||
void uploadCover(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
const std::string &ebookId);
|
||||
|
||||
void downloadEbook(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
const std::string &ebookId);
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue