From 1f23e55997608251fa2fc6ee5a50297da3bc85ca Mon Sep 17 00:00:00 2001 From: JulienChampagnol Date: Wed, 1 Oct 2025 16:01:06 +0200 Subject: [PATCH 1/7] fix(Kill): kill route --- .gitignore | 2 +- package-lock.json | 16 ++++++++++++++-- src/opengeodeweb_back/routes/blueprint_routes.py | 13 +++++++++++++ src/opengeodeweb_back/routes/schemas/kill.json | 10 ++++++++++ 4 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 src/opengeodeweb_back/routes/schemas/kill.json diff --git a/.gitignore b/.gitignore index d3ead969..36f06792 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,6 @@ __pycache__ .vscode uploads node_modules -schemas.json .mypy_cache *.db +opengeodeweb_back_schemas.json diff --git a/package-lock.json b/package-lock.json index 73f66d63..f348826a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,27 @@ { "name": "@geode/opengeodeweb-back", - "version": "0.0.0-semantically-released", + "version": "0.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@geode/opengeodeweb-back", - "version": "0.0.0-semantically-released", + "version": "0.0.0", + "license": "MIT", + "dependencies": { + "@geode/opengeodeweb-microservice": "latest" + } + }, + "node_modules/@geode/opengeodeweb-microservice": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@geode/opengeodeweb-microservice/-/opengeodeweb-microservice-1.0.0.tgz", + "integrity": "sha512-+btAWjHecfqGAZlM/UElwlAREPtLLGsJQr1+ELqS4yZU9A4RkFliCNFkV1jmZNyBEj0QsHZzirD63/rgMj8MOw==", "license": "MIT", "dependencies": { "glob": "^11.0.3" + }, + "bin": { + "ogw-generate-schemas": "generate_schemas.js" } }, "node_modules/@isaacs/balanced-match": { diff --git a/src/opengeodeweb_back/routes/blueprint_routes.py b/src/opengeodeweb_back/routes/blueprint_routes.py index 7f965009..3a7c7a3f 100644 --- a/src/opengeodeweb_back/routes/blueprint_routes.py +++ b/src/opengeodeweb_back/routes/blueprint_routes.py @@ -381,3 +381,16 @@ def ping(): utils_functions.validate_request(flask.request, ping_json) flask.current_app.config.update(LAST_PING_TIME=time.time()) return flask.make_response({"message": "Flask server is running"}, 200) + + +with open( + os.path.join(schemas, "kill.json"), + "r", +) as file: + kill_json = json.load(file) + + +@routes.route(kill_json["route"], methods=kill_json["methods"]) +def kill() -> None: + print("Manual server kill, shutting down...", flush=True) + os._exit(0) diff --git a/src/opengeodeweb_back/routes/schemas/kill.json b/src/opengeodeweb_back/routes/schemas/kill.json new file mode 100644 index 00000000..dde867bd --- /dev/null +++ b/src/opengeodeweb_back/routes/schemas/kill.json @@ -0,0 +1,10 @@ +{ + "route": "/kill", + "methods": [ + "POST" + ], + "type": "object", + "properties": {}, + "required": [], + "additionalProperties": false +} \ No newline at end of file From 3b2f0df25903377d5f1a67458267ea0951a1cf82 Mon Sep 17 00:00:00 2001 From: JulienChampagnol <91873154+JulienChampagnol@users.noreply.github.com> Date: Thu, 2 Oct 2025 12:35:14 +0000 Subject: [PATCH 2/7] Apply prepare changes --- requirements.txt | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/requirements.txt b/requirements.txt index 8b7b73e0..fbd6b37c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile with Python 3.12 # by the following command: # -# pip-compile --output-file=./requirements.txt --pre ./requirements-internal.in ./requirements.in +# pip-compile --output-file=./requirements.txt --pre ./requirements.in # asgiref==3.*,>=3.9.2 # via flask @@ -10,8 +10,6 @@ blinker==1.*,>=1.9.0 # via flask click==8.*,>=8.3.0 # via flask -fastjsonschema==2.*,>=2.21.1 - # via opengeodeweb-microservice flask[async]==3.*,>=3.0.3 # via # -r requirements.in @@ -21,9 +19,7 @@ flask[async]==3.*,>=3.0.3 flask-cors==6.*,>=6.0.1 # via -r requirements.in flask-sqlalchemy==3.*,>=3.1.1 - # via - # -r requirements.in - # opengeodeweb-microservice + # via -r requirements.in geode-common==33.11.0 # via # -r requirements.in @@ -63,12 +59,8 @@ opengeode-io==7.4.0 # -r requirements.in # geode-viewables # opengeode-geosciencesio -opengeodeweb-microservice==1.*,>=1.0.0 - # via -r requirements-internal.in sqlalchemy==2.*,>=2.0.43 - # via - # flask-sqlalchemy - # opengeodeweb-microservice + # via flask-sqlalchemy typing-extensions==4.*,>=4.15.0 # via sqlalchemy werkzeug==3.0.3 From 2d9d32060605b4bb7e92e9201c42e645cbe19f06 Mon Sep 17 00:00:00 2001 From: JulienChampagnol Date: Thu, 2 Oct 2025 14:40:12 +0200 Subject: [PATCH 3/7] test --- src/opengeodeweb_back/routes/blueprint_routes.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/opengeodeweb_back/routes/blueprint_routes.py b/src/opengeodeweb_back/routes/blueprint_routes.py index 3a7c7a3f..359540b1 100644 --- a/src/opengeodeweb_back/routes/blueprint_routes.py +++ b/src/opengeodeweb_back/routes/blueprint_routes.py @@ -2,6 +2,7 @@ import json import os import time +from typing import Callable # Third party imports import flask @@ -391,6 +392,6 @@ def ping(): @routes.route(kill_json["route"], methods=kill_json["methods"]) -def kill() -> None: +def kill() -> Callable[[], None]: print("Manual server kill, shutting down...", flush=True) os._exit(0) From c4517f32898ebb1d4486e991f4d7b52e5059eebe Mon Sep 17 00:00:00 2001 From: JulienChampagnol Date: Thu, 2 Oct 2025 15:15:38 +0200 Subject: [PATCH 4/7] flask --- src/opengeodeweb_back/routes/blueprint_routes.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/opengeodeweb_back/routes/blueprint_routes.py b/src/opengeodeweb_back/routes/blueprint_routes.py index 359540b1..cfd5684a 100644 --- a/src/opengeodeweb_back/routes/blueprint_routes.py +++ b/src/opengeodeweb_back/routes/blueprint_routes.py @@ -2,7 +2,6 @@ import json import os import time -from typing import Callable # Third party imports import flask @@ -392,6 +391,7 @@ def ping(): @routes.route(kill_json["route"], methods=kill_json["methods"]) -def kill() -> Callable[[], None]: +def kill() -> flask.Response: print("Manual server kill, shutting down...", flush=True) os._exit(0) + return flask.make_response({"message": "Flask server is dead"}, 200) From 34e80575cb79608028e3a5355a41120082e83dc7 Mon Sep 17 00:00:00 2001 From: JulienChampagnol <91873154+JulienChampagnol@users.noreply.github.com> Date: Thu, 2 Oct 2025 14:05:38 +0000 Subject: [PATCH 5/7] Apply prepare changes --- requirements.txt | 39 ++++++++------------------------------- 1 file changed, 8 insertions(+), 31 deletions(-) diff --git a/requirements.txt b/requirements.txt index eaa62c1b..fd7b9c32 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,28 +7,19 @@ asgiref~=3.0 # via flask blinker~=1.0 - # via - # flask - # opengeodeweb-microservice + # via flask click~=8.0 - # via - # flask - # opengeodeweb-microservice -fastjsonschema~=2.0 - # via opengeodeweb-microservice + # via flask flask[async]~=3.0 # via # -r requirements.in # flask # flask-cors # flask-sqlalchemy - # opengeodeweb-microservice flask-cors~=6.0 # via -r requirements.in flask-sqlalchemy~=3.0 - # via - # -r requirements.in - # opengeodeweb-microservice + # via -r requirements.in geode-common==33.11.0 # via # -r requirements.in @@ -36,21 +27,14 @@ geode-common==33.11.0 geode-viewables==3.3.0 # via -r requirements.in greenlet~=3.0 - # via - # opengeodeweb-microservice - # sqlalchemy + # via sqlalchemy itsdangerous~=2.0 - # via - # flask - # opengeodeweb-microservice + # via flask jinja2~=3.0 - # via - # flask - # opengeodeweb-microservice + # via flask markupsafe~=3.0 # via # jinja2 - # opengeodeweb-microservice # werkzeug opengeode-core==15.27.4 # via @@ -75,19 +59,12 @@ opengeode-io==7.4.0 # -r requirements.in # geode-viewables # opengeode-geosciencesio -opengeodeweb-microservice==1.0.1rc3 - # via -r requirements-internal.in sqlalchemy~=2.0 - # via - # flask-sqlalchemy - # opengeodeweb-microservice + # via flask-sqlalchemy typing-extensions~=4.0 - # via - # opengeodeweb-microservice - # sqlalchemy + # via sqlalchemy werkzeug==3.0.3 # via # -r requirements.in # flask # flask-cors - # opengeodeweb-microservice From f79986e5b0db9cf0a97b33f950ef4f0e7e3fe93e Mon Sep 17 00:00:00 2001 From: JulienChampagnol <91873154+JulienChampagnol@users.noreply.github.com> Date: Fri, 3 Oct 2025 08:36:36 +0000 Subject: [PATCH 6/7] Apply prepare changes --- requirements.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 77393f9e..fd7b9c32 100644 --- a/requirements.txt +++ b/requirements.txt @@ -59,8 +59,6 @@ opengeode-io==7.4.0 # -r requirements.in # geode-viewables # opengeode-geosciencesio -opengeodeweb-microservice~=1.0 - # via -r requirements-internal.in sqlalchemy~=2.0 # via flask-sqlalchemy typing-extensions~=4.0 From e78037c12c187473672e950e415ba71b0b891de5 Mon Sep 17 00:00:00 2001 From: BotellaA <3213882+BotellaA@users.noreply.github.com> Date: Thu, 9 Oct 2025 12:48:53 +0000 Subject: [PATCH 7/7] Apply prepare changes --- requirements.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 27e6fb92..11ae818c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -69,4 +69,3 @@ werkzeug==3.1.2 # flask # flask-cors -opengeodeweb-microservice~=1.0