clear-skies 1.17.0__py3-none-any.whl → 1.17.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of clear-skies might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: clear-skies
3
- Version: 1.17.0
3
+ Version: 1.17.2
4
4
  Summary: A framework for building backends in the cloud
5
5
  Home-page: https://github.com/cmancone/clearskies
6
6
  License: MIT
@@ -20,7 +20,7 @@ clearskies/autodoc/formats/oai3_json/schema/array.py,sha256=1VOrMC_i1JSu1Gw2cqQ7
20
20
  clearskies/autodoc/formats/oai3_json/schema/default.py,sha256=BhwQebdIaK6rrATu6yZxPU3bqVmd4LFKTTlydJVl644,484
21
21
  clearskies/autodoc/formats/oai3_json/schema/enum.py,sha256=7qkpYWXPwbkgkoHPAowMIHJeGNb81qQmTmIIdc5yJbA,265
22
22
  clearskies/autodoc/formats/oai3_json/schema/object.py,sha256=-XVQWe5yPBrgXNGUqpihNvPUhodc83bFbKpYl2MxFOM,837
23
- clearskies/autodoc/formats/oai3_json/test.json,sha256=RLNzj56MLrbTB3AK218jvEZQ-zRFFk0Kw0V-ywpGt6M,80584
23
+ clearskies/autodoc/formats/oai3_json/test.json,sha256=DdMvSUbaTEAyWtX_RDxEFR82kK9pCCTeFUghQwHjB3s,59848
24
24
  clearskies/autodoc/request/__init__.py,sha256=PzlrHbw80M8G9ph7jbsq6Q-IUioBbUXViX-1gdNLFtU,253
25
25
  clearskies/autodoc/request/header.py,sha256=mjVPI1C0frAVIH6C4CXuZ5fW2mlBsAu7UGkrG1dc_cc,236
26
26
  clearskies/autodoc/request/json_body.py,sha256=j1O6XYdT8NNmm0yspVhLX3EfgVGJI90tv0YYx6uSun8,240
@@ -116,7 +116,7 @@ clearskies/functional/__init__.py,sha256=em6xhpGOws_egf6jWfeQlxq0Vm5gYzsbMNt_rxT
116
116
  clearskies/functional/string.py,sha256=Jmz8G9PW41THIRfDT2WXtRk3yzJG3Zt4DKH6X2C2p1E,2829
117
117
  clearskies/functional/validations.py,sha256=f1fTQ4rdFZouxoovAPg-YAgf0Q0QNpKEzxWWL7EFUHI,645
118
118
  clearskies/handlers/__init__.py,sha256=YIQeKkkFhXwn7Rcc7Qllh2RGkKB0nDjt1nwowqEuJ3E,968
119
- clearskies/handlers/advanced_search.py,sha256=7B47UHDKdK8pI_lyMG-aM1hXOGJsdWqr2tgNvarB0Ng,12698
119
+ clearskies/handlers/advanced_search.py,sha256=aB6DaMIsms6luVPQLhPwV9sBTOyh4ip_gi-0l_52YLE,12934
120
120
  clearskies/handlers/base.py,sha256=vLuTXZhB8dPeJ_NQxFDnBDi9J2VIONA3gsZHwlAFTzU,22836
121
121
  clearskies/handlers/callable.py,sha256=RxDPBuk1socPQvPhuKhCiidhAnXXLdSdG0sVtNAmi8c,8001
122
122
  clearskies/handlers/create.py,sha256=VQWg4CeSDmtFPL8Hk-evhQvlBSX85iOH-IlRoIs0OhU,1209
@@ -135,12 +135,12 @@ clearskies/handlers/input_processing.py,sha256=gqzub2xvYMo9SiQq6kGfA6YhxYKfrPA3K
135
135
  clearskies/handlers/list.py,sha256=bA1NG799Ru5QKoGzpsKZIjb5YwD5ZyJUv1rJL3uU-PA,22942
136
136
  clearskies/handlers/mygrations.py,sha256=4iKpJKooqgNtAURwMl_FgsXUt8OYOaG_TY1OV1llQxY,2759
137
137
  clearskies/handlers/request_method_routing.py,sha256=DgPEz3tgbaUkXHsOriPbIctfSf4Gm4NxfRdVulH91Kg,1636
