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/AudioController.h
Normal file
72
backend/src/controllers/AudioController.h
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
#pragma once
|
||||
#include <drogon/HttpController.h>
|
||||
#include "../services/AuthService.h"
|
||||
|
||||
using namespace drogon;
|
||||
|
||||
class AudioController : public HttpController<AudioController> {
|
||||
public:
|
||||
METHOD_LIST_BEGIN
|
||||
// Public endpoints
|
||||
ADD_METHOD_TO(AudioController::getAllAudio, "/api/audio", Get);
|
||||
ADD_METHOD_TO(AudioController::getLatestAudio, "/api/audio/latest", Get);
|
||||
ADD_METHOD_TO(AudioController::getAudio, "/api/audio/{1}", Get);
|
||||
ADD_METHOD_TO(AudioController::getRealmAudio, "/api/audio/realm/{1}", Get);
|
||||
ADD_METHOD_TO(AudioController::getRealmAudioByName, "/api/audio/realm/name/{1}", Get);
|
||||
ADD_METHOD_TO(AudioController::incrementPlayCount, "/api/audio/{1}/play", Post);
|
||||
|
||||
// Authenticated endpoints
|
||||
ADD_METHOD_TO(AudioController::getMyAudio, "/api/user/audio", Get);
|
||||
ADD_METHOD_TO(AudioController::uploadAudio, "/api/user/audio", Post);
|
||||
ADD_METHOD_TO(AudioController::updateAudio, "/api/audio/{1}", Put);
|
||||
ADD_METHOD_TO(AudioController::deleteAudio, "/api/audio/{1}", Delete);
|
||||
ADD_METHOD_TO(AudioController::uploadThumbnail, "/api/audio/{1}/thumbnail", Post);
|
||||
ADD_METHOD_TO(AudioController::deleteThumbnail, "/api/audio/{1}/thumbnail", Delete);
|
||||
METHOD_LIST_END
|
||||
|
||||
// Public audio listing
|
||||
void getAllAudio(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback);
|
||||
|
||||
void getLatestAudio(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback);
|
||||
|
||||
void getAudio(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
const std::string &audioId);
|
||||
|
||||
void getRealmAudio(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
const std::string &realmId);
|
||||
|
||||
void getRealmAudioByName(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
const std::string &realmName);
|
||||
|
||||
void incrementPlayCount(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
const std::string &audioId);
|
||||
|
||||
// Authenticated audio management
|
||||
void getMyAudio(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback);
|
||||
|
||||
void uploadAudio(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback);
|
||||
|
||||
void updateAudio(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
const std::string &audioId);
|
||||
|
||||
void deleteAudio(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
const std::string &audioId);
|
||||
|
||||
void uploadThumbnail(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
const std::string &audioId);
|
||||
|
||||
void deleteThumbnail(const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
const std::string &audioId);
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue