From 57625bb552edfd14d1b31a1928810c488c753207 Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Fri, 12 Sep 2025 11:50:12 +0200 Subject: [PATCH 01/14] update package.json --- generate_schemas.js | 122 -------------------------------------------- package.json | 5 +- 2 files changed, 2 insertions(+), 125 deletions(-) delete mode 100644 generate_schemas.js diff --git a/generate_schemas.js b/generate_schemas.js deleted file mode 100644 index 61b74fb6..00000000 --- a/generate_schemas.js +++ /dev/null @@ -1,122 +0,0 @@ -const fs = require("fs"); -const path = require("path"); -const glob = require("glob"); -const process = require("process"); - -console.log("process.argv", process.argv); - -var projectName = process.argv[2]; -console.log("projectName", projectName); -var folderName = process.argv[3]; -console.log("folderName", folderName); -var key = process.argv[4]; -console.log("key", key); -var separator = process.argv[5]; -console.log("separator", separator); - -const findDirectoryPath = (targetDirectoryName, folderName) => { - const pathToCheck = path.join( - process.cwd(), - "/src", - "/", - targetDirectoryName - ); - console.log("pathToCheck", pathToCheck); - - const folders = fs - .readdirSync(pathToCheck, { withFileTypes: true }) - .filter( - (folder) => - folder.isDirectory() && - !folder.name.endsWith(".egg-info") && - folder.name != "tests" && - folder.name != "__pycache__" && - folder.name.includes(folderName) - ) - .map((folder) => ({ - name: folder.name, - path: path.join(pathToCheck, folder.name), - })); - console.log("folders", folders); - const routesDirectory = path.join(folders[0].path); - return routesDirectory; -}; - -const directoryPath = findDirectoryPath(projectName, folderName); - -const outputFile = path.join(process.cwd(), `${projectName}_schemas.json`); - -function return_json_schema(directoryPath, folder_path, projectName) { - console.log("return_json_schema", directoryPath, folder_path, projectName); - - const folders = fs - .readdirSync(path.normalize(directoryPath), { withFileTypes: true }) - .filter((folder) => folder.isDirectory() && folder.name != "__pycache__") - .map((folder) => ({ - name: folder.name, - path: path.join(directoryPath, folder.name), - })); - var folders_schemas = {}; - folders.forEach((folder) => { - if (folder.name == "schemas") { - const jsonFiles = glob.sync(path.join(folder.path, "**/*.json")); - var schemas = {}; - jsonFiles.forEach((filePath) => { - try { - const fileContent = fs.readFileSync(filePath, "utf8"); - var jsonData = JSON.parse(fileContent); - var filename = filePath - .replace(/^.*[\\/]/, "") - .replace(/\.[^/.]+$/, ""); - var route = jsonData[key]; - console.log("FOLDER PATH", projectName); - var values = [projectName, folder_path, route]; - console.log("values", values); - values = values.map(function (x) { - console.log("x", x); - return x.replace("/", "").replace(".", ""); - }); // first replace first . / by empty string - values = values.map(function (x) { - console.log("x", x); - return x.replaceAll("/", separator).replaceAll(".", separator); - }); // then replace all . / by separator - console.log("values", values); - jsonData["$id"] = values - .filter(function (val) { - return val; - }) - .join(separator); - schemas[filename] = jsonData; - } catch (error) { - console.error( - `Erreur lors de la lecture du fichier ${filePath}:`, - error - ); - } - }); - folders_schemas = Object.keys(schemas).reduce((acc, key) => { - const currentSchema = schemas[key]; - const modifiedSchema = { - $id: path.join(folder_path, currentSchema["$id"]), - ...currentSchema, - }; - acc[key] = modifiedSchema; - return acc; - }, folders_schemas); - } else { - var new_folder_path = folder_path + "/" + folder.name; - var test = return_json_schema(folder.path, new_folder_path, projectName); - folders_schemas[folder.name] = test; - } - }); - return folders_schemas; -} - -if (fs.existsSync(outputFile)) { - fs.unlinkSync(outputFile); -} - -const finalJson = {}; -finalJson[projectName] = return_json_schema(directoryPath, "", projectName); - -fs.writeFileSync(outputFile, JSON.stringify(finalJson, null, 2)); diff --git a/package.json b/package.json index 2ec8f0cf..960f0fd8 100644 --- a/package.json +++ b/package.json @@ -3,12 +3,12 @@ "version": "0.0.0", "description": "", "scripts": { - "json": "node generate_schemas.js opengeodeweb_back routes route /", + "json": "ogw-generate-schemas opengeodeweb_back routes route /", "test": "npm run json", "build": "npm run json" }, "dependencies": { - "glob": "^11.0.3" + "@geode/opengeodeweb-microservice": "^1.0.0" }, "exports": { "./opengeodeweb_back_schemas.json": { @@ -16,7 +16,6 @@ "require": "./opengeodeweb_back_schemas.json" } }, - "main": "generate_schemas.js", "repository": { "type": "git", "url": "git+https://github.com/Geode-solutions/OpenGeodeWeb-Back.git" From d2efe2b3484848dd69dc46660991d594b8042dd2 Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Fri, 12 Sep 2025 11:52:09 +0200 Subject: [PATCH 02/14] fix(generateSchemas): update package.json From d7c6162051b19a5e23be36e0a3c9bf5cd4e17d3b Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Fri, 12 Sep 2025 13:10:08 +0200 Subject: [PATCH 03/14] trigger From b61fcb0e10176e99bc48b6f90694f67257b875a7 Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Fri, 12 Sep 2025 13:15:00 +0200 Subject: [PATCH 04/14] latest opengeodeweb-microservice --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 960f0fd8..bd3c94c1 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "build": "npm run json" }, "dependencies": { - "@geode/opengeodeweb-microservice": "^1.0.0" + "@geode/opengeodeweb-microservice": "lastest" }, "exports": { "./opengeodeweb_back_schemas.json": { From 5fe473cc862b216c3597158642d8398e7c36f10a Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Fri, 12 Sep 2025 13:17:55 +0200 Subject: [PATCH 05/14] typo --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bd3c94c1..a892fbd9 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "build": "npm run json" }, "dependencies": { - "@geode/opengeodeweb-microservice": "lastest" + "@geode/opengeodeweb-microservice": "latest" }, "exports": { "./opengeodeweb_back_schemas.json": { From b70237b8b39430bcdbec232302a24ddf72b29d47 Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Fri, 12 Sep 2025 13:27:40 +0200 Subject: [PATCH 06/14] package.json aded node script --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a892fbd9..9074f398 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "0.0.0", "description": "", "scripts": { - "json": "ogw-generate-schemas opengeodeweb_back routes route /", + "json": "node ./node_modules/@geode/opengeodeweb-microservice/generate_schemas.js opengeodeweb_back routes route /", "test": "npm run json", "build": "npm run json" }, From 2f3432ab45403a2348dac08927ec5fab2072d412 Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Fri, 12 Sep 2025 13:30:04 +0200 Subject: [PATCH 07/14] fix(generateSchemas): package.json updated From 14c50d9ccac73cce30376b82666e3a2a1ba5185a Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Fri, 12 Sep 2025 13:42:59 +0200 Subject: [PATCH 08/14] trigger From 668eaab0b78be85dbf337b72e5d37c0db2467193 Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Fri, 12 Sep 2025 13:48:57 +0200 Subject: [PATCH 09/14] trigger From a0ee81d139a7e65ef6b79dd292fb53f951dd6d8e Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Fri, 12 Sep 2025 14:03:11 +0200 Subject: [PATCH 10/14] removed fastjsonschema --- requirements.in | 1 - requirements.txt | 4 +--- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/requirements.in b/requirements.in index 6054d3a7..e644fac5 100644 --- a/requirements.in +++ b/requirements.in @@ -4,7 +4,6 @@ OpenGeode-Inspector==6.7.0 OpenGeode-Geosciences==9.2.2 OpenGeode-GeosciencesIO==5.7.2 Geode-Viewables==3.2.0 -fastjsonschema==2.16.2 Flask[async]==3.0.3 Flask-Cors==6.0.1 werkzeug==3.0.3 diff --git a/requirements.txt b/requirements.txt index f6b829e8..c6a1e8e2 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 --pre requirements.in +# pip-compile requirements.in # asgiref==3.9.1 # via flask @@ -10,8 +10,6 @@ blinker==1.9.0 # via flask click==8.2.1 # via flask -fastjsonschema==2.16.2 - # via -r requirements.in flask[async]==3.0.3 # via # -r requirements.in From 2f95d84e312c33c882250cd4ebf0924c15b33294 Mon Sep 17 00:00:00 2001 From: MaxNumerique <144453705+MaxNumerique@users.noreply.github.com> Date: Fri, 12 Sep 2025 12:03:37 +0000 Subject: [PATCH 11/14] Apply prepare changes --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index c6a1e8e2..e53a83d9 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 requirements.in +# pip-compile --pre requirements.in # asgiref==3.9.1 # via flask From 6d06ff3d50ca5b1f16b6758114e04515a1daed68 Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Fri, 12 Sep 2025 15:09:30 +0200 Subject: [PATCH 12/14] test From c78b23fd056eb50c269fc630059fe19fff535890 Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Fri, 12 Sep 2025 15:28:09 +0200 Subject: [PATCH 13/14] dep OpengeodeWeb-Microservice --- requirements.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.in b/requirements.in index e644fac5..ca37fb9c 100644 --- a/requirements.in +++ b/requirements.in @@ -8,4 +8,4 @@ Flask[async]==3.0.3 Flask-Cors==6.0.1 werkzeug==3.0.3 Flask-SQLAlchemy==3.1.1 -# OpenGeodeWeb-Microservice \ No newline at end of file +OpenGeodeWeb-Microservice \ No newline at end of file From 959aa7abfe2113e71675c14f814dbd92d0029df9 Mon Sep 17 00:00:00 2001 From: MaxNumerique <144453705+MaxNumerique@users.noreply.github.com> Date: Fri, 12 Sep 2025 13:28:33 +0000 Subject: [PATCH 14/14] Apply prepare changes --- requirements.txt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index e53a83d9..3b55510b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,6 +10,8 @@ blinker==1.9.0 # via flask click==8.2.1 # via flask +fastjsonschema==2.21.1 + # via opengeodeweb-microservice flask[async]==3.0.3 # via # -r requirements.in @@ -19,7 +21,9 @@ flask[async]==3.0.3 flask-cors==6.0.1 # via -r requirements.in flask-sqlalchemy==3.1.1 - # via -r requirements.in + # via + # -r requirements.in + # opengeodeweb-microservice geode-common==33.9.0 # via geode-viewables geode-viewables==3.2.0 @@ -57,8 +61,12 @@ opengeode-io==7.3.2 # -r requirements.in # geode-viewables # opengeode-geosciencesio +opengeodeweb-microservice==1.*,>=1.0.0 + # via -r requirements.in sqlalchemy==2.0.43 - # via flask-sqlalchemy + # via + # flask-sqlalchemy + # opengeodeweb-microservice typing-extensions==4.15.0 # via sqlalchemy werkzeug==3.0.3