138
- clearskies/handlers/restful_api.py,sha256=lE9GtXaIAPj_QyVv9vgCsWUUV8twGuP_54SxknnKaXA,8666
138
+ clearskies/handlers/restful_api.py,sha256=1rJ2REX1sTAdbqaRuCclP375agrho4zNNQx6hXGa4nQ,9258
139
139
  clearskies/handlers/routing.py,sha256=tHJHNbszas2txUZiKl0xi2kB2x3Sjx6H8lLouoAWp4Y,3078
140
140
  clearskies/handlers/schema_helper.py,sha256=62644USvFlZu_6tT7rb-k6t_5J3Q0uZsJwP5KREk_WM,4961
141
141
  clearskies/handlers/simple_routing.py,sha256=8T4eKLIurZO3ZdIPgi-0pypQp_X4BKkbet_Ymba5br4,9332
142
142
  clearskies/handlers/simple_routing_route.py,sha256=C-dDLubkUnAazxAcXoyGxMX4g24Iwz7wX5rf5T8T8kU,7376
143
- clearskies/handlers/simple_search.py,sha256=19dOZyPXx_PMrlUCe-hoY8y3h9BNfAjAkVoxsjUl7gw,3965
143
+ clearskies/handlers/simple_search.py,sha256=hZ0rMfhS-BB6LTpdl0I53pEUBgbgIwtXvcW_8ZEOZOs,6003
144
144
  clearskies/handlers/update.py,sha256=sU91QLvtQL8qfLQZWHep6oAChxvZ6EIP-YQfEPNxtG0,3585
145
145
  clearskies/handlers/write.py,sha256=VduGtjnFMQOvo3l0t-tUP4PExPJ9JEpuziHsquF08rE,9344
146
146
  clearskies/input_outputs/__init__.py,sha256=mQWL-u41FRTrPGuHe8FhLmcHjAEaUxjFwUf7RgDcbAs,182
@@ -165,7 +165,7 @@ clearskies/secrets/__init__.py,sha256=ctTmA_etV9G_5U21APWENI1HvThrBS4DidGWRtEDHQ
165
165
  clearskies/secrets/additional_configs/__init__.py,sha256=cFCrbtKF5nuR061S2y1iKZp349x-y8Srdwe3VZbfSFU,1119
166
166
  clearskies/secrets/additional_configs/mysql_connection_dynamic_producer.py,sha256=fOt2eOrVtQXhnK05XuSfWw9GoX6klxXLisJcFT0ycAE,2562
167
167
  clearskies/secrets/additional_configs/mysql_connection_dynamic_producer_via_ssh_cert_bastion.py,sha256=5vUq9_wA8kRNvaRrA-81MjtN4WhiIrZXJ-W9cK4FcnE,6159
168
- clearskies/secrets/akeyless.py,sha256=Nj0btrDxiPZO5CNrR_oQNo-rFM1k_vCRwPmNTvwyluo,7911
168
+ clearskies/secrets/akeyless.py,sha256=V8ty3ZkmL6eNP_o0R3LnCSBpOKwshdTpIXU5frgUWpA,7842
169
169
  clearskies/secrets/exceptions/__init__.py,sha256=j-SLHD-DL0CT4cZXibD9kXHk63JEl_UKX6xL_nq1EfE,32
170
170
  clearskies/secrets/exceptions/not_found.py,sha256=_lZwovDrd18dUHDop5pF4mhexBPNr126xF2gOLA2-EA,36
171
171
  clearskies/secrets/secrets.py,sha256=0xxCxKYXLe5HBccxzIy2ZG1sjqSUEEZSz3E-04TGmmw,1233
@@ -183,7 +183,7 @@ clearskies/tests/simple_api/models/__init__.py,sha256=nUA0W6fgXw_Bxa9CudkaDkC80t
183
183
  clearskies/tests/simple_api/models/status.py,sha256=PEhPbaQh5qdUNHp8O0gz91LOLENAEBtqSaHxUPXchaM,699
184
184
  clearskies/tests/simple_api/models/user.py,sha256=5_P4Tp1tTdX7PkMJ__epPM5MA7JAeVYGas69vcWloLc,819
