Skip to content

Commit be46de5

Browse files
Merge pull request #49 from Geode-solutions/feat_validation
Feat validation
2 parents 74b96d6 + 10e7875 commit be46de5

16 files changed

+4514
-2218
lines changed

components/CrsSelector.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"$id": "/tools/crs_selector/geographic_coordinate_systems",
3+
"type": "object",
4+
"properties": {
5+
"geode_object": {
6+
"type": "string"
7+
}
8+
}
9+
}

components/CrsSelector.vue

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,15 @@
2727
import { useToggle } from "@vueuse/core"
2828
2929
const stepper_tree = inject("stepper_tree")
30-
const { geode_object, route_prefix } = stepper_tree
30+
const { geode_object } = stepper_tree
3131
3232
const props = defineProps({
3333
variable_to_update: { type: String, required: true },
3434
variable_to_increment: { type: String, required: true },
35+
schema: { type: Object, required: true },
3536
})
3637
37-
const { variable_to_update, variable_to_increment } = props
38+
const { variable_to_update, variable_to_increment, schema } = props
3839
3940
const search = ref("")
4041
const data_table_loading = ref(false)
@@ -61,25 +62,19 @@
6162
}
6263
6364
async function get_crs_table() {
64-
let params = new FormData()
65-
params.append("geode_object", geode_object)
65+
let params = {
66+
geode_object: geode_object,
67+
}
6668
toggle_loading()
6769
await api_fetch(
68-
`${route_prefix}/geographic_coordinate_systems`,
69-
{ method: "POST", body: params },
70+
{ schema, params },
7071
{
71-
request_error_function: () => {
72-
toggle_loading()
73-
},
7472
response_function: (response) => {
75-
toggle_loading()
7673
crs_list.value = response._data.crs_list
7774
},
78-
response_error_function: () => {
79-
toggle_loading()
80-
},
8175
},
8276
)
77+
toggle_loading()
8378
}
8479
8580
const headers = [

components/ExtensionSelector.vue

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,21 @@
2121

2222
<script setup>
2323
const stepper_tree = inject("stepper_tree")
24-
const { geode_object, route_prefix } = stepper_tree
24+
const { geode_object } = stepper_tree
2525
2626
const props = defineProps({
2727
variable_to_update: { type: String, required: true },
2828
variable_to_increment: { type: String, required: true },
29+
schema: { type: Object, required: true },
2930
})
30-
const { variable_to_update, variable_to_increment } = props
31+
const { variable_to_update, variable_to_increment, schema } = props
3132
3233
const file_extensions = ref([])
3334
3435
async function get_output_file_extensions() {
35-
const params = new FormData()
36-
params.append("geode_object", geode_object)
36+
const params = { geode_object: geode_object }
3737
await api_fetch(
38-
`${route_prefix}/output_file_extensions`,
39-
{ method: "POST", body: params },
38+
{ schema, params },
4039
{
4140
response_function: (response) => {
4241
file_extensions.value = response._data.output_file_extensions

components/FileSelector.vue

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,16 @@
1515

1616
<script setup>
1717
const stepper_tree = inject("stepper_tree")
18-
const { route_prefix } = stepper_tree
1918
2019
const props = defineProps({
2120
multiple: { type: Boolean, required: true },
2221
label: { type: String, required: true },
2322
variable_to_update: { type: String, required: true },
2423
variable_to_increment: { type: String, required: true },
24+
schema: { type: Object, required: true },
2525
})
26-
const { multiple, label, variable_to_update, variable_to_increment } = props
26+
const { multiple, label, variable_to_update, variable_to_increment, schema } =
27+
props
2728
2829
const accept = ref("")
2930
const files = ref([])
@@ -41,10 +42,8 @@
4142
}
4243
4344
async function get_allowed_files() {
44-
const route = `${route_prefix}/allowed_files`
4545
await api_fetch(
46-
route,
47-
{ method: "GET" },
46+
{ schema },
4847
{
4948
response_function: (response) => {
5049
fill_extensions(response)

components/Launcher.json

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"$id": "/workflows/captcha_validation",
3+
"type": "object",
4+
"properties": {
5+
"is_captcha_validated": {
6+
"type": "boolean"
7+
},
8+
"is_cloud_running": {
9+
"type": "boolean"
10+
},
11+
"is_connexion_launched": {
12+
"type": "boolean"
13+
},
14+
"site_key": {
15+
"type": "string"
16+
}
17+
},
18+
"required": [
19+
"is_captcha_validated",
20+
"is_cloud_running",
21+
"is_connexion_launched",
22+
"site_key"
23+
]
24+
}

components/ObjectSelector.vue

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@
1717
<v-card class="card" variant="tonal" elevation="5" rounded>
1818
<v-card-text>
1919
This file format isn't supported! Please check the
20-
<a href="https://docs.geode-solutions.com/formats/" target="_blank">
20+
<a
21+
href="https://docs.geode-solutions.com/guides/formats/"
22+
target="_blank"
23+
>
2124
supported file formats documentation</a
2225
>
2326
for more information
@@ -30,24 +33,22 @@
3033
import geode_objects from "@/assets/geode_objects"
3134
3235
const stepper_tree = inject("stepper_tree")
33-
const { files, route_prefix } = stepper_tree
36+
const { files } = stepper_tree
3437
3538
const props = defineProps({
3639
variable_to_update: { type: String, required: true },
3740
variable_to_increment: { type: String, required: true },
41+
schema: { type: Object, required: true },
3842
})
3943
40-
const { variable_to_update, variable_to_increment } = props
44+
const { variable_to_update, variable_to_increment, schema } = props
4145
4246
const allowed_objects = ref([])
4347
4448
async function get_allowed_objects() {
45-
const params = new FormData()
46-
params.append("filename", files[0].name)
47-
49+
const params = { filename: files[0].name }
4850
await api_fetch(
49-
`${route_prefix}/allowed_objects`,
50-
{ method: "POST", body: params },
51+
{ schema, params },
5152
{
5253
response_function: (response) => {
5354
allowed_objects.value = response._data.allowed_objects

components/PackagesVersions.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"$id": "/tools/file_converter/versions",
3+
"method": "GET",
4+
"type": "object",
5+
"properties": {},
6+
"additionalProperties": false
7+
}

components/PackagesVersions.vue

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,19 @@
1919
</template>
2020

2121
<script setup>
22+
const cloud_store = use_cloud_store()
23+
const { is_running } = storeToRefs(cloud_store)
24+
2225
const props = defineProps({
23-
route_prefix: { type: String, required: true },
26+
schema: { type: Object, required: true },
2427
})
25-
const { route_prefix } = props
26-
27-
const cloud_store = use_cloud_store()
28+
const { schema } = props
2829
2930
const packages_versions = ref([])
3031
31-
async function get_packages_versions() {
32-
await api_fetch(
33-
`${route_prefix}/versions`,
34-
{ method: "GET" },
32+
function get_packages_versions() {
33+
api_fetch(
34+
{ schema },
3535
{
3636
response_function: (response) => {
3737
packages_versions.value = response._data.versions
@@ -40,20 +40,20 @@
4040
)
4141
}
4242
43-
watch(cloud_store.is_running, (value) => {
43+
watch(is_running, (value) => {
4444
if (value === true) {
4545
get_packages_versions()
4646
}
4747
})
4848
4949
onMounted(() => {
50-
if (cloud_store.is_running === true) {
50+
if (is_running.value) {
5151
get_packages_versions()
5252
}
5353
})
5454
5555
onActivated(() => {
56-
if (cloud_store.is_running === true) {
56+
if (is_running.value === true) {
5757
get_packages_versions()
5858
}
5959
})

components/RemoteRenderingView.client.vue renamed to components/RemoteRenderingView.vue

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,23 @@
11
<template>
2-
<div style="position: relative; width: 100%; height: 100%">
3-
<view-toolbar />
4-
<v-col
5-
style="
6-
overflow: hidden;
7-
position: relative;
8-
z-index: 0;
9-
height: 100%;
10-
width: 100%;
11-
"
12-
ref="viewer"
13-
@click="get_x_y"
14-
@keydown.esc="app_store.toggle_picking_mode(false)"
15-
class="pa-0"
16-
>
17-
</v-col>
18-
</div>
2+
<ClientOnly>
3+
<div style="position: relative; width: 100%; height: 100%">
4+
<view-toolbar />
5+
<v-col
6+
style="
7+
overflow: hidden;
8+
position: relative;
9+
z-index: 0;
10+
height: 100%;
11+
width: 100%;
12+
"
13+
ref="viewer"
14+
@click="get_x_y"
15+
@keydown.esc="app_store.toggle_picking_mode(false)"
16+
class="pa-0"
17+
>
18+
</v-col>
19+
</div>
20+
</ClientOnly>
1921
</template>
2022

2123
<script setup>
@@ -25,7 +27,7 @@
2527
const viewer_store = use_viewer_store()
2628
const { picking_mode } = storeToRefs(viewer_store)
2729
const websocket_store = use_websocket_store()
28-
const { client } = storeToRefs(websocket_store)
30+
const { client, is_running } = storeToRefs(websocket_store)
2931
3032
function get_x_y(event) {
3133
if (picking_mode.value === true) {
@@ -89,7 +91,7 @@
8991
})
9092
9193
function connect() {
92-
if (!websocket_store.is_running) {
94+
if (!is_running.value) {
9395
return
9496
}
9597
console.log("connecting", client.value)

components/Wrapper.vue

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<Stepper />
1212
</v-col>
1313
<v-col v-if="cloud_store.is_running">
14-
<PackagesVersions :route_prefix="route_prefix" />
14+
<PackagesVersions :schema="versions_schema" />
1515
</v-col>
1616
</v-row>
1717
</v-container>
@@ -21,10 +21,11 @@
2121
const cloud_store = use_cloud_store()
2222
2323
const props = defineProps({
24+
versions_schema: { type: Object, required: true },
2425
cards_list: { type: Array, required: true },
2526
})
26-
const { cards_list } = props
27+
const { cards_list, versions_schema } = props
2728
2829
const stepper_tree = inject("stepper_tree")
29-
const { tool_name, route_prefix } = stepper_tree
30+
const { tool_name } = stepper_tree
3031
</script>

0 commit comments

Comments
 (0)