Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Improve validation (hpi-sam#125) * Improve validation by introducing multiple new validation decorators * `IsIdMap` for types of the form `{ readonly [key: UUID]: T }`. This transforms the object, so using instance objects (instead of plain objects) will no longer be supported. * `IsLiteralUnion` for literal unions of types `number | string | symbol` (e.g. `participant | trainer`). Uses `isIn` internally. * `IsReachableTransferPoints` for `ReachableTransferPoints` used in `TransferPoint`. Very specific but necessary due to the unique structure of this type. * `IsUUIDSet` for `UUIDSet` * `IsValue` for *simple* values that are required for a property. For example, when a `type` property has to have the value `'partial'`, one can use `@IsValue('partial')` for this. Allowed are the types `bigint | boolean | number | string | symbol | null | undefined`. The reason is that this validator also uses `isIn` internally, which in turn uses `===` which might produce incorrect results for `object` values. * All validators are required to be applied to correctly types properties by the use of `GenericPropertyDecorator`. Using e.g. `@IsLiteralUnion({ partial: true, complete: true })` on a property typed `string` raises a TypeScript error. Co-authored-by: Julian Schmidt <julian.r.schmidt.js@gmail.com> * Feature/state benchmark (hpi-sam#581) * Move state migrations to shared * Add benchmark package * Update readmes * Make problem with duplicated RestoreError more obvious * Feature/improve eslint rules (hpi-sam#591) * Disallow imports from "*/dist/*" * Improve smaller eslint rules * Update documentation * Update packages to mitigate GHSA-9c47-m6qq-7p4h (hpi-sam#592) * Update dependencies (hpi-sam#595) * Update dependencies * typescript@4.9 (satisfies-operator and watch-performance-improvements) * angular@15.1 * Else only patch and minor version bumps * Fix version of @types/node in benchmark and frontend (18 -> 16) * Run prettier * Add simulated regions that can be placed on the map (hpi-sam#601) * Add simulated regions that can be placed on the map * Fix naming * Add migration * Fix linter error * Move simulated region to separate heading in trainer map editor * Turn isInSimulatedRegion into a stub method * Refactor ol-map-manager to reuse some features from viewport in simulatedRegion * Ignore vs code config files (hpi-sam#606) * Rename VS Code configs to `.example` * Add new "Start all but database" task * Explain changes in readme * Refactor viewport-modify to resize-rectangle-interaction (hpi-sam#604) * Instead of using some parts of the `Modify` interaction (side-effect in the style function) a new custom Interaction has been created. * Previously, one could switch between resizing and translating a viewport via pressing `Shift`. Instead, now one ***resizes*** if one drags an edge of the viewport (+ a bit around it), and ***translates*** if one drags any other part. This should enable touch users to resize viewports * The code should now be more readable and extendable * The unnecessary `viewportTranslateInteraction` has been removed * `feature.dispose()` now gets called when it gets deleted - this could have been a memory leak? * Add link to main branch in readme (hpi-sam#611) * Close popups with esc (hpi-sam#610) * Add keydown handler to close popups on escape * Ensure input is saved even after less than 600ms * Cast event inline Co-authored-by: Julian Schmidt <julian.schmidt@student.hpi.de> * Add new image for big material and material (hpi-sam#544) * Add new image for big material and material Co-authored-by: Julian Schmidt <julian.schmidt@student.hpi.de> * Fix CVE-2022-25901 (hpi-sam#618) * Feature/597 regions can contain personnel and patients (hpi-sam#607) * Add MetaPosition type * Add MetaPosition to Vehicle * Add MetaPosition ro Personnel * Add MetaPosition to Material * Add MetaPosition to Patient * Add Classes for different Position Types * Use create when applicable and fix in MetaPosition * Add migration for addition of MetaPosition * refactor literals to start with lowercase * Change nested if else to else if * Make metaPosition not optional * Fix failing Tests * Update shared/src/models/material.ts Co-authored-by: Julian Schmidt <julian.schmidt@student.hpi.de> * Update shared/src/models/patient.ts Co-authored-by: Julian Schmidt <julian.schmidt@student.hpi.de> * Update shared/src/models/personnel.ts Co-authored-by: Julian Schmidt <julian.schmidt@student.hpi.de> * Update shared/src/store/action-reducers/patient.ts Co-authored-by: Julian Schmidt <julian.schmidt@student.hpi.de> * Update shared/src/store/action-reducers/utils/calculate-treatments.spec.ts Co-authored-by: Julian Schmidt <julian.schmidt@student.hpi.de> * Update shared/src/store/action-reducers/vehicle.ts Co-authored-by: Julian Schmidt <julian.schmidt@student.hpi.de> * Fix Prettier Errors * Change Validation to Allow * Put personnel and material in vehicle on creation * Update shared/src/store/action-reducers/transfer.ts Co-authored-by: Julian Schmidt <julian.schmidt@student.hpi.de> * Fix Pipeline dependencies * Update shared/src/state-migrations/16-add-meta-position.ts Co-authored-by: Julian Schmidt <julian.schmidt@student.hpi.de> * Fix linter Error * Add validators to MetaPositions * Remove unused imports * Fix Validators * Add/Fix Action Migrations * Add Exports to Index.ts * Update shared/src/store/action-reducers/utils/spatial-elements.ts Co-authored-by: Julian Schmidt <julian.schmidt@student.hpi.de> * Update shared/src/store/action-reducers/vehicle.ts Co-authored-by: Julian Schmidt <julian.schmidt@student.hpi.de> * Fix Lint Co-authored-by: Nils <45318774+Nils1729@users.noreply.github.com> Co-authored-by: Julian Schmidt <julian.schmidt@student.hpi.de> * Initialize the optimisticUpdateHandler only after the store has the exercise (hpi-sam#622) * Fixes "Features disappear from the map in imported exercises" hpi-sam#621 * Can be observed when two actions are simultaneously optimistically proposed, and the client didn't receive any other action from the server before * Patients are automatically triaged without any personnel on the map (hpi-sam#624) * Fix incorrect import of isEmpty This caused "Patients are automatically triaged without any personnel on the map" hpi-sam#623 * Disallow isEmpty imports from class-validator via eslint * Add Image for Johanniter Akademie NRW, Campus Münster der Johanniter-Unfall-Hilfe e.V. (JUH) (hpi-sam#619) * Add Image for Johanniter Akademie NRW, Campus Münster der Johanniter-Unfall-Hilfe e.V. (JUH) * Fix linter * Mention JUH in Readme * Scale down the malteser logo and add the new 22/23 project team to the landing page * Add our year to the landing page * Feature/603 use opaque fill style for simulated regions (hpi-sam#608) * Refactor viewports and simulated regions to be polygons instead of lines * Add opaque fill to simulated regions * Fix linter * WIP * Refactor Coordinates and Points to Compositions * Update readme accordingly * Change default type of SubstituteCoordinateForPoint to never as it should never happen * Fix typo * Increase alpha value to 80% * Fix bug where features did not sync their movement to other clients * Fix linter * Refactor lambda function to geometry helpers and refactor ElementFeature ElementFeature (which had to extend Feature<FeatureType>) has been replaced by Feature<FeatureType> because according to ol docs there are no classes extending Feature * Remove ElementManager.recreateFeature() * Refactor lambdas to function in Geometry Helper subclasses * Rename getNextPosition to interpolateCoordinates * Refactor polygon geometry helper names in map lambda function * Remove comment and type cast Co-authored-by: Julian Schmidt <julian.r.schmidt.js@gmail.com> * Change functions to arrow functions in Geometry Helpers to preserve `this` (hpi-sam#629) * Add type property to elements in the state (hpi-sam#616) * WIP * Pick specific selectors from TypeSelectorMap * Fix linter * Remove type property from feature * Fix bug after merge * Rename selector map to plural map and add validation * Simplify featureKeys * Fix tests by adding type property to demo objects * WIP: Add migration * Update shared/src/utils/type-state-selector-map.ts Co-authored-by: Julian Schmidt <julian.schmidt@student.hpi.de> * Rename file to reflect variable name change * Replace type literals by element property * Run prettier * Finish migration * Fix migration to set correct type on EocLogEntry * Make imports consistent * Reuse literal union from transfer in exercise * Fix linter Co-authored-by: Julian Schmidt <julian.schmidt@student.hpi.de> * Remove unsupportedChangeProperties (hpi-sam#630) * Fix the Bug (hpi-sam#635) * Remove generic type LineString | Point in favor of the default Geometry (hpi-sam#634) * Remove generic type LineString | Point in favor of the default Geometry * Fix linter * Refactoring/612 refactor position (hpi-sam#625) * Add MetaPosition Helpers * Remove position property * Fix Lint * Unify access onto metaPosition * Fix Frontend * Remove Position Class * Remove Position from Tests * Rename MetaPosition to Position * Add Migration (not for Add vehicle Action) * complete the renaming * Fix Tests * Remove Transfer Property * Add Migration for Add Vehicle Action * Fix Small Bug * Use type properties instead of passed strings * Add comments * Fix Test * Fix Test * Fix Transfer Overview * Refactor Helper Methods to avoid duplicate Code * Change Names of Helper Functions * Added Comments to unused vars * Fix GHSA-rc47-6667-2j5j (hpi-sam#645) * Allow elements to be added to simulated regions (hpi-sam#626) * Allow elements to be added to simulated regions * Adapt Add to Simulated Region Action to type tags * Make linter happy * Use new position and bugfixes * Use proper function to create position * Refactor Start Point Literals (hpi-sam#642) * Refactor Start Point Literals * Add Migration * Enable Migration * Implement Feedback * Remove not needed types * Add footer and about pages (hpi-sam#643) * Add basic footer and empty about pages * Refactor structure of about pages * Add footer to 404 page * Add links from footer to exercise page * Run prettier * Display version number * Explain overwriting the pages in Docker deployment * Do not lint HTML files for about pages * Refactor template component * Rename title property since it's an html attribute * Make content observable * Rename template component Avoids confusion with angular concepts * Remove accidentally committed imprint dummy file * Remove commented-out footer from exercise page * Make Map movable on Drag with Pop Up (hpi-sam#649) * Make Map movable on Drag with Pop Up * Update pipeline actions to node 16 (hpi-sam#627) * Update pipeline actions to node 16 The old actions were based on Node 12, which has reached EOL. https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/ * Test previous version of cypress action again * Try cypress action v3 * Do not use cached cypress * Try a Cypress Config without actually calling Cypress * Try some more stuff... * Add Cypress as DevDependency to root * Re-enable default cypress tests * Remove version tag from cypress cache The tag was there for debugging purposes only * Invoke cypress in frontend subfolder * Try working-directory for cypress * Try --prefix for start * Retry --prefix before 'run' * Restore 5a9692d * Update package-lock.json --------- Co-authored-by: ClFeSc <68013019+ClFeSc@users.noreply.github.com> Co-authored-by: Nils <45318774+Nils1729@users.noreply.github.com> * Change mail address to feedback mailing list (hpi-sam#659) * Adapt treatment system to account for simulated regions (hpi-sam#658) * Adapt treatment system to account for simulated regions The treatment system no longer asserts that patients can only be treated on the map. * Please linter * Enable patient ticking in simulated regions * Fix extent calculation of viewports and simulated regions (hpi-sam#663) * Include simulated regions when fitting to view Also fixing a bug with negative extents * Fix viewport restriction with negative extent * Rename fit view method * Rename function at all occurrences * Fix isInViewport for negative extents * Satisfy linter * Avoid duplication in type definitions * Refactoring/609 refactor functionality from olmapmanager to featuremanagers (hpi-sam#662) * WIP * Move Layer Creation to Feature Managers * Move Registration into Feature managers * Complete Merge * Move Interactions to Interaction Manager * Move Popup Handling to Popup Manager * Move Satellite Layer to Satellite Layer manager * Minor Cleanup * Move files * Move Files * More Cleanup * More Cleanup * Fix a bug in participant mode * Clean up Map Interactions manager * Clean up Satellite Layer Manager * Fix Lint * Implement Feedback * Implement Feedback and change Parameter Order in onFeatureDropped * Implement Feedback and change Parameter Order in onFeatureDropped --------- Co-authored-by: Julian Schmidt <julian.schmidt@student.hpi.de> * Adjust nginx configuration for about pages (hpi-sam#657) * Adjust nginx configuration for about pages * Redirect invalid requests for a uniform 404 page * Add link to landing page on about pages * Improve error pages in nginx setup The error pages do not rely on a non-existing URL any longer --------- Co-authored-by: Marvin <68286419+anonym-HPI@users.noreply.github.com> * Set up simulation framework (hpi-sam#664) * Create draft for simulation data types * WIP: Simulate unloading of vehicles * WIP add debug helpers and make simulation work * WIP add typings and lint * Validate events * Fix never parameter in activity and behavior functions * Validate activities and behaviors * Introduce pseudo randomness for deterministic uuids * Add migrations for simulation * Rename SimulationActivity.terminate to onTerminate * Remove simulatedRegionId from VehicleArrivedEvent * Slight improvement to debugging buttons * Fix typo * Validate state in AddBehaviorAction * Incorporate suggestions from review * Fix randomness * Add generic DelayEventActivity * Fix DelayEventActivity * Please linter * Remove debug UI * Dragging onto the Map now triggers Drop Events (hpi-sam#671) * Dragging onto the Map now triggers Drop Events * Add our names to the readme (hpi-sam#672) * Use @noble/hashes instead of hash.js (hpi-sam#674) * Use @noble/hashes instead of hash.js * Fix install:all script * Add release workflow * Populate CHANGELOG.md * Update create-release-pr.yml * trigger pipeline * Prepare release v0.0.1-review --------- Co-authored-by: Clemens <68013019+ClFeSc@users.noreply.github.com> Co-authored-by: Julian Schmidt <julian.r.schmidt.js@gmail.com> Co-authored-by: Julian Schmidt <julian.schmidt@student.hpi.de> Co-authored-by: Lukas Hagen <43916057+Greenscreen23@users.noreply.github.com> Co-authored-by: Lukas Radermacher <49586507+lukasrad02@users.noreply.github.com> Co-authored-by: benn02 <82985280+benn02@users.noreply.github.com> Co-authored-by: Nils <45318774+Nils1729@users.noreply.github.com> Co-authored-by: Marvin <68286419+anonym-HPI@users.noreply.github.com> Co-authored-by: GitHub Actions <noreply@github.com>
- Loading branch information