185
185
  clearskies/tests/simple_api/users_api.py,sha256=KYXCgEofDxHeRdQK67txN5oYUPvxxmB8JTku7L-apk4,2344
186
- clear_skies-1.17.0.dist-info/LICENSE,sha256=3Ehd0g3YOpCj8sqj0Xjq5qbOtjjgk9qzhhD9YjRQgOA,1053
187
- clear_skies-1.17.0.dist-info/METADATA,sha256=2c-bCo8i6PyiSGIZ6WP6sfo4xwJdMtVhvvI41whsryI,1366
188
- clear_skies-1.17.0.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
189
- clear_skies-1.17.0.dist-info/RECORD,,
186
+ clear_skies-1.17.2.dist-info/LICENSE,sha256=3Ehd0g3YOpCj8sqj0Xjq5qbOtjjgk9qzhhD9YjRQgOA,1053
187
+ clear_skies-1.17.2.dist-info/METADATA,sha256=rrzC9MrdGZYX3KjjSFEDpk83xny06fFvJKFD6gUd2Uo,1366
188
+ clear_skies-1.17.2.dist-info/WHEEL,sha256=WGfLGfLX43Ei_YORXSnT54hxFygu34kMpcQdmgmEwCQ,88
189
+ clear_skies-1.17.2.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.6.1
2
+ Generator: poetry-core 1.6.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -218,221 +218,6 @@
218
218
  }
219
219
  },
