TeBkRestController.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. * TeBkRestController.h
  3. *
  4. * Created on: 11-Mar-2015
  5. * Author: sumeetc
  6. */
  7. #ifndef TEBKRESTCONTROLLER_H_
  8. #define TEBKRESTCONTROLLER_H_
  9. #include "TeBkWorld.h"
  10. #include "vector"
  11. #include "CastUtil.h"
  12. #include "TeBkMessage.h"
  13. #include "DataSourceManager.h"
  14. #include <stdlib.h>
  15. #include "CacheManager.h"
  16. #pragma @RestController path="/"
  17. class TeBkRestController {
  18. public:
  19. #pragma @GET path="/json" statusCode="200" ocontentType="application/json"
  20. TeBkMessage json();
  21. #pragma @GET path="/db" statusCode="200" ocontentType="application/json"
  22. TeBkWorld db();
  23. #pragma @GET path="/queries" statusCode="200" ocontentType="application/json"
  24. std::vector<TeBkWorld> queries(
  25. #pragma @QueryParam name="queries"
  26. std::string queries);
  27. #pragma @GET path="/updates" statusCode="200" ocontentType="application/json"
  28. std::vector<TeBkWorld> updates(
  29. #pragma @QueryParam name="queries"
  30. std::string queries);
  31. #pragma @GET path="/plaintext" statusCode="200" ocontentType="text/plain"
  32. std::string plaintext();
  33. #pragma @GET path="/cached-worlds" statusCode="200" ocontentType="application/json"
  34. std::vector<TeBkWorld> cachedWorlds(
  35. #pragma @QueryParam name="count"
  36. std::string count);
  37. void updateCache();
  38. TeBkRestController();
  39. virtual ~TeBkRestController();
  40. };
  41. #endif /* TEBKRESTCONTROLLER_H_ */