diff --git a/Middleware/src/main/java/ca/concordia/encs/citydata/core/configs/SecurityConfig.java b/Middleware/src/main/java/ca/concordia/encs/citydata/core/configs/SecurityConfig.java index 9d2e13a0..869ffa1f 100644 --- a/Middleware/src/main/java/ca/concordia/encs/citydata/core/configs/SecurityConfig.java +++ b/Middleware/src/main/java/ca/concordia/encs/citydata/core/configs/SecurityConfig.java @@ -206,9 +206,12 @@ public AuthenticationManager authManager(UserDetailsService userDetailsService, @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { return http.cors(Customizer.withDefaults()).csrf(AbstractHttpConfigurer::disable) - .authorizeHttpRequests(auth -> auth.requestMatchers("/authenticate", "/home", "/health/ping", - "/producers/list", "/operations/list", "/routes/list", "/error", "/apply/sync", "/apply/async", - "/api/datasets/list").permitAll().anyRequest().authenticated()) + .authorizeHttpRequests( + auth -> auth + .requestMatchers("/authenticate", "/home", "/health/ping", "/producers/list", + "/operations/list", "/routes/list", "/error", "/apply/sync", "/apply/async", + "/api/datasets/list", "/assets/logo.png") + .permitAll().anyRequest().authenticated()) .oauth2ResourceServer(oauth2 -> oauth2.jwt(Customizer.withDefaults())) .sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS)).build(); } diff --git a/Middleware/src/main/java/ca/concordia/encs/citydata/core/controllers/HomepageController.java b/Middleware/src/main/java/ca/concordia/encs/citydata/core/controllers/HomepageController.java index a2541284..913c61de 100644 --- a/Middleware/src/main/java/ca/concordia/encs/citydata/core/controllers/HomepageController.java +++ b/Middleware/src/main/java/ca/concordia/encs/citydata/core/controllers/HomepageController.java @@ -24,5 +24,4 @@ public String home() throws IOException { var resource = new ClassPathResource("static/home.html"); return new String(resource.getInputStream().readAllBytes(), StandardCharsets.UTF_8); } - } \ No newline at end of file diff --git a/Middleware/src/main/resources/static/home.html b/Middleware/src/main/resources/static/home.html index f0bbda49..aba3d239 100644 --- a/Middleware/src/main/resources/static/home.html +++ b/Middleware/src/main/resources/static/home.html @@ -9,459 +9,518 @@ - - - CITYdata Middleware - - + + + CITYdata + + - -
- -
- - - -

Welcome to CITYdata

+
-

- CITYdata, part of the - - TOOLS4CITIES - - tool suite, is a middleware platform for accessing, integrating, and analyzing city-related data from diverse sources. - Through the abstractions of Producers and Runners, CITYdata enables users to retrieve, - transform, and process urban datasets in a scalable and extensible manner. -

+ +
- +
+ CITYdata +
-
+

+ Part of the TOOLS4CITIES + suite — a middleware platform for accessing, integrating, and analyzing city-related data. + Through Producers and Runners, CITYdata enables retrieval, + transformation, and processing of urban datasets in a scalable, extensible manner. +

-
- -

- Public API Routes -

- -
- -
- -
GET
- -
- 🔗 /operations/list -
- -
- Click to list all available operations. -
+
+ Spring Boot + REST API + Digital Twin + Middleware +
-
+
-
+ +
-
GET
+ +

Public Routes

-
- 🔗 /producers/list -
+
-
- Click to list all available producers. -
+
+
GET
+
/operations/list
+
List all available operations registered in the middleware.
+ +
-
+
+
GET
+
/producers/list
+
List all available data producers and their capabilities.
+ +
-
+
+
GET
+
/api/datasets/list
+
List all public datasets available for querying.
+ +
-
GET
+
+
-
- 🔗 /api/datasets/list -
+ +
-
- Click to list all available datasets. -
+ +

Examples & Guides

-
+
- - + + +
- -