Leosac  0.8.0
Open Source Access Control
AccessPointUpdateSerializer.cpp
Go to the documentation of this file.
1 /*
2  Copyright (C) 2014-2016 Leosac
3 
4  This file is part of Leosac.
5 
6  Leosac is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Affero General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  Leosac is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Affero General Public License for more details.
15 
16  You should have received a copy of the GNU Affero General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
21 #include "UpdateSerializer.hpp"
23 #include "tools/JSONUtils.hpp"
24 
25 namespace Leosac
26 {
27 namespace update
28 {
30  const SecurityContext &sc)
31 {
32  json serialized(UpdateJSONSerializer::serialize(in, sc));
33 
34  serialized["type"] = "access-point-update";
35 
36  // fixme dynamically retrieve the correct type.
37  serialized["relationships"]["access-point"] = {
38  {"data", {{"id", in.access_point_id()}, {"type", "evoxs-access-point"}}}};
39 
40  return serialized;
41 }
42 
43 std::string
45  const SecurityContext &sc)
46 {
47  return AccessPointUpdateJSONSerializer::serialize(in, sc).dump(4);
48 }
49 }
50 }
Leosac::json
nlohmann::json json
Definition: AuditSerializer.hpp:29
AccessPointUpdateSerializer.hpp
Leosac::Auth::AccessPointUpdate
Definition: AccessPointUpdate.hpp:29
Leosac::update::UpdateJSONSerializer::serialize
static json serialize(const update::IUpdate &in, const SecurityContext &sc)
Definition: UpdateSerializer.cpp:29
Leosac
This is the header file for a generated source file, GitSHA1.cpp.
Definition: APIStatusCode.hpp:22
UpdateSerializer.hpp
Leosac::update::AccessPointUpdateJSONSerializer::serialize
static json serialize(const Auth::AccessPointUpdate &in, const SecurityContext &sc)
Definition: AccessPointUpdateSerializer.cpp:29
Leosac::Auth::AccessPointUpdate::access_point_id
Auth::AccessPointId access_point_id() const
Definition: AccessPointUpdate.cpp:33
JSONUtils.hpp
AccessPointUpdate.hpp
Leosac::update::AccessPointUpdateJSONStringSerializer::serialize
static std::string serialize(const Auth::AccessPointUpdate &in, const SecurityContext &sc)
Definition: AccessPointUpdateSerializer.cpp:44
Leosac::SecurityContext
A SecurityContext is used to query permission while doing an operation.
Definition: SecurityContext.hpp:40