Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request involves significant changes to the project, primarily focusing on migrating from a JavaScript-based backend to a Rust-based one, and configuring the API gateway. The key changes include the addition of configuration files, the removal of JavaScript files, and the introduction of Rust modules for configuration parsing and main application logic.
Migration to Rust-based backend:
Cargo.toml: Added the Rust package configuration for the newapi-gatewayproject, including dependencies such asserde,tokio,hyper, andreqwest.src/config/parser.rs: Introduced a new Rust module for parsing configuration files usingserde_yaml. This module defines structures for service configuration and no-auth endpoints, and includes a function to load the configuration from a file.src/main.rs: Added the main application logic for the API gateway in Rust. This includes handling incoming requests, forwarding them to the appropriate downstream services, and performing user authorization when necessary.Configuration changes:
config.yaml: Added a YAML configuration file for the API gateway, specifying the gateway URL, authorization API URL, service paths, and endpoints that do not require authentication.Removal of JavaScript files:
package.json: Removed the JavaScript package configuration file, which included dependencies, scripts, and metadata for the previous Node.js-based backend.src/api.js,src/config/index.js,populators/Template.js,populators/runPopulator.js: Removed several JavaScript files related to the previous backend implementation, including API setup, MongoDB connection, and data population scripts. [1] [2] [3] [4]Cleanup and miscellaneous:
.npmrc: Removed npm configuration settings that are no longer relevant due to the migration to Rust.eslint.config.mjs,vitest.config.js: Removed ESLint and Vitest configuration files, which are no longer needed after the migration. [1] [2]