SMSSubscriptionDataDocumentApi.h 2.39 KB
Newer Older
yangjian's avatar
yangjian committed
1
/**
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
2 3 4 5 6 7 8 9 10 11 12
 * Nudr_DataRepository API OpenAPI file
 * Unified Data Repository Service. © 2020, 3GPP Organizational Partners (ARIB,
 * ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
 *
 * The version of the OpenAPI document: 2.1.2
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator
 * (https://openapi-generator.tech). https://openapi-generator.tech Do not edit
 * the class manually.
 */
yangjian's avatar
yangjian committed
13 14 15
/*
 * SMSSubscriptionDataDocumentApi.h
 *
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
16
 *
yangjian's avatar
yangjian committed
17 18 19 20 21 22 23 24
 */

#ifndef SMSSubscriptionDataDocumentApi_H_
#define SMSSubscriptionDataDocumentApi_H_

#include <pistache/http.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
25
#include <pistache/router.h>
yangjian's avatar
yangjian committed
26

Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
27
#include <string>
yangjian's avatar
yangjian committed
28 29 30

#include "SmsSubscriptionData.h"

31
namespace oai::udr::api {
yangjian's avatar
yangjian committed
32

33
using namespace oai::udr::model;
yangjian's avatar
yangjian committed
34

Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
class SMSSubscriptionDataDocumentApi {
 public:
  SMSSubscriptionDataDocumentApi(std::shared_ptr<Pistache::Rest::Router>);
  virtual ~SMSSubscriptionDataDocumentApi() {}
  void init();

  const std::string base = "/nudr-dr/v2";

 private:
  void setupRoutes();

  void query_sms_data_handler(const Pistache::Rest::Request &request,
                              Pistache::Http::ResponseWriter response);
  void sms_subscription_data_document_api_default_handler(
      const Pistache::Rest::Request &request,
      Pistache::Http::ResponseWriter response);

  std::shared_ptr<Pistache::Rest::Router> router;

  /// <summary>
  /// Retrieves the SMS subscription data of a UE
  /// </summary>
  /// <remarks>
  ///
  /// </remarks>
  /// <param name="ueId">UE id</param>
  /// <param name="servingPlmnId">PLMN ID</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 query_sms_data(
      const std::string &ueId, const std::string &servingPlmnId,
      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;
yangjian's avatar
yangjian committed
74 75
};

Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
76
}  // namespace oai::udr::api
yangjian's avatar
yangjian committed
77 78

#endif /* SMSSubscriptionDataDocumentApi_H_ */