Compare commits

..

7 Commits

Author SHA1 Message Date
086f924d22 chore(deps): lock file maintenance
All checks were successful
Build / Build and analyze (pull_request) Successful in 1m40s
2024-10-01 06:01:18 +00:00
43cc6e96ec
style(hotel): fix string casing in Hotel interface
All checks were successful
Build / Build and analyze (push) Successful in 1m43s
2024-10-01 07:55:31 +02:00
8d1a676f5e
refactor(HotelItem): remove duplicate Input import
Some checks failed
Build / Build and analyze (push) Has been cancelled
2024-10-01 07:54:34 +02:00
eb9f11155a Merge pull request 'Add sonar-project.properties' (#7) from jank-patch-1 into master
All checks were successful
Build / Build and analyze (push) Successful in 1m40s
Reviewed-on: #7
2024-10-01 05:51:22 +00:00
fc013c8ee9 Add .gitea/workflows/build.yml
All checks were successful
Build / Build and analyze (pull_request) Successful in 1m40s
2024-10-01 05:49:05 +00:00
f9b2d998c6 Add sonar-project.properties 2024-10-01 05:48:28 +00:00
1cf47c6516
feat: add hotel service and integrate into app component 2024-10-01 07:45:24 +02:00
7 changed files with 201 additions and 202 deletions

@ -0,0 +1,30 @@
name: Build
on:
push:
branches:
- master
pull_request:
types: [opened, synchronize, reopened]
jobs:
build:
name: Build and analyze
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- uses: sonarsource/sonarqube-scan-action@master
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}
# If you wish to fail your job when the Quality Gate is red, uncomment the
# following lines. This would typically be used to fail a deployment.
# We do not recommend to use this in a pull request. Prefer using pull request
# decoration instead.
# - uses: sonarsource/sonarqube-quality-gate-action@master
# timeout-minutes: 5
# env:
# SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}

282
package-lock.json generated

