Commit dcd7e27e authored by liuyu's avatar liuyu

Initial commit

parents
cmake_minimum_required (VERSION 3.2)
project(udm-api-server)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -pg -g3" )
include_directories(model)
include_directories(api)
include_directories(impl)
file(GLOB SRCS
${CMAKE_CURRENT_SOURCE_DIR}/api/*.cpp
${CMAKE_CURRENT_SOURCE_DIR}/impl/*.cpp
${CMAKE_CURRENT_SOURCE_DIR}/model/*.cpp
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
)
add_executable(${PROJECT_NAME} ${SRCS} )
target_link_libraries(${PROJECT_NAME} pistache pthread)
# REST API Server for Nudm_SDM
## Overview
This API Server was generated by the [OpenAPI Generator](https://openapi-generator.tech) project.
It uses the [Pistache](https://github.com/oktal/pistache) Framework.
## Files organization
The Pistache C++ REST server generator creates three folders:
- `api`: This folder contains the handlers for each method specified in the OpenAPI definition. Every handler extracts
the path and body parameters (if any) from the requests and tries to parse and possibly validate them.
Once this step is completed, the main API class calls the corresponding abstract method that should be implemented
by the developer (a basic implementation is provided under the `impl` folder)
- `impl`: As written above, the implementation folder contains, for each API, the corresponding implementation class,
which extends the main API class and implements the abstract methods.
Every method receives the path and body parameters as constant reference variables and a reference to the response
object, that should be filled with the right response and sent at the end of the method with the command:
response.send(returnCode, responseBody, [mimeType])
- `model`: This folder contains the corresponding class for every object schema found in the OpenAPI specification.
The main folder contains also a file with a main that can be used to start the server.
Of course, is you should customize this file based on your needs
## Installation
First of all, you need to download and install the libraries listed [here](#libraries-required).
Once the libraries are installed, in order to compile and run the server please follow the steps below:
```bash
mkdir build
cd build
cmake ..
make
```
Once compiled run the server:
```bash
cd build
./api-server
```
## Libraries required
- [pistache](http://pistache.io/quickstart)
- [JSON for Modern C++](https://github.com/nlohmann/json/#integration): Please download the `json.hpp` file and
put it under the model/nlohmann folder
## Namespaces
oai.udm.api
oai.udm.model
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "AccessAndMobilitySubscriptionDataRetrievalApi.h"
#include "Helpers.h"
namespace oai {
namespace udm {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace oai::udm::model;
AccessAndMobilitySubscriptionDataRetrievalApi::AccessAndMobilitySubscriptionDataRetrievalApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void AccessAndMobilitySubscriptionDataRetrievalApi::init() {
setupRoutes();
}
void AccessAndMobilitySubscriptionDataRetrievalApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Get(*router, base + "/:supi/am-data", Routes::bind(&AccessAndMobilitySubscriptionDataRetrievalApi::get_am_data_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&AccessAndMobilitySubscriptionDataRetrievalApi::access_and_mobility_subscription_data_retrieval_api_default_handler, this));
}
void AccessAndMobilitySubscriptionDataRetrievalApi::get_am_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto supi = request.param(":supi").as<std::string>();
// Getting the query params
auto supportedFeaturesQuery = request.query().get("supported-features");
Pistache::Optional<std::string> supportedFeatures;
if(!supportedFeaturesQuery.isEmpty()){
std::string value;
if(fromStringValue(supportedFeaturesQuery.get(), value)){
supportedFeatures = Pistache::Some(value);
}
}
auto plmnIdQuery = request.query().get("plmn-id");
Pistache::Optional<PlmnId> plmnId;
/* if(!plmnIdQuery.isEmpty()){
PlmnId value;
if(fromStringValue(plmnIdQuery.get(), value)){
plmnId = Pistache::Some(value);
}
}
*/ // Getting the header params
auto ifNoneMatch = request.headers().tryGetRaw("If-None-Match");
auto ifModifiedSince = request.headers().tryGetRaw("If-Modified-Since");
try {
this->get_am_data(supi, supportedFeatures, plmnId, ifNoneMatch, ifModifiedSince, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void AccessAndMobilitySubscriptionDataRetrievalApi::access_and_mobility_subscription_data_retrieval_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* AccessAndMobilitySubscriptionDataRetrievalApi.h
*
*
*/
#ifndef AccessAndMobilitySubscriptionDataRetrievalApi_H_
#define AccessAndMobilitySubscriptionDataRetrievalApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "AccessAndMobilitySubscriptionData.h"
#include "PlmnId.h"
#include "ProblemDetails.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class AccessAndMobilitySubscriptionDataRetrievalApi {
public:
AccessAndMobilitySubscriptionDataRetrievalApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~AccessAndMobilitySubscriptionDataRetrievalApi() {}
void init();
const std::string base = "/nudm-sdm/v2";
private:
void setupRoutes();
void get_am_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void access_and_mobility_subscription_data_retrieval_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
/// retrieve a UE&#39;s Access and Mobility Subscription Data
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="supi">Identifier of the UE</param>
/// <param name="supportedFeatures">Supported Features (optional, default to &quot;&quot;)</param>
/// <param name="plmnId">serving PLMN ID (optional, default to PlmnId())</param>
/// <param name="ifNoneMatch">Validator for conditional requests, as described in RFC 7232, 3.2 (optional, default to &quot;&quot;)</param>
/// <param name="ifModifiedSince">Validator for conditional requests, as described in RFC 7232, 3.3 (optional, default to &quot;&quot;)</param>
virtual void get_am_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
#endif /* AccessAndMobilitySubscriptionDataRetrievalApi_H_ */
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "GPSIToSUPITranslationApi.h"
#include "Helpers.h"
namespace oai {
namespace udm {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace oai::udm::model;
GPSIToSUPITranslationApi::GPSIToSUPITranslationApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void GPSIToSUPITranslationApi::init() {
setupRoutes();
}
void GPSIToSUPITranslationApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Get(*router, base + "/:gpsi/id-translation-result", Routes::bind(&GPSIToSUPITranslationApi::get_supi_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&GPSIToSUPITranslationApi::gpsi_to_supi_translation_api_default_handler, this));
}
void GPSIToSUPITranslationApi::get_supi_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto gpsi = request.param(":gpsi").as<std::string>();
// Getting the query params
auto supportedFeaturesQuery = request.query().get("supported-features");
Pistache::Optional<std::string> supportedFeatures;
if(!supportedFeaturesQuery.isEmpty()){
std::string value;
if(fromStringValue(supportedFeaturesQuery.get(), value)){
supportedFeatures = Pistache::Some(value);
}
}
// Getting the header params
auto ifNoneMatch = request.headers().tryGetRaw("If-None-Match");
auto ifModifiedSince = request.headers().tryGetRaw("If-Modified-Since");
try {
this->get_supi(gpsi, supportedFeatures, ifNoneMatch, ifModifiedSince, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void GPSIToSUPITranslationApi::gpsi_to_supi_translation_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* GPSIToSUPITranslationApi.h
*
*
*/
#ifndef GPSIToSUPITranslationApi_H_
#define GPSIToSUPITranslationApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "IdTranslationResult.h"
#include "ProblemDetails.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class GPSIToSUPITranslationApi {
public:
GPSIToSUPITranslationApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~GPSIToSUPITranslationApi() {}
void init();
const std::string base = "/nudm-sdm/v2";
private:
void setupRoutes();
void get_supi_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void gpsi_to_supi_translation_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
/// retrieve a UE&#39;s SUPI
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="gpsi">Identifier of the UE</param>
/// <param name="supportedFeatures">Supported Features (optional, default to &quot;&quot;)</param>
/// <param name="ifNoneMatch">Validator for conditional requests, as described in RFC 7232, 3.2 (optional, default to &quot;&quot;)</param>
/// <param name="ifModifiedSince">Validator for conditional requests, as described in RFC 7232, 3.3 (optional, default to &quot;&quot;)</param>
virtual void get_supi(const std::string &gpsi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
#endif /* GPSIToSUPITranslationApi_H_ */
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "GroupIdentifiersApi.h"
#include "Helpers.h"
namespace oai {
namespace udm {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace oai::udm::model;
GroupIdentifiersApi::GroupIdentifiersApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void GroupIdentifiersApi::init() {
setupRoutes();
}
void GroupIdentifiersApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Get(*router, base + "/group-data/group-identifiers", Routes::bind(&GroupIdentifiersApi::get_group_identifiers_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&GroupIdentifiersApi::group_identifiers_api_default_handler, this));
}
void GroupIdentifiersApi::get_group_identifiers_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the query params
auto extGroupIdQuery = request.query().get("ext-group-id");
Pistache::Optional<std::string> extGroupId;
if(!extGroupIdQuery.isEmpty()){
std::string value;
if(fromStringValue(extGroupIdQuery.get(), value)){
extGroupId = Pistache::Some(value);
}
}
auto intGroupIdQuery = request.query().get("int-group-id");
Pistache::Optional<std::string> intGroupId;
if(!intGroupIdQuery.isEmpty()){
std::string value;
if(fromStringValue(intGroupIdQuery.get(), value)){
intGroupId = Pistache::Some(value);
}
}
auto supportedFeaturesQuery = request.query().get("supported-features");
Pistache::Optional<std::string> supportedFeatures;
if(!supportedFeaturesQuery.isEmpty()){
std::string value;
if(fromStringValue(supportedFeaturesQuery.get(), value)){
supportedFeatures = Pistache::Some(value);
}
}
// Getting the header params
auto ifNoneMatch = request.headers().tryGetRaw("If-None-Match");
auto ifModifiedSince = request.headers().tryGetRaw("If-Modified-Since");
try {
this->get_group_identifiers(extGroupId, intGroupId, supportedFeatures, ifNoneMatch, ifModifiedSince, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void GroupIdentifiersApi::group_identifiers_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* GroupIdentifiersApi.h
*
*
*/
#ifndef GroupIdentifiersApi_H_
#define GroupIdentifiersApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "GroupIdentifiers.h"
#include "ProblemDetails.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class GroupIdentifiersApi {
public:
GroupIdentifiersApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~GroupIdentifiersApi() {}
void init();
const std::string base = "/nudm-sdm/v2";
private:
void setupRoutes();
void get_group_identifiers_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void group_identifiers_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
/// Mapping of Group Identifiers
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="extGroupId">External Group Identifier (optional, default to &quot;&quot;)</param>
/// <param name="intGroupId">Internal Group Identifier (optional, default to &quot;&quot;)</param>
/// <param name="supportedFeatures">Supported Features (optional, default to &quot;&quot;)</param>
/// <param name="ifNoneMatch">Validator for conditional requests, as described in RFC 7232, 3.2 (optional, default to &quot;&quot;)</param>
/// <param name="ifModifiedSince">Validator for conditional requests, as described in RFC 7232, 3.3 (optional, default to &quot;&quot;)</param>
virtual void get_group_identifiers(const Pistache::Optional<std::string> &extGroupId, const Pistache::Optional<std::string> &intGroupId, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
#endif /* GroupIdentifiersApi_H_ */
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "ProvidingAcknowledgementOfSteeringOfRoamingApi.h"
#include "Helpers.h"
namespace oai {
namespace udm {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace oai::udm::model;
ProvidingAcknowledgementOfSteeringOfRoamingApi::ProvidingAcknowledgementOfSteeringOfRoamingApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void ProvidingAcknowledgementOfSteeringOfRoamingApi::init() {
setupRoutes();
}
void ProvidingAcknowledgementOfSteeringOfRoamingApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Put(*router, base + "/:supi/am-data/sor-ack", Routes::bind(&ProvidingAcknowledgementOfSteeringOfRoamingApi::sor_ack_info_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&ProvidingAcknowledgementOfSteeringOfRoamingApi::providing_acknowledgement_of_steering_of_roaming_api_default_handler, this));
}
void ProvidingAcknowledgementOfSteeringOfRoamingApi::sor_ack_info_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto supi = request.param(":supi").as<std::string>();
// Getting the body param
AcknowledgeInfo acknowledgeInfo;
try {
nlohmann::json::parse(request.body()).get_to(acknowledgeInfo);
this->sor_ack_info(supi, acknowledgeInfo, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void ProvidingAcknowledgementOfSteeringOfRoamingApi::providing_acknowledgement_of_steering_of_roaming_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* ProvidingAcknowledgementOfSteeringOfRoamingApi.h
*
*
*/
#ifndef ProvidingAcknowledgementOfSteeringOfRoamingApi_H_
#define ProvidingAcknowledgementOfSteeringOfRoamingApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "AcknowledgeInfo.h"
#include "ProblemDetails.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class ProvidingAcknowledgementOfSteeringOfRoamingApi {
public:
ProvidingAcknowledgementOfSteeringOfRoamingApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~ProvidingAcknowledgementOfSteeringOfRoamingApi() {}
void init();
const std::string base = "/nudm-sdm/v2";
private:
void setupRoutes();
void sor_ack_info_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void providing_acknowledgement_of_steering_of_roaming_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
/// Nudm_Sdm Info service operation
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="supi">Identifier of the UE</param>
/// <param name="acknowledgeInfo"> (optional)</param>
virtual void sor_ack_info(const std::string &supi, const AcknowledgeInfo &acknowledgeInfo, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
#endif /* ProvidingAcknowledgementOfSteeringOfRoamingApi_H_ */
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "ProvidingAcknowledgementOfUEParametersUpdateApi.h"
#include "Helpers.h"
namespace oai {
namespace udm {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace oai::udm::model;
ProvidingAcknowledgementOfUEParametersUpdateApi::ProvidingAcknowledgementOfUEParametersUpdateApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void ProvidingAcknowledgementOfUEParametersUpdateApi::init() {
setupRoutes();
}
void ProvidingAcknowledgementOfUEParametersUpdateApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Put(*router, base + "/:supi/am-data/upu-ack", Routes::bind(&ProvidingAcknowledgementOfUEParametersUpdateApi::upu_ack_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&ProvidingAcknowledgementOfUEParametersUpdateApi::providing_acknowledgement_of_ue_parameters_update_api_default_handler, this));
}
void ProvidingAcknowledgementOfUEParametersUpdateApi::upu_ack_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto supi = request.param(":supi").as<std::string>();
// Getting the body param
AcknowledgeInfo acknowledgeInfo;
try {
nlohmann::json::parse(request.body()).get_to(acknowledgeInfo);
this->upu_ack(supi, acknowledgeInfo, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void ProvidingAcknowledgementOfUEParametersUpdateApi::providing_acknowledgement_of_ue_parameters_update_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* ProvidingAcknowledgementOfUEParametersUpdateApi.h
*
*
*/
#ifndef ProvidingAcknowledgementOfUEParametersUpdateApi_H_
#define ProvidingAcknowledgementOfUEParametersUpdateApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "AcknowledgeInfo.h"
#include "ProblemDetails.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class ProvidingAcknowledgementOfUEParametersUpdateApi {
public:
ProvidingAcknowledgementOfUEParametersUpdateApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~ProvidingAcknowledgementOfUEParametersUpdateApi() {}
void init();
const std::string base = "/nudm-sdm/v2";
private:
void setupRoutes();
void upu_ack_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void providing_acknowledgement_of_ue_parameters_update_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
/// Nudm_Sdm Info for UPU service operation
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="supi">Identifier of the UE</param>
/// <param name="acknowledgeInfo"> (optional)</param>
virtual void upu_ack(const std::string &supi, const AcknowledgeInfo &acknowledgeInfo, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
#endif /* ProvidingAcknowledgementOfUEParametersUpdateApi_H_ */
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "RetrievalOfMultipleDataSetsApi.h"
#include "Helpers.h"
namespace oai {
namespace udm {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace oai::udm::model;
RetrievalOfMultipleDataSetsApi::RetrievalOfMultipleDataSetsApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void RetrievalOfMultipleDataSetsApi::init() {
setupRoutes();
}
void RetrievalOfMultipleDataSetsApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Get(*router, base + "/:supi", Routes::bind(&RetrievalOfMultipleDataSetsApi::get_data_sets_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&RetrievalOfMultipleDataSetsApi::retrieval_of_multiple_data_sets_api_default_handler, this));
}
void RetrievalOfMultipleDataSetsApi::get_data_sets_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto supi = request.param(":supi").as<std::string>();
// Getting the query params
auto datasetNamesQuery = request.query().get("dataset-names");
Pistache::Optional<std::vector<std::string>> datasetNames;
if(!datasetNamesQuery.isEmpty()){
std::vector<std::string> value;
if(fromStringValue(datasetNamesQuery.get(), value)){
datasetNames = Pistache::Some(value);
}
}
auto plmnIdQuery = request.query().get("plmn-id");
Pistache::Optional<PlmnId> plmnId;
/* if(!plmnIdQuery.isEmpty()){
PlmnId value;
if(fromStringValue(plmnIdQuery.get(), value)){
plmnId = Pistache::Some(value);
}
}
*/
auto supportedFeaturesQuery = request.query().get("supported-features");
Pistache::Optional<std::string> supportedFeatures;
if(!supportedFeaturesQuery.isEmpty()){
std::string value;
if(fromStringValue(supportedFeaturesQuery.get(), value)){
supportedFeatures = Pistache::Some(value);
}
}
// Getting the header params
auto ifNoneMatch = request.headers().tryGetRaw("If-None-Match");
auto ifModifiedSince = request.headers().tryGetRaw("If-Modified-Since");
try {
this->get_data_sets(supi, datasetNames, plmnId, supportedFeatures, ifNoneMatch, ifModifiedSince, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void RetrievalOfMultipleDataSetsApi::retrieval_of_multiple_data_sets_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* RetrievalOfMultipleDataSetsApi.h
*
*
*/
#ifndef RetrievalOfMultipleDataSetsApi_H_
#define RetrievalOfMultipleDataSetsApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "PlmnId.h"
#include "ProblemDetails.h"
#include "SubscriptionDataSets.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class RetrievalOfMultipleDataSetsApi {
public:
RetrievalOfMultipleDataSetsApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~RetrievalOfMultipleDataSetsApi() {}
void init();
const std::string base = "/nudm-sdm/v2";
private:
void setupRoutes();
void get_data_sets_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void retrieval_of_multiple_data_sets_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
/// retrieve multiple data sets
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="supi">Identifier of the UE</param>
/// <param name="datasetNames">List of dataset names</param>
/// <param name="plmnId">serving PLMN ID (optional, default to PlmnId())</param>
/// <param name="supportedFeatures">Supported Features (optional, default to &quot;&quot;)</param>
/// <param name="ifNoneMatch">Validator for conditional requests, as described in RFC 7232, 3.2 (optional, default to &quot;&quot;)</param>
/// <param name="ifModifiedSince">Validator for conditional requests, as described in RFC 7232, 3.3 (optional, default to &quot;&quot;)</param>
virtual void get_data_sets(const std::string &supi, const Pistache::Optional<std::vector<std::string>> &datasetNames, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
#endif /* RetrievalOfMultipleDataSetsApi_H_ */
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "RetrievalOfSharedDataApi.h"
#include "Helpers.h"
namespace oai {
namespace udm {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace oai::udm::model;
RetrievalOfSharedDataApi::RetrievalOfSharedDataApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void RetrievalOfSharedDataApi::init() {
setupRoutes();
}
void RetrievalOfSharedDataApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Get(*router, base + "/shared-data", Routes::bind(&RetrievalOfSharedDataApi::get_shared_data_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&RetrievalOfSharedDataApi::retrieval_of_shared_data_api_default_handler, this));
}
void RetrievalOfSharedDataApi::get_shared_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the query params
auto sharedDataIdsQuery = request.query().get("shared-data-ids");
Pistache::Optional<std::vector<std::string>> sharedDataIds;
if(!sharedDataIdsQuery.isEmpty()){
std::vector<std::string> value;
if(fromStringValue(sharedDataIdsQuery.get(), value)){
sharedDataIds = Pistache::Some(value);
}
}
auto supportedFeaturesQuery = request.query().get("supportedFeatures");
Pistache::Optional<std::string> supportedFeatures;
if(!supportedFeaturesQuery.isEmpty()){
std::string value;
if(fromStringValue(supportedFeaturesQuery.get(), value)){
supportedFeatures = Pistache::Some(value);
}
}
// Getting the header params
auto ifNoneMatch = request.headers().tryGetRaw("If-None-Match");
auto ifModifiedSince = request.headers().tryGetRaw("If-Modified-Since");
try {
this->get_shared_data(sharedDataIds, supportedFeatures, ifNoneMatch, ifModifiedSince, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void RetrievalOfSharedDataApi::retrieval_of_shared_data_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* RetrievalOfSharedDataApi.h
*
*
*/
#ifndef RetrievalOfSharedDataApi_H_
#define RetrievalOfSharedDataApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "ProblemDetails.h"
#include "SharedData.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class RetrievalOfSharedDataApi {
public:
RetrievalOfSharedDataApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~RetrievalOfSharedDataApi() {}
void init();
const std::string base = "/nudm-sdm/v2";
private:
void setupRoutes();
void get_shared_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void retrieval_of_shared_data_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
/// retrieve shared data
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="sharedDataIds">List of shared data ids</param>
/// <param name="supportedFeatures">Supported Features (optional, default to &quot;&quot;)</param>
/// <param name="ifNoneMatch">Validator for conditional requests, as described in RFC 7232, 3.2 (optional, default to &quot;&quot;)</param>
/// <param name="ifModifiedSince">Validator for conditional requests, as described in RFC 7232, 3.3 (optional, default to &quot;&quot;)</param>
virtual void get_shared_data(const Pistache::Optional<std::vector<std::string>> &sharedDataIds, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
#endif /* RetrievalOfSharedDataApi_H_ */
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "SMFSelectionSubscriptionDataRetrievalApi.h"
#include "Helpers.h"
namespace oai {
namespace udm {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace oai::udm::model;
SMFSelectionSubscriptionDataRetrievalApi::SMFSelectionSubscriptionDataRetrievalApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void SMFSelectionSubscriptionDataRetrievalApi::init() {
setupRoutes();
}
void SMFSelectionSubscriptionDataRetrievalApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Get(*router, base + "/:supi/smf-select-data", Routes::bind(&SMFSelectionSubscriptionDataRetrievalApi::get_smf_sel_data_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&SMFSelectionSubscriptionDataRetrievalApi::smf_selection_subscription_data_retrieval_api_default_handler, this));
}
void SMFSelectionSubscriptionDataRetrievalApi::get_smf_sel_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto supi = request.param(":supi").as<std::string>();
// Getting the query params
auto supportedFeaturesQuery = request.query().get("supported-features");
Pistache::Optional<std::string> supportedFeatures;
if(!supportedFeaturesQuery.isEmpty()){
std::string value;
if(fromStringValue(supportedFeaturesQuery.get(), value)){
supportedFeatures = Pistache::Some(value);
}
}
auto plmnIdQuery = request.query().get("plmn-id");
Pistache::Optional<PlmnId> plmnId;
/* if(!plmnIdQuery.isEmpty()){
PlmnId value;
if(fromStringValue(plmnIdQuery.get(), value)){
plmnId = Pistache::Some(value);
}
}
*/
// Getting the header params
auto ifNoneMatch = request.headers().tryGetRaw("If-None-Match");
auto ifModifiedSince = request.headers().tryGetRaw("If-Modified-Since");
try {
this->get_smf_sel_data(supi, supportedFeatures, plmnId, ifNoneMatch, ifModifiedSince, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void SMFSelectionSubscriptionDataRetrievalApi::smf_selection_subscription_data_retrieval_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* SMFSelectionSubscriptionDataRetrievalApi.h
*
*
*/
#ifndef SMFSelectionSubscriptionDataRetrievalApi_H_
#define SMFSelectionSubscriptionDataRetrievalApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "PlmnId.h"
#include "ProblemDetails.h"
#include "SmfSelectionSubscriptionData.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class SMFSelectionSubscriptionDataRetrievalApi {
public:
SMFSelectionSubscriptionDataRetrievalApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~SMFSelectionSubscriptionDataRetrievalApi() {}
void init();
const std::string base = "/nudm-sdm/v2";
private:
void setupRoutes();
void get_smf_sel_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void smf_selection_subscription_data_retrieval_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
/// retrieve a UE&#39;s SMF Selection Subscription Data
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="supi">Identifier of the UE</param>
/// <param name="supportedFeatures">Supported Features (optional, default to &quot;&quot;)</param>
/// <param name="plmnId">serving PLMN ID (optional, default to PlmnId())</param>
/// <param name="ifNoneMatch">Validator for conditional requests, as described in RFC 7232, 3.2 (optional, default to &quot;&quot;)</param>
/// <param name="ifModifiedSince">Validator for conditional requests, as described in RFC 7232, 3.3 (optional, default to &quot;&quot;)</param>
virtual void get_smf_sel_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
#endif /* SMFSelectionSubscriptionDataRetrievalApi_H_ */
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "SMSManagementSubscriptionDataRetrievalApi.h"
#include "Helpers.h"
namespace oai {
namespace udm {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace oai::udm::model;
SMSManagementSubscriptionDataRetrievalApi::SMSManagementSubscriptionDataRetrievalApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void SMSManagementSubscriptionDataRetrievalApi::init() {
setupRoutes();
}
void SMSManagementSubscriptionDataRetrievalApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Get(*router, base + "/:supi/sms-mng-data", Routes::bind(&SMSManagementSubscriptionDataRetrievalApi::get_sms_mngt_data_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&SMSManagementSubscriptionDataRetrievalApi::sms_management_subscription_data_retrieval_api_default_handler, this));
}
void SMSManagementSubscriptionDataRetrievalApi::get_sms_mngt_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto supi = request.param(":supi").as<std::string>();
// Getting the query params
auto supportedFeaturesQuery = request.query().get("supported-features");
Pistache::Optional<std::string> supportedFeatures;
if(!supportedFeaturesQuery.isEmpty()){
std::string value;
if(fromStringValue(supportedFeaturesQuery.get(), value)){
supportedFeatures = Pistache::Some(value);
}
}
auto plmnIdQuery = request.query().get("plmn-id");
Pistache::Optional<PlmnId> plmnId;
/* if(!plmnIdQuery.isEmpty()){
PlmnId value;
if(fromStringValue(plmnIdQuery.get(), value)){
plmnId = Pistache::Some(value);
}
}
*/
// Getting the header params
auto ifNoneMatch = request.headers().tryGetRaw("If-None-Match");
auto ifModifiedSince = request.headers().tryGetRaw("If-Modified-Since");
try {
this->get_sms_mngt_data(supi, supportedFeatures, plmnId, ifNoneMatch, ifModifiedSince, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void SMSManagementSubscriptionDataRetrievalApi::sms_management_subscription_data_retrieval_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* SMSManagementSubscriptionDataRetrievalApi.h
*
*
*/
#ifndef SMSManagementSubscriptionDataRetrievalApi_H_
#define SMSManagementSubscriptionDataRetrievalApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "PlmnId.h"
#include "ProblemDetails.h"
#include "SmsManagementSubscriptionData.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class SMSManagementSubscriptionDataRetrievalApi {
public:
SMSManagementSubscriptionDataRetrievalApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~SMSManagementSubscriptionDataRetrievalApi() {}
void init();
const std::string base = "/nudm-sdm/v2";
private:
void setupRoutes();
void get_sms_mngt_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void sms_management_subscription_data_retrieval_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
/// retrieve a UE&#39;s SMS Management Subscription Data
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="supi">Identifier of the UE</param>
/// <param name="supportedFeatures">Supported Features (optional, default to &quot;&quot;)</param>
/// <param name="plmnId"> (optional, default to PlmnId())</param>
/// <param name="ifNoneMatch">Validator for conditional requests, as described in RFC 7232, 3.2 (optional, default to &quot;&quot;)</param>
/// <param name="ifModifiedSince">Validator for conditional requests, as described in RFC 7232, 3.3 (optional, default to &quot;&quot;)</param>
virtual void get_sms_mngt_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
#endif /* SMSManagementSubscriptionDataRetrievalApi_H_ */
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "SMSSubscriptionDataRetrievalApi.h"
#include "Helpers.h"
namespace oai {
namespace udm {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace oai::udm::model;
SMSSubscriptionDataRetrievalApi::SMSSubscriptionDataRetrievalApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void SMSSubscriptionDataRetrievalApi::init() {
setupRoutes();
}
void SMSSubscriptionDataRetrievalApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Get(*router, base + "/:supi/sms-data", Routes::bind(&SMSSubscriptionDataRetrievalApi::get_sms_data_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&SMSSubscriptionDataRetrievalApi::sms_subscription_data_retrieval_api_default_handler, this));
}
void SMSSubscriptionDataRetrievalApi::get_sms_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto supi = request.param(":supi").as<std::string>();
// Getting the query params
//TTN: Don't need
auto supportedFeaturesQuery = request.query().get("supported-features");
Pistache::Optional<std::string> supportedFeatures;
if(!supportedFeaturesQuery.isEmpty()){
std::string value;
if(fromStringValue(supportedFeaturesQuery.get(), value)){
supportedFeatures = Pistache::Some(value);
}
}
//TTN: Don't need
auto plmnIdQuery = request.query().get("plmn-id");
Pistache::Optional<PlmnId> plmnId;
/* if(!plmnIdQuery.isEmpty()){
PlmnId value;
if(fromStringValue(plmnIdQuery.get(), value)){
plmnId = Pistache::Some(value);
}
}
*/
// Getting the header params
auto ifNoneMatch = request.headers().tryGetRaw("If-None-Match");
auto ifModifiedSince = request.headers().tryGetRaw("If-Modified-Since");
try {
this->get_sms_data(supi, supportedFeatures, plmnId, ifNoneMatch, ifModifiedSince, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void SMSSubscriptionDataRetrievalApi::sms_subscription_data_retrieval_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* SMSSubscriptionDataRetrievalApi.h
*
*
*/
#ifndef SMSSubscriptionDataRetrievalApi_H_
#define SMSSubscriptionDataRetrievalApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "PlmnId.h"
#include "ProblemDetails.h"
#include "SmsSubscriptionData.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class SMSSubscriptionDataRetrievalApi {
public:
SMSSubscriptionDataRetrievalApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~SMSSubscriptionDataRetrievalApi() {}
void init();
const std::string base = "/nudm-sdm/v2";
private:
void setupRoutes();
void get_sms_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void sms_subscription_data_retrieval_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
/// retrieve a UE&#39;s SMS Subscription Data
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="supi">Identifier of the UE</param>
/// <param name="supportedFeatures">Supported Features (optional, default to &quot;&quot;)</param>
/// <param name="plmnId"> (optional, default to PlmnId())</param>
/// <param name="ifNoneMatch">Validator for conditional requests, as described in RFC 7232, 3.2 (optional, default to &quot;&quot;)</param>
/// <param name="ifModifiedSince">Validator for conditional requests, as described in RFC 7232, 3.3 (optional, default to &quot;&quot;)</param>
virtual void get_sms_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
#endif /* SMSSubscriptionDataRetrievalApi_H_ */
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "SessionManagementSubscriptionDataRetrievalApi.h"
#include "Helpers.h"
namespace oai {
namespace udm {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace oai::udm::model;
SessionManagementSubscriptionDataRetrievalApi::SessionManagementSubscriptionDataRetrievalApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void SessionManagementSubscriptionDataRetrievalApi::init() {
setupRoutes();
}
void SessionManagementSubscriptionDataRetrievalApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Get(*router, base + "/:supi/sm-data", Routes::bind(&SessionManagementSubscriptionDataRetrievalApi::get_sm_data_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&SessionManagementSubscriptionDataRetrievalApi::session_management_subscription_data_retrieval_api_default_handler, this));
}
void SessionManagementSubscriptionDataRetrievalApi::get_sm_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto supi = request.param(":supi").as<std::string>();
// Getting the query params
/*
* TODO:
auto supportedFeaturesQuery = request.query().get("supported-features");
Pistache::Optional<std::string> supportedFeatures;
if(!supportedFeaturesQuery.isEmpty()){
std::string value;
if(fromStringValue(supportedFeaturesQuery.get(), value)){
supportedFeatures = Pistache::Some(value);
}
}
*/
auto singleNssaiQuery = request.query().get("single-nssai");
Pistache::Optional<Snssai> singleNssai;
/* if(!singleNssaiQuery.isEmpty()){
Snssai value;
if(fromStringValue(singleNssaiQuery.get(), value)){
singleNssai = Pistache::Some(value);
}
}
*/
auto dnnQuery = request.query().get("dnn");
Pistache::Optional<std::string> dnn;
if(!dnnQuery.isEmpty()){
std::string value;
if(fromStringValue(dnnQuery.get(), value)){
dnn = Pistache::Some(value);
}
}
/*
* TODO:
auto plmnIdQuery = request.query().get("plmn-id");
Pistache::Optional<PlmnId> plmnId;
if(!plmnIdQuery.isEmpty()){
PlmnId value;
if(fromStringValue(plmnIdQuery.get(), value)){
plmnId = Pistache::Some(value);
}
}
*/
/*
* TODO:
// Getting the header params
auto ifNoneMatch = request.headers().tryGetRaw("If-None-Match");
auto ifModifiedSince = request.headers().tryGetRaw("If-Modified-Since");
*/
try {
//this->get_sm_data(supi, supportedFeatures, singleNssai, dnn, plmnId, ifNoneMatch, ifModifiedSince, response);
this->get_sm_data(supi, singleNssai, dnn, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void SessionManagementSubscriptionDataRetrievalApi::session_management_subscription_data_retrieval_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* SessionManagementSubscriptionDataRetrievalApi.h
*
*
*/
#ifndef SessionManagementSubscriptionDataRetrievalApi_H_
#define SessionManagementSubscriptionDataRetrievalApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "PlmnId.h"
#include "ProblemDetails.h"
#include "SessionManagementSubscriptionData.h"
#include "Snssai.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class SessionManagementSubscriptionDataRetrievalApi {
public:
SessionManagementSubscriptionDataRetrievalApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~SessionManagementSubscriptionDataRetrievalApi() {}
void init();
const std::string base = "/nudm-sdm/v2";
private:
void setupRoutes();
void get_sm_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void session_management_subscription_data_retrieval_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
/// retrieve a UE&#39;s Session Management Subscription Data
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="supi">Identifier of the UE</param>
/// <param name="supportedFeatures">Supported Features (optional, default to &quot;&quot;)</param>
/// <param name="singleNssai"> (optional, default to Snssai())</param>
/// <param name="dnn"> (optional, default to &quot;&quot;)</param>
/// <param name="plmnId"> (optional, default to PlmnId())</param>
/// <param name="ifNoneMatch">Validator for conditional requests, as described in RFC 7232, 3.2 (optional, default to &quot;&quot;)</param>
/// <param name="ifModifiedSince">Validator for conditional requests, as described in RFC 7232, 3.3 (optional, default to &quot;&quot;)</param>
//virtual void get_sm_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<Snssai> &singleNssai, const Pistache::Optional<std::string> &dnn, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) = 0;
virtual void get_sm_data(const std::string &supi, const Pistache::Optional<Snssai> &singleNssai, const Pistache::Optional<std::string> &dnn, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
#endif /* SessionManagementSubscriptionDataRetrievalApi_H_ */
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "SliceSelectionSubscriptionDataRetrievalApi.h"
#include "Helpers.h"
namespace oai {
namespace udm {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace oai::udm::model;
SliceSelectionSubscriptionDataRetrievalApi::SliceSelectionSubscriptionDataRetrievalApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void SliceSelectionSubscriptionDataRetrievalApi::init() {
setupRoutes();
}
void SliceSelectionSubscriptionDataRetrievalApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Get(*router, base + "/:supi/nssai", Routes::bind(&SliceSelectionSubscriptionDataRetrievalApi::get_nssai_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&SliceSelectionSubscriptionDataRetrievalApi::slice_selection_subscription_data_retrieval_api_default_handler, this));
}
void SliceSelectionSubscriptionDataRetrievalApi::get_nssai_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto supi = request.param(":supi").as<std::string>();
// Getting the query params
auto supportedFeaturesQuery = request.query().get("supported-features");
Pistache::Optional<std::string> supportedFeatures;
if(!supportedFeaturesQuery.isEmpty()){
std::string value;
if(fromStringValue(supportedFeaturesQuery.get(), value)){
supportedFeatures = Pistache::Some(value);
}
}
auto plmnIdQuery = request.query().get("plmn-id");
Pistache::Optional<PlmnId> plmnId;
/* if(!plmnIdQuery.isEmpty()){
PlmnId value;
if(fromStringValue(plmnIdQuery.get(), value)){
plmnId = Pistache::Some(value);
}
}
*/
// Getting the header params
auto ifNoneMatch = request.headers().tryGetRaw("If-None-Match");
auto ifModifiedSince = request.headers().tryGetRaw("If-Modified-Since");
try {
this->get_nssai(supi, supportedFeatures, plmnId, ifNoneMatch, ifModifiedSince, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void SliceSelectionSubscriptionDataRetrievalApi::slice_selection_subscription_data_retrieval_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* SliceSelectionSubscriptionDataRetrievalApi.h
*
*
*/
#ifndef SliceSelectionSubscriptionDataRetrievalApi_H_
#define SliceSelectionSubscriptionDataRetrievalApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "Nssai.h"
#include "PlmnId.h"
#include "ProblemDetails.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class SliceSelectionSubscriptionDataRetrievalApi {
public:
SliceSelectionSubscriptionDataRetrievalApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~SliceSelectionSubscriptionDataRetrievalApi() {}
void init();
const std::string base = "/nudm-sdm/v2";
private:
void setupRoutes();
void get_nssai_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void slice_selection_subscription_data_retrieval_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
/// retrieve a UE&#39;s subscribed NSSAI
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="supi">Identifier of the UE</param>
/// <param name="supportedFeatures">Supported Features (optional, default to &quot;&quot;)</param>
/// <param name="plmnId">serving PLMN ID (optional, default to PlmnId())</param>
/// <param name="ifNoneMatch">Validator for conditional requests, as described in RFC 7232, 3.2 (optional, default to &quot;&quot;)</param>
/// <param name="ifModifiedSince">Validator for conditional requests, as described in RFC 7232, 3.3 (optional, default to &quot;&quot;)</param>
virtual void get_nssai(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
#endif /* SliceSelectionSubscriptionDataRetrievalApi_H_ */
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "SubscriptionCreationApi.h"
#include "Helpers.h"
namespace oai {
namespace udm {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace oai::udm::model;
SubscriptionCreationApi::SubscriptionCreationApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void SubscriptionCreationApi::init() {
setupRoutes();
}
void SubscriptionCreationApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Post(*router, base + "/:supi/sdm-subscriptions", Routes::bind(&SubscriptionCreationApi::subscribe_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&SubscriptionCreationApi::subscription_creation_api_default_handler, this));
}
void SubscriptionCreationApi::subscribe_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto supi = request.param(":supi").as<std::string>();
// Getting the body param
SdmSubscription sdmSubscription;
try {
nlohmann::json::parse(request.body()).get_to(sdmSubscription);
this->subscribe(supi, sdmSubscription, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void SubscriptionCreationApi::subscription_creation_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* SubscriptionCreationApi.h
*
*
*/
#ifndef SubscriptionCreationApi_H_
#define SubscriptionCreationApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "ProblemDetails.h"
#include "SdmSubscription.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class SubscriptionCreationApi {
public:
SubscriptionCreationApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~SubscriptionCreationApi() {}
void init();
const std::string base = "/nudm-sdm/v2";
private:
void setupRoutes();
void subscribe_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void subscription_creation_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
/// subscribe to notifications
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="supi">SUPI of the user</param>
/// <param name="sdmSubscription"></param>
virtual void subscribe(const std::string &supi, const SdmSubscription &sdmSubscription, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
#endif /* SubscriptionCreationApi_H_ */
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "SubscriptionCreationForSharedDataApi.h"
#include "Helpers.h"
namespace oai {
namespace udm {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace oai::udm::model;
SubscriptionCreationForSharedDataApi::SubscriptionCreationForSharedDataApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void SubscriptionCreationForSharedDataApi::init() {
setupRoutes();
}
void SubscriptionCreationForSharedDataApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Post(*router, base + "/shared-data-subscriptions", Routes::bind(&SubscriptionCreationForSharedDataApi::subscribe_to_shared_data_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&SubscriptionCreationForSharedDataApi::subscription_creation_for_shared_data_api_default_handler, this));
}
void SubscriptionCreationForSharedDataApi::subscribe_to_shared_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the body param
SdmSubscription sdmSubscription;
try {
nlohmann::json::parse(request.body()).get_to(sdmSubscription);
this->subscribe_to_shared_data(sdmSubscription, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void SubscriptionCreationForSharedDataApi::subscription_creation_for_shared_data_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* SubscriptionCreationForSharedDataApi.h
*
*
*/
#ifndef SubscriptionCreationForSharedDataApi_H_
#define SubscriptionCreationForSharedDataApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "ProblemDetails.h"
#include "SdmSubscription.h"
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class SubscriptionCreationForSharedDataApi {
public:
SubscriptionCreationForSharedDataApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~SubscriptionCreationForSharedDataApi() {}
void init();
const std::string base = "/nudm-sdm/v2";
private:
void setupRoutes();
void subscribe_to_shared_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void subscription_creation_for_shared_data_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
/// subscribe to notifications for shared data
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="sdmSubscription"></param>
virtual void subscribe_to_shared_data(const SdmSubscription &sdmSubscription, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
#endif /* SubscriptionCreationForSharedDataApi_H_ */
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "SubscriptionDeletionApi.h"
#include "Helpers.h"
namespace oai {
namespace udm {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace oai::udm::model;
SubscriptionDeletionApi::SubscriptionDeletionApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void SubscriptionDeletionApi::init() {
setupRoutes();
}
void SubscriptionDeletionApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Delete(*router, base + "/:supi/sdm-subscriptions/:subscriptionId", Routes::bind(&SubscriptionDeletionApi::unsubscribe_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&SubscriptionDeletionApi::subscription_deletion_api_default_handler, this));
}
void SubscriptionDeletionApi::unsubscribe_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto supi = request.param(":supi").as<std::string>();
auto subscriptionId = request.param(":subscriptionId").as<std::string>();
try {
this->unsubscribe(supi, subscriptionId, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void SubscriptionDeletionApi::subscription_deletion_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* SubscriptionDeletionApi.h
*
*
*/
#ifndef SubscriptionDeletionApi_H_
#define SubscriptionDeletionApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "ProblemDetails.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class SubscriptionDeletionApi {
public:
SubscriptionDeletionApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~SubscriptionDeletionApi() {}
void init();
const std::string base = "/nudm-sdm/v2";
private:
void setupRoutes();
void unsubscribe_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void subscription_deletion_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
/// unsubscribe from notifications
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="supi">SUPI of the user</param>
/// <param name="subscriptionId">Id of the SDM Subscription</param>
virtual void unsubscribe(const std::string &supi, const std::string &subscriptionId, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
#endif /* SubscriptionDeletionApi_H_ */
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "SubscriptionDeletionForSharedDataApi.h"
#include "Helpers.h"
namespace oai {
namespace udm {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace oai::udm::model;
SubscriptionDeletionForSharedDataApi::SubscriptionDeletionForSharedDataApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void SubscriptionDeletionForSharedDataApi::init() {
setupRoutes();
}
void SubscriptionDeletionForSharedDataApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Delete(*router, base + "/shared-data-subscriptions/:subscriptionId", Routes::bind(&SubscriptionDeletionForSharedDataApi::unsubscribe_for_shared_data_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&SubscriptionDeletionForSharedDataApi::subscription_deletion_for_shared_data_api_default_handler, this));
}
void SubscriptionDeletionForSharedDataApi::unsubscribe_for_shared_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto subscriptionId = request.param(":subscriptionId").as<std::string>();
try {
this->unsubscribe_for_shared_data(subscriptionId, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void SubscriptionDeletionForSharedDataApi::subscription_deletion_for_shared_data_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* SubscriptionDeletionForSharedDataApi.h
*
*
*/
#ifndef SubscriptionDeletionForSharedDataApi_H_
#define SubscriptionDeletionForSharedDataApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "ProblemDetails.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class SubscriptionDeletionForSharedDataApi {
public:
SubscriptionDeletionForSharedDataApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~SubscriptionDeletionForSharedDataApi() {}
void init();
const std::string base = "/nudm-sdm/v2";
private:
void setupRoutes();
void unsubscribe_for_shared_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void subscription_deletion_for_shared_data_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
/// unsubscribe from notifications for shared data
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="subscriptionId">Id of the Shared data Subscription</param>
virtual void unsubscribe_for_shared_data(const std::string &subscriptionId, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
#endif /* SubscriptionDeletionForSharedDataApi_H_ */
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "SubscriptionModificationApi.h"
#include "Helpers.h"
namespace oai {
namespace udm {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace oai::udm::model;
SubscriptionModificationApi::SubscriptionModificationApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void SubscriptionModificationApi::init() {
setupRoutes();
}
void SubscriptionModificationApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Patch(*router, base + "/:supi/sdm-subscriptions/:subscriptionId", Routes::bind(&SubscriptionModificationApi::modify_handler, this));
Routes::Patch(*router, base + "/shared-data-subscriptions/:subscriptionId", Routes::bind(&SubscriptionModificationApi::modify_shared_data_subs_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&SubscriptionModificationApi::subscription_modification_api_default_handler, this));
}
void SubscriptionModificationApi::modify_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto supi = request.param(":supi").as<std::string>();
auto subscriptionId = request.param(":subscriptionId").as<std::string>();
// Getting the body param
SdmSubsModification sdmSubsModification;
try {
nlohmann::json::parse(request.body()).get_to(sdmSubsModification);
this->modify(supi, subscriptionId, sdmSubsModification, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void SubscriptionModificationApi::modify_shared_data_subs_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto subscriptionId = request.param(":subscriptionId").as<std::string>();
// Getting the body param
SdmSubsModification sdmSubsModification;
try {
nlohmann::json::parse(request.body()).get_to(sdmSubsModification);
this->modify_shared_data_subs(subscriptionId, sdmSubsModification, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void SubscriptionModificationApi::subscription_modification_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* SubscriptionModificationApi.h
*
*
*/
#ifndef SubscriptionModificationApi_H_
#define SubscriptionModificationApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "ProblemDetails.h"
#include "SdmSubsModification.h"
#include "SdmSubscription.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class SubscriptionModificationApi {
public:
SubscriptionModificationApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~SubscriptionModificationApi() {}
void init();
const std::string base = "/nudm-sdm/v2";
private:
void setupRoutes();
void modify_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void modify_shared_data_subs_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void subscription_modification_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
/// modify the subscription
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="supi">SUPI of the user</param>
/// <param name="subscriptionId">Id of the SDM Subscription</param>
/// <param name="sdmSubsModification"></param>
virtual void modify(const std::string &supi, const std::string &subscriptionId, const SdmSubsModification &sdmSubsModification, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// modify the subscription
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="subscriptionId">Id of the SDM Subscription</param>
/// <param name="sdmSubsModification"></param>
virtual void modify_shared_data_subs(const std::string &subscriptionId, const SdmSubsModification &sdmSubsModification, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
#endif /* SubscriptionModificationApi_H_ */
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "TraceConfigurationDataRetrievalApi.h"
#include "Helpers.h"
namespace oai {
namespace udm {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace oai::udm::model;
TraceConfigurationDataRetrievalApi::TraceConfigurationDataRetrievalApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void TraceConfigurationDataRetrievalApi::init() {
setupRoutes();
}
void TraceConfigurationDataRetrievalApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Get(*router, base + "/:supi/trace-data", Routes::bind(&TraceConfigurationDataRetrievalApi::get_trace_config_data_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&TraceConfigurationDataRetrievalApi::trace_configuration_data_retrieval_api_default_handler, this));
}
void TraceConfigurationDataRetrievalApi::get_trace_config_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto supi = request.param(":supi").as<std::string>();
// Getting the query params
auto supportedFeaturesQuery = request.query().get("supported-features");
Pistache::Optional<std::string> supportedFeatures;
if(!supportedFeaturesQuery.isEmpty()){
std::string value;
if(fromStringValue(supportedFeaturesQuery.get(), value)){
supportedFeatures = Pistache::Some(value);
}
}
auto plmnIdQuery = request.query().get("plmn-id");
Pistache::Optional<PlmnId> plmnId;
/* if(!plmnIdQuery.isEmpty()){
PlmnId value;
if(fromStringValue(plmnIdQuery.get(), value)){
plmnId = Pistache::Some(value);
}
}
*/
// Getting the header params
auto ifNoneMatch = request.headers().tryGetRaw("If-None-Match");
auto ifModifiedSince = request.headers().tryGetRaw("If-Modified-Since");
try {
this->get_trace_config_data(supi, supportedFeatures, plmnId, ifNoneMatch, ifModifiedSince, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void TraceConfigurationDataRetrievalApi::trace_configuration_data_retrieval_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* TraceConfigurationDataRetrievalApi.h
*
*
*/
#ifndef TraceConfigurationDataRetrievalApi_H_
#define TraceConfigurationDataRetrievalApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "PlmnId.h"
#include "ProblemDetails.h"
#include "TraceDataResponse.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class TraceConfigurationDataRetrievalApi {
public:
TraceConfigurationDataRetrievalApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~TraceConfigurationDataRetrievalApi() {}
void init();
const std::string base = "/nudm-sdm/v2";
private:
void setupRoutes();
void get_trace_config_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void trace_configuration_data_retrieval_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
/// retrieve a UE&#39;s Trace Configuration Data
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="supi">Identifier of the UE</param>
/// <param name="supportedFeatures">Supported Features (optional, default to &quot;&quot;)</param>
/// <param name="plmnId">serving PLMN ID (optional, default to PlmnId())</param>
/// <param name="ifNoneMatch">Validator for conditional requests, as described in RFC 7232, 3.2 (optional, default to &quot;&quot;)</param>
/// <param name="ifModifiedSince">Validator for conditional requests, as described in RFC 7232, 3.3 (optional, default to &quot;&quot;)</param>
virtual void get_trace_config_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
#endif /* TraceConfigurationDataRetrievalApi_H_ */
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "UEContextInSMFDataRetrievalApi.h"
#include "Helpers.h"
namespace oai {
namespace udm {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace oai::udm::model;
UEContextInSMFDataRetrievalApi::UEContextInSMFDataRetrievalApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void UEContextInSMFDataRetrievalApi::init() {
setupRoutes();
}
void UEContextInSMFDataRetrievalApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Get(*router, base + "/:supi/ue-context-in-smf-data", Routes::bind(&UEContextInSMFDataRetrievalApi::get_ue_ctx_in_smf_data_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&UEContextInSMFDataRetrievalApi::ue_context_in_smf_data_retrieval_api_default_handler, this));
}
void UEContextInSMFDataRetrievalApi::get_ue_ctx_in_smf_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto supi = request.param(":supi").as<std::string>();
// Getting the query params
auto supportedFeaturesQuery = request.query().get("supported-features");
Pistache::Optional<std::string> supportedFeatures;
if(!supportedFeaturesQuery.isEmpty()){
std::string value;
if(fromStringValue(supportedFeaturesQuery.get(), value)){
supportedFeatures = Pistache::Some(value);
}
}
try {
this->get_ue_ctx_in_smf_data(supi, supportedFeatures, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void UEContextInSMFDataRetrievalApi::ue_context_in_smf_data_retrieval_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* UEContextInSMFDataRetrievalApi.h
*
*
*/
#ifndef UEContextInSMFDataRetrievalApi_H_
#define UEContextInSMFDataRetrievalApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "ProblemDetails.h"
#include "UeContextInSmfData.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class UEContextInSMFDataRetrievalApi {
public:
UEContextInSMFDataRetrievalApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~UEContextInSMFDataRetrievalApi() {}
void init();
const std::string base = "/nudm-sdm/v2";
private:
void setupRoutes();
void get_ue_ctx_in_smf_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void ue_context_in_smf_data_retrieval_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
/// retrieve a UE&#39;s UE Context In SMF Data
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="supi">Identifier of the UE</param>
/// <param name="supportedFeatures">Supported Features (optional, default to &quot;&quot;)</param>
virtual void get_ue_ctx_in_smf_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
#endif /* UEContextInSMFDataRetrievalApi_H_ */
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "UEContextInSMSFDataRetrievalApi.h"
#include "Helpers.h"
namespace oai {
namespace udm {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace oai::udm::model;
UEContextInSMSFDataRetrievalApi::UEContextInSMSFDataRetrievalApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void UEContextInSMSFDataRetrievalApi::init() {
setupRoutes();
}
void UEContextInSMSFDataRetrievalApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Get(*router, base + "/:supi/ue-context-in-smsf-data", Routes::bind(&UEContextInSMSFDataRetrievalApi::get_ue_ctx_in_smsf_data_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&UEContextInSMSFDataRetrievalApi::ue_context_in_smsf_data_retrieval_api_default_handler, this));
}
void UEContextInSMSFDataRetrievalApi::get_ue_ctx_in_smsf_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto supi = request.param(":supi").as<std::string>();
// Getting the query params
auto supportedFeaturesQuery = request.query().get("supported-features");
Pistache::Optional<std::string> supportedFeatures;
if(!supportedFeaturesQuery.isEmpty()){
std::string value;
if(fromStringValue(supportedFeaturesQuery.get(), value)){
supportedFeatures = Pistache::Some(value);
}
}
try {
this->get_ue_ctx_in_smsf_data(supi, supportedFeatures, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void UEContextInSMSFDataRetrievalApi::ue_context_in_smsf_data_retrieval_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* UEContextInSMSFDataRetrievalApi.h
*
*
*/
#ifndef UEContextInSMSFDataRetrievalApi_H_
#define UEContextInSMSFDataRetrievalApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "ProblemDetails.h"
#include "UeContextInSmsfData.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class UEContextInSMSFDataRetrievalApi {
public:
UEContextInSMSFDataRetrievalApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~UEContextInSMSFDataRetrievalApi() {}
void init();
const std::string base = "/nudm-sdm/v2";
private:
void setupRoutes();
void get_ue_ctx_in_smsf_data_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void ue_context_in_smsf_data_retrieval_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
/// retrieve a UE&#39;s UE Context In SMSF Data
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="supi">Identifier of the UE</param>
/// <param name="supportedFeatures">Supported Features (optional, default to &quot;&quot;)</param>
virtual void get_ue_ctx_in_smsf_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
#endif /* UEContextInSMSFDataRetrievalApi_H_ */
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "AccessAndMobilitySubscriptionDataRetrievalApiImpl.h"
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
AccessAndMobilitySubscriptionDataRetrievalApiImpl::AccessAndMobilitySubscriptionDataRetrievalApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: AccessAndMobilitySubscriptionDataRetrievalApi(rtr)
{ }
void AccessAndMobilitySubscriptionDataRetrievalApiImpl::get_am_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* AccessAndMobilitySubscriptionDataRetrievalApiImpl.h
*
*
*/
#ifndef ACCESS_AND_MOBILITY_SUBSCRIPTION_DATA_RETRIEVAL_API_IMPL_H_
#define ACCESS_AND_MOBILITY_SUBSCRIPTION_DATA_RETRIEVAL_API_IMPL_H_
#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <AccessAndMobilitySubscriptionDataRetrievalApi.h>
#include <pistache/optional.h>
#include "AccessAndMobilitySubscriptionData.h"
#include "PlmnId.h"
#include "ProblemDetails.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class AccessAndMobilitySubscriptionDataRetrievalApiImpl : public oai::udm::api::AccessAndMobilitySubscriptionDataRetrievalApi {
public:
AccessAndMobilitySubscriptionDataRetrievalApiImpl(std::shared_ptr<Pistache::Rest::Router>);
~AccessAndMobilitySubscriptionDataRetrievalApiImpl() {}
void get_am_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response);
};
}
}
}
#endif
\ No newline at end of file
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "GPSIToSUPITranslationApiImpl.h"
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
GPSIToSUPITranslationApiImpl::GPSIToSUPITranslationApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: GPSIToSUPITranslationApi(rtr)
{ }
void GPSIToSUPITranslationApiImpl::get_supi(const std::string &gpsi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* GPSIToSUPITranslationApiImpl.h
*
*
*/
#ifndef GPSI_TO_SUPI_TRANSLATION_API_IMPL_H_
#define GPSI_TO_SUPI_TRANSLATION_API_IMPL_H_
#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <GPSIToSUPITranslationApi.h>
#include <pistache/optional.h>
#include "IdTranslationResult.h"
#include "ProblemDetails.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class GPSIToSUPITranslationApiImpl : public oai::udm::api::GPSIToSUPITranslationApi {
public:
GPSIToSUPITranslationApiImpl(std::shared_ptr<Pistache::Rest::Router>);
~GPSIToSUPITranslationApiImpl() {}
void get_supi(const std::string &gpsi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response);
};
}
}
}
#endif
\ No newline at end of file
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "GroupIdentifiersApiImpl.h"
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
GroupIdentifiersApiImpl::GroupIdentifiersApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: GroupIdentifiersApi(rtr)
{ }
void GroupIdentifiersApiImpl::get_group_identifiers(const Pistache::Optional<std::string> &extGroupId, const Pistache::Optional<std::string> &intGroupId, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* GroupIdentifiersApiImpl.h
*
*
*/
#ifndef GROUP_IDENTIFIERS_API_IMPL_H_
#define GROUP_IDENTIFIERS_API_IMPL_H_
#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <GroupIdentifiersApi.h>
#include <pistache/optional.h>
#include "GroupIdentifiers.h"
#include "ProblemDetails.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class GroupIdentifiersApiImpl : public oai::udm::api::GroupIdentifiersApi {
public:
GroupIdentifiersApiImpl(std::shared_ptr<Pistache::Rest::Router>);
~GroupIdentifiersApiImpl() {}
void get_group_identifiers(const Pistache::Optional<std::string> &extGroupId, const Pistache::Optional<std::string> &intGroupId, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response);
};
}
}
}
#endif
\ No newline at end of file
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "ProvidingAcknowledgementOfSteeringOfRoamingApiImpl.h"
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
ProvidingAcknowledgementOfSteeringOfRoamingApiImpl::ProvidingAcknowledgementOfSteeringOfRoamingApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: ProvidingAcknowledgementOfSteeringOfRoamingApi(rtr)
{ }
void ProvidingAcknowledgementOfSteeringOfRoamingApiImpl::sor_ack_info(const std::string &supi, const AcknowledgeInfo &acknowledgeInfo, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* ProvidingAcknowledgementOfSteeringOfRoamingApiImpl.h
*
*
*/
#ifndef PROVIDING_ACKNOWLEDGEMENT_OF_STEERING_OF_ROAMING_API_IMPL_H_
#define PROVIDING_ACKNOWLEDGEMENT_OF_STEERING_OF_ROAMING_API_IMPL_H_
#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <ProvidingAcknowledgementOfSteeringOfRoamingApi.h>
#include <pistache/optional.h>
#include "AcknowledgeInfo.h"
#include "ProblemDetails.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class ProvidingAcknowledgementOfSteeringOfRoamingApiImpl : public oai::udm::api::ProvidingAcknowledgementOfSteeringOfRoamingApi {
public:
ProvidingAcknowledgementOfSteeringOfRoamingApiImpl(std::shared_ptr<Pistache::Rest::Router>);
~ProvidingAcknowledgementOfSteeringOfRoamingApiImpl() {}
void sor_ack_info(const std::string &supi, const AcknowledgeInfo &acknowledgeInfo, Pistache::Http::ResponseWriter &response);
};
}
}
}
#endif
\ No newline at end of file
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "ProvidingAcknowledgementOfUEParametersUpdateApiImpl.h"
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
ProvidingAcknowledgementOfUEParametersUpdateApiImpl::ProvidingAcknowledgementOfUEParametersUpdateApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: ProvidingAcknowledgementOfUEParametersUpdateApi(rtr)
{ }
void ProvidingAcknowledgementOfUEParametersUpdateApiImpl::upu_ack(const std::string &supi, const AcknowledgeInfo &acknowledgeInfo, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* ProvidingAcknowledgementOfUEParametersUpdateApiImpl.h
*
*
*/
#ifndef PROVIDING_ACKNOWLEDGEMENT_OF_UE_PARAMETERS_UPDATE_API_IMPL_H_
#define PROVIDING_ACKNOWLEDGEMENT_OF_UE_PARAMETERS_UPDATE_API_IMPL_H_
#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <ProvidingAcknowledgementOfUEParametersUpdateApi.h>
#include <pistache/optional.h>
#include "AcknowledgeInfo.h"
#include "ProblemDetails.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class ProvidingAcknowledgementOfUEParametersUpdateApiImpl : public oai::udm::api::ProvidingAcknowledgementOfUEParametersUpdateApi {
public:
ProvidingAcknowledgementOfUEParametersUpdateApiImpl(std::shared_ptr<Pistache::Rest::Router>);
~ProvidingAcknowledgementOfUEParametersUpdateApiImpl() {}
void upu_ack(const std::string &supi, const AcknowledgeInfo &acknowledgeInfo, Pistache::Http::ResponseWriter &response);
};
}
}
}
#endif
\ No newline at end of file
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "RetrievalOfMultipleDataSetsApiImpl.h"
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
RetrievalOfMultipleDataSetsApiImpl::RetrievalOfMultipleDataSetsApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: RetrievalOfMultipleDataSetsApi(rtr)
{ }
void RetrievalOfMultipleDataSetsApiImpl::get_data_sets(const std::string &supi, const Pistache::Optional<std::vector<std::string>> &datasetNames, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* RetrievalOfMultipleDataSetsApiImpl.h
*
*
*/
#ifndef RETRIEVAL_OF_MULTIPLE_DATA_SETS_API_IMPL_H_
#define RETRIEVAL_OF_MULTIPLE_DATA_SETS_API_IMPL_H_
#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <RetrievalOfMultipleDataSetsApi.h>
#include <pistache/optional.h>
#include "PlmnId.h"
#include "ProblemDetails.h"
#include "SubscriptionDataSets.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class RetrievalOfMultipleDataSetsApiImpl : public oai::udm::api::RetrievalOfMultipleDataSetsApi {
public:
RetrievalOfMultipleDataSetsApiImpl(std::shared_ptr<Pistache::Rest::Router>);
~RetrievalOfMultipleDataSetsApiImpl() {}
void get_data_sets(const std::string &supi, const Pistache::Optional<std::vector<std::string>> &datasetNames, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response);
};
}
}
}
#endif
\ No newline at end of file
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "RetrievalOfSharedDataApiImpl.h"
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
RetrievalOfSharedDataApiImpl::RetrievalOfSharedDataApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: RetrievalOfSharedDataApi(rtr)
{ }
void RetrievalOfSharedDataApiImpl::get_shared_data(const Pistache::Optional<std::vector<std::string>> &sharedDataIds, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* RetrievalOfSharedDataApiImpl.h
*
*
*/
#ifndef RETRIEVAL_OF_SHARED_DATA_API_IMPL_H_
#define RETRIEVAL_OF_SHARED_DATA_API_IMPL_H_
#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <RetrievalOfSharedDataApi.h>
#include <pistache/optional.h>
#include "ProblemDetails.h"
#include "SharedData.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class RetrievalOfSharedDataApiImpl : public oai::udm::api::RetrievalOfSharedDataApi {
public:
RetrievalOfSharedDataApiImpl(std::shared_ptr<Pistache::Rest::Router>);
~RetrievalOfSharedDataApiImpl() {}
void get_shared_data(const Pistache::Optional<std::vector<std::string>> &sharedDataIds, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response);
};
}
}
}
#endif
\ No newline at end of file
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "SMFSelectionSubscriptionDataRetrievalApiImpl.h"
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
SMFSelectionSubscriptionDataRetrievalApiImpl::SMFSelectionSubscriptionDataRetrievalApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: SMFSelectionSubscriptionDataRetrievalApi(rtr)
{ }
void SMFSelectionSubscriptionDataRetrievalApiImpl::get_smf_sel_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* SMFSelectionSubscriptionDataRetrievalApiImpl.h
*
*
*/
#ifndef SMF_SELECTION_SUBSCRIPTION_DATA_RETRIEVAL_API_IMPL_H_
#define SMF_SELECTION_SUBSCRIPTION_DATA_RETRIEVAL_API_IMPL_H_
#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <SMFSelectionSubscriptionDataRetrievalApi.h>
#include <pistache/optional.h>
#include "PlmnId.h"
#include "ProblemDetails.h"
#include "SmfSelectionSubscriptionData.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class SMFSelectionSubscriptionDataRetrievalApiImpl : public oai::udm::api::SMFSelectionSubscriptionDataRetrievalApi {
public:
SMFSelectionSubscriptionDataRetrievalApiImpl(std::shared_ptr<Pistache::Rest::Router>);
~SMFSelectionSubscriptionDataRetrievalApiImpl() {}
void get_smf_sel_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response);
};
}
}
}
#endif
\ No newline at end of file
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "SMSManagementSubscriptionDataRetrievalApiImpl.h"
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
SMSManagementSubscriptionDataRetrievalApiImpl::SMSManagementSubscriptionDataRetrievalApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: SMSManagementSubscriptionDataRetrievalApi(rtr)
{ }
void SMSManagementSubscriptionDataRetrievalApiImpl::get_sms_mngt_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* SMSManagementSubscriptionDataRetrievalApiImpl.h
*
*
*/
#ifndef SMS_MANAGEMENT_SUBSCRIPTION_DATA_RETRIEVAL_API_IMPL_H_
#define SMS_MANAGEMENT_SUBSCRIPTION_DATA_RETRIEVAL_API_IMPL_H_
#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <SMSManagementSubscriptionDataRetrievalApi.h>
#include <pistache/optional.h>
#include "PlmnId.h"
#include "ProblemDetails.h"
#include "SmsManagementSubscriptionData.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class SMSManagementSubscriptionDataRetrievalApiImpl : public oai::udm::api::SMSManagementSubscriptionDataRetrievalApi {
public:
SMSManagementSubscriptionDataRetrievalApiImpl(std::shared_ptr<Pistache::Rest::Router>);
~SMSManagementSubscriptionDataRetrievalApiImpl() {}
void get_sms_mngt_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response);
};
}
}
}
#endif
\ No newline at end of file
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "SMSSubscriptionDataRetrievalApiImpl.h"
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
SMSSubscriptionDataRetrievalApiImpl::SMSSubscriptionDataRetrievalApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: SMSSubscriptionDataRetrievalApi(rtr)
{ }
void SMSSubscriptionDataRetrievalApiImpl::get_sms_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* SMSSubscriptionDataRetrievalApiImpl.h
*
*
*/
#ifndef SMS_SUBSCRIPTION_DATA_RETRIEVAL_API_IMPL_H_
#define SMS_SUBSCRIPTION_DATA_RETRIEVAL_API_IMPL_H_
#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <SMSSubscriptionDataRetrievalApi.h>
#include <pistache/optional.h>
#include "PlmnId.h"
#include "ProblemDetails.h"
#include "SmsSubscriptionData.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class SMSSubscriptionDataRetrievalApiImpl : public oai::udm::api::SMSSubscriptionDataRetrievalApi {
public:
SMSSubscriptionDataRetrievalApiImpl(std::shared_ptr<Pistache::Rest::Router>);
~SMSSubscriptionDataRetrievalApiImpl() {}
void get_sms_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response);
};
}
}
}
#endif
\ No newline at end of file
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "SessionManagementSubscriptionDataRetrievalApiImpl.h"
#include "SessionManagementSubscriptionData.h"
#include <nlohmann/json.hpp>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
SessionManagementSubscriptionDataRetrievalApiImpl::SessionManagementSubscriptionDataRetrievalApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: SessionManagementSubscriptionDataRetrievalApi(rtr)
{ }
//void SessionManagementSubscriptionDataRetrievalApiImpl::get_sm_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<Snssai> &singleNssai, const Pistache::Optional<std::string> &dnn, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) {
void SessionManagementSubscriptionDataRetrievalApiImpl::get_sm_data(const std::string &supi, const Pistache::Optional<Snssai> &singleNssai, const Pistache::Optional<std::string> &dnn, Pistache::Http::ResponseWriter &response) {
std::cout <<"Received a SessionManagementSubscriptionDataRetrieval with supi " << supi.c_str()<<std::endl;
/*
{
"singleNssai": {"sst":1, "sd":123},
"dnnConfigurations": {
"default": {
"pduSessionTypes": {"defaultSessionType": "IPV4"} ,
"sscModes": {"defaultSscMode": "SSC_MODE_1"} ,
"5gQosProfile": {"5qi": 12345, "arp": {"priorityLevel": 1 , "preemptCap": "NOT_PREEMPT" , "preemptVuln": "NOT_PREEMPTABLE"} },
"sessionAmbr": {"uplink": "10Mbps", "downlink":"11Mbps"}
}
}
}
*/
nlohmann::json jsonData;
jsonData["singleNssai"]["sst"] = 222;
jsonData["singleNssai"]["sd"] = 123;
jsonData["dnnConfigurations"]["internet"]["pduSessionTypes"]["defaultSessionType"] = "IPV4";
jsonData["dnnConfigurations"]["internet"]["sscModes"]["defaultSscMode"] = "SSC_MODE_1";
jsonData["dnnConfigurations"]["internet"]["5gQosProfile"]["5qi"] = 60;
jsonData["dnnConfigurations"]["internet"]["5gQosProfile"]["arp"]["priorityLevel"] = 1;
jsonData["dnnConfigurations"]["internet"]["5gQosProfile"]["arp"]["preemptCap"] = "NOT_PREEMPT";
jsonData["dnnConfigurations"]["internet"]["5gQosProfile"]["arp"]["preemptVuln"] = "NOT_PREEMPTABLE";
jsonData["dnnConfigurations"]["internet"]["sessionAmbr"]["uplink"] = "10Mbps";
jsonData["dnnConfigurations"]["internet"]["sessionAmbr"]["downlink"] = "11Mbps";
/*
SessionManagementSubscriptionData subscriptionData;
subscriptionData.setSingleNssai(singleNssai.get());
DnnConfiguration dnnConfiguration;
PduSessionTypes pduSessionTypes;
SscModes sscModes;
SubscribedDefaultQos qosProfile;
Ambr sessionAmbr;
pduSessionTypes.setDefaultSessionType(PduSessionType(PduSessionType_e::PDU_SESSION_TYPE_E_IPV4));
dnnConfiguration.setPduSessionTypes(pduSessionTypes);
sscModes.setDefaultSscMode(SscMode(SscMode_e::SSC_MODE_1));
dnnConfiguration.setSscModes(sscModes);
*/
//Send reply to SMF
std::string resBody = jsonData.dump();
//httpResponse.headers().add<Pistache::Http::Header::Location>(url);
response.send(Pistache::Http::Code::Ok, resBody);
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* SessionManagementSubscriptionDataRetrievalApiImpl.h
*
*
*/
#ifndef SESSION_MANAGEMENT_SUBSCRIPTION_DATA_RETRIEVAL_API_IMPL_H_
#define SESSION_MANAGEMENT_SUBSCRIPTION_DATA_RETRIEVAL_API_IMPL_H_
#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <SessionManagementSubscriptionDataRetrievalApi.h>
#include <pistache/optional.h>
#include "PlmnId.h"
#include "ProblemDetails.h"
#include "SessionManagementSubscriptionData.h"
#include "Snssai.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class SessionManagementSubscriptionDataRetrievalApiImpl : public oai::udm::api::SessionManagementSubscriptionDataRetrievalApi {
public:
SessionManagementSubscriptionDataRetrievalApiImpl(std::shared_ptr<Pistache::Rest::Router>);
~SessionManagementSubscriptionDataRetrievalApiImpl() {}
//void get_sm_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<Snssai> &singleNssai, const Pistache::Optional<std::string> &dnn, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response);
void get_sm_data(const std::string &supi, const Pistache::Optional<Snssai> &singleNssai, const Pistache::Optional<std::string> &dnn, Pistache::Http::ResponseWriter &response);
};
}
}
}
#endif
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "SliceSelectionSubscriptionDataRetrievalApiImpl.h"
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
SliceSelectionSubscriptionDataRetrievalApiImpl::SliceSelectionSubscriptionDataRetrievalApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: SliceSelectionSubscriptionDataRetrievalApi(rtr)
{ }
void SliceSelectionSubscriptionDataRetrievalApiImpl::get_nssai(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* SliceSelectionSubscriptionDataRetrievalApiImpl.h
*
*
*/
#ifndef SLICE_SELECTION_SUBSCRIPTION_DATA_RETRIEVAL_API_IMPL_H_
#define SLICE_SELECTION_SUBSCRIPTION_DATA_RETRIEVAL_API_IMPL_H_
#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <SliceSelectionSubscriptionDataRetrievalApi.h>
#include <pistache/optional.h>
#include "Nssai.h"
#include "PlmnId.h"
#include "ProblemDetails.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class SliceSelectionSubscriptionDataRetrievalApiImpl : public oai::udm::api::SliceSelectionSubscriptionDataRetrievalApi {
public:
SliceSelectionSubscriptionDataRetrievalApiImpl(std::shared_ptr<Pistache::Rest::Router>);
~SliceSelectionSubscriptionDataRetrievalApiImpl() {}
void get_nssai(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response);
};
}
}
}
#endif
\ No newline at end of file
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "SubscriptionCreationApiImpl.h"
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
SubscriptionCreationApiImpl::SubscriptionCreationApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: SubscriptionCreationApi(rtr)
{ }
void SubscriptionCreationApiImpl::subscribe(const std::string &supi, const SdmSubscription &sdmSubscription, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* SubscriptionCreationApiImpl.h
*
*
*/
#ifndef SUBSCRIPTION_CREATION_API_IMPL_H_
#define SUBSCRIPTION_CREATION_API_IMPL_H_
#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <SubscriptionCreationApi.h>
#include <pistache/optional.h>
#include "ProblemDetails.h"
#include "SdmSubscription.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class SubscriptionCreationApiImpl : public oai::udm::api::SubscriptionCreationApi {
public:
SubscriptionCreationApiImpl(std::shared_ptr<Pistache::Rest::Router>);
~SubscriptionCreationApiImpl() {}
void subscribe(const std::string &supi, const SdmSubscription &sdmSubscription, Pistache::Http::ResponseWriter &response);
};
}
}
}
#endif
\ No newline at end of file
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "SubscriptionCreationForSharedDataApiImpl.h"
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
SubscriptionCreationForSharedDataApiImpl::SubscriptionCreationForSharedDataApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: SubscriptionCreationForSharedDataApi(rtr)
{ }
void SubscriptionCreationForSharedDataApiImpl::subscribe_to_shared_data(const SdmSubscription &sdmSubscription, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* SubscriptionCreationForSharedDataApiImpl.h
*
*
*/
#ifndef SUBSCRIPTION_CREATION_FOR_SHARED_DATA_API_IMPL_H_
#define SUBSCRIPTION_CREATION_FOR_SHARED_DATA_API_IMPL_H_
#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <SubscriptionCreationForSharedDataApi.h>
#include <pistache/optional.h>
#include "ProblemDetails.h"
#include "SdmSubscription.h"
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class SubscriptionCreationForSharedDataApiImpl : public oai::udm::api::SubscriptionCreationForSharedDataApi {
public:
SubscriptionCreationForSharedDataApiImpl(std::shared_ptr<Pistache::Rest::Router>);
~SubscriptionCreationForSharedDataApiImpl() {}
void subscribe_to_shared_data(const SdmSubscription &sdmSubscription, Pistache::Http::ResponseWriter &response);
};
}
}
}
#endif
\ No newline at end of file
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "SubscriptionDeletionApiImpl.h"
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
SubscriptionDeletionApiImpl::SubscriptionDeletionApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: SubscriptionDeletionApi(rtr)
{ }
void SubscriptionDeletionApiImpl::unsubscribe(const std::string &supi, const std::string &subscriptionId, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* SubscriptionDeletionApiImpl.h
*
*
*/
#ifndef SUBSCRIPTION_DELETION_API_IMPL_H_
#define SUBSCRIPTION_DELETION_API_IMPL_H_
#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <SubscriptionDeletionApi.h>
#include <pistache/optional.h>
#include "ProblemDetails.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class SubscriptionDeletionApiImpl : public oai::udm::api::SubscriptionDeletionApi {
public:
SubscriptionDeletionApiImpl(std::shared_ptr<Pistache::Rest::Router>);
~SubscriptionDeletionApiImpl() {}
void unsubscribe(const std::string &supi, const std::string &subscriptionId, Pistache::Http::ResponseWriter &response);
};
}
}
}
#endif
\ No newline at end of file
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "SubscriptionDeletionForSharedDataApiImpl.h"
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
SubscriptionDeletionForSharedDataApiImpl::SubscriptionDeletionForSharedDataApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: SubscriptionDeletionForSharedDataApi(rtr)
{ }
void SubscriptionDeletionForSharedDataApiImpl::unsubscribe_for_shared_data(const std::string &subscriptionId, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* SubscriptionDeletionForSharedDataApiImpl.h
*
*
*/
#ifndef SUBSCRIPTION_DELETION_FOR_SHARED_DATA_API_IMPL_H_
#define SUBSCRIPTION_DELETION_FOR_SHARED_DATA_API_IMPL_H_
#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <SubscriptionDeletionForSharedDataApi.h>
#include <pistache/optional.h>
#include "ProblemDetails.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class SubscriptionDeletionForSharedDataApiImpl : public oai::udm::api::SubscriptionDeletionForSharedDataApi {
public:
SubscriptionDeletionForSharedDataApiImpl(std::shared_ptr<Pistache::Rest::Router>);
~SubscriptionDeletionForSharedDataApiImpl() {}
void unsubscribe_for_shared_data(const std::string &subscriptionId, Pistache::Http::ResponseWriter &response);
};
}
}
}
#endif
\ No newline at end of file
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "SubscriptionModificationApiImpl.h"
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
SubscriptionModificationApiImpl::SubscriptionModificationApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: SubscriptionModificationApi(rtr)
{ }
void SubscriptionModificationApiImpl::modify(const std::string &supi, const std::string &subscriptionId, const SdmSubsModification &sdmSubsModification, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
void SubscriptionModificationApiImpl::modify_shared_data_subs(const std::string &subscriptionId, const SdmSubsModification &sdmSubsModification, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* SubscriptionModificationApiImpl.h
*
*
*/
#ifndef SUBSCRIPTION_MODIFICATION_API_IMPL_H_
#define SUBSCRIPTION_MODIFICATION_API_IMPL_H_
#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <SubscriptionModificationApi.h>
#include <pistache/optional.h>
#include "ProblemDetails.h"
#include "SdmSubsModification.h"
#include "SdmSubscription.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class SubscriptionModificationApiImpl : public oai::udm::api::SubscriptionModificationApi {
public:
SubscriptionModificationApiImpl(std::shared_ptr<Pistache::Rest::Router>);
~SubscriptionModificationApiImpl() {}
void modify(const std::string &supi, const std::string &subscriptionId, const SdmSubsModification &sdmSubsModification, Pistache::Http::ResponseWriter &response);
void modify_shared_data_subs(const std::string &subscriptionId, const SdmSubsModification &sdmSubsModification, Pistache::Http::ResponseWriter &response);
};
}
}
}
#endif
\ No newline at end of file
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "TraceConfigurationDataRetrievalApiImpl.h"
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
TraceConfigurationDataRetrievalApiImpl::TraceConfigurationDataRetrievalApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: TraceConfigurationDataRetrievalApi(rtr)
{ }
void TraceConfigurationDataRetrievalApiImpl::get_trace_config_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* TraceConfigurationDataRetrievalApiImpl.h
*
*
*/
#ifndef TRACE_CONFIGURATION_DATA_RETRIEVAL_API_IMPL_H_
#define TRACE_CONFIGURATION_DATA_RETRIEVAL_API_IMPL_H_
#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <TraceConfigurationDataRetrievalApi.h>
#include <pistache/optional.h>
#include "PlmnId.h"
#include "ProblemDetails.h"
#include "TraceDataResponse.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class TraceConfigurationDataRetrievalApiImpl : public oai::udm::api::TraceConfigurationDataRetrievalApi {
public:
TraceConfigurationDataRetrievalApiImpl(std::shared_ptr<Pistache::Rest::Router>);
~TraceConfigurationDataRetrievalApiImpl() {}
void get_trace_config_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, const Pistache::Optional<PlmnId> &plmnId, const Pistache::Optional<Pistache::Http::Header::Raw> &ifNoneMatch, const Pistache::Optional<Pistache::Http::Header::Raw> &ifModifiedSince, Pistache::Http::ResponseWriter &response);
};
}
}
}
#endif
\ No newline at end of file
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "UEContextInSMFDataRetrievalApiImpl.h"
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
UEContextInSMFDataRetrievalApiImpl::UEContextInSMFDataRetrievalApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: UEContextInSMFDataRetrievalApi(rtr)
{ }
void UEContextInSMFDataRetrievalApiImpl::get_ue_ctx_in_smf_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
}
}
}
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* UEContextInSMFDataRetrievalApiImpl.h
*
*
*/
#ifndef UE_CONTEXT_IN_SMF_DATA_RETRIEVAL_API_IMPL_H_
#define UE_CONTEXT_IN_SMF_DATA_RETRIEVAL_API_IMPL_H_
#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <UEContextInSMFDataRetrievalApi.h>
#include <pistache/optional.h>
#include "ProblemDetails.h"
#include "UeContextInSmfData.h"
#include <string>
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
class UEContextInSMFDataRetrievalApiImpl : public oai::udm::api::UEContextInSMFDataRetrievalApi {
public:
UEContextInSMFDataRetrievalApiImpl(std::shared_ptr<Pistache::Rest::Router>);
~UEContextInSMFDataRetrievalApiImpl() {}
void get_ue_ctx_in_smf_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, Pistache::Http::ResponseWriter &response);
};
}
}
}
#endif
\ No newline at end of file
/**
* Nudm_SDM
* Nudm Subscriber Data Management Service. � 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 2.1.0.alpha-1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "UEContextInSMSFDataRetrievalApiImpl.h"
namespace oai {
namespace udm {
namespace api {
using namespace oai::udm::model;
UEContextInSMSFDataRetrievalApiImpl::UEContextInSMSFDataRetrievalApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: UEContextInSMSFDataRetrievalApi(rtr)
{ }
void UEContextInSMSFDataRetrievalApiImpl::get_ue_ctx_in_smsf_data(const std::string &supi, const Pistache::Optional<std::string> &supportedFeatures, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
}
}
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment