Qore SwaggerDataProvider Module Reference 1.2.3
Loading...
Searching...
No Matches
SwaggerDataProvider.qc.dox.h
1// -*- mode: c++; indent-tabs-mode: nil -*-
3
28class SwaggerDataProvider : public AbstractDataProvider {
29
30public:
32 SwaggerSchema schema;
33
36
38 string uri_path = "/";
39
42
44 const ProviderInfo = <DataProviderInfo>{
45 "type": "SwaggerDataProvider",
46 "supports_read": False,
47 "supports_create": False,
48 "supports_update": False,
49 "supports_upsert": False,
50 "supports_delete": False,
51 "supports_native_search": False,
52 "supports_bulk_create": False,
53 "supports_bulk_upsert": False,
54 "supports_children": True,
55 "constructor_options": ConstructorOptions,
56 "search_options": NOTHING,
57 "create_options": NOTHING,
58 "upsert_options": NOTHING,
59 "transaction_management": False,
60 "supports_schema": True,
61 "schema_type": "swagger",
62 "children_can_support_apis": True,
63 "children_can_support_records": False,
64 "children_can_support_observers": False,
65 };
66
68 const ConstructorOptions = {
69 "schema": <DataProviderOptionInfo>{
70 "type": (
71 AbstractDataProviderType::get(StringType, NOTHING, {
72 DTT_FromFile: True,
73 DTT_FromLocation: True,
74 }),
75 AbstractDataProviderType::get(new Type("SwaggerSchema")),
76 ),
77 "desc": "the Swagger schema object or source URL",
78 "required": True,
79 },
80 "restclient": <DataProviderOptionInfo>{
81 "type": AbstractDataProviderType::get(new Type("RestClient"), NOTHING, {
82 DTT_ClientOnly: True,
83 }),
84 "desc": "the RestClient object",
85 },
86 "url": <DataProviderOptionInfo>{
87 "type": AbstractDataProviderType::get(StringType, NOTHING, {
88 DTT_ClientOnly: True,
89 }),
90 "desc": "the URL to the REST server; overrides any URL in the schema or in any RestClient object "
91 "passed as an option",
92 },
93 "restclient_options": <DataProviderOptionInfo>{
94 "type": AbstractDataProviderType::get(AutoHashType, NOTHING, {
95 DTT_ClientOnly: True,
96 }),
97 "desc": "options to the RestClient constructor; only used if a RestClient object is created for a "
98 "call",
99 },
100 };
101
103 const HttpMethods = {
104 "GET": True,
105 "PUT": True,
106 "PATCH": True,
107 "POST": True,
108 "DELETE": True,
109 };
110
111protected:
113 hash<auto> path_tree;
114
115public:
116
118protected:
119 constructor(hash<auto> path_tree, string uri_path, SwaggerSchema schema, *RestClient rest);
120public:
121
122
124 constructor(SwaggerSchema schema, *RestClient rest);
125
126
128 constructor(*hash<auto> options);
129
130
132 string getName();
133
134
136 *string getDesc();
137
138
140protected:
141 setSchema(SwaggerSchema schema);
142public:
143
144
146protected:
148public:
149
150
151protected:
152 setupTree();
153public:
154
155
157
159protected:
161public:
162
163
165
169protected:
170 *AbstractDataProvider getChildProviderImpl(string name);
171public:
172
173
175protected:
176 AbstractDataProvider getChildIntern(string name, *string real_name);
177public:
178
179
181protected:
182 hash<DataProviderInfo> getStaticInfoImpl();
183public:
184
185
187protected:
189public:
190
191};
192}; // end namespace swagger
string getName()
Returns the data provider name.
hash< DataProviderInfo > getStaticInfoImpl()
Returns data provider static info.
setSchema(SwaggerSchema schema)
Sets the schema and display name.
*list< string > getChildProviderNamesImpl()
Returns a list of child data provider names, if any.
checkRestClient(RestClient rest)
Checks the REST client.
SwaggerSchema schema
The Swagger schema.
Definition: SwaggerDataProvider.qc.dox.h:32
constructor(*hash< auto > options)
Creates the object from constructor options.
AbstractDataProvider getChildIntern(string name, *string real_name)
Returns the child provider for the given path component.
string display_name
The value to returns as the name of the object.
Definition: SwaggerDataProvider.qc.dox.h:41
constructor(SwaggerSchema schema, *RestClient rest)
Creates the object from the arguments.
object getSchemaObjectImpl()
Returns the schema supporting this data provider.
*AbstractDataProvider getChildProviderImpl(string name)
Returns the given child provider or NOTHING if the given child is unknown.
*RestClient rest
The REST client object for API calls.
Definition: SwaggerDataProvider.qc.dox.h:35
constructor(hash< auto > path_tree, string uri_path, SwaggerSchema schema, *RestClient rest)
Private constructor; used when traversing the tree.
*string getDesc()
Returns the data provider description.
hash< auto > path_tree
hash of valid paths
Definition: SwaggerDataProvider.qc.dox.h:113
Qore SwaggerDataProvider module definition.
Definition: SwaggerDataProvider.qc.dox.h:26