-
Notifications
You must be signed in to change notification settings - Fork 0
Project timeline #62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Project timeline #62
Conversation
…nsights into feature/EI-138 merge latest develop
…nsights into feature/EI-138
Signed-off-by: Tyler Mains <92330504+tmains515@users.noreply.github.com>
* EI-161 - Defined the Job table schema * EI-161 | removing is_active * EI-161 | Removed extra comma - syntax error * Fixed INTEGRATION typo --------- Co-authored-by: 2omb Finance <2ombfinance@protonmail.com>
* Chore: add Marcos to readme * chore: Add Marcos to readme * Revert "Chore: add Marcos to readme" This reverts commit f9c78c9. * EI-209 Created schedule table on database with attributes based on ERD. * fixed minor ijmport errors and added JPA dependencies to pom.xml file * Revert "fixed minor ijmport errors and added JPA dependencies to pom.xml file" This reverts commit 10425d2. * fixed minor import errors and added JPA dependencies to pom.xml file * chore: add spring test profile disabling auto config for databases * created as commented placeholders for classes that were not implemented yet. * Added sql schedule table script, added lombook @Getter and @Setter support, added JPA @TeMPOraL notation. --------- Signed-off-by: Marcos Pantoja <105100104+Mxrcos13@users.noreply.github.com> Co-authored-by: Caleb Brock <cbrock@csus.edu>
Co-authored-by: Brynn Crowley <littlehill723@gmail.com>
* EI-137: Job Entity Created Job Entity and added necessary dependency to pom.xml * EI-137: Updates to Job Entity Updated entity using lombok getter/setter. Put enums in separate file. Annotated with @TeMPOraL * fix: clean up git merge remains Signed-off-by: Brynn Crowley <littlehill723@gmail.com> * feat: fix controller stub, add entity tests Signed-off-by: Brynn Crowley <littlehill723@gmail.com> * test: add more tests for job entity Signed-off-by: Brynn Crowley <littlehill723@gmail.com> * EI-137 Fixed Build Error Build kept trying to connect to DB causing build fail. Added a test profile to exclude DataSource (similar to whats in main already) --------- Signed-off-by: Brynn Crowley <littlehill723@gmail.com> Co-authored-by: Brynn Crowley <littlehill723@gmail.com>
…nsights into feature/EI-26 # Conflicts: # endpoint-insights-api/pom.xml # endpoint-insights-api/src/main/resources/application.yaml
Built login page UI
…nsights into feature/EI-26
# Conflicts: # endpoint-insights-api/src/main/java/com/vsp/endpointinsightsapi/model/TestBatch.java
…nsights into feature/EI-245
…nsights into feature/EI-25 # Conflicts: # endpoint-insights-api/src/main/java/com/vsp/endpointinsightsapi/config/EntityAuditConfig.java # endpoint-insights-api/src/main/java/com/vsp/endpointinsightsapi/controller/JobsController.java # endpoint-insights-api/src/main/java/com/vsp/endpointinsightsapi/model/AuditingEntity.java # endpoint-insights-api/src/main/java/com/vsp/endpointinsightsapi/model/Job.java # endpoint-insights-api/src/main/java/com/vsp/endpointinsightsapi/repository/TestBatchRepository.java # endpoint-insights-api/src/test/java/com/vsp/endpointinsightsapi/model/JobEntityTest.java
…nsights into feature/EI-25
WalkthroughDocumentation updated with a new "Timeline for Completion" section. Angular app configuration modified to include an additional Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
Tip 📝 Customizable high-level summaries are now available in beta!You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.
Example instruction:
Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 12
🧹 Nitpick comments (6)
endpoint-insights-ui/src/app/shared/modal/modal.models.ts (1)
13-13: Consider using a generic type parameter for better type safety.The
Record<string, any>type weakens type checking. Consider makingModalConfiggeneric to preserve type information for the initial state.Apply this diff to improve type safety:
-export interface ModalConfig { +export interface ModalConfig<T = unknown> { /** Title shown in the modal header */ title?: string; /** Tabs to render. 0, 1, or many allowed. */ tabs: ModalTab[]; - initialState?: Record<string, any> + initialState?: T /** Optional width constraints */ width?: string; maxWidth?: string; }This allows callers to specify the exact shape of
initialStatewhile maintaining backwards compatibility with the defaultunknowntype.endpoint-insights-api/src/main/java/com/vsp/endpointinsightsapi/service/JobService.java (1)
47-57: Add@Transactionalannotation for consistency.The
deleteJobByIdmethod uses@Transactional, andupdateJobshould follow the same pattern to ensure atomic updates and proper transaction management.Apply this diff:
+@Transactional public Job updateJob(UUID id, Job job) { Job existingJob = jobRepository.findById(id)endpoint-insights-ui/src/app/components/create-job-form/create-job-form.ts (1)
28-30: ImplementOnChangesinterface for lifecycle hook consistency.The component uses
ngOnChangesbut doesn't declare theOnChangesinterface. While Angular will still call the lifecycle hook, implementing the interface explicitly is a best practice for type safety and clarity.Apply this diff:
-export class CreateJobForm { +export class CreateJobForm implements OnChanges {And update the import on line 1:
-import {Component, EventEmitter, Input, Output, SimpleChanges} from '@angular/core'; +import {Component, EventEmitter, Input, OnChanges, Output, SimpleChanges} from '@angular/core';endpoint-insights-ui/src/app/components/edit-job-modal/edit-job-modal.scss (1)
1-101: LGTM!The SCSS styling is well-structured with proper accessibility considerations (
:focus-visiblehandling). The button and form layout styles are consistent and maintainable.Consider extracting hardcoded color values (e.g.,
#1976d2,#f44336) into CSS custom properties or SCSS variables for easier theming and consistency across components.endpoint-insights-api/src/main/java/com/vsp/endpointinsightsapi/model/Job.java (1)
48-50: Column name doesn't match field name.The field is renamed to
jobTypebut the column remainstest_type. This works but creates a naming inconsistency. If the database schema can be updated, consider aligning the column name with the field name.Verify if a database migration to rename the column from
test_typetojob_typeis feasible for this PR, or if this is intentionally deferred to avoid breaking changes.endpoint-insights-api/src/main/java/com/vsp/endpointinsightsapi/controller/JobsController.java (1)
61-74: Inconsistent error handling between endpoints.
createJobcatchesRuntimeExceptionbutupdateJobdoes not. Either add consistent try-catch blocks to both endpoints, or remove the try-catch fromcreateJoband rely on a global@ControllerAdviceexception handler.If keeping local error handling:
@PutMapping("/{id}") public ResponseEntity<Job> updateJob( @RequestBody @Valid Job request, @PathVariable("id") @NotNull(message = ErrorMessages.JOB_ID_REQUIRED) UUID jobId) { LOG.info("Updating job"); + try { Job savedJob = jobService.updateJob(jobId, request); return ResponseEntity.ok(savedJob); + } catch (RuntimeException e) { + LOG.error("Error updating job: {}", e.getMessage()); + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build(); + } }
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
docs/document-assets/timeline.pngis excluded by!**/*.png
📒 Files selected for processing (17)
docs/index.md(1 hunks)endpoint-insights-api/src/main/java/com/vsp/endpointinsightsapi/controller/JobsController.java(3 hunks)endpoint-insights-api/src/main/java/com/vsp/endpointinsightsapi/model/AuditingEntity.java(0 hunks)endpoint-insights-api/src/main/java/com/vsp/endpointinsightsapi/model/Job.java(3 hunks)endpoint-insights-api/src/main/java/com/vsp/endpointinsightsapi/service/JobService.java(1 hunks)endpoint-insights-api/src/main/resources/application.yaml(1 hunks)endpoint-insights-api/src/test/java/com/vsp/endpointinsightsapi/model/JobEntityTest.java(1 hunks)endpoint-insights-api/src/test/java/com/vsp/endpointinsightsapi/service/JobServiceTest.java(1 hunks)endpoint-insights-ui/src/app/app.config.ts(1 hunks)endpoint-insights-ui/src/app/common/job.constants.ts(1 hunks)endpoint-insights-ui/src/app/components/create-job-form/create-job-form.ts(5 hunks)endpoint-insights-ui/src/app/components/edit-job-modal/edit-job-modal.html(1 hunks)endpoint-insights-ui/src/app/components/edit-job-modal/edit-job-modal.scss(1 hunks)endpoint-insights-ui/src/app/components/edit-job-modal/edit-job-modal.ts(1 hunks)endpoint-insights-ui/src/app/pages/test-overview/test-overview.ts(4 hunks)endpoint-insights-ui/src/app/services/job-services.ts(1 hunks)endpoint-insights-ui/src/app/shared/modal/modal.models.ts(1 hunks)
💤 Files with no reviewable changes (1)
- endpoint-insights-api/src/main/java/com/vsp/endpointinsightsapi/model/AuditingEntity.java
🧰 Additional context used
📓 Path-based instructions (1)
**/*.html
⚙️ CodeRabbit configuration file
Search all template files (*.html and inline templates in *.component.ts) for any usage of the deprecated Angular structural directives: *ngIf, *ngFor, *ngSwitch, ngSwitchCase, and ngSwitchDefault (deprecated since Angular v20). For each instance found, raise a warning message indicating that these directives are deprecated and should be replaced with the new control flow syntax: @if, @for, @switch, @case, and @default respectively. Keep the warning brief and direct the user to migrate to the new Angular control flow blocks for improved performance and cleaner syntax.
Files:
endpoint-insights-ui/src/app/components/edit-job-modal/edit-job-modal.html
🧬 Code graph analysis (5)
endpoint-insights-ui/src/app/components/create-job-form/create-job-form.ts (1)
endpoint-insights-ui/src/app/pages/test-overview/test-overview.ts (1)
TestItem(11-23)
endpoint-insights-ui/src/app/services/job-services.ts (1)
endpoint-insights-ui/src/app/pages/test-overview/test-overview.ts (1)
TestItem(11-23)
endpoint-insights-api/src/main/java/com/vsp/endpointinsightsapi/controller/JobsController.java (2)
endpoint-insights-api/src/main/java/com/vsp/endpointinsightsapi/validation/Patterns.java (1)
Patterns(3-5)endpoint-insights-api/src/main/java/com/vsp/endpointinsightsapi/validation/ErrorMessages.java (1)
ErrorMessages(3-8)
endpoint-insights-ui/src/app/components/edit-job-modal/edit-job-modal.ts (2)
endpoint-insights-ui/src/app/pages/test-overview/test-overview.ts (2)
Component(25-84)TestItem(11-23)endpoint-insights-ui/src/app/components/create-job-form/create-job-form.ts (1)
Component(15-163)
endpoint-insights-ui/src/app/pages/test-overview/test-overview.ts (1)
endpoint-insights-ui/src/app/common/job.constants.ts (1)
JobStatus(4-4)
🔇 Additional comments (9)
endpoint-insights-api/src/test/java/com/vsp/endpointinsightsapi/model/JobEntityTest.java (1)
12-12: LGTM!Whitespace formatting change improves readability.
endpoint-insights-ui/src/app/app.config.ts (1)
5-5: LGTM!Adding
provideHttpClient()correctly enables HttpClient functionality needed by the new JobService for API communication.Also applies to: 11-11
endpoint-insights-ui/src/app/components/edit-job-modal/edit-job-modal.html (1)
1-64: LGTM!The template correctly uses the new Angular control flow syntax (
@if,@else) introduced in Angular v17+, avoiding deprecated structural directives. The modal structure properly handles both edit and view modes with appropriate data binding.docs/index.md (1)
14-17: Image file exists; no action required.The referenced image file
docs/document-assets/timeline.pngis present in the repository and accessible.endpoint-insights-ui/src/app/common/job.constants.ts (1)
2-4: LGTM!Good use of
as constassertion to derive a union type from the array. This pattern enables both runtime iteration over statuses and compile-time type safety.endpoint-insights-ui/src/app/components/create-job-form/create-job-form.ts (1)
57-68: LGTM!The
ngOnChangesimplementation correctly guards against undefined values and patches the form fields appropriately when a job is provided.endpoint-insights-api/src/main/java/com/vsp/endpointinsightsapi/model/Job.java (1)
27-31: LGTM!The
@GeneratedValuecombined with@UuidGeneratoris the correct Hibernate 6+ approach for auto-generating UUIDs.endpoint-insights-ui/src/app/services/job-services.ts (1)
15-21: LGTM!The HTTP methods are correctly implemented with appropriate verbs (POST for create, PUT for update) and proper URL construction.
endpoint-insights-ui/src/app/pages/test-overview/test-overview.ts (1)
11-23: LGTM!The
TestIteminterface is properly extended with the new fields and correctly uses theJobStatustype for the status field, ensuring type safety with the defined constants.
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.