220
220
  "/statuses/search": {
221
- "get": {
222
- "parameters": [],
223
- "requestBody": {
224
- "content": {
225
- "application/json": {
226
- "schema": {
227
- "properties": {
228
- "limit": {
229
- "format": "int32",
230
- "type": "integer"
231
- },
232
- "sort": {
233
- "items": {
234
- "properties": {
235
- "column": {
236
- "enum": [
237
- "name",
238
- null
239
- ],
240
- "nullable": true,
241
- "type": "string"
242
- },
243
- "direction": {
244
- "enum": [
245
- "asc",
246
- "desc",
247
- null
248
- ],
249
- "nullable": true,
250
- "type": "string"
251
- }
252
- },
253
- "type": "object"
254
- },
255
- "type": "array"
256
- },
257
- "start": {
258
- "format": "int32",
259
- "type": "integer"
260
- },
261
- "where": {
262
- "items": {
263
- "properties": {
264
- "column": {
265
- "enum": [
266
- "name",
267
- null
268
- ],
269
- "nullable": true,
270
- "type": "string"
271
- },
272
- "operator": {
273
- "enum": [
274
- "<=>",
275
- "!=",
276
- "<=",
277
- ">=",
278
- ">",
279
- "<",
280
- "=",
281
- "in",
282
- "is not null",
283
- "is null",
284
- "is not",
285
- "is",
286
- "like",
287
- null
288
- ],
289
- "nullable": true,
290
- "type": "string"
291
- },
292
- "value": {
293
- "example": "Jane",
294
- "type": "string"
295
- }
296
- },
297
- "type": "object"
298
- },
299
- "type": "array"
300
- }
301
- },
302
- "type": "object"
303
- }
304
- }
305
- },
306
- "description": "Fetch the list of current status records",
307
- "required": false
308
- },
309
- "responses": {
310
- "200": {
311
- "content": {
312
- "application/json": {
313
- "schema": {
314
- "properties": {
315
- "data": {
316
- "items": {
317
- "$ref": "#/components/schemas/status",
318
- "type": "object"
319
- },
320
- "type": "array"
321
- },
322
- "error": {
323
- "type": "string"
324
- },
325
- "input_errors": {
326
- "properties": {},
327
- "type": "object"
328
- },
329
- "pagination": {
330
- "properties": {
331
- "limit": {
332
- "example": 100,
333
- "format": "int32",
334
- "type": "integer"
335
- },
336
- "next_page": {
337
- "properties": {
338
- "start": {
339
- "format": "int32",
340
- "type": "integer"
341
- }
342
- },
343
- "type": "object"
344
- },
345
- "number_results": {
346
- "example": 10,
347
- "format": "int32",
348
- "type": "integer"
349
- }
350
- },
351
- "type": "object"
352
- },
353
- "status": {
354
- "example": "success",
355
- "type": "string"
356
- }
357
- },
358
- "type": "object"
359
- }
360
- }
361
- },
362
- "description": "The matching status records"
363
- },
364
- "400": {
365
- "content": {
366
- "application/json": {
367
- "schema": {
368
- "properties": {
369
- "data": {
370
- "properties": {},
371
- "type": "object"
372
- },
373
- "error": {
374
- "example": "User readable error message",
375
- "type": "string"
376
- },
377
- "input_errors": {
378
- "properties": {},
379
- "type": "object"
380
- },
381
- "pagination": {
382
- "properties": {},
383
- "type": "object"
384
- },
385
- "status": {
386
- "example": "error",
387
- "type": "string"
388
- }
389
- },
390
- "type": "object"
391
- }
392
- }
393
- },
394
- "description": "Invalid Call"
395
- },
396
- "401": {
397
- "content": {
398
- "application/json": {
399
- "schema": {
400
- "properties": {
401
- "data": {
402
- "properties": {},
403
- "type": "object"
404
- },
405
- "error": {
406
- "example": "User readable error message",
407
- "type": "string"
408
- },
409
- "input_errors": {
410
- "properties": {},
411
- "type": "object"
412
- },
413
- "pagination": {
414
- "properties": {},
415
- "type": "object"
416
- },
417
- "status": {
418
- "example": "error",
419
- "type": "string"
420
- }
421
- },
422
- "type": "object"
423
- }
424
- }
425
- },
426
- "description": "Access Denied"
427
- }
428
- },
429
- "security": [
430
- {
431
- "ApiKey": []
432
- }
433
- ],
434
- "summary": "Fetch the list of current status records"
435
- },
436
221
  "post": {
437
222
  "parameters": [],
438
223
  "requestBody": {
@@ -1081,223 +866,7 @@
1081
866
  }
1082
867
  },
1083
868
  "/users/search": {
1084
- "get": {
1085
- "parameters": [],
1086
- "requestBody": {
1087
- "content": {
1088
- "application/json": {
1089
- "schema": {
1090
- "properties": {
1091
- "limit": {
1092
- "format": "int32",
1093
- "type": "integer"
1094
- },
1095
- "sort": {
1096
- "items": {
1097
- "properties": {
1098
- "column": {
1099
- "enum": [
1100
- "name",
1101
- "age",
1102
- null
1103
- ],
1104
- "nullable": true,
1105
- "type": "string"
1106
- },
1107
- "direction": {
1108
- "enum": [
1109
- "asc",
1110
- "desc",
1111
- null
1112
- ],
1113
- "nullable": true,
1114
- "type": "string"
1115
- }
1116
- },
1117
- "type": "object"
1118
- },
1119
- "type": "array"
1120
- },
1121
- "start": {
1122
- "format": "int32",
1123
- "type": "integer"
1124
- },
1125
- "where": {
1126
- "items": {
1127
- "properties": {
1128
- "column": {
1129
- "enum": [
1130
- "name",
1131
- null
1132
- ],
1133
- "nullable": true,
1134
- "type": "string"
1135
- },
1136
- "operator": {
1137
- "enum": [
1138
- "<=>",
1139
- "!=",
1140
- "<=",
1141
- ">=",
1142
- ">",
1143
- "<",
1144
- "=",
1145
- "in",
1146
- "is not null",
1147
- "is null",
1148
- "is not",
1149
- "is",
1150
- "like",
1151
- null
1152
- ],
1153
- "nullable": true,
1154
- "type": "string"
1155
- },
1156
- "value": {
1157
- "example": "Jane",
1158
- "type": "string"
1159
- }
1160
- },
1161
- "type": "object"
1162
- },
1163
- "type": "array"
1164
- }
1165
- },
1166
- "type": "object"
1167
- }
1168
- }
1169
- },
1170
- "description": "Fetch the list of current user records",
1171
- "required": false
1172
- },
1173
- "responses": {
1174
- "200": {
1175
- "content": {
1176
- "application/json": {
1177
- "schema": {
1178
- "properties": {
1179
- "data": {
1180
- "items": {
1181
- "$ref": "#/components/schemas/user",
1182
- "type": "object"
1183
- },
1184
- "type": "array"
1185
- },
1186
- "error": {
1187
- "type": "string"
1188
- },
1189
- "input_errors": {
1190
- "properties": {},
1191
- "type": "object"
1192
- },
1193
- "pagination": {
1194
- "properties": {
1195
- "limit": {
1196
- "example": 100,
1197
- "format": "int32",
1198
- "type": "integer"
1199
- },
1200
- "next_page": {
1201
- "properties": {
1202
- "start": {
1203
- "format": "int32",
1204
- "type": "integer"
1205
- }
1206
- },
1207
- "type": "object"
1208
- },
1209
- "number_results": {
1210
- "example": 10,
1211
- "format": "int32",
1212
- "type": "integer"
1213
- }
1214
- },
1215
- "type": "object"
1216
- },
1217
- "status": {
1218
- "example": "success",
1219
- "type": "string"
1220
- }
1221
- },
1222
- "type": "object"
1223
- }
1224
- }
1225
- },
1226
- "description": "The matching user records"
1227
- },
1228
- "400": {
1229
- "content": {
1230
- "application/json": {
1231
- "schema": {
1232
- "properties": {
1233
- "data": {
1234
- "properties": {},
1235
- "type": "object"
1236
- },
1237
- "error": {
1238
- "example": "User readable error message",
1239
- "type": "string"
1240
- },
1241
- "input_errors": {
1242
- "properties": {},
1243
- "type": "object"
1244
- },
1245
- "pagination": {
1246
- "properties": {},
1247
- "type": "object"
1248
- },
1249
- "status": {
1250
- "example": "error",
1251
- "type": "string"
1252
- }
1253
- },
1254
- "type": "object"
1255
- }
1256
- }
1257
- },
1258
- "description": "Invalid Call"
1259
- },
1260
- "401": {
1261
- "content": {
1262
- "application/json": {
1263
- "schema": {
1264
- "properties": {
1265
- "data": {
1266
- "properties": {},
1267
- "type": "object"
1268
- },
1269
- "error": {
1270
- "example": "User readable error message",
1271
- "type": "string"
1272
- },
1273
- "input_errors": {
1274
- "properties": {},
1275
- "type": "object"
1276
- },
1277
- "pagination": {
1278
- "properties": {},
1279
- "type": "object"
1280
- },
1281
- "status": {
1282
- "example": "error",
1283
- "type": "string"
1284
- }
1285
- },
1286
- "type": "object"
1287
- }
1288
- }
1289
- },
1290
- "description": "Access Denied"
1291
- }
1292
- },
1293
- "security": [
1294
- {
1295
- "ApiKey": []
1296
- }
1297
- ],
1298
- "summary": "Fetch the list of current user records"
1299
- },
1300
- "post": {
869
+ "post": {
1301
870
  "parameters": [],
1302
871
  "requestBody": {
1303
872
  "content": {
@@ -2072,221 +1641,6 @@
2072
1641
  }
2073
1642
  },
2074
1643
  "/v1/statuses/search": {
2075
- "get": {
2076
- "parameters": [],
2077
- "requestBody": {
2078
- "content": {
2079
- "application/json": {
2080
- "schema": {
2081
- "properties": {
2082
- "limit": {
2083
- "format": "int32",
2084
- "type": "integer"
2085
- },
2086
- "sort": {
2087
- "items": {
2088
- "properties": {
2089
- "column": {
2090
- "enum": [
2091
- "name",
2092
- null
2093
- ],
2094
- "nullable": true,
2095
- "type": "string"
2096
- },
2097
- "direction": {
2098
- "enum": [
2099
- "asc",
2100
- "desc",
2101
- null
2102
- ],
2103
- "nullable": true,
2104
- "type": "string"
2105
- }
2106
- },
2107
- "type": "object"
2108
- },
2109
- "type": "array"
2110
- },
2111
- "start": {
2112
- "format": "int32",
2113
- "type": "integer"
2114
- },
2115
- "where": {
2116
- "items": {
2117
- "properties": {
2118
- "column": {
2119
- "enum": [
2120
- "name",
2121
- null
2122
- ],
2123
- "nullable": true,
2124
- "type": "string"
2125
- },
2126
- "operator": {
2127
- "enum": [
2128
- "<=>",
2129
- "!=",
2130
- "<=",
2131
- ">=",
2132
- ">",
2133
- "<",
2134
- "=",
2135
- "in",
2136
- "is not null",
2137
- "is null",
2138
- "is not",
2139
- "is",
2140
- "like",
2141
- null
2142
- ],
2143
- "nullable": true,
2144
- "type": "string"
2145
- },
2146
- "value": {
2147
- "example": "Jane",
2148
- "type": "string"
2149
- }
2150
- },
2151
- "type": "object"
2152
- },
2153
- "type": "array"
2154
- }
2155
- },
2156
- "type": "object"
2157
- }
2158
- }
2159
- },
2160
- "description": "Fetch the list of current status records",
2161
- "required": false
2162
- },
2163
- "responses": {
2164
- "200": {
2165
- "content": {
2166
- "application/json": {
2167
- "schema": {
2168
- "properties": {
2169
- "data": {
2170
- "items": {
2171
- "$ref": "#/components/schemas/status",
2172
- "type": "object"
2173
- },
2174
- "type": "array"
2175
- },
2176
- "error": {
2177
- "type": "string"
2178
- },
2179
- "input_errors": {
2180
- "properties": {},
2181
- "type": "object"
2182
- },
2183
- "pagination": {
2184
- "properties": {
2185
- "limit": {
2186
- "example": 100,
2187
- "format": "int32",
2188
- "type": "integer"
2189
- },
2190
- "next_page": {
2191
- "properties": {
2192
- "start": {
2193
- "format": "int32",
2194
- "type": "integer"
2195
- }
2196
- },
2197
- "type": "object"
2198
- },
2199
- "number_results": {
2200
- "example": 10,
2201
- "format": "int32",
2202
- "type": "integer"
2203
- }
2204
- },
2205
- "type": "object"
2206
- },
2207
- "status": {
2208
- "example": "success",
2209
- "type": "string"
2210
- }
2211
- },
2212
- "type": "object"
2213
- }
2214
- }
2215
- },
2216
- "description": "The matching status records"
2217
- },
2218
- "400": {
2219
- "content": {
2220
- "application/json": {
2221
- "schema": {
2222
- "properties": {
2223
- "data": {
2224
- "properties": {},
2225
- "type": "object"
2226
- },
2227
- "error": {
2228
- "example": "User readable error message",
2229
- "type": "string"
2230
- },
2231
- "input_errors": {
2232
- "properties": {},
2233
- "type": "object"
2234
- },
2235
- "pagination": {
2236
- "properties": {},
2237
- "type": "object"
2238
- },
2239
- "status": {
2240
- "example": "error",
2241
- "type": "string"
2242
- }
2243
- },
2244
- "type": "object"
2245
- }
2246
- }
2247
- },
2248
- "description": "Invalid Call"
2249
- },
2250
- "401": {
2251
- "content": {
2252
- "application/json": {
2253
- "schema": {
2254
- "properties": {
2255
- "data": {
2256
- "properties": {},
2257
- "type": "object"
2258
- },
2259
- "error": {
2260
- "example": "User readable error message",
2261
- "type": "string"
2262
- },
2263
- "input_errors": {
2264
- "properties": {},
2265
- "type": "object"
2266
- },
2267
- "pagination": {
2268
- "properties": {},
2269
- "type": "object"
2270
- },
2271
- "status": {
2272
- "example": "error",
2273
- "type": "string"
2274
- }
2275
- },
2276
- "type": "object"
2277
- }
2278
- }
2279
- },
2280
- "description": "Access Denied"
2281
- }
2282
- },
2283
- "security": [
2284
- {
2285
- "ApiKey": []
2286
- }
2287
- ],
2288
- "summary": "Fetch the list of current status records"
2289
- },
2290
1644
  "post": {
2291
1645
  "parameters": [],
2292
1646
  "requestBody": {
@@ -186,6 +186,16 @@ class AdvancedSearch(SimpleSearch):
186
186
  input["where"] = mapped_wheres
187
187
  return input
188
188
 
189
+ def documentation(self):
190
+ return [
191
+ self._documentation_request(
192
+ "POST",
193
+ [
194
+ *self.documentation_request_parameters(),
195
+ ],
196
+ ),
197
+ ]
198
+
189
199
  def documentation_request_parameters(self):
190
200
  return [
191
201
  *self.documentation_json_parameters(),
@@ -188,7 +188,17 @@ class RestfulAPI(Routing):
188
188
  action_docs = handler.documentation()
189
189
  for doc in action_docs:
190
190
  request_methods = self.configuration(f"{name}_request_method")
191
- doc.set_request_methods(request_methods if type(request_methods) == list else [request_methods])
191
+
192
+ # for search, filter down the docs to only the allowed request methods.
193
+ # for the rest, set the request method to match the allowed one.
194
+ # this helps with the fact that the searching has different input methods depending
195
+ # on the request method, and helps with the fact that search has different rules
196
+ # for different methods.
197
+ if name == "search":
198
+ if not set(request_methods).intersection(set(doc.request_methods)):
199
+ continue
200
+ else:
201
+ doc.set_request_methods(request_methods if type(request_methods) == list else [request_methods])
192
202
 
193
203
  if name == "search":
194
204
  doc.append_relative_path("search")
@@ -1,5 +1,6 @@
1
1
  from .list import List
2
2
  from .. import autodoc
3
+ from ..functional import string
3
4
 
4
5
 
5
6
  class SimpleSearch(List):
@@ -51,12 +52,58 @@ class SimpleSearch(List):
51
52
  super()._check_configuration(configuration)
52
53
  self._check_columns_in_configuration(configuration, "searchable_columns")
53
54
 
54
- def documentation_request_parameters(self):
55
+ def _documentation_request(self, request_method, parameters):
56
+ nice_model = string.camel_case_to_words(self._model.__class__.__name__)
57
+ schema_model_name = string.camel_case_to_snake_case(self._model.__class__.__name__)
58
+ data_schema = self.documentation_data_schema()
59
+
60
+ authentication = self.configuration("authentication")
61
+ standard_error_responses = []
62
+ if not getattr(authentication, "is_public", False):
63
+ standard_error_responses.append(self.documentation_access_denied_response())
64
+ if getattr(authentication, "can_authorize", False):
65
+ standard_error_responses.append(self.documentation_unauthorized_response())
66
+
67
+ return autodoc.request.Request(
68
+ f"Fetch the list of current {nice_model} records",
69
+ [
70
+ self.documentation_success_response(
71
+ autodoc.schema.Array(
72
+ self.auto_case_internal_column_name("data"),
73
+ autodoc.schema.Object(nice_model, children=data_schema, model_name=schema_model_name),
74
+ ),
75
+ description=f"The matching {nice_model} records",
76
+ include_pagination=True,
77
+ ),
78
+ *standard_error_responses,
79
+ self.documentation_generic_error_response(),
80
+ ],
81
+ relative_path=self.configuration("base_url"),
82
+ request_methods=request_method,
83
+ parameters=parameters,
84
+ root_properties={
85
+ "security": self.documentation_request_security(),
86
+ },
87
+ )
88
+
89
+ def documentation(self):
55
90
  return [
56
- *self.documentation_url_pagination_parameters(),
57
- *self.documentation_url_sort_parameters(),
58
- *self.documentation_url_search_parameters(),
59
- *self.documentation_json_search_parameters(),
91
+ self._documentation_request(
92
+ "GET",
93
+ [
94
+ *self.documentation_url_pagination_parameters(),
95
+ *self.documentation_url_sort_parameters(),
96
+ *self.documentation_url_search_parameters(),
97
+ ],
98
+ ),
99
+ self._documentation_request(
100
+ "POST",
101
+ [
102
+ *self.documentation_url_pagination_parameters(),
103
+ *self.documentation_url_sort_parameters(),
104
+ *self.documentation_json_search_parameters(),
105
+ ],
106
+ ),
60
107
  ]
61
108
 
62
109
  def documentation_url_search_parameters(self):
@@ -1,7 +1,6 @@
1
1
  import datetime
2
2
  from clearskies.di import AdditionalConfig
3
3
  from .exceptions import NotFound
4
- from akeyless.exceptions import ApiException as AkeylessApiException
5
4
 
6
5
 
7
6
  class AKeylessAdditionalConfig(AdditionalConfig):