Skip to content

Commit b41e26e

Browse files
committed
Update to the latest oatpp API.
1 parent f9fc93f commit b41e26e

File tree

4 files changed

+24
-24
lines changed

4 files changed

+24
-24
lines changed

src/controller/UserController.hpp

+8-8
Original file line numberDiff line numberDiff line change
@@ -67,27 +67,27 @@ class UserController : public oatpp::web::server::api::ApiController {
6767

6868
ENDPOINT_INFO(createUser) {
6969
info->summary = "Create new User";
70-
info->addConsumes<UserDto>("application/json");
71-
info->addResponse<UserDto>(Status::CODE_200, "application/json");
70+
info->addConsumes<Object<UserDto>>("application/json");
71+
info->addResponse<Object<UserDto>>(Status::CODE_200, "application/json");
7272
}
7373
ENDPOINT("POST", "demo/api/users", createUser,
74-
BODY_DTO(UserDto, userDto)) {
74+
BODY_DTO(Object<UserDto>, userDto)) {
7575
return createDtoResponse(Status::CODE_200, m_database->createUser(userDto));
7676
}
7777

7878

7979
ENDPOINT_INFO(putUser) {
8080
// general
8181
info->summary = "Update User by userId";
82-
info->addConsumes<UserDto>("application/json");
83-
info->addResponse<UserDto>(Status::CODE_200, "application/json");
82+
info->addConsumes<Object<UserDto>>("application/json");
83+
info->addResponse<Object<UserDto>>(Status::CODE_200, "application/json");
8484
info->addResponse<String>(Status::CODE_404, "text/plain");
8585
// params specific
8686
info->pathParams["userId"].description = "User Identifier";
8787
}
8888
ENDPOINT("PUT", "demo/api/users/{userId}", putUser,
8989
PATH(Int32, userId),
90-
BODY_DTO(UserDto, userDto)) {
90+
BODY_DTO(Object<UserDto>, userDto)) {
9191
userDto->id = userId;
9292
return createDtoResponse(Status::CODE_200, m_database->updateUser(userDto));
9393
}
@@ -96,7 +96,7 @@ class UserController : public oatpp::web::server::api::ApiController {
9696
ENDPOINT_INFO(getUserById) {
9797
// general
9898
info->summary = "Get one User by userId";
99-
info->addResponse<UserDto>(Status::CODE_200, "application/json");
99+
info->addResponse<Object<UserDto>>(Status::CODE_200, "application/json");
100100
info->addResponse<String>(Status::CODE_404, "text/plain");
101101
// params specific
102102
info->pathParams["userId"].description = "User Identifier";
@@ -111,7 +111,7 @@ class UserController : public oatpp::web::server::api::ApiController {
111111

112112
ENDPOINT_INFO(getUsers) {
113113
info->summary = "get all stored users";
114-
info->addResponse<List<UserDto>>(Status::CODE_200, "application/json");
114+
info->addResponse<List<Object<UserDto>>>(Status::CODE_200, "application/json");
115115
}
116116
ENDPOINT("GET", "demo/api/users", getUsers) {
117117
return createDtoResponse(Status::CODE_200, m_database->getUsers());

src/db/Database.cpp

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
#include "Database.hpp"
33

4-
User Database::serializeFromDto(const UserDto::ObjectWrapper& userDto){
4+
User Database::serializeFromDto(const oatpp::Object<UserDto>& userDto){
55
User user;
66
if(userDto->id){
77
user.id = *userDto->id;
@@ -15,7 +15,7 @@ User Database::serializeFromDto(const UserDto::ObjectWrapper& userDto){
1515
return user;
1616
}
1717

18-
UserDto::ObjectWrapper Database::deserializeToDto(const User& user){
18+
oatpp::Object<UserDto> Database::deserializeToDto(const User& user){
1919
auto dto = UserDto::createShared();
2020
dto->id = user.id;
2121
dto->firstName = user.firstName;
@@ -27,15 +27,15 @@ UserDto::ObjectWrapper Database::deserializeToDto(const User& user){
2727
return dto;
2828
}
2929

30-
UserDto::ObjectWrapper Database::createUser(const UserDto::ObjectWrapper& userDto){
30+
oatpp::Object<UserDto> Database::createUser(const oatpp::Object<UserDto>& userDto){
3131
std::lock_guard<oatpp::concurrency::SpinLock> lock(m_lock);
3232
auto user = serializeFromDto(userDto);
3333
user.id = m_idCounter++;
3434
m_usersById[user.id] = user;
3535
return deserializeToDto(user);
3636
}
3737

38-
UserDto::ObjectWrapper Database::updateUser(const UserDto::ObjectWrapper& userDto){
38+
oatpp::Object<UserDto> Database::updateUser(const oatpp::Object<UserDto>& userDto){
3939
std::lock_guard<oatpp::concurrency::SpinLock> lock(m_lock);
4040
auto user = serializeFromDto(userDto);
4141
if(user.id < 0){
@@ -50,7 +50,7 @@ UserDto::ObjectWrapper Database::updateUser(const UserDto::ObjectWrapper& userDt
5050
return deserializeToDto(user);
5151
}
5252

53-
UserDto::ObjectWrapper Database::getUserById(v_int32 id){
53+
oatpp::Object<UserDto> Database::getUserById(v_int32 id){
5454
std::lock_guard<oatpp::concurrency::SpinLock> lock(m_lock);
5555
auto it = m_usersById.find(id);
5656
if(it == m_usersById.end()){
@@ -59,9 +59,9 @@ UserDto::ObjectWrapper Database::getUserById(v_int32 id){
5959
return deserializeToDto(it->second);
6060
}
6161

62-
oatpp::data::mapping::type::List<UserDto::ObjectWrapper>::ObjectWrapper Database::getUsers(){
62+
oatpp::List<oatpp::Object<UserDto>> Database::getUsers(){
6363
std::lock_guard<oatpp::concurrency::SpinLock> lock(m_lock);
64-
auto result = oatpp::data::mapping::type::List<UserDto::ObjectWrapper>::createShared();
64+
oatpp::List<oatpp::Object<UserDto>> result({});
6565
auto it = m_usersById.begin();
6666
while (it != m_usersById.end()) {
6767
result->push_back(deserializeToDto(it->second));

src/db/Database.hpp

+7-7
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,18 @@ class Database {
1818
v_int32 m_idCounter; ///< counter to generate userIds
1919
std::unordered_map<v_int32, User> m_usersById; ///< Map userId to User
2020
private:
21-
User serializeFromDto(const UserDto::ObjectWrapper& userDto);
22-
UserDto::ObjectWrapper deserializeToDto(const User& user);
21+
User serializeFromDto(const oatpp::Object<UserDto>& userDto);
22+
oatpp::Object<UserDto> deserializeToDto(const User& user);
2323
public:
2424

2525
Database()
2626
: m_idCounter(0)
2727
{}
28-
29-
UserDto::ObjectWrapper createUser(const UserDto::ObjectWrapper& userDto);
30-
UserDto::ObjectWrapper updateUser(const UserDto::ObjectWrapper& userDto);
31-
UserDto::ObjectWrapper getUserById(v_int32 id);
32-
oatpp::data::mapping::type::List<UserDto::ObjectWrapper>::ObjectWrapper getUsers();
28+
29+
oatpp::Object<UserDto> createUser(const oatpp::Object<UserDto>& userDto);
30+
oatpp::Object<UserDto> updateUser(const oatpp::Object<UserDto>& userDto);
31+
oatpp::Object<UserDto> getUserById(v_int32 id);
32+
oatpp::List<oatpp::Object<UserDto>> getUsers();
3333
bool deleteUser(v_int32 id);
3434

3535
};

src/dto/UserDto.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
* Data Transfer Object. Object containing fields only.
1111
* Used in API for serialization/deserialization and validation
1212
*/
13-
class UserDto : public oatpp::Object {
13+
class UserDto : public oatpp::DTO {
1414

15-
DTO_INIT(UserDto, Object)
15+
DTO_INIT(UserDto, DTO)
1616

1717
DTO_FIELD(Int32, id);
1818
DTO_FIELD(String, firstName, "first-name");

0 commit comments

Comments
 (0)