@ -61,11 +61,11 @@
} }
}, },
"node_modules/@angular-devkit/architect": { "node_modules/@angular-devkit/architect": {
"version": "0.1802.5", "version": "0.1802.6",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@angular-devkit/core": "18.2.5", "@angular-devkit/core": "18.2.6",
"rxjs": "7.8.1" "rxjs": "7.8.1"
}, },
"engines": { "engines": {
@ -75,15 +75,15 @@
} }
}, },
"node_modules/@angular-devkit/build-angular": { "node_modules/@angular-devkit/build-angular": {
"version": "18.2.5", "version": "18.2.6",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@ampproject/remapping": "2.3.0", "@ampproject/remapping": "2.3.0",
"@angular-devkit/architect": "0.1802.5", "@angular-devkit/architect": "0.1802.6",
"@angular-devkit/build-webpack": "0.1802.5", "@angular-devkit/build-webpack": "0.1802.6",
"@angular-devkit/core": "18.2.5", "@angular-devkit/core": "18.2.6",
"@angular/build": "18.2.5", "@angular/build": "18.2.6",
"@babel/core": "7.25.2", "@babel/core": "7.25.2",
"@babel/generator": "7.25.0", "@babel/generator": "7.25.0",
"@babel/helper-annotate-as-pure": "7.24.7", "@babel/helper-annotate-as-pure": "7.24.7",
@ -94,7 +94,7 @@
"@babel/preset-env": "7.25.3", "@babel/preset-env": "7.25.3",
"@babel/runtime": "7.25.0", "@babel/runtime": "7.25.0",
"@discoveryjs/json-ext": "0.6.1", "@discoveryjs/json-ext": "0.6.1",
"@ngtools/webpack": "18.2.5", "@ngtools/webpack": "18.2.6",
"@vitejs/plugin-basic-ssl": "1.1.0", "@vitejs/plugin-basic-ssl": "1.1.0",
"ansi-colors": "4.1.3", "ansi-colors": "4.1.3",
"autoprefixer": "10.4.20", "autoprefixer": "10.4.20",
@ -202,11 +202,11 @@
} }
}, },
"node_modules/@angular-devkit/build-webpack": { "node_modules/@angular-devkit/build-webpack": {
"version": "0.1802.5", "version": "0.1802.6",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@angular-devkit/architect": "0.1802.5", "@angular-devkit/architect": "0.1802.6",
"rxjs": "7.8.1" "rxjs": "7.8.1"
}, },
"engines": { "engines": {
@ -220,7 +220,7 @@
} }
}, },
"node_modules/@angular-devkit/core": { "node_modules/@angular-devkit/core": {
"version": "18.2.5", "version": "18.2.6",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@ -271,11 +271,11 @@
} }
}, },
"node_modules/@angular-devkit/schematics": { "node_modules/@angular-devkit/schematics": {
"version": "18.2.5", "version": "18.2.6",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@angular-devkit/core": "18.2.5", "@angular-devkit/core": "18.2.6",
"jsonc-parser": "3.3.1", "jsonc-parser": "3.3.1",
"magic-string": "0.30.11", "magic-string": "0.30.11",
"ora": "5.4.1", "ora": "5.4.1",
@ -288,7 +288,7 @@
} }
}, },
"node_modules/@angular/animations": { "node_modules/@angular/animations": {
"version": "18.2.5", "version": "18.2.6",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
@ -297,16 +297,16 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0" "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/core": "18.2.5" "@angular/core": "18.2.6"
} }
}, },
"node_modules/@angular/build": { "node_modules/@angular/build": {
"version": "18.2.5", "version": "18.2.6",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@ampproject/remapping": "2.3.0", "@ampproject/remapping": "2.3.0",
"@angular-devkit/architect": "0.1802.5", "@angular-devkit/architect": "0.1802.6",
"@babel/core": "7.25.2", "@babel/core": "7.25.2",
"@babel/helper-annotate-as-pure": "7.24.7", "@babel/helper-annotate-as-pure": "7.24.7",
"@babel/helper-split-export-declaration": "7.24.7", "@babel/helper-split-export-declaration": "7.24.7",
@ -325,7 +325,7 @@
"parse5-html-rewriting-stream": "7.0.0", "parse5-html-rewriting-stream": "7.0.0",
"picomatch": "4.0.2", "picomatch": "4.0.2",
"piscina": "4.6.1", "piscina": "4.6.1",
"rollup": "4.20.0", "rollup": "4.22.4",
"sass": "1.77.6", "sass": "1.77.6",
"semver": "7.6.3", "semver": "7.6.3",
"vite": "5.4.6", "vite": "5.4.6",
@ -368,16 +368,16 @@
} }
}, },
"node_modules/@angular/cli": { "node_modules/@angular/cli": {
"version": "18.2.5", "version": "18.2.6",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@angular-devkit/architect": "0.1802.5", "@angular-devkit/architect": "0.1802.6",
"@angular-devkit/core": "18.2.5", "@angular-devkit/core": "18.2.6",
"@angular-devkit/schematics": "18.2.5", "@angular-devkit/schematics": "18.2.6",
"@inquirer/prompts": "5.3.8", "@inquirer/prompts": "5.3.8",
"@listr2/prompt-adapter-inquirer": "2.0.15", "@listr2/prompt-adapter-inquirer": "2.0.15",
"@schematics/angular": "18.2.5", "@schematics/angular": "18.2.6",
"@yarnpkg/lockfile": "1.1.0", "@yarnpkg/lockfile": "1.1.0",
"ini": "4.1.3", "ini": "4.1.3",
"jsonc-parser": "3.3.1", "jsonc-parser": "3.3.1",
@ -400,7 +400,7 @@
} }
}, },
"node_modules/@angular/common": { "node_modules/@angular/common": {
"version": "18.2.5", "version": "18.2.6",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
@ -409,12 +409,12 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0" "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/core": "18.2.5", "@angular/core": "18.2.6",
"rxjs": "^6.5.3 || ^7.4.0" "rxjs": "^6.5.3 || ^7.4.0"
} }
}, },
"node_modules/@angular/compiler": { "node_modules/@angular/compiler": {
"version": "18.2.5", "version": "18.2.6",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
@ -423,7 +423,7 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0" "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/core": "18.2.5" "@angular/core": "18.2.6"
}, },
"peerDependenciesMeta": { "peerDependenciesMeta": {
"@angular/core": { "@angular/core": {
@ -432,7 +432,7 @@
} }
}, },
"node_modules/@angular/compiler-cli": { "node_modules/@angular/compiler-cli": {
"version": "18.2.5", "version": "18.2.6",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@ -454,23 +454,12 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0" "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/compiler": "18.2.5", "@angular/compiler": "18.2.6",
"typescript": ">=5.4 <5.6" "typescript": ">=5.4 <5.6"
} }
}, },
"node_modules/@angular/compiler-cli/node_modules/semver": {
"version": "7.6.2",
"dev": true,
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@angular/core": { "node_modules/@angular/core": {
"version": "18.2.5", "version": "18.2.6",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
@ -484,7 +473,7 @@
} }
}, },
"node_modules/@angular/forms": { "node_modules/@angular/forms": {
"version": "18.2.5", "version": "18.2.6",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
@ -493,14 +482,14 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0" "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/common": "18.2.5", "@angular/common": "18.2.6",
"@angular/core": "18.2.5", "@angular/core": "18.2.6",
"@angular/platform-browser": "18.2.5", "@angular/platform-browser": "18.2.6",
"rxjs": "^6.5.3 || ^7.4.0" "rxjs": "^6.5.3 || ^7.4.0"
} }
}, },
"node_modules/@angular/platform-browser": { "node_modules/@angular/platform-browser": {
"version": "18.2.5", "version": "18.2.6",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
@ -509,9 +498,9 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0" "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/animations": "18.2.5", "@angular/animations": "18.2.6",
"@angular/common": "18.2.5", "@angular/common": "18.2.6",
"@angular/core": "18.2.5" "@angular/core": "18.2.6"
}, },
"peerDependenciesMeta": { "peerDependenciesMeta": {
"@angular/animations": { "@angular/animations": {
@ -520,7 +509,7 @@
} }
}, },
"node_modules/@angular/platform-browser-dynamic": { "node_modules/@angular/platform-browser-dynamic": {
"version": "18.2.5", "version": "18.2.6",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
@ -529,14 +518,14 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0" "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/common": "18.2.5", "@angular/common": "18.2.6",
"@angular/compiler": "18.2.5", "@angular/compiler": "18.2.6",
"@angular/core": "18.2.5", "@angular/core": "18.2.6",
"@angular/platform-browser": "18.2.5" "@angular/platform-browser": "18.2.6"
} }
}, },
"node_modules/@angular/router": { "node_modules/@angular/router": {
"version": "18.2.5", "version": "18.2.6",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
@ -545,9 +534,9 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0" "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular/common": "18.2.5", "@angular/common": "18.2.6",
"@angular/core": "18.2.5", "@angular/core": "18.2.6",
"@angular/platform-browser": "18.2.5", "@angular/platform-browser": "18.2.6",
"rxjs": "^6.5.3 || ^7.4.0" "rxjs": "^6.5.3 || ^7.4.0"
} }
}, },
@ -2403,17 +2392,6 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/@inquirer/checkbox/node_modules/@inquirer/type": {
"version": "1.5.2",
"dev": true,
"license": "MIT",
"dependencies": {
"mute-stream": "^1.0.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@inquirer/checkbox/node_modules/ansi-escapes": { "node_modules/@inquirer/checkbox/node_modules/ansi-escapes": {
"version": "4.3.2", "version": "4.3.2",
"dev": true, "dev": true,
@ -2440,6 +2418,17 @@
"node": ">=18" "node": ">=18"
} }
}, },
"node_modules/@inquirer/confirm/node_modules/@inquirer/type": {
"version": "1.5.5",
"dev": true,
"license": "MIT",
"dependencies": {
"mute-stream": "^1.0.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@inquirer/core": { "node_modules/@inquirer/core": {
"version": "9.2.1", "version": "9.2.1",
"dev": true, "dev": true,
@ -2482,7 +2471,7 @@
} }
}, },
"node_modules/@inquirer/core/node_modules/@types/node": { "node_modules/@inquirer/core/node_modules/@types/node": {
"version": "22.6.1", "version": "22.7.4",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@ -2731,17 +2720,6 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/@inquirer/editor/node_modules/@inquirer/type": {
"version": "1.5.2",
"dev": true,
"license": "MIT",
"dependencies": {
"mute-stream": "^1.0.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@inquirer/expand": { "node_modules/@inquirer/expand": {
"version": "2.1.22", "version": "2.1.22",
"dev": true, "dev": true,
@ -2885,17 +2863,6 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/@inquirer/expand/node_modules/@inquirer/type": {
"version": "1.5.2",
"dev": true,
"license": "MIT",
"dependencies": {
"mute-stream": "^1.0.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@inquirer/figures": { "node_modules/@inquirer/figures": {
"version": "1.0.5", "version": "1.0.5",
"dev": true, "dev": true,
@ -3046,17 +3013,6 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/@inquirer/input/node_modules/@inquirer/type": {
"version": "1.5.2",
"dev": true,
"license": "MIT",
"dependencies": {
"mute-stream": "^1.0.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@inquirer/number": { "node_modules/@inquirer/number": {
"version": "1.1.0", "version": "1.1.0",
"dev": true, "dev": true,
@ -3069,6 +3025,17 @@
"node": ">=18" "node": ">=18"
} }
}, },
"node_modules/@inquirer/number/node_modules/@inquirer/type": {
"version": "1.5.5",
"dev": true,
"license": "MIT",
"dependencies": {
"mute-stream": "^1.0.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@inquirer/password": { "node_modules/@inquirer/password": {
"version": "2.1.22", "version": "2.1.22",
"dev": true, "dev": true,
@ -3198,17 +3165,6 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/@inquirer/password/node_modules/@inquirer/type": {
"version": "1.5.2",
"dev": true,
"license": "MIT",
"dependencies": {
"mute-stream": "^1.0.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@inquirer/password/node_modules/ansi-escapes": { "node_modules/@inquirer/password/node_modules/ansi-escapes": {
"version": "4.3.2", "version": "4.3.2",
"dev": true, "dev": true,
@ -3255,6 +3211,17 @@
"node": ">=18" "node": ">=18"
} }
}, },
"node_modules/@inquirer/prompts/node_modules/@inquirer/confirm/node_modules/@inquirer/type": {
"version": "1.5.5",
"dev": true,
"license": "MIT",
"dependencies": {
"mute-stream": "^1.0.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@inquirer/rawlist": { "node_modules/@inquirer/rawlist": {
"version": "2.2.4", "version": "2.2.4",
"dev": true, "dev": true,
@ -3398,17 +3365,6 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/@inquirer/rawlist/node_modules/@inquirer/type": {
"version": "1.5.2",
"dev": true,
"license": "MIT",
"dependencies": {
"mute-stream": "^1.0.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@inquirer/search": { "node_modules/@inquirer/search": {
"version": "1.1.0", "version": "1.1.0",
"dev": true, "dev": true,
@ -3423,6 +3379,17 @@
"node": ">=18" "node": ">=18"
} }
}, },
"node_modules/@inquirer/search/node_modules/@inquirer/type": {
"version": "1.5.5",
"dev": true,
"license": "MIT",
"dependencies": {
"mute-stream": "^1.0.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@inquirer/select": { "node_modules/@inquirer/select": {
"version": "2.4.7", "version": "2.4.7",
"dev": true, "dev": true,
@ -3554,17 +3521,6 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/@inquirer/select/node_modules/@inquirer/type": {
"version": "1.5.2",
"dev": true,
"license": "MIT",
"dependencies": {
"mute-stream": "^1.0.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@inquirer/select/node_modules/ansi-escapes": { "node_modules/@inquirer/select/node_modules/ansi-escapes": {
"version": "4.3.2", "version": "4.3.2",
"dev": true, "dev": true,
@ -3580,7 +3536,7 @@
} }
}, },
"node_modules/@inquirer/type": { "node_modules/@inquirer/type": {
"version": "1.5.5", "version": "1.5.2",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@ -3834,7 +3790,7 @@
] ]
}, },
"node_modules/@ngtools/webpack": { "node_modules/@ngtools/webpack": {
"version": "18.2.5", "version": "18.2.6",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
@ -4196,7 +4152,7 @@
} }
}, },
"node_modules/@rollup/rollup-linux-x64-gnu": { "node_modules/@rollup/rollup-linux-x64-gnu": {
"version": "4.20.0", "version": "4.22.4",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -4208,7 +4164,7 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-x64-musl": { "node_modules/@rollup/rollup-linux-x64-musl": {
"version": "4.20.0", "version": "4.22.4",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -4220,12 +4176,12 @@
] ]
}, },
"node_modules/@schematics/angular": { "node_modules/@schematics/angular": {
"version": "18.2.5", "version": "18.2.6",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@angular-devkit/core": "18.2.5", "@angular-devkit/core": "18.2.6",
"@angular-devkit/schematics": "18.2.5", "@angular-devkit/schematics": "18.2.6",
"jsonc-parser": "3.3.1" "jsonc-parser": "3.3.1"
}, },
"engines": { "engines": {
@ -7043,9 +6999,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/fast-uri": { "node_modules/fast-uri": {
"version": "3.0.1", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.2.tgz",
"integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", "integrity": "sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==",
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
@ -11136,7 +11092,7 @@
} }
}, },
"node_modules/rollup": { "node_modules/rollup": {
"version": "4.20.0", "version": "4.22.4",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@ -11150,22 +11106,22 @@
"npm": ">=8.0.0" "npm": ">=8.0.0"
}, },
"optionalDependencies": { "optionalDependencies": {
"@rollup/rollup-android-arm-eabi": "4.20.0", "@rollup/rollup-android-arm-eabi": "4.22.4",
"@rollup/rollup-android-arm64": "4.20.0", "@rollup/rollup-android-arm64": "4.22.4",
"@rollup/rollup-darwin-arm64": "4.20.0", "@rollup/rollup-darwin-arm64": "4.22.4",
"@rollup/rollup-darwin-x64": "4.20.0", "@rollup/rollup-darwin-x64": "4.22.4",
"@rollup/rollup-linux-arm-gnueabihf": "4.20.0", "@rollup/rollup-linux-arm-gnueabihf": "4.22.4",
"@rollup/rollup-linux-arm-musleabihf": "4.20.0", "@rollup/rollup-linux-arm-musleabihf": "4.22.4",
"@rollup/rollup-linux-arm64-gnu": "4.20.0", "@rollup/rollup-linux-arm64-gnu": "4.22.4",
"@rollup/rollup-linux-arm64-musl": "4.20.0", "@rollup/rollup-linux-arm64-musl": "4.22.4",
"@rollup/rollup-linux-powerpc64le-gnu": "4.20.0", "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4",
"@rollup/rollup-linux-riscv64-gnu": "4.20.0", "@rollup/rollup-linux-riscv64-gnu": "4.22.4",
"@rollup/rollup-linux-s390x-gnu": "4.20.0", "@rollup/rollup-linux-s390x-gnu": "4.22.4",
"@rollup/rollup-linux-x64-gnu": "4.20.0", "@rollup/rollup-linux-x64-gnu": "4.22.4",
"@rollup/rollup-linux-x64-musl": "4.20.0", "@rollup/rollup-linux-x64-musl": "4.22.4",
"@rollup/rollup-win32-arm64-msvc": "4.20.0", "@rollup/rollup-win32-arm64-msvc": "4.22.4",
"@rollup/rollup-win32-ia32-msvc": "4.20.0", "@rollup/rollup-win32-ia32-msvc": "4.22.4",
"@rollup/rollup-win32-x64-msvc": "4.20.0", "@rollup/rollup-win32-x64-msvc": "4.22.4",
"fsevents": "~2.3.2" "fsevents": "~2.3.2"
} }
}, },

1
sonar-project.properties Normal file

@ -0,0 +1 @@
sonar.projectKey=Hotel-Manager

@ -1,6 +1,5 @@
import { Component } from "@angular/core"; import { Component, Input } from "@angular/core";
import { ChildComponent } from "../Child/child.component"; import { ChildComponent } from "../Child/child.component";
import { Input } from "@angular/core";
import { Hotel } from "./hotel"; import { Hotel } from "./hotel";
import { CurrencyPipe } from "@angular/common"; import { CurrencyPipe } from "@angular/common";
import { FormsModule } from "@angular/forms"; import { FormsModule } from "@angular/forms";

@ -1,8 +1,8 @@
export interface Hotel { export interface Hotel {
hotelId: number; hotelId: number;
hotelName: String; hotelName: string;
description: String; description: string;
price: number; price: number;
imageUrl: String; imageUrl: string;
rating: number; rating: number;
} }

@ -0,0 +1,42 @@
import { Injectable } from "@angular/core";
import { Hotel } from "../../HotelItem/hotel";
@Injectable()
export class HotelService {
public getHotels(): Hotel[] {
return [
{
"hotelId": 1,
"hotelName": "Buea süßes Leben",
"description": "Schöne Aussicht am Meer",
"price": 230.5,
"imageUrl": "assets/img/1.jpg",
"rating": 3.5
},
{
"hotelId": 2,
"hotelName": "Marrakesch",
"description": "Genießen Sie den Blick auf die Berge",
"price": 145.5,
"imageUrl": "assets/img/2.jpg",
"rating": 5
},
{
"hotelId": 3,
"hotelName": "Abuja neuer Palast",
"description": "Kompletter Aufenthalt mit Autoservice",
"price": 120.12,
"imageUrl": "assets/img/3.jpg",
"rating": 4
},
{
"hotelId": 4,
"hotelName": "Kapstadt Stadt",
"description": "Wunderschönes Ambiente für Ihren Aufenthalt",
"price": 135.12,
"imageUrl": "assets/img/4.jpg",
"rating": 2.5
}
];
}
}

@ -3,16 +3,20 @@ import { HotelItem } from './HotelItem/HotelItem.component';
import { SearchComponent } from './Search/search.component'; import { SearchComponent } from './Search/search.component';
import { UpperCasePipe } from '@angular/common'; import { UpperCasePipe } from '@angular/common';
import { TextPipe } from '../text.pipe'; import { TextPipe } from '../text.pipe';
import { HotelService } from './Parent/services/hotel.service';
import { inject } from '@angular/core';
@Component({ @Component({
selector: 'app-root', selector: 'app-root',
standalone: true, standalone: true,
imports: [HotelItem, SearchComponent, UpperCasePipe, TextPipe], imports: [HotelItem, SearchComponent, UpperCasePipe, TextPipe],
templateUrl: './app.component.html', templateUrl: './app.component.html',
providers: [HotelService],
styleUrl: './app.component.css' styleUrl: './app.component.css'
}) })
export class AppComponent { export class AppComponent {
public search: string = ""; public search: string = "";
public hotelService: HotelService = inject(HotelService);
public test() { public test() {
console.log(this.search); console.log(this.search);
@ -27,39 +31,6 @@ export class AppComponent {
return false; return false;
} }
public hotels = [ public hotels = this.hotelService.getHotels();
{
"hotelId": 1,
"hotelName": "Buea süßes Leben",
"description": "Schöne Aussicht am Meer",
"price": 230.5,
"imageUrl": "assets/img/1.jpg",
"rating": 3.5
},
{
"hotelId": 2,
"hotelName": "Marrakesch",
"description": "Genießen Sie den Blick auf die Berge",
"price": 145.5,
"imageUrl": "assets/img/2.jpg",
"rating": 5
},
{
"hotelId": 3,
"hotelName": "Abuja neuer Palast",
"description": "Kompletter Aufenthalt mit Autoservice",
"price": 120.12,
"imageUrl": "assets/img/3.jpg",
"rating": 4
},
{
"hotelId": 4,
"hotelName": "Kapstadt Stadt",
"description": "Wunderschönes Ambiente für Ihren Aufenthalt",
"price": 135.12,
"imageUrl": "assets/img/4.jpg",
"rating": 2.5
}
]
} }