@geode/opengeodeweb-front 10.28.0-rc.1 → 10.28.0-rc.2
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.
- package/app/composables/run_function_when_microservices_connected.js +10 -7
- package/app/utils/config.js +8 -8
- package/app/utils/local/path.js +2 -2
- package/package.json +1 -1
- package/server/api/extensions/run.post.js +3 -3
- package/server/api/extensions/upload.put.js +1 -1
- package/tests/unit/composables/run_function_when_microservices_connected.nuxt.test.js +3 -3
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { useInfraStore } from "@ogw_front/stores/infra";
|
|
2
2
|
|
|
3
|
-
export function
|
|
3
|
+
export function runFunctionWhenMicroservicesConnected(functionToRun) {
|
|
4
4
|
const infraStore = useInfraStore();
|
|
5
5
|
const { microservices_connected } = storeToRefs(infraStore);
|
|
6
6
|
console.log("inside microservices_connected", microservices_connected.value);
|
|
7
7
|
if (microservices_connected.value) {
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
8
|
+
functionToRun();
|
|
9
|
+
}
|
|
10
|
+
watch(
|
|
11
|
+
microservices_connected,
|
|
12
|
+
(value) => {
|
|
11
13
|
if (value) {
|
|
12
14
|
console.log("watch microservices_connected", value);
|
|
13
|
-
|
|
15
|
+
functionToRun();
|
|
14
16
|
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
+
},
|
|
18
|
+
{ once: true },
|
|
19
|
+
);
|
|
17
20
|
}
|
package/app/utils/config.js
CHANGED
|
@@ -27,14 +27,14 @@ function extensionsConf(projectName) {
|
|
|
27
27
|
return extensionsConfig;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
function addExtensionToConf(projectName, {
|
|
30
|
+
function addExtensionToConf(projectName, { extensionId, extensionPath }) {
|
|
31
31
|
const projectConfig = projectConf(projectName);
|
|
32
|
-
projectConfig.set(`extensions.${
|
|
32
|
+
projectConfig.set(`extensions.${extensionId}.path`, extensionPath);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
async function removeExtensionFromConf(projectName,
|
|
35
|
+
async function removeExtensionFromConf(projectName, extensionId) {
|
|
36
36
|
const projectConfig = projectConf(projectName);
|
|
37
|
-
const extensionArchivePath = extensionPathFromConf(projectName,
|
|
37
|
+
const extensionArchivePath = extensionPathFromConf(projectName, extensionId);
|
|
38
38
|
|
|
39
39
|
await unlink(extensionArchivePath, (error) => {
|
|
40
40
|
if (error) {
|
|
@@ -42,13 +42,13 @@ async function removeExtensionFromConf(projectName, extensionID) {
|
|
|
42
42
|
}
|
|
43
43
|
console.log(`${extensionArchivePath} was deleted`);
|
|
44
44
|
});
|
|
45
|
-
projectConfig.delete(`extensions.${
|
|
46
|
-
console.log(`${
|
|
45
|
+
projectConfig.delete(`extensions.${extensionId}`);
|
|
46
|
+
console.log(`${extensionId} was deleted from ${projectName} config`);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
function extensionPathFromConf(projectName,
|
|
49
|
+
function extensionPathFromConf(projectName, extensionId) {
|
|
50
50
|
const projectConfig = projectConf(projectName);
|
|
51
|
-
return projectConfig.get(`extensions.${
|
|
51
|
+
return projectConfig.get(`extensions.${extensionId}.path`);
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
export {
|
package/app/utils/local/path.js
CHANGED
|
@@ -55,8 +55,8 @@ function generateProjectFolderPath(projectName) {
|
|
|
55
55
|
return path.join(os.tmpdir(), projectName.replaceAll("/", "_"), uuidv4());
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
function extensionFolderPath(projectFolderPath,
|
|
59
|
-
return path.join(projectFolderPath, "extensions",
|
|
58
|
+
function extensionFolderPath(projectFolderPath, extensionId) {
|
|
59
|
+
return path.join(projectFolderPath, "extensions", extensionId);
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
async function lookForLocalExtensionDistPath(rootPath, extentionRepoName, frontendFile) {
|
package/package.json
CHANGED
|
@@ -25,11 +25,11 @@ export default defineEventHandler(async (event) => {
|
|
|
25
25
|
const extensionsConfig = extensionsConf(projectName);
|
|
26
26
|
|
|
27
27
|
const extensionsArray = await Promise.all(
|
|
28
|
-
Object.keys(extensionsConfig).map(async (
|
|
29
|
-
const extensionPath = extensionsConfig[
|
|
28
|
+
Object.keys(extensionsConfig).map(async (extensionId) => {
|
|
29
|
+
const extensionPath = extensionsConfig[extensionId].path;
|
|
30
30
|
const unzippedExtensionPath = await unzipFile(
|
|
31
31
|
extensionPath,
|
|
32
|
-
extensionFolderPath(projectFolderPath,
|
|
32
|
+
extensionFolderPath(projectFolderPath, extensionId),
|
|
33
33
|
);
|
|
34
34
|
const metadataPath = path.join(unzippedExtensionPath, "metadata.json");
|
|
35
35
|
const metadataContent = await fs.promises.readFile(metadataPath, "utf8");
|
|
@@ -4,7 +4,7 @@ import { flushPromises } from "@vue/test-utils";
|
|
|
4
4
|
|
|
5
5
|
// Local imports
|
|
6
6
|
import { Status } from "@ogw_front/utils/status";
|
|
7
|
-
import {
|
|
7
|
+
import { runFunctionWhenMicroservicesConnected } from "@ogw_front/composables/run_function_when_microservices_connected";
|
|
8
8
|
import { setupActivePinia } from "@ogw_tests/utils";
|
|
9
9
|
import { useBackStore } from "@ogw_front/stores/back";
|
|
10
10
|
import { useInfraStore } from "@ogw_front/stores/infra";
|
|
@@ -40,7 +40,7 @@ describe("when_microservices_connected_run_function", () => {
|
|
|
40
40
|
|
|
41
41
|
test("microservices not connected", () => {
|
|
42
42
|
const spy = vi.spyOn(dumb_obj, "dumb_method");
|
|
43
|
-
|
|
43
|
+
runFunctionWhenMicroservicesConnected(dumb_obj.dumb_method);
|
|
44
44
|
backStore.$patch({ status: Status.NOT_CONNECTED });
|
|
45
45
|
viewerStore.$patch({ status: Status.NOT_CONNECTED });
|
|
46
46
|
expect(spy).not.toHaveBeenCalled();
|
|
@@ -48,7 +48,7 @@ describe("when_microservices_connected_run_function", () => {
|
|
|
48
48
|
|
|
49
49
|
test("microservices connected", async () => {
|
|
50
50
|
const spy = vi.spyOn(dumb_obj, "dumb_method");
|
|
51
|
-
|
|
51
|
+
runFunctionWhenMicroservicesConnected(dumb_obj.dumb_method);
|
|
52
52
|
backStore.$patch({ status: Status.CONNECTED });
|
|
53
53
|
viewerStore.$patch({ status: Status.CONNECTED });
|
|
54
54
|
await flushPromises();
|