Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DotAAS Part 2: HTTP API #238

Merged
merged 195 commits into from
Aug 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
195 commits
Select commit Hold shift + click to select a range
d7b9e43
adapter.http: add first working draft
jkhsjdhjs Jun 5, 2020
2b9c061
adapter.http: fix codestyle
jkhsjdhjs Jun 7, 2020
a8d4ded
change maximum werkzeug version to <2
jkhsjdhjs Jun 14, 2020
f56149f
adapter.http: serialize response data in xml/json response classes
jkhsjdhjs Jun 14, 2020
45c83df
adapter.http: move to folder with seperate files
jkhsjdhjs Jul 2, 2020
657b4dd
adapter.http: make http endpoints return a response directly
jkhsjdhjs Jul 2, 2020
05e94e5
adapter.http: add json/xml result serialization
jkhsjdhjs Jul 16, 2020
8ae5de4
adapter.http: add more submodel routes
jkhsjdhjs Jul 25, 2020
3a953dc
adapter.http: prepare for new api routes from new spec
jkhsjdhjs Nov 14, 2020
a3856cb
adapter.http: move code from folder to file http.py
jkhsjdhjs Nov 18, 2020
8f50d8e
adapter.http: add aas.view routes
jkhsjdhjs Nov 19, 2020
6dd9153
adapter.http: remove unused imports
jkhsjdhjs Nov 20, 2020
6cdf030
adapter.http: use werkzeug instead of urllib to quote and unquote ide…
jkhsjdhjs Nov 20, 2020
8866706
adapter.http: add dirty hack to deserialize json references
jkhsjdhjs Nov 20, 2020
be57ecf
adapter.http: add location header to 201 responses
jkhsjdhjs Nov 20, 2020
a414d67
adapter.http: raise BadRequest from ValueError in IdentifierConverter
jkhsjdhjs Nov 20, 2020
ef96640
adapter.http: check type of POST'ed references
jkhsjdhjs Nov 23, 2020
76a444c
adapter.http: refactor imports
jkhsjdhjs Nov 24, 2020
9d27d12
adapter.http: refactor routing
jkhsjdhjs Nov 24, 2020
fc2d747
adapter.http fix type annotations of parse_request_body()
jkhsjdhjs Nov 24, 2020
3ed487d
adapter.http: remove whitespaces from json responses
jkhsjdhjs Nov 24, 2020
40b3176
adapter.http: cleanup TODO's an remove unnecessary checks
jkhsjdhjs Nov 25, 2020
f13f0f9
adapter.http: run debug app on example_aas_missing_attributes
jkhsjdhjs Nov 25, 2020
88e923e
adapter.http: get root cause in parse_request_body()
jkhsjdhjs Dec 3, 2020
1760ae1
adapter.http: remove minlength=1 from string url parameters
jkhsjdhjs Dec 3, 2020
19ab6e0
adapter.http: rewrite idShort as id_short in error message
jkhsjdhjs Dec 3, 2020
29ca324
adapter.http: add nested submodel elements endpoints
jkhsjdhjs Dec 3, 2020
779d15e
adapter.http: compare id_shorts case-insensitively in PUT routes
jkhsjdhjs Dec 9, 2020
000e4b3
adapter.http: add nested submodel element endpoints for type-specific…
jkhsjdhjs Dec 9, 2020
257ba14
adapter.http: update to V3.0RC01
jkhsjdhjs Feb 16, 2021
4cb5002
adapter.http: change some response types from BadRequest to Unprocess…
jkhsjdhjs Mar 1, 2021
e471bd7
adapter.http: refactor submodel element route map
jkhsjdhjs Mar 1, 2021
6ce1aaf
adapter.http: drop support for formulas
jkhsjdhjs Mar 1, 2021
00b6598
adapter.http: allow changing id_short in PUT routes
jkhsjdhjs Mar 1, 2021
921c774
adapter.http: add constraint routes
jkhsjdhjs Mar 1, 2021
677b883
http-api-oas: add first working draft
jkhsjdhjs Sep 6, 2020
e8ec2a7
http-api-oas: make /aas /submodel /conceptDictionary return a strippe…
jkhsjdhjs Sep 6, 2020
59a689f
http-api-oas: formatting
jkhsjdhjs Sep 8, 2020
72b2dc1
http-api-oas: add aas submodel reference routes
jkhsjdhjs Sep 8, 2020
0fdf559
http-api-oas: remove concept dictionary routes
jkhsjdhjs Sep 24, 2020
83ababd
http-api-oas: cleanup descriptions
jkhsjdhjs Sep 29, 2020
7c0d55f
http-api-oas: fix name (uppercase P)
jkhsjdhjs Oct 6, 2020
e0d184e
http-api-oas: add license: EPL 2.0
jkhsjdhjs Oct 7, 2020
fb1d2a6
http-api-oas: rename Result.Error.errorType attribute: errorType -> type
jkhsjdhjs Nov 14, 2020
5796848
http-api-oas: DELETE /submodels/{submodel-identifier}: fix 404 error …
jkhsjdhjs Nov 18, 2020
94ff8a6
http-api-oas: change description of 200/201 responses to "Success"
jkhsjdhjs Nov 19, 2020
9291a04
http-api-oas: make PUT routes return 200 instead of 201
jkhsjdhjs Nov 19, 2020
4b515f5
http-api-oas: add 400 responses to all PUT routes
jkhsjdhjs Nov 19, 2020
a4b32c0
http-api-oas: 201 responses from POST routes should have a Location h…
jkhsjdhjs Nov 19, 2020
170c731
http-api-oas: updating a nested SubmodelElement with a different type…
jkhsjdhjs Nov 23, 2020
038fa11
http-api-oas: idShorts are prefixed with an exclammation mark in the …
jkhsjdhjs Dec 16, 2020
f16e999
http-api-oas: update json schema to V3.0RC01
jkhsjdhjs Jan 22, 2021
79d812e
http-api-oas: update description
jkhsjdhjs Jan 22, 2021
1658e75
http-api-oas: fix description of some 404 responses
jkhsjdhjs Mar 3, 2021
35316a3
http-api-oas: change {se-idShort1}/.../{se-idShortN} to {idShort-path}
jkhsjdhjs Mar 3, 2021
383114f
http-api-oas: add 422 responses to POST routes
jkhsjdhjs Mar 3, 2021
c27232a
http-api-oas: allow changing the identifying attribute (idShort or ty…
jkhsjdhjs Mar 3, 2021
b7573db
http-api-oas: move to test/adapter/ directory
jkhsjdhjs Apr 29, 2021
b0a2984
http-api-oas: split into aas and submodel interface
jkhsjdhjs Apr 29, 2021
8151c61
adapter.http: make trailing slashes the default
jkhsjdhjs Apr 29, 2021
538de8c
adapter.http: return json if Accept header is missing or empty
jkhsjdhjs Apr 29, 2021
e42212b
adapter.http: get root cause only for xml deserializer errors
jkhsjdhjs Apr 29, 2021
3c91f64
adapter.http: return 422 if parsed object doesn't match the expected …
jkhsjdhjs Apr 29, 2021
1259203
adapter.http: fix existance checks
jkhsjdhjs Apr 29, 2021
d821da6
http-api-oas: remove PATCH route
jkhsjdhjs Apr 29, 2021
3737e8f
http-api-oas: make result types more accurate
jkhsjdhjs Apr 29, 2021
cc18322
adapter.http: add missing type annotation
jkhsjdhjs Apr 29, 2021
40da58f
adapter.http: fix id_short validation
jkhsjdhjs Jul 7, 2021
06ca48d
adapter.http: fix view removal
jkhsjdhjs Jul 7, 2021
ff99b7f
http-api-oas: add missing 400 responses and fix descriptions
jkhsjdhjs Jul 7, 2021
826e80a
http-api-oas: add links
jkhsjdhjs Jul 7, 2021
faa8d45
test: add http api tests
jkhsjdhjs Jul 14, 2021
dcae764
adapter.http: fix NamespaceSet containment checks and removals
jkhsjdhjs Jul 14, 2021
1cb4d2e
adapter.http: update AAS interface for new api spec
jkhsjdhjs Jul 27, 2021
7ceef25
adapter.http: update id_short_path and Identifier converters
jkhsjdhjs Jul 28, 2021
d05be61
adapter.http: update submodel interface
jkhsjdhjs Jul 28, 2021
428a2ba
adapter.http: remove hardcoded dot as IdShortPath separator
jkhsjdhjs Sep 7, 2021
7daee18
adapter.http: allow adding submodel elements
jkhsjdhjs Sep 7, 2021
758537b
adapter.http: adjust submodel routes for new response type
jkhsjdhjs Sep 7, 2021
ed90671
adapter.http: use example without missing attributes (contains no views)
jkhsjdhjs Sep 7, 2021
f4741fd
adapter.http: make json/xml decoder interface independent of the requ…
jkhsjdhjs Sep 7, 2021
7ee258f
adapter.http: add missing stripped parameter to HTTPApiDecoder.reques…
jkhsjdhjs Sep 20, 2021
3c3f2a2
adapter.http: update to Review3
jkhsjdhjs Sep 21, 2021
fa1c148
adapter._generic: remove `identifier_uri_(de/en)code` functions
jkhsjdhjs Dec 11, 2023
b4d82d0
adapter.http: update for changes made in the last 2 years
jkhsjdhjs Dec 11, 2023
27b6218
test.adapter.http: update w.r.t. the changes of the last 2 years
jkhsjdhjs Dec 11, 2023
cdf1765
adapter.http: ignore the type of some imports to make `mypy` happy
jkhsjdhjs Dec 11, 2023
720ca3f
test.adapter.http: ignore the type of an import to make `mypy` happy
jkhsjdhjs Dec 11, 2023
c4b564d
adapter.http: remove an outdated comment
jkhsjdhjs Dec 11, 2023
3bf02d5
adapter.http: rename occurances of `AASReference` to `ModelReference`
jkhsjdhjs Dec 11, 2023
0b13c18
adapter.http: update Werkzeug to 3.x
jkhsjdhjs Feb 14, 2024
4185ec7
adapter.http: allow typechecking werkzeug imports
jkhsjdhjs Feb 14, 2024
3808925
test: disable http api tests for now
jkhsjdhjs Feb 14, 2024
99f480e
adapter.http: improve codestyle
jkhsjdhjs Feb 14, 2024
03904a9
adapter.http: update license header
jkhsjdhjs Feb 14, 2024
841b2fc
test.adapter.http: update license header
jkhsjdhjs Feb 14, 2024
c666488
adapter.http: document another 'type: ignore' comment
jkhsjdhjs Feb 15, 2024
55b8f1c
adapter.http: remove `/aas` submount from AAS repository
jkhsjdhjs Feb 21, 2024
e857a64
adapter.http: update base URL from `/api/v1` to `/api/v3.0`
jkhsjdhjs Feb 21, 2024
712df72
adapter.http: remove hardcoded encoding from error messages
jkhsjdhjs Feb 21, 2024
b9ba39a
Merge pull request #9 from rwth-iat/http_api/remove_aas_submount
jkhsjdhjs Mar 6, 2024
1d2813e
Merge pull request #10 from rwth-iat/http_api/update_base_url
jkhsjdhjs Mar 6, 2024
d424ace
Merge pull request #11 from rwth-iat/http_api/improve_IdentifierConve…
jkhsjdhjs Mar 6, 2024
107f158
Merge pull request #12 from rwth-iat/main
jkhsjdhjs Mar 15, 2024
a9975f7
adapter.http: fix base64 decoding without padding
jkhsjdhjs Mar 15, 2024
5bfbad3
adapter.http: remove `/submodel` submount from Submodel repository
jkhsjdhjs Mar 15, 2024
71ff951
adapter.http: use builtin id_short path resolution
jkhsjdhjs Mar 15, 2024
8065153
adapter.http: simplify XML serialization
jkhsjdhjs Mar 15, 2024
b392d49
adapter.http: fix `ModelReference` json deserialization
jkhsjdhjs Mar 15, 2024
ae8d527
adapter.http: simplify `SubmodelElement` deletion
jkhsjdhjs Mar 15, 2024
2e00cff
adapter.http: skip validation of id_shorts in URLs created by us
jkhsjdhjs Mar 15, 2024
6667a41
adapter.http: use `Referable.validate_id_short()` to validate id_shorts
jkhsjdhjs Mar 15, 2024
9a22020
Merge pull request #14 from rwth-iat/http_api/improve_base64url_decoding
jkhsjdhjs Mar 15, 2024
d5cb103
Merge pull request #15 from rwth-iat/http_api/remove_submodel_submount
jkhsjdhjs Mar 16, 2024
fe60097
Merge pull request #16 from rwth-iat/http_api/use_builtin_id_short_pa…
jkhsjdhjs Mar 16, 2024
154b6fc
Merge pull request #17 from rwth-iat/http_api/fix_json_model_referenc…
jkhsjdhjs Mar 16, 2024
2ef77c9
Merge pull request #18 from rwth-iat/http_api/simplify_xml_serialization
jkhsjdhjs Mar 16, 2024
80eeb44
Merge pull request #19 from rwth-iat/http_api/simplify_submodel_eleme…
jkhsjdhjs Mar 16, 2024
79d82aa
Merge pull request #20 from rwth-iat/http_api/simplify_id_short_valid…
jkhsjdhjs Mar 16, 2024
251afe6
fixing delete_submodels()
Frosty2500 Mar 17, 2024
50780e0
adapter.http: implement semanticID filtering
Frosty2500 Mar 17, 2024
b0bdd78
adapter.http: implement metadata Routes
Frosty2500 Mar 17, 2024
9f94a11
adapter.http: implement reference routes
Frosty2500 Mar 17, 2024
ac406f5
adapter.http: fix line length
Frosty2500 Mar 17, 2024
8dbba42
adapter.http: refactoring submodel repo routes
Frosty2500 Mar 18, 2024
857b3df
adapter.http: fixing post submodelelement route
Frosty2500 Mar 18, 2024
ffb833b
adapter.http: implement the recommended changes
Frosty2500 Mar 18, 2024
78d6af9
adapter.http: implement the new recommended changes
Frosty2500 Mar 20, 2024
b2f9d79
adapter.http: hardcode `utf-8` for XML serialization
jkhsjdhjs Mar 20, 2024
b53783a
Merge pull request #22 from rwth-iat/http_api/semanticIdfiltering
jkhsjdhjs Mar 20, 2024
c2c6cc1
adapter.http: update AAS submodel refs path
jkhsjdhjs Mar 20, 2024
30e739d
adapter.http: update AAS submodel refs `DELETE` route
jkhsjdhjs Mar 20, 2024
990b7f9
adapter.http: suffix submodel refs deletion route with a slash
jkhsjdhjs Mar 20, 2024
b88db58
adapter.http: refactor submodel ref access as separate function
jkhsjdhjs Mar 20, 2024
9c9cd44
adapter.http: suffix slashes to all routes
jkhsjdhjs Mar 20, 2024
bae8fbc
adapter.http: change `base64url_encode()` function to return `str`
jkhsjdhjs Mar 20, 2024
acd123d
Merge pull request #26 from rwth-iat/http_api/improve_base64url_encode
jkhsjdhjs Mar 27, 2024
44e3827
Merge pull request #24 from rwth-iat/http_api/update_aas_submodel_ref…
jkhsjdhjs Mar 27, 2024
cfdd7d7
Merge pull request #25 from rwth-iat/http_api/suffix_slashes
jkhsjdhjs Mar 27, 2024
c86283a
adapter.http: implement AAS API submodel routes via redirects
jkhsjdhjs Mar 28, 2024
7fad3f2
adapter.http: move `asset-information` routes to a submount
jkhsjdhjs Mar 28, 2024
88bad21
adapter.http: rename `/constraints` routes to `/qualifiers`
jkhsjdhjs Mar 29, 2024
3c4a9f2
adapter.http: fix `Qualifier` JSON deserialization
jkhsjdhjs Mar 29, 2024
b11f672
adapter.http: refactor qualifier retrieval/removal
jkhsjdhjs Mar 29, 2024
5e91f4d
adapter.http: improve an error mesage
jkhsjdhjs Mar 29, 2024
1f2a4a5
Merge pull request #27 from rwth-iat/http_api/add_aas_submodel_routes
jkhsjdhjs Mar 31, 2024
f1817f6
Merge pull request #28 from rwth-iat/http_api/move_asset_information_…
jkhsjdhjs Mar 31, 2024
8083001
Merge pull request #29 from rwth-iat/http_api/fix_qualifier_routes
jkhsjdhjs Mar 31, 2024
c27e47f
adapter.http: rename `IdentifierConverter` to `Base64URLConverter`
jkhsjdhjs Mar 31, 2024
301e924
Merge pull request #30 from rwth-iat/http_api/rename_IdentifierConverter
Frosty2500 Mar 31, 2024
973f81a
adapter.http: add `SpecificAssetId` filtering to `get_aas_all()`
hadijannat Mar 20, 2024
237aebe
adapter.http: improve `SpecificAssetId` filtering
jkhsjdhjs Apr 2, 2024
74ea148
adapter.http: refactor AAS retrieval
jkhsjdhjs Apr 3, 2024
2a5a360
adapter.http: remove outdated TODOs
jkhsjdhjs Apr 3, 2024
85d70ac
Merge pull request #31 from rwth-iat/http_api/refactor_aas_retrieval
Frosty2500 Apr 3, 2024
6638498
Merge pull request #32 from rwth-iat/http_api/remove_outdated_todos
Frosty2500 Apr 3, 2024
10f3301
adapter.http: implement the attachment routes (#33)
Frosty2500 Apr 5, 2024
b591b32
adapter.http: implement the AAS reference routes
Frosty2500 Apr 5, 2024
41d32ae
Merge branch 'feature/http_api' of github.com:rwth-iat/basyx-python-s…
Frosty2500 Apr 5, 2024
384a861
Merge pull request #34 from rwth-iat/http_api/implement_AAS_reference…
jkhsjdhjs Apr 5, 2024
1b86865
adapter.http: implement the pagination
Frosty2500 Apr 19, 2024
d323ecb
adapter.http: fix codestyle errors
Frosty2500 Apr 19, 2024
76d9db0
adapter.http: implement recommended changes
Frosty2500 Apr 23, 2024
8ca847d
adapter.http: implement new recommended changes
Frosty2500 Apr 28, 2024
458e401
adapter.http: implement new recommended changes
Frosty2500 Apr 30, 2024
d4cf4b2
adapter.http: change the limit and cursor check
Frosty2500 May 9, 2024
1d70049
Merge pull request #35 from rwth-iat/http_api/implement_pagination
jkhsjdhjs May 14, 2024
9a09638
adapter.http: implement warning for not implemented routes
Frosty2500 May 23, 2024
6d47a73
adapter.http: remove unnecessary lines
Frosty2500 May 24, 2024
7d6ad00
Merge pull request #36 from rwth-iat/http_api/not_implemented_routes
jkhsjdhjs May 24, 2024
ae1f6fe
adapter.http: remove excess blank line
jkhsjdhjs May 24, 2024
dd1839b
Merge pull request #38 from rwth-iat/http_api/fix_codestyle
Frosty2500 Jun 7, 2024
435bf90
Merge pull request #37 from rwth-iat/main
Frosty2500 Jun 7, 2024
9b7a7f6
adapter.aasx: allow deleting files from `SupplementaryFileContainer`
jkhsjdhjs Jun 13, 2024
367746c
adapter.http: fix a `DeprecationWarning`
jkhsjdhjs Jun 13, 2024
ed012d0
adapter.http: allow retrieving and modifying `File` attachments via API
jkhsjdhjs Jun 13, 2024
5fd980a
adapter.http: allow changing the API base path
jkhsjdhjs Jun 13, 2024
2b81898
Merge pull request #40 from rwth-iat/http_api/fix_datetime_deprecatio…
Frosty2500 Jun 15, 2024
18b128b
Merge pull request #41 from rwth-iat/http_api/file_attachments
Frosty2500 Jun 15, 2024
72c75d7
Merge branch 'feature/http_api' into http_api/custom_base_path
Frosty2500 Jun 15, 2024
69f3955
Merge pull request #42 from rwth-iat/http_api/custom_base_path
Frosty2500 Jun 15, 2024
8e66b2c
adapter.http: remove nonfunctional 'Not Implemented' check
jkhsjdhjs Jun 19, 2024
14a6013
Merge branch 'main' into merge/main_in_feature_http_api
jkhsjdhjs Jun 20, 2024
a6af1af
adapter.http: fix `lxml` typing
jkhsjdhjs Jun 20, 2024
b0e1148
Merge pull request #46 from rwth-iat/merge/main_in_feature_http_api
s-heppner Jun 20, 2024
cb0c281
chore: bump werkzeug to >=3.0.3
jkhsjdhjs Jun 19, 2024
5191fef
adapter.http: improve type hints
jkhsjdhjs Jun 19, 2024
f57a640
Merge pull request #43 from rwth-iat/http_api/fix_type_ignore_comments
Frosty2500 Jun 20, 2024
00e87b6
Merge branch 'feature/http_api' into http_api/remove_nonfunctional_no…
Frosty2500 Jun 20, 2024
b826036
Merge pull request #44 from rwth-iat/http_api/remove_nonfunctional_no…
Frosty2500 Jun 20, 2024
4afc6ea
adapter.http: remove unnecessary generator expression
jkhsjdhjs Jul 19, 2024
980dd7d
adapter.http: remove trailing slashes from routes
jkhsjdhjs Jul 19, 2024
f6019cc
Merge pull request #49 from rwth-iat/http_api/improve_codestyle
Frosty2500 Jul 22, 2024
4b67798
Merge pull request #50 from rwth-iat/http_api/no_trailing_slash
Frosty2500 Jul 22, 2024
4aa818c
adapter.http: add documentation of not implemented features (#52)
Frosty2500 Aug 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
/.coverage
/htmlcov/
/docs/build/
/.hypothesis/

# customized config files
/test/test_config.ini
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ The BaSyx Python SDK requires the following Python packages to be installed for
* `python-dateutil` (BSD 3-clause License)
* `pyecma376-2` (Apache License v2.0)
* `urllib3` (MIT License)
* `Werkzeug` (BSD 3-clause License)

Optional production usage dependencies:
* For using the Compliance Tool to validate JSON files against the JSON Schema: `jsonschema` and its
Expand Down
1,151 changes: 1,151 additions & 0 deletions basyx/aas/adapter/http.py

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,7 @@ python-dateutil>=2.8,<3.0
types-python-dateutil
pyecma376-2>=0.2.4
urllib3>=1.26,<2.0
Werkzeug>=3.0.3,<4
schemathesis~=3.7
hypothesis~=6.13
lxml-stubs~=0.5.1
1 change: 1 addition & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,6 @@
'lxml>=4.2,<5',
'urllib3>=1.26,<2.0',
'pyecma376-2>=0.2.4',
'Werkzeug>=3.0.3,<4'
]
)
Loading
Loading