├── .vscode └── settings.json ├── infra ├── shared │ └── terraform │ │ └── modules │ │ ├── networking │ │ ├── peering │ │ │ ├── outputs.tf │ │ │ └── variables.tf │ │ └── vnet │ │ │ └── outputs.tf │ │ ├── bastion │ │ ├── outputs.tf │ │ └── main.tf │ │ ├── vms │ │ └── outputs.tf │ │ ├── secrets │ │ ├── outputs.tf │ │ ├── variables.tf │ │ └── main.tf │ │ ├── firewall │ │ ├── outputs.tf │ │ └── main.tf │ │ ├── frontdoor │ │ └── outputs.tf │ │ ├── active-directory │ │ ├── outputs.tf │ │ └── variables.tf │ │ ├── key-vault │ │ └── outputs.tf │ │ ├── storage │ │ └── outputs.tf │ │ ├── app-config │ │ └── outputs.tf │ │ ├── app-insights │ │ ├── outputs.tf │ │ └── variables.tf │ │ ├── service-bus │ │ └── outputs.tf │ │ └── cache │ │ └── outputs.tf ├── terraform-appconfig │ └── terraform.tfvars ├── terraform │ ├── provider.conf.json │ ├── versions.tf │ └── main.tfvars.json └── scripts │ └── setup-service-connector.sh ├── docs └── assets │ ├── add-account.png │ ├── new-support-case.png │ ├── send-email-queue.png │ ├── send-email-legacy.png │ ├── restart-app-service.png │ ├── send-email-legacy-log.png │ ├── upload-support-guide.png │ ├── app-service-log-stream.png │ ├── support-guides-location.png │ ├── container-app-log-stream.png │ ├── edit-application-setting.png │ ├── vscode-reopen-in-container.png │ ├── email-processor-scaling-rule.png │ ├── app-insights-transaction-search.png │ ├── diagrams │ └── modern-web-app-java.vsdx │ ├── request-service-email-setting.png │ ├── request-service-queue-setting.png │ ├── service-bus-incoming-messages.png │ ├── app-insights-transaction-details.png │ ├── container-app-revisions-replicas.png │ ├── az-webapp-deploy-error-second-region.png │ ├── edit-application-setting-demo-load.png │ ├── service-bus-request-queue-load-demo.png │ └── vscode-reopen-in-container-command.png ├── .mvn └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── contoso-guides ├── ContosoModem.pdf └── ContosoPasswordReset.pdf ├── apps ├── contoso-fiber │ ├── src │ │ └── main │ │ │ ├── resources │ │ │ ├── static │ │ │ │ ├── vendor │ │ │ │ │ ├── bootstrap │ │ │ │ │ │ └── scss │ │ │ │ │ │ │ ├── utilities │ │ │ │ │ │ │ ├── _clearfix.scss │ │ │ │ │ │ │ ├── _overflow.scss │ │ │ │ │ │ │ ├── _interactions.scss │ │ │ │ │ │ │ ├── _screenreaders.scss │ │ │ │ │ │ │ ├── _visibility.scss │ │ │ │ │ │ │ ├── _shadows.scss │ │ │ │ │ │ │ ├── _float.scss │ │ │ │ │ │ │ ├── _align.scss │ │ │ │ │ │ │ └── _background.scss │ │ │ │ │ │ │ ├── _media.scss │ │ │ │ │ │ │ ├── mixins │ │ │ │ │ │ │ ├── _clearfix.scss │ │ │ │ │ │ │ ├── _size.scss │ │ │ │ │ │ │ ├── _lists.scss │ │ │ │ │ │ │ ├── _text-truncate.scss │ │ │ │ │ │ │ ├── _resize.scss │ │ │ │ │ │ │ ├── _visibility.scss │ │ │ │ │ │ │ ├── _alert.scss │ │ │ │ │ │ │ ├── _text-hide.scss │ │ │ │ │ │ │ ├── _badge.scss │ │ │ │ │ │ │ ├── _nav-divider.scss │ │ │ │ │ │ │ └── _float.scss │ │ │ │ │ │ │ ├── _transitions.scss │ │ │ │ │ │ │ ├── bootstrap-reboot.scss │ │ │ │ │ │ │ └── _jumbotron.scss │ │ │ │ │ ├── fontawesome-free │ │ │ │ │ │ ├── less │ │ │ │ │ │ │ ├── _screen-reader.less │ │ │ │ │ │ │ ├── _fixed-width.less │ │ │ │ │ │ │ ├── v4-shims.less │ │ │ │ │ │ │ ├── _core.less │ │ │ │ │ │ │ ├── _animated.less │ │ │ │ │ │ │ ├── _list.less │ │ │ │ │ │ │ └── _bordered-pulled.less │ │ │ │ │ │ ├── scss │ │ │ │ │ │ │ ├── _fixed-width.scss │ │ │ │ │ │ │ ├── _screen-reader.scss │ │ │ │ │ │ │ ├── v4-shims.scss │ │ │ │ │ │ │ ├── _animated.scss │ │ │ │ │ │ │ ├── _list.scss │ │ │ │ │ │ │ ├── _core.scss │ │ │ │ │ │ │ ├── _larger.scss │ │ │ │ │ │ │ └── fontawesome.scss │ │ │ │ │ │ ├── webfonts │ │ │ │ │ │ │ ├── fa-solid-900.eot │ │ │ │ │ │ │ ├── fa-solid-900.ttf │ │ │ │ │ │ │ ├── fa-brands-400.eot │ │ │ │ │ │ │ ├── fa-brands-400.ttf │ │ │ │ │ │ │ ├── fa-brands-400.woff │ │ │ │ │ │ │ ├── fa-brands-400.woff2 │ │ │ │ │ │ │ ├── fa-regular-400.eot │ │ │ │ │ │ │ ├── fa-regular-400.ttf │ │ │ │ │ │ │ ├── fa-regular-400.woff │ │ │ │ │ │ │ ├── fa-solid-900.woff │ │ │ │ │ │ │ ├── fa-solid-900.woff2 │ │ │ │ │ │ │ └── fa-regular-400.woff2 │ │ │ │ │ │ ├── attribution.js │ │ │ │ │ │ └── svgs │ │ │ │ │ │ │ ├── solid │ │ │ │ │ │ │ ├── square-full.svg │ │ │ │ │ │ │ ├── egg.svg │ │ │ │ │ │ │ ├── circle.svg │ │ │ │ │ │ │ ├── bookmark.svg │ │ │ │ │ │ │ ├── sort-down.svg │ │ │ │ │ │ │ ├── sort-up.svg │ │ │ │ │ │ │ ├── stop.svg │ │ │ │ │ │ │ ├── square.svg │ │ │ │ │ │ │ ├── play.svg │ │ │ │ │ │ │ ├── minus.svg │ │ │ │ │ │ │ ├── window-minimize.svg │ │ │ │ │ │ │ ├── caret-down.svg │ │ │ │ │ │ │ ├── volume-off.svg │ │ │ │ │ │ │ ├── cheese.svg │ │ │ │ │ │ │ ├── folder.svg │ │ │ │ │ │ │ ├── ice-cream.svg │ │ │ │ │ │ │ ├── mouse.svg │ │ │ │ │ │ │ ├── comment-alt.svg │ │ │ │ │ │ │ ├── star-half.svg │ │ │ │ │ │ │ ├── sd-card.svg │ │ │ │ │ │ │ ├── caret-right.svg │ │ │ │ │ │ │ ├── genderless.svg │ │ │ │ │ │ │ ├── hockey-puck.svg │ │ │ │ │ │ │ ├── adjust.svg │ │ │ │ │ │ │ ├── caret-up.svg │ │ │ │ │ │ │ ├── columns.svg │ │ │ │ │ │ │ ├── bread-slice.svg │ │ │ │ │ │ │ ├── caret-left.svg │ │ │ │ │ │ │ ├── location-arrow.svg │ │ │ │ │ │ │ ├── map-marker.svg │ │ │ │ │ │ │ ├── border-all.svg │ │ │ │ │ │ │ ├── dot-circle.svg │ │ │ │ │ │ │ ├── minus-circle.svg │ │ │ │ │ │ │ ├── mobile.svg │ │ │ │ │ │ │ ├── stop-circle.svg │ │ │ │ │ │ │ ├── tablet.svg │ │ │ │ │ │ │ ├── voicemail.svg │ │ │ │ │ │ │ ├── window-maximize.svg │ │ │ │ │ │ │ ├── paragraph.svg │ │ │ │ │ │ │ ├── play-circle.svg │ │ │ │ │ │ │ ├── file.svg │ │ │ │ │ │ │ ├── glass-whiskey.svg │ │ │ │ │ │ │ ├── angle-left.svg │ │ │ │ │ │ │ ├── angle-up.svg │ │ │ │ │ │ │ ├── dice-one.svg │ │ │ │ │ │ │ ├── slash.svg │ │ │ │ │ │ │ ├── step-backward.svg │ │ │ │ │ │ │ ├── step-forward.svg │ │ │ │ │ │ │ ├── sticky-note.svg │ │ │ │ │ │ │ ├── toggle-on.svg │ │ │ │ │ │ │ ├── angle-down.svg │ │ │ │ │ │ │ ├── angle-right.svg │ │ │ │ │ │ │ ├── sort.svg │ │ │ │ │ │ │ ├── grip-lines.svg │ │ │ │ │ │ │ ├── table.svg │ │ │ │ │ │ │ ├── bolt.svg │ │ │ │ │ │ │ ├── burn.svg │ │ │ │ │ │ │ ├── chalkboard.svg │ │ │ │ │ │ │ ├── filter.svg │ │ │ │ │ │ │ ├── heart.svg │ │ │ │ │ │ │ ├── italic.svg │ │ │ │ │ │ │ ├── glass-martini.svg │ │ │ │ │ │ │ ├── grip-lines-vertical.svg │ │ │ │ │ │ │ ├── lock.svg │ │ │ │ │ │ │ ├── minus-square.svg │ │ │ │ │ │ │ ├── pause.svg │ │ │ │ │ │ │ ├── seedling.svg │ │ │ │ │ │ │ ├── tv.svg │ │ │ │ │ │ │ ├── ellipsis-v.svg │ │ │ │ │ │ │ ├── meh-blank.svg │ │ │ │ │ │ │ ├── paper-plane.svg │ │ │ │ │ │ │ ├── battery-empty.svg │ │ │ │ │ │ │ ├── box.svg │ │ │ │ │ │ │ ├── clock.svg │ │ │ │ │ │ │ ├── comment.svg │ │ │ │ │ │ │ ├── ellipsis-h.svg │ │ │ │ │ │ │ ├── forward.svg │ │ │ │ │ │ │ ├── qrcode.svg │ │ │ │ │ │ │ ├── record-vinyl.svg │ │ │ │ │ │ │ ├── suitcase.svg │ │ │ │ │ │ │ ├── caret-square-down.svg │ │ │ │ │ │ │ ├── neuter.svg │ │ │ │ │ │ │ ├── sign.svg │ │ │ │ │ │ │ ├── utensil-spoon.svg │ │ │ │ │ │ │ ├── backward.svg │ │ │ │ │ │ │ ├── desktop.svg │ │ │ │ │ │ │ ├── equals.svg │ │ │ │ │ │ │ ├── trash.svg │ │ │ │ │ │ │ ├── coffee.svg │ │ │ │ │ │ │ ├── cross.svg │ │ │ │ │ │ │ ├── long-arrow-alt-up.svg │ │ │ │ │ │ │ ├── map.svg │ │ │ │ │ │ │ ├── plug.svg │ │ │ │ │ │ │ ├── plus.svg │ │ │ │ │ │ │ ├── video.svg │ │ │ │ │ │ │ ├── battery-full.svg │ │ │ │ │ │ │ ├── battery-half.svg │ │ │ │ │ │ │ ├── chart-area.svg │ │ │ │ │ │ │ ├── clone.svg │ │ │ │ │ │ │ ├── folder-minus.svg │ │ │ │ │ │ │ ├── heart-broken.svg │ │ │ │ │ │ │ ├── icicles.svg │ │ │ │ │ │ │ ├── long-arrow-alt-down.svg │ │ │ │ │ │ │ ├── long-arrow-alt-left.svg │ │ │ │ │ │ │ ├── long-arrow-alt-right.svg │ │ │ │ │ │ │ ├── music.svg │ │ │ │ │ │ │ ├── pen.svg │ │ │ │ │ │ │ ├── arrow-alt-circle-up.svg │ │ │ │ │ │ │ ├── battery-quarter.svg │ │ │ │ │ │ │ ├── chevron-left.svg │ │ │ │ │ │ │ ├── hard-hat.svg │ │ │ │ │ │ │ ├── industry.svg │ │ │ │ │ │ │ ├── tenge.svg │ │ │ │ │ │ │ ├── user-alt.svg │ │ │ │ │ │ │ ├── arrow-alt-circle-right.svg │ │ │ │ │ │ │ ├── arrow-down.svg │ │ │ │ │ │ │ ├── arrow-left.svg │ │ │ │ │ │ │ ├── arrow-up.svg │ │ │ │ │ │ │ ├── battery-three-quarters.svg │ │ │ │ │ │ │ ├── cloud.svg │ │ │ │ │ │ │ ├── map-marker-alt.svg │ │ │ │ │ │ │ ├── user-tie.svg │ │ │ │ │ │ │ ├── wave-square.svg │ │ │ │ │ │ │ ├── arrow-alt-circle-down.svg │ │ │ │ │ │ │ ├── arrow-alt-circle-left.svg │ │ │ │ │ │ │ ├── arrow-right.svg │ │ │ │ │ │ │ ├── glass-martini-alt.svg │ │ │ │ │ │ │ ├── star.svg │ │ │ │ │ │ │ ├── user.svg │ │ │ │ │ │ │ ├── laptop.svg │ │ │ │ │ │ │ ├── mountain.svg │ │ │ │ │ │ │ ├── shield-alt.svg │ │ │ │ │ │ │ ├── archive.svg │ │ │ │ │ │ │ ├── chevron-circle-up.svg │ │ │ │ │ │ │ ├── ethernet.svg │ │ │ │ │ │ │ ├── mitten.svg │ │ │ │ │ │ │ ├── phone-alt.svg │ │ │ │ │ │ │ ├── briefcase.svg │ │ │ │ │ │ │ ├── brush.svg │ │ │ │ │ │ │ ├── check.svg │ │ │ │ │ │ │ ├── chevron-circle-right.svg │ │ │ │ │ │ │ ├── compact-disc.svg │ │ │ │ │ │ │ ├── dice-two.svg │ │ │ │ │ │ │ ├── divide.svg │ │ │ │ │ │ │ └── exclamation.svg │ │ │ │ │ │ │ ├── brands │ │ │ │ │ │ │ ├── houzz.svg │ │ │ │ │ │ │ ├── flipboard.svg │ │ │ │ │ │ │ ├── unsplash.svg │ │ │ │ │ │ │ ├── yandex-international.svg │ │ │ │ │ │ │ ├── ethereum.svg │ │ │ │ │ │ │ ├── bandcamp.svg │ │ │ │ │ │ │ ├── black-tie.svg │ │ │ │ │ │ │ ├── strava.svg │ │ │ │ │ │ │ ├── microsoft.svg │ │ │ │ │ │ │ ├── gitter.svg │ │ │ │ │ │ │ ├── vuejs.svg │ │ │ │ │ │ │ ├── css3.svg │ │ │ │ │ │ │ ├── think-peaks.svg │ │ │ │ │ │ │ ├── windows.svg │ │ │ │ │ │ │ ├── y-combinator.svg │ │ │ │ │ │ │ ├── mix.svg │ │ │ │ │ │ │ ├── google-drive.svg │ │ │ │ │ │ │ ├── uikit.svg │ │ │ │ │ │ │ ├── viacoin.svg │ │ │ │ │ │ │ ├── angular.svg │ │ │ │ │ │ │ ├── patreon.svg │ │ │ │ │ │ │ ├── modx.svg │ │ │ │ │ │ │ ├── npm.svg │ │ │ │ │ │ │ ├── deviantart.svg │ │ │ │ │ │ │ ├── facebook-f.svg │ │ │ │ │ │ │ ├── servicestack.svg │ │ │ │ │ │ │ ├── dyalog.svg │ │ │ │ │ │ │ ├── figma.svg │ │ │ │ │ │ │ ├── instalod.svg │ │ │ │ │ │ │ ├── adn.svg │ │ │ │ │ │ │ ├── dochub.svg │ │ │ │ │ │ │ ├── hacker-news.svg │ │ │ │ │ │ │ ├── firstdraft.svg │ │ │ │ │ │ │ ├── artstation.svg │ │ │ │ │ │ │ ├── html5.svg │ │ │ │ │ │ │ ├── magento.svg │ │ │ │ │ │ │ ├── twitch.svg │ │ │ │ │ │ │ ├── yahoo.svg │ │ │ │ │ │ │ ├── yandex.svg │ │ │ │ │ │ │ ├── autoprefixer.svg │ │ │ │ │ │ │ ├── jira.svg │ │ │ │ │ │ │ ├── monero.svg │ │ │ │ │ │ │ ├── buysellads.svg │ │ │ │ │ │ │ ├── cloudsmith.svg │ │ │ │ │ │ │ ├── maxcdn.svg │ │ │ │ │ │ │ ├── tiktok.svg │ │ │ │ │ │ │ ├── stack-overflow.svg │ │ │ │ │ │ │ ├── bitbucket.svg │ │ │ │ │ │ │ ├── dropbox.svg │ │ │ │ │ │ │ ├── stack-exchange.svg │ │ │ │ │ │ │ ├── css3-alt.svg │ │ │ │ │ │ │ ├── dashcube.svg │ │ │ │ │ │ │ ├── kaggle.svg │ │ │ │ │ │ │ ├── google.svg │ │ │ │ │ │ │ ├── elementor.svg │ │ │ │ │ │ │ ├── google-play.svg │ │ │ │ │ │ │ ├── korvue.svg │ │ │ │ │ │ │ ├── telegram-plane.svg │ │ │ │ │ │ │ ├── cuttlefish.svg │ │ │ │ │ │ │ ├── gg.svg │ │ │ │ │ │ │ ├── gratipay.svg │ │ │ │ │ │ │ ├── openid.svg │ │ │ │ │ │ │ ├── product-hunt.svg │ │ │ │ │ │ │ ├── fulcrum.svg │ │ │ │ │ │ │ ├── sourcetree.svg │ │ │ │ │ │ │ ├── discourse.svg │ │ │ │ │ │ │ ├── facebook-square.svg │ │ │ │ │ │ │ ├── facebook.svg │ │ │ │ │ │ │ ├── rockrms.svg │ │ │ │ │ │ │ ├── unity.svg │ │ │ │ │ │ │ └── hotjar.svg │ │ │ │ │ │ │ └── regular │ │ │ │ │ │ │ ├── window-minimize.svg │ │ │ │ │ │ │ ├── bookmark.svg │ │ │ │ │ │ │ ├── circle.svg │ │ │ │ │ │ │ ├── window-maximize.svg │ │ │ │ │ │ │ ├── square.svg │ │ │ │ │ │ │ ├── star-half.svg │ │ │ │ │ │ │ ├── file.svg │ │ │ │ │ │ │ ├── folder.svg │ │ │ │ │ │ │ ├── window-restore.svg │ │ │ │ │ │ │ ├── stop-circle.svg │ │ │ │ │ │ │ ├── calendar.svg │ │ │ │ │ │ │ ├── play-circle.svg │ │ │ │ │ │ │ └── sticky-note.svg │ │ │ │ │ └── bootstrap-table │ │ │ │ │ │ ├── themes │ │ │ │ │ │ └── bootstrap-table │ │ │ │ │ │ │ └── fonts │ │ │ │ │ │ │ ├── bootstrap-table.eot │ │ │ │ │ │ │ ├── bootstrap-table.ttf │ │ │ │ │ │ │ └── bootstrap-table.woff │ │ │ │ │ │ └── extensions │ │ │ │ │ │ ├── group-by-v2 │ │ │ │ │ │ └── bootstrap-table-group-by.css │ │ │ │ │ │ ├── filter-control │ │ │ │ │ │ └── bootstrap-table-filter-control.css │ │ │ │ │ │ ├── page-jump-to │ │ │ │ │ │ └── bootstrap-table-page-jump-to.css │ │ │ │ │ │ ├── sticky-header │ │ │ │ │ │ └── bootstrap-table-sticky-header.css │ │ │ │ │ │ └── fixed-columns │ │ │ │ │ │ └── bootstrap-table-fixed-columns.css │ │ │ │ ├── js │ │ │ │ │ └── demo │ │ │ │ │ │ └── datatables-demo.js │ │ │ │ └── css │ │ │ │ │ └── fonts │ │ │ │ │ └── nunito │ │ │ │ │ ├── Nunito-Black.woff │ │ │ │ │ ├── Nunito-Bold.woff │ │ │ │ │ ├── Nunito-Light.woff │ │ │ │ │ ├── Nunito-Italic.woff │ │ │ │ │ ├── Nunito-Regular.woff │ │ │ │ │ ├── Nunito-SemiBold.woff │ │ │ │ │ ├── Nunito-BoldItalic.woff │ │ │ │ │ ├── Nunito-ExtraBold.woff │ │ │ │ │ ├── Nunito-ExtraLight.woff │ │ │ │ │ ├── Nunito-BlackItalic.woff │ │ │ │ │ ├── Nunito-LightItalic.woff │ │ │ │ │ ├── Nunito-ExtraBoldItalic.woff │ │ │ │ │ ├── Nunito-SemiBoldItalic.woff │ │ │ │ │ └── Nunito-ExtraLightItalic.woff │ │ │ ├── bootstrap.properties │ │ │ ├── db │ │ │ │ └── migration │ │ │ │ │ └── V3__guides.sql │ │ │ └── templates │ │ │ │ └── fragments │ │ │ │ ├── brand.html │ │ │ │ ├── footer.html │ │ │ │ ├── paging.html │ │ │ │ ├── search.html │ │ │ │ └── sidebar.html │ │ │ └── java │ │ │ └── com │ │ │ └── contoso │ │ │ └── cams │ │ │ ├── security │ │ │ └── UserInfo.java │ │ │ ├── support │ │ │ ├── SupportGuideDto.java │ │ │ ├── EmailGuideRequest.java │ │ │ ├── NewSupportCaseActivityRequest.java │ │ │ ├── NewSupportCaseRequest.java │ │ │ └── SupportCaseActivityDto.java │ │ │ ├── model │ │ │ ├── SupportCaseQueue.java │ │ │ ├── CustomerRepository.java │ │ │ ├── ServicePlanRepository.java │ │ │ ├── ActivityType.java │ │ │ ├── SupportCaseActivityRepository.java │ │ │ ├── SupportGuideRepository.java │ │ │ └── SupportCaseRepository.java │ │ │ ├── supportguide │ │ │ └── SupportGuideDto.java │ │ │ ├── services │ │ │ ├── SupportGuideSender.java │ │ │ └── SupportGuideEmailSender.java │ │ │ ├── serviceplan │ │ │ └── ServicePlanDto.java │ │ │ └── account │ │ │ └── SupportCaseDetail.java │ ├── lombok.config │ └── .gitignore └── email-processor │ ├── Dockerfile │ └── src │ └── main │ ├── java │ └── com │ │ └── contoso │ │ └── cams │ │ └── emailprocessor │ │ └── EmailProcessorApplication.java │ └── resources │ └── application.properties ├── .gitattributes ├── .devcontainer ├── scripts │ └── onCreateCommand.sh └── Dockerfile ├── CODE_OF_CONDUCT.md ├── .editorconfig └── scripts └── teardown-tfstate.sh /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.autobuild.enabled": false 3 | } 4 | -------------------------------------------------------------------------------- /infra/shared/terraform/modules/networking/peering/outputs.tf: -------------------------------------------------------------------------------- 1 | # Outputs 2 | -------------------------------------------------------------------------------- /infra/shared/terraform/modules/bastion/outputs.tf: -------------------------------------------------------------------------------- 1 | output "name" { 2 | value = azurerm_bastion_host.bastion.name 3 | } -------------------------------------------------------------------------------- /docs/assets/add-account.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/add-account.png -------------------------------------------------------------------------------- /infra/shared/terraform/modules/vms/outputs.tf: -------------------------------------------------------------------------------- 1 | output "vm_id" { 2 | value = azurerm_linux_virtual_machine.linux_vm.id 3 | } -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /contoso-guides/ContosoModem.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/contoso-guides/ContosoModem.pdf -------------------------------------------------------------------------------- /docs/assets/new-support-case.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/new-support-case.png -------------------------------------------------------------------------------- /docs/assets/send-email-queue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/send-email-queue.png -------------------------------------------------------------------------------- /docs/assets/send-email-legacy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/send-email-legacy.png -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/utilities/_clearfix.scss: -------------------------------------------------------------------------------- 1 | .clearfix { 2 | @include clearfix(); 3 | } 4 | -------------------------------------------------------------------------------- /docs/assets/restart-app-service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/restart-app-service.png -------------------------------------------------------------------------------- /docs/assets/send-email-legacy-log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/send-email-legacy-log.png -------------------------------------------------------------------------------- /docs/assets/upload-support-guide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/upload-support-guide.png -------------------------------------------------------------------------------- /contoso-guides/ContosoPasswordReset.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/contoso-guides/ContosoPasswordReset.pdf -------------------------------------------------------------------------------- /docs/assets/app-service-log-stream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/app-service-log-stream.png -------------------------------------------------------------------------------- /docs/assets/support-guides-location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/support-guides-location.png -------------------------------------------------------------------------------- /docs/assets/container-app-log-stream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/container-app-log-stream.png -------------------------------------------------------------------------------- /docs/assets/edit-application-setting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/edit-application-setting.png -------------------------------------------------------------------------------- /docs/assets/vscode-reopen-in-container.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/vscode-reopen-in-container.png -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | *.java text eol=lf 3 | *.properties text eol=lf 4 | *.sh text eol=lf 5 | *.xml text eol=lf 6 | -------------------------------------------------------------------------------- /docs/assets/email-processor-scaling-rule.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/email-processor-scaling-rule.png -------------------------------------------------------------------------------- /docs/assets/app-insights-transaction-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/app-insights-transaction-search.png -------------------------------------------------------------------------------- /docs/assets/diagrams/modern-web-app-java.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/diagrams/modern-web-app-java.vsdx -------------------------------------------------------------------------------- /docs/assets/request-service-email-setting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/request-service-email-setting.png -------------------------------------------------------------------------------- /docs/assets/request-service-queue-setting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/request-service-queue-setting.png -------------------------------------------------------------------------------- /docs/assets/service-bus-incoming-messages.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/service-bus-incoming-messages.png -------------------------------------------------------------------------------- /infra/shared/terraform/modules/secrets/outputs.tf: -------------------------------------------------------------------------------- 1 | output "secret_names" { 2 | value = { for k, v in azurerm_key_vault_secret.key_vault_secret : k => v.id } 3 | } -------------------------------------------------------------------------------- /docs/assets/app-insights-transaction-details.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/app-insights-transaction-details.png -------------------------------------------------------------------------------- /docs/assets/container-app-revisions-replicas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/container-app-revisions-replicas.png -------------------------------------------------------------------------------- /docs/assets/az-webapp-deploy-error-second-region.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/az-webapp-deploy-error-second-region.png -------------------------------------------------------------------------------- /docs/assets/edit-application-setting-demo-load.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/edit-application-setting-demo-load.png -------------------------------------------------------------------------------- /docs/assets/service-bus-request-queue-load-demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/service-bus-request-queue-load-demo.png -------------------------------------------------------------------------------- /docs/assets/vscode-reopen-in-container-command.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/docs/assets/vscode-reopen-in-container-command.png -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/java/com/contoso/cams/security/UserInfo.java: -------------------------------------------------------------------------------- 1 | package com.contoso.cams.security; 2 | 3 | public record UserInfo(String name, String employeeId) { 4 | } 5 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/java/com/contoso/cams/support/SupportGuideDto.java: -------------------------------------------------------------------------------- 1 | package com.contoso.cams.support; 2 | 3 | public record SupportGuideDto(Long id, String name) { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/js/demo/datatables-demo.js: -------------------------------------------------------------------------------- 1 | // Call the dataTables jQuery plugin 2 | $(document).ready(function() { 3 | $('#dataTable').DataTable(); 4 | }); 5 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/_media.scss: -------------------------------------------------------------------------------- 1 | .media { 2 | display: flex; 3 | align-items: flex-start; 4 | } 5 | 6 | .media-body { 7 | flex: 1; 8 | } 9 | -------------------------------------------------------------------------------- /apps/contoso-fiber/lombok.config: -------------------------------------------------------------------------------- 1 | config.stopBubbling = true 2 | lombok.addLombokGeneratedAnnotation = true 3 | lombok.copyableAnnotations += org.springframework.beans.factory.annotation.Value 4 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/mixins/_clearfix.scss: -------------------------------------------------------------------------------- 1 | @mixin clearfix() { 2 | &::after { 3 | display: block; 4 | clear: both; 5 | content: ""; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/java/com/contoso/cams/model/SupportCaseQueue.java: -------------------------------------------------------------------------------- 1 | package com.contoso.cams.model; 2 | 3 | public enum SupportCaseQueue { 4 | L1, 5 | L2, 6 | SITE_VISIT, 7 | CLOSED 8 | } 9 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/java/com/contoso/cams/supportguide/SupportGuideDto.java: -------------------------------------------------------------------------------- 1 | package com.contoso.cams.supportguide; 2 | 3 | public record SupportGuideDto(Long id, String name, String description, String url) { 4 | } 5 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-Black.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-Black.woff -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-Bold.woff -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-Light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-Light.woff -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/bootstrap.properties: -------------------------------------------------------------------------------- 1 | spring.cloud.azure.appconfiguration.stores[0].endpoint=${APP_CONFIGURATION_ENDPOINT} 2 | spring.cloud.azure.appconfiguration.stores[0].selects[0].key-filter=/contoso-fiber/ -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-Italic.woff -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-Regular.woff -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-SemiBold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-SemiBold.woff -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/less/_screen-reader.less: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { .sr-only(); } 5 | .sr-only-focusable { .sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-BoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-BoldItalic.woff -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-ExtraBold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-ExtraBold.woff -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-ExtraLight.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-ExtraLight.woff -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/less/_fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | text-align: center; 5 | width: (20em / 16); 6 | } 7 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | text-align: center; 5 | width: $fa-fw-width; 6 | } 7 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/java/com/contoso/cams/services/SupportGuideSender.java: -------------------------------------------------------------------------------- 1 | package com.contoso.cams.services; 2 | 3 | public interface SupportGuideSender { 4 | void send(String to, String guideUrl, Long requestId); 5 | } 6 | 7 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-BlackItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-BlackItalic.woff -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-LightItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-LightItalic.woff -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/scss/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only; } 5 | .sr-only-focusable { @include sr-only-focusable; } 6 | -------------------------------------------------------------------------------- /infra/shared/terraform/modules/firewall/outputs.tf: -------------------------------------------------------------------------------- 1 | output "private_ip_address" { 2 | value = azurerm_firewall.firewall.ip_configuration.0.private_ip_address 3 | } 4 | 5 | output "firewall_rules" { 6 | value = local.firewall_rules 7 | } -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-ExtraBoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-ExtraBoldItalic.woff -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-SemiBoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-SemiBoldItalic.woff -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/utilities/_overflow.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @each $value in $overflows { 4 | .overflow-#{$value} { overflow: $value !important; } 5 | } 6 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-ExtraLightItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/css/fonts/nunito/Nunito-ExtraLightItalic.woff -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/utilities/_interactions.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @each $value in $user-selects { 4 | .user-select-#{$value} { user-select: $value !important; } 5 | } 6 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-solid-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-solid-900.eot -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/java/com/contoso/cams/support/EmailGuideRequest.java: -------------------------------------------------------------------------------- 1 | package com.contoso.cams.support; 2 | 3 | import java.util.List; 4 | 5 | public record EmailGuideRequest(Long caseId, Long guideId, List guides) { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/mixins/_size.scss: -------------------------------------------------------------------------------- 1 | // Sizing shortcuts 2 | 3 | @mixin size($width, $height: $width) { 4 | width: $width; 5 | height: $height; 6 | @include deprecate("`size()`", "v4.3.0", "v5"); 7 | } 8 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-brands-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-brands-400.eot -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-regular-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-regular-400.eot -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/utilities/_screenreaders.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Screenreaders 3 | // 4 | 5 | .sr-only { 6 | @include sr-only(); 7 | } 8 | 9 | .sr-only-focusable { 10 | @include sr-only-focusable(); 11 | } 12 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.3/apache-maven-3.9.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar 3 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/java/com/contoso/cams/model/CustomerRepository.java: -------------------------------------------------------------------------------- 1 | package com.contoso.cams.model; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | 5 | public interface CustomerRepository extends JpaRepository { 6 | } 7 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/attribution.js: -------------------------------------------------------------------------------- 1 | console.log(`Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com 2 | License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 3 | `) -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/java/com/contoso/cams/serviceplan/ServicePlanDto.java: -------------------------------------------------------------------------------- 1 | package com.contoso.cams.serviceplan; 2 | 3 | public record ServicePlanDto(Long id, String name, String description, Integer installationPrice, Integer monthlyPrice, Boolean isDefault) { 4 | } 5 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/mixins/_lists.scss: -------------------------------------------------------------------------------- 1 | // Lists 2 | 3 | // Unstyled keeps list items block level, just removes default browser padding and list-style 4 | @mixin list-unstyled() { 5 | padding-left: 0; 6 | list-style: none; 7 | } 8 | -------------------------------------------------------------------------------- /infra/shared/terraform/modules/networking/peering/variables.tf: -------------------------------------------------------------------------------- 1 | variable "local_vnet_name" { 2 | type = string 3 | } 4 | 5 | variable "resource_group_name" { 6 | type = string 7 | } 8 | 9 | variable "remote_vnet_id" { 10 | type = string 11 | } 12 | 13 | -------------------------------------------------------------------------------- /infra/terraform-appconfig/terraform.tfvars: -------------------------------------------------------------------------------- 1 | primary_app_config_id = "" 2 | 3 | secondary_app_config_id = "" 4 | 5 | primary_app_config_keys = [Primary App Config Keys] 6 | 7 | secondary_app_config_keys = [Secondary App Config Keys] -------------------------------------------------------------------------------- /infra/terraform/provider.conf.json: -------------------------------------------------------------------------------- 1 | { 2 | "storage_account_name": "${RS_STORAGE_ACCOUNT}", 3 | "container_name": "${RS_CONTAINER_NAME}", 4 | "key": "azd/contoso-rwa.tfstate", 5 | "resource_group_name": "${RS_RESOURCE_GROUP}", 6 | "use_azuread_auth": true 7 | } 8 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/java/com/contoso/cams/model/ServicePlanRepository.java: -------------------------------------------------------------------------------- 1 | package com.contoso.cams.model; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | 5 | public interface ServicePlanRepository extends JpaRepository { 6 | } 7 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/mixins/_text-truncate.scss: -------------------------------------------------------------------------------- 1 | // Text truncate 2 | // Requires inline-block or block for proper styling 3 | 4 | @mixin text-truncate() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/java/com/contoso/cams/support/NewSupportCaseActivityRequest.java: -------------------------------------------------------------------------------- 1 | package com.contoso.cams.support; 2 | 3 | import com.contoso.cams.model.ActivityType; 4 | 5 | public record NewSupportCaseActivityRequest(Long caseId, String notes, ActivityType activityType) { 6 | } 7 | -------------------------------------------------------------------------------- /infra/terraform/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_providers { 3 | azurerm = { 4 | source = "hashicorp/azurerm" 5 | version = "3.116.0" 6 | } 7 | azurecaf = { 8 | source = "aztfmod/azurecaf" 9 | version = "1.2.26" 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap-table/themes/bootstrap-table/fonts/bootstrap-table.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/vendor/bootstrap-table/themes/bootstrap-table/fonts/bootstrap-table.eot -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap-table/themes/bootstrap-table/fonts/bootstrap-table.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/vendor/bootstrap-table/themes/bootstrap-table/fonts/bootstrap-table.ttf -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap-table/themes/bootstrap-table/fonts/bootstrap-table.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/modern-web-app-pattern-java/HEAD/apps/contoso-fiber/src/main/resources/static/vendor/bootstrap-table/themes/bootstrap-table/fonts/bootstrap-table.woff -------------------------------------------------------------------------------- /infra/shared/terraform/modules/secrets/variables.tf: -------------------------------------------------------------------------------- 1 | variable "key_vault_id" { 2 | description = "The ID of the Key Vault where secrets will be stored" 3 | type = string 4 | } 5 | 6 | variable "secrets" { 7 | description = "Map of secrets to create" 8 | type = map(string) 9 | } -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/java/com/contoso/cams/model/ActivityType.java: -------------------------------------------------------------------------------- 1 | package com.contoso.cams.model; 2 | 3 | public enum ActivityType { 4 | AUTOMATION, 5 | HOME_VISIT, 6 | INBOUND_CALL, 7 | INBOUND_EMAIL, 8 | OUTBOUND_CALL, 9 | OUTBOUND_EMAIL, 10 | NOTE 11 | } 12 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/db/migration/V3__guides.sql: -------------------------------------------------------------------------------- 1 | create table support_guides( 2 | support_guide_id bigserial not null, 3 | description varchar(255) not null, 4 | name varchar(255) not null unique, 5 | url varchar(255) not null, 6 | primary key (support_guide_id) 7 | ); 8 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/mixins/_resize.scss: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | @mixin resizable($direction) { 4 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 5 | resize: $direction; // Options: horizontal, vertical, both 6 | } 7 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/mixins/_visibility.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Visibility 4 | 5 | @mixin invisible($visibility) { 6 | visibility: $visibility !important; 7 | @include deprecate("`invisible()`", "v4.3.0", "v5"); 8 | } 9 | -------------------------------------------------------------------------------- /apps/email-processor/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/openjdk/jdk:17-ubuntu 2 | VOLUME /tmp 3 | COPY target/email-processor.jar app.jar 4 | COPY target/agent/applicationinsights-agent.jar applicationinsights-agent.jar 5 | ENTRYPOINT ["java", "-javaagent:applicationinsights-agent.jar", "-jar", "/app.jar"] 6 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/java/com/contoso/cams/model/SupportCaseActivityRepository.java: -------------------------------------------------------------------------------- 1 | package com.contoso.cams.model; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | 5 | public interface SupportCaseActivityRepository extends JpaRepository{ 6 | 7 | } 8 | -------------------------------------------------------------------------------- /.devcontainer/scripts/onCreateCommand.sh: -------------------------------------------------------------------------------- 1 | set -x 2 | 3 | # https://learn.microsoft.com/azure/service-connector/tutorial-passwordless?tabs=user%2Cdotnet%2Csql-me-id-dotnet%2Cappservice&pivots=postgresql#install-the-service-connector-passwordless-extension 4 | az extension add --name serviceconnector-passwordless --upgrade 5 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/utilities/_visibility.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // 4 | // Visibility utilities 5 | // 6 | 7 | .visible { 8 | visibility: visible !important; 9 | } 10 | 11 | .invisible { 12 | visibility: hidden !important; 13 | } 14 | -------------------------------------------------------------------------------- /infra/shared/terraform/modules/bastion/main.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_providers { 3 | azurecaf = { 4 | source = "aztfmod/azurecaf" 5 | } 6 | } 7 | } 8 | 9 | locals { 10 | module_tag = { 11 | "module" = basename(abspath(path.module)) 12 | } 13 | tags = merge(local.module_tag, var.tags) 14 | } -------------------------------------------------------------------------------- /infra/shared/terraform/modules/firewall/main.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_providers { 3 | azurecaf = { 4 | source = "aztfmod/azurecaf" 5 | } 6 | } 7 | } 8 | 9 | locals { 10 | module_tag = { 11 | "module" = basename(abspath(path.module)) 12 | } 13 | tags = merge(local.module_tag, var.tags) 14 | } -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/scss/v4-shims.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @import 'variables'; 6 | @import 'shims'; 7 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/less/v4-shims.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @import '_variables.less'; 6 | @import '_shims.less'; 7 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.css: -------------------------------------------------------------------------------- 1 | .bootstrap-table .table > tbody > tr.group-by.expanded, 2 | .bootstrap-table .table > tbody > tr.group-by.collapsed { 3 | cursor: pointer; 4 | } 5 | 6 | .bootstrap-table .table > tbody > tr.hidden { 7 | display: none; 8 | } 9 | -------------------------------------------------------------------------------- /.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG VARIANT="jammy" 2 | FROM mcr.microsoft.com/vscode/devcontainers/base:0-${VARIANT} 3 | 4 | RUN export DEBIAN_FRONTEND=noninteractive \ 5 | && apt-get update \ 6 | && apt-get install -y xdg-utils postgresql-client jq \ 7 | && apt-get install -y protobuf-compiler \ 8 | && apt-get clean -y && rm -rf /var/lib/apt/lists/* -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/utilities/_shadows.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | .shadow-sm { box-shadow: $box-shadow-sm !important; } 4 | .shadow { box-shadow: $box-shadow !important; } 5 | .shadow-lg { box-shadow: $box-shadow-lg !important; } 6 | .shadow-none { box-shadow: none !important; } 7 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/square-full.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/mixins/_alert.scss: -------------------------------------------------------------------------------- 1 | @mixin alert-variant($background, $border, $color) { 2 | color: $color; 3 | @include gradient-bg($background); 4 | border-color: $border; 5 | 6 | hr { 7 | border-top-color: darken($border, 5%); 8 | } 9 | 10 | .alert-link { 11 | color: darken($color, 10%); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/java/com/contoso/cams/model/SupportGuideRepository.java: -------------------------------------------------------------------------------- 1 | package com.contoso.cams.model; 2 | 3 | import java.util.Optional; 4 | 5 | import org.springframework.data.jpa.repository.JpaRepository; 6 | 7 | public interface SupportGuideRepository extends JpaRepository { 8 | 9 | Optional findByName(String name); 10 | } 11 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/houzz.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/egg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/templates/fragments/brand.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /infra/shared/terraform/modules/secrets/main.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_providers { 3 | azurecaf = { 4 | source = "aztfmod/azurecaf" 5 | version = "1.2.26" 6 | } 7 | } 8 | } 9 | 10 | resource "azurerm_key_vault_secret" "key_vault_secret" { 11 | for_each = var.secrets 12 | name = each.key 13 | value = each.value 14 | key_vault_id = var.key_vault_id 15 | } 16 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/bookmark.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/flipboard.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /infra/shared/terraform/modules/frontdoor/outputs.tf: -------------------------------------------------------------------------------- 1 | output "host_name" { 2 | value = azurerm_cdn_frontdoor_endpoint.endpoint.host_name 3 | description = "The Web application URL." 4 | } 5 | 6 | output "resource_guid" { 7 | value = azurerm_cdn_frontdoor_profile.front_door.resource_guid 8 | description = "The UUID of this Front Door Profile which will be sent in the HTTP Header as the X-Azure-FDID attribute" 9 | } -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/unsplash.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/less/_core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}, .fas, .far, .fal, .fad, .fab { 5 | -moz-osx-font-smoothing: grayscale; 6 | -webkit-font-smoothing: antialiased; 7 | display: inline-block; 8 | font-style: normal; 9 | font-variant: normal; 10 | text-rendering: auto; 11 | line-height: 1; 12 | } 13 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/yandex-international.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/_transitions.scss: -------------------------------------------------------------------------------- 1 | .fade { 2 | @include transition($transition-fade); 3 | 4 | &:not(.show) { 5 | opacity: 0; 6 | } 7 | } 8 | 9 | .collapse { 10 | &:not(.show) { 11 | display: none; 12 | } 13 | } 14 | 15 | .collapsing { 16 | position: relative; 17 | height: 0; 18 | overflow: hidden; 19 | @include transition($transition-collapse); 20 | } 21 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/ethereum.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/bandcamp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/black-tie.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/regular/window-minimize.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/sort-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/sort-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/stop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/strava.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /infra/shared/terraform/modules/active-directory/outputs.tf: -------------------------------------------------------------------------------- 1 | output "application_registration_id" { 2 | value = azuread_application.app_registration.client_id 3 | description = "The Client Id for the application." 4 | } 5 | 6 | output "application_client_secret" { 7 | value = azuread_application_password.application_password.value 8 | sensitive = true 9 | description = "The client secret of the application" 10 | } 11 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /** 3 | * @author: Dennis Hernández 4 | * @version: v2.1.1 5 | */ 6 | .no-filter-control { 7 | height: 40px; 8 | } 9 | 10 | .filter-control { 11 | margin: 0 2px 2px; 12 | } 13 | 14 | .ms-choice { 15 | border: 0; 16 | } 17 | 18 | .ms-parent > button:focus { 19 | outline: 0; 20 | } 21 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/microsoft.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/play.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/gitter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/minus.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/window-minimize.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/java/com/contoso/cams/model/SupportCaseRepository.java: -------------------------------------------------------------------------------- 1 | package com.contoso.cams.model; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.data.jpa.repository.JpaRepository; 6 | 7 | public interface SupportCaseRepository extends JpaRepository{ 8 | 9 | List findAllByAssignedTo(String employeeId); 10 | List findAllByQueue(SupportCaseQueue queue); 11 | 12 | } 13 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/mixins/_text-hide.scss: -------------------------------------------------------------------------------- 1 | // CSS image replacement 2 | @mixin text-hide($ignore-warning: false) { 3 | // stylelint-disable-next-line font-family-no-missing-generic-family-keyword 4 | font: 0/0 a; 5 | color: transparent; 6 | text-shadow: none; 7 | background-color: transparent; 8 | border: 0; 9 | 10 | @include deprecate("`text-hide()`", "v4.1.0", "v5", $ignore-warning); 11 | } 12 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/vuejs.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/caret-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/volume-off.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/css3.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/cheese.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/folder.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /infra/shared/terraform/modules/key-vault/outputs.tf: -------------------------------------------------------------------------------- 1 | output "vault_id" { 2 | value = azurerm_key_vault.application.id 3 | description = "The Azure Key Vault ID" 4 | } 5 | 6 | output "vault_uri" { 7 | value = azurerm_key_vault.application.vault_uri 8 | description = "The Azure Key Vault URI" 9 | } 10 | 11 | output "vault_name" { 12 | value = azurerm_key_vault.application.name 13 | description = "The Azure Key Vault Name" 14 | } 15 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/less/_animated.less: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | animation: fa-spin 2s infinite linear; 6 | } 7 | 8 | .@{fa-css-prefix}-pulse { 9 | animation: fa-spin 1s infinite steps(8); 10 | } 11 | 12 | @keyframes fa-spin { 13 | 0% { 14 | transform: rotate(0deg); 15 | } 16 | 100% { 17 | transform: rotate(360deg); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/ice-cream.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/think-peaks.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/windows.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/y-combinator.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/templates/fragments/footer.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 7 |
8 |
-------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/mixins/_badge.scss: -------------------------------------------------------------------------------- 1 | @mixin badge-variant($bg) { 2 | color: color-yiq($bg); 3 | background-color: $bg; 4 | 5 | @at-root a#{&} { 6 | @include hover-focus() { 7 | color: color-yiq($bg); 8 | background-color: darken($bg, 10%); 9 | } 10 | 11 | &:focus, 12 | &.focus { 13 | outline: 0; 14 | box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | animation: fa-spin 2s infinite linear; 6 | } 7 | 8 | .#{$fa-css-prefix}-pulse { 9 | animation: fa-spin 1s infinite steps(8); 10 | } 11 | 12 | @keyframes fa-spin { 13 | 0% { 14 | transform: rotate(0deg); 15 | } 16 | 17 | 100% { 18 | transform: rotate(360deg); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/mix.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/mouse.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/templates/fragments/paging.html: -------------------------------------------------------------------------------- 1 | 6 | [[${label}]] 7 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/less/_list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | list-style-type: none; 6 | margin-left: (@fa-li-width * 5/4); 7 | padding-left: 0; 8 | 9 | > li { position: relative; } 10 | } 11 | 12 | .@{fa-css-prefix}-li { 13 | left: -@fa-li-width; 14 | position: absolute; 15 | text-align: center; 16 | width: @fa-li-width; 17 | line-height: inherit; 18 | } 19 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | list-style-type: none; 6 | margin-left: $fa-li-width * 5/4; 7 | padding-left: 0; 8 | 9 | > li { position: relative; } 10 | } 11 | 12 | .#{$fa-css-prefix}-li { 13 | left: -$fa-li-width; 14 | position: absolute; 15 | text-align: center; 16 | width: $fa-li-width; 17 | line-height: inherit; 18 | } 19 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/google-drive.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/comment-alt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/star-half.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/java/com/contoso/cams/support/NewSupportCaseRequest.java: -------------------------------------------------------------------------------- 1 | package com.contoso.cams.support; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class NewSupportCaseRequest { 7 | 8 | private Long accountId; 9 | 10 | private String customerFirstName; 11 | 12 | private String customerLastName; 13 | 14 | private String customerEmailAddress; 15 | 16 | private String customerPhoneNumber; 17 | 18 | private String description; 19 | } 20 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/sd-card.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Microsoft Open Source Code of Conduct 2 | 3 | This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). 4 | 5 | Resources: 6 | 7 | - [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) 8 | - [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) 9 | - Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns 10 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/uikit.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/viacoin.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/regular/bookmark.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/regular/circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/caret-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/genderless.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/hockey-puck.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/angular.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/patreon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/adjust.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/caret-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/columns.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/email-processor/src/main/java/com/contoso/cams/emailprocessor/EmailProcessorApplication.java: -------------------------------------------------------------------------------- 1 | package com.contoso.cams.emailprocessor; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class EmailProcessorApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(EmailProcessorApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /infra/shared/terraform/modules/networking/vnet/outputs.tf: -------------------------------------------------------------------------------- 1 | // ------------------ 2 | // OUTPUTS 3 | // ------------------ 4 | 5 | output "vnet_id" { 6 | value = azurerm_virtual_network.vnet.id 7 | } 8 | 9 | output "vnet_name" { 10 | value = azurerm_virtual_network.vnet.name 11 | } 12 | 13 | output "subnets" { 14 | value = { for subnet in azurerm_subnet.this : subnet.name => subnet } 15 | } 16 | 17 | output "subnet_ids" { 18 | value = [for subnet in azurerm_subnet.this : subnet.id] 19 | } -------------------------------------------------------------------------------- /infra/terraform/main.tfvars.json: -------------------------------------------------------------------------------- 1 | { 2 | "application_name": "${AZURE_ENV_NAME}", 3 | "enable_telemetry" : "${ENABLE_TELEMETRY=true}", 4 | "location": "${AZURE_LOCATION}", 5 | "secondary_location": "${AZURE_SECONDARY_LOCATION}", 6 | "jumpbox_vm_size": "${JUMPBOX_VM_SIZE=Standard_B2s}", 7 | "jumpbox_username": "${JUMPBOX_USERNAME=azureuser}", 8 | "environment": "${ENVIRONMENT=dev}", 9 | "service_management_reference": "${AZURE_SERVICE_MANAGEMENT_REFERENCE}" 10 | } 11 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/java/com/contoso/cams/account/SupportCaseDetail.java: -------------------------------------------------------------------------------- 1 | package com.contoso.cams.account; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @AllArgsConstructor 9 | @NoArgsConstructor 10 | public class SupportCaseDetail { 11 | private Long supportCaseId; 12 | private String description; 13 | private String queue; 14 | private String creationDate; 15 | private String assignee; 16 | } 17 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/mixins/_nav-divider.scss: -------------------------------------------------------------------------------- 1 | // Horizontal dividers 2 | // 3 | // Dividers (basically an hr) within dropdowns and nav lists 4 | 5 | @mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) { 6 | height: 0; 7 | margin: $margin-y 0; 8 | overflow: hidden; 9 | border-top: 1px solid $color; 10 | @include deprecate("The `nav-divider()` mixin", "v4.4.0", "v5", $ignore-warning); 11 | } 12 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/modx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/bread-slice.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/caret-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/location-arrow.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/map-marker.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/utilities/_float.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @each $breakpoint in map-keys($grid-breakpoints) { 4 | @include media-breakpoint-up($breakpoint) { 5 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 6 | 7 | .float#{$infix}-left { float: left !important; } 8 | .float#{$infix}-right { float: right !important; } 9 | .float#{$infix}-none { float: none !important; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}, 5 | .fas, 6 | .far, 7 | .fal, 8 | .fad, 9 | .fab { 10 | -moz-osx-font-smoothing: grayscale; 11 | -webkit-font-smoothing: antialiased; 12 | display: inline-block; 13 | font-style: normal; 14 | font-variant: normal; 15 | text-rendering: auto; 16 | line-height: 1; 17 | } 18 | 19 | %fa-icon { 20 | @include fa-icon; 21 | } 22 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/npm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/regular/window-maximize.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/border-all.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /infra/shared/terraform/modules/storage/outputs.tf: -------------------------------------------------------------------------------- 1 | output "storage_account_name" { 2 | description = "The name of the storage account." 3 | value = azurerm_storage_account.sa.name 4 | } 5 | 6 | output "storage_account_id" { 7 | description = "The ID of the storage account." 8 | value = azurerm_storage_account.sa.id 9 | } 10 | 11 | output "storage_container_name" { 12 | description = "The name of the storage container." 13 | value = azurerm_storage_container.container.name 14 | } -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig helps developers define and maintain consistent 2 | # coding styles between different editors and IDEs 3 | # editorconfig.org 4 | 5 | root = true 6 | 7 | [*] 8 | 9 | # Change these settings to your own preference 10 | indent_style = space 11 | indent_size = 4 12 | 13 | # We recommend you to keep these unchanged 14 | end_of_line = lf 15 | charset = utf-8 16 | trim_trailing_whitespace = true 17 | insert_final_newline = true 18 | 19 | [*.md] 20 | trim_trailing_whitespace = false 21 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/java/com/contoso/cams/support/SupportCaseActivityDto.java: -------------------------------------------------------------------------------- 1 | package com.contoso.cams.support; 2 | 3 | import java.util.Date; 4 | 5 | import com.contoso.cams.model.ActivityType; 6 | 7 | import lombok.Data; 8 | 9 | @Data 10 | public class SupportCaseActivityDto { 11 | private Long id; 12 | private Date timestamp; 13 | private String notes; 14 | private ActivityType activityType; 15 | 16 | // TODO: Add assignee 17 | private String assignee = "1234"; 18 | } 19 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/deviantart.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/facebook-f.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/servicestack.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/dot-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/minus-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/mobile.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/stop-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/tablet.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/voicemail.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/window-maximize.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /infra/shared/terraform/modules/app-config/outputs.tf: -------------------------------------------------------------------------------- 1 | output "azconfig_name" { 2 | value = azurerm_app_configuration.app_config.name 3 | description = "The Azure App Configuration Name." 4 | } 5 | 6 | output "azconfig_uri" { 7 | value = azurerm_app_configuration.app_config.endpoint 8 | description = "The Azure App Configuration URI." 9 | } 10 | 11 | output "azconfig_id" { 12 | value = azurerm_app_configuration.app_config.id 13 | description = "The Azure App Configuration ID." 14 | } -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/dyalog.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/figma.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/instalod.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/paragraph.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/play-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /infra/shared/terraform/modules/app-insights/outputs.tf: -------------------------------------------------------------------------------- 1 | output "connection_string" { 2 | value = azurerm_application_insights.app_insights.connection_string 3 | } 4 | 5 | output "instrumentation_key" { 6 | value = azurerm_application_insights.app_insights.instrumentation_key 7 | } 8 | 9 | output "log_analytics_workspace_id" { 10 | value = azurerm_log_analytics_workspace.app_workspace.id 11 | } 12 | 13 | output "app_insights_id" { 14 | value = azurerm_application_insights.app_insights.id 15 | } 16 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/adn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/dochub.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/hacker-news.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/file.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/glass-whiskey.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/utilities/_align.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | .align-baseline { vertical-align: baseline !important; } // Browser default 4 | .align-top { vertical-align: top !important; } 5 | .align-middle { vertical-align: middle !important; } 6 | .align-bottom { vertical-align: bottom !important; } 7 | .align-text-bottom { vertical-align: text-bottom !important; } 8 | .align-text-top { vertical-align: text-top !important; } 9 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/firstdraft.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/angle-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/angle-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/dice-one.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/slash.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/step-backward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/step-forward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/sticky-note.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/toggle-on.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /infra/scripts/setup-service-connector.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | source_id=$1 4 | target_id=$2 5 | 6 | random_string=$RANDOM 7 | connection_name=postgresql_${RANDOM} 8 | 9 | #https://learn.microsoft.com/azure/service-connector/tutorial-passwordless?tabs=user%2Cdotnet%2Csql-me-id-dotnet%2Cappservice&pivots=postgresql#create-a-passwordless-connection 10 | az webapp connection create postgres-flexible --connection ${connection_name} --source-id ${source_id} --target-id ${target_id} --client-type springBoot --system-identity -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/mixins/_float.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @mixin float-left() { 4 | float: left !important; 5 | @include deprecate("The `float-left` mixin", "v4.3.0", "v5"); 6 | } 7 | @mixin float-right() { 8 | float: right !important; 9 | @include deprecate("The `float-right` mixin", "v4.3.0", "v5"); 10 | } 11 | @mixin float-none() { 12 | float: none !important; 13 | @include deprecate("The `float-none` mixin", "v4.3.0", "v5"); 14 | } 15 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/artstation.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/regular/square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/angle-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/angle-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/sort.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/html5.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/magento.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/twitch.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/yahoo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/yandex.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/grip-lines.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/table.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/bootstrap-reboot.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Reboot v4.6.0 (https://getbootstrap.com/) 3 | * Copyright 2011-2021 The Bootstrap Authors 4 | * Copyright 2011-2021 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) 7 | */ 8 | 9 | @import "functions"; 10 | @import "variables"; 11 | @import "mixins"; 12 | @import "reboot"; 13 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/autoprefixer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/regular/star-half.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/bolt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/burn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/chalkboard.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/filter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/heart.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/italic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.css: -------------------------------------------------------------------------------- 1 | .bootstrap-table.bootstrap3 .fixed-table-pagination > .pagination .page-jump-to { 2 | display: inline-block; 3 | } 4 | 5 | .bootstrap-table.bootstrap3 .fixed-table-pagination > .pagination .input-group-btn { 6 | width: auto; 7 | } 8 | 9 | .bootstrap-table .fixed-table-pagination > .pagination .page-jump-to input { 10 | width: 70px; 11 | margin-left: 5px; 12 | text-align: center; 13 | float: left; 14 | } 15 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/glass-martini.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/grip-lines-vertical.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/lock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/minus-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/pause.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/seedling.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/tv.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/jira.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/monero.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/ellipsis-v.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/meh-blank.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/paper-plane.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/templates/fragments/search.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |
5 | 8 |
9 |
10 |
11 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/_jumbotron.scss: -------------------------------------------------------------------------------- 1 | .jumbotron { 2 | padding: $jumbotron-padding ($jumbotron-padding / 2); 3 | margin-bottom: $jumbotron-padding; 4 | color: $jumbotron-color; 5 | background-color: $jumbotron-bg; 6 | @include border-radius($border-radius-lg); 7 | 8 | @include media-breakpoint-up(sm) { 9 | padding: ($jumbotron-padding * 2) $jumbotron-padding; 10 | } 11 | } 12 | 13 | .jumbotron-fluid { 14 | padding-right: 0; 15 | padding-left: 0; 16 | @include border-radius(0); 17 | } 18 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/buysellads.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/cloudsmith.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/maxcdn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/tiktok.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/battery-empty.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/box.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/clock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/comment.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/ellipsis-h.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/forward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/qrcode.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/record-vinyl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/suitcase.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/stack-overflow.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/regular/file.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/caret-square-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/neuter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/sign.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/utensil-spoon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/bitbucket.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/dropbox.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/stack-exchange.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/regular/folder.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/backward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/desktop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/equals.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/trash.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /infra/shared/terraform/modules/service-bus/outputs.tf: -------------------------------------------------------------------------------- 1 | output "namespace_name" { 2 | value = azurerm_servicebus_namespace.servicebus_namespace.name 3 | } 4 | 5 | output "servicebus_namespace_primary_connection_string" { 6 | value = azurerm_servicebus_namespace.servicebus_namespace.default_primary_connection_string 7 | } 8 | 9 | output "queue_email_request_name" { 10 | value = azurerm_servicebus_queue.email_request_queue.name 11 | } 12 | 13 | output "queue_email_response_name" { 14 | value = azurerm_servicebus_queue.email_response_queue.name 15 | } 16 | 17 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/coffee.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/cross.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/long-arrow-alt-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/map.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/plug.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/plus.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/video.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.css: -------------------------------------------------------------------------------- 1 | /** 2 | * @author vincent loh 3 | * @update zhixin wen 4 | */ 5 | .fix-sticky { 6 | position: fixed !important; 7 | overflow: hidden; 8 | z-index: 100; 9 | } 10 | 11 | .fix-sticky table thead { 12 | background: #fff; 13 | } 14 | 15 | .fix-sticky table thead.thead-light { 16 | background: #e9ecef; 17 | } 18 | 19 | .fix-sticky table thead.thead-dark { 20 | background: #212529; 21 | } 22 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/css3-alt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/dashcube.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/kaggle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/battery-full.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/battery-half.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/chart-area.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/clone.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/folder-minus.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/heart-broken.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/icicles.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/long-arrow-alt-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/long-arrow-alt-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/long-arrow-alt-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/music.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/pen.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap/scss/utilities/_background.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @each $color, $value in $theme-colors { 4 | @include bg-variant(".bg-#{$color}", $value, true); 5 | } 6 | 7 | @if $enable-gradients { 8 | @each $color, $value in $theme-colors { 9 | @include bg-gradient-variant(".bg-gradient-#{$color}", $value, true); 10 | } 11 | } 12 | 13 | .bg-white { 14 | background-color: $white !important; 15 | } 16 | 17 | .bg-transparent { 18 | background-color: transparent !important; 19 | } 20 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/less/_bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | border-radius: .1em; 6 | border: solid .08em @fa-border-color; 7 | padding: .2em .25em .15em; 8 | } 9 | 10 | .@{fa-css-prefix}-pull-left { float: left; } 11 | .@{fa-css-prefix}-pull-right { float: right; } 12 | 13 | .@{fa-css-prefix}, .fas, .far, .fal, .fab { 14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | // makes the font 33% larger relative to the icon container 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -.0667em; 9 | } 10 | 11 | .#{$fa-css-prefix}-xs { 12 | font-size: .75em; 13 | } 14 | 15 | .#{$fa-css-prefix}-sm { 16 | font-size: .875em; 17 | } 18 | 19 | @for $i from 1 through 10 { 20 | .#{$fa-css-prefix}-#{$i}x { 21 | font-size: $i * 1em; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/google.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/regular/window-restore.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/arrow-alt-circle-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/battery-quarter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/chevron-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/hard-hat.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/industry.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/tenge.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/user-alt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /infra/shared/terraform/modules/cache/outputs.tf: -------------------------------------------------------------------------------- 1 | output "cache_secret" { 2 | value = azurerm_redis_cache.cache.primary_access_key 3 | description = "The secret to use when connecting to Azure Cache for Redis" 4 | } 5 | 6 | output "cache_hostname" { 7 | value = azurerm_redis_cache.cache.hostname 8 | description = "The hostname to use when connecting to Azure Cache for Redis" 9 | } 10 | 11 | output "cache_ssl_port" { 12 | value = azurerm_redis_cache.cache.ssl_port 13 | description = "The ssl port to use when connecting to Azure Cache for Redis" 14 | } -------------------------------------------------------------------------------- /scripts/teardown-tfstate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Invoked by AZD from the azure.yaml as a postdown hook 4 | # This script deletes the resource group that was created by set-tfstate-vars.sh to support clean teardown 5 | 6 | existing_resource_group=$(azd env get-values --output json | jq -r .RS_RESOURCE_GROUP) 7 | 8 | if [[ $(az group exists --name $existing_resource_group) == 'true' ]]; then 9 | echo "deleting group: $existing_resource_group" 10 | az group delete --name $existing_resource_group --yes 11 | else 12 | echo "no resource group to delete" 13 | fi -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/elementor.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/google-play.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/korvue.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/telegram-plane.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/arrow-alt-circle-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/arrow-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/arrow-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/arrow-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/battery-three-quarters.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/cloud.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/map-marker-alt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/user-tie.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/wave-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/scss/fontawesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @import 'variables'; 6 | @import 'mixins'; 7 | @import 'core'; 8 | @import 'larger'; 9 | @import 'fixed-width'; 10 | @import 'list'; 11 | @import 'bordered-pulled'; 12 | @import 'animated'; 13 | @import 'rotated-flipped'; 14 | @import 'stacked'; 15 | @import 'icons'; 16 | @import 'screen-reader'; 17 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/cuttlefish.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/gg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/gratipay.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/openid.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/product-hunt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/arrow-alt-circle-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/arrow-alt-circle-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/arrow-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/glass-martini-alt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/star.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/user.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/email-processor/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.application.name=email-processor 2 | 3 | spring.cloud.azure.servicebus.namespace=${AZURE_SERVICEBUS_NAMESPACE} 4 | spring.cloud.stream.bindings.consume-in-0.destination=${AZURE_SERVICEBUS_EMAIL_REQUEST_QUEUE_NAME} 5 | spring.cloud.stream.servicebus.bindings.consume-in-0.consumer.entity-type=queue 6 | spring.cloud.stream.bindings.consume-out-0.destination=${AZURE_SERVICEBUS_EMAIL_RESPONSE_QUEUE_NAME} 7 | spring.cloud.stream.servicebus.bindings.consume-out-0.producer.entity-type=queue 8 | spring.cloud.function.definition=consume; 9 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/java/com/contoso/cams/services/SupportGuideEmailSender.java: -------------------------------------------------------------------------------- 1 | package com.contoso.cams.services; 2 | 3 | import org.slf4j.Logger; 4 | import org.slf4j.LoggerFactory; 5 | 6 | public class SupportGuideEmailSender implements SupportGuideSender { 7 | 8 | private static final Logger log = LoggerFactory.getLogger(SupportGuideEmailSender.class); 9 | 10 | @Override 11 | public void send(String to, String guideUrl, Long requestId) { 12 | log.info("Sending guide to {} with url {} by email for request id {}", to, guideUrl, requestId); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/fulcrum.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/sourcetree.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/laptop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/mountain.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/shield-alt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/templates/fragments/sidebar.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /infra/shared/terraform/modules/active-directory/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application" 4 | } 5 | 6 | variable "environment" { 7 | type = string 8 | description = "The environment (dev, test, prod...)" 9 | } 10 | 11 | variable "frontdoor_host_name" { 12 | type = string 13 | description = "The front door host name" 14 | } 15 | 16 | variable "service_management_reference" { 17 | type = string 18 | description = "value for the service management reference" 19 | default = null 20 | } 21 | -------------------------------------------------------------------------------- /infra/shared/terraform/modules/app-insights/variables.tf: -------------------------------------------------------------------------------- 1 | variable "resource_group" { 2 | type = string 3 | description = "The resource group" 4 | } 5 | 6 | variable "application_name" { 7 | type = string 8 | description = "The name of your application" 9 | } 10 | 11 | variable "environment" { 12 | type = string 13 | description = "The environment (dev, test, prod...)" 14 | default = "dev" 15 | } 16 | 17 | variable "location" { 18 | type = string 19 | description = "The Azure region where all resources in this example should be created" 20 | } -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/discourse.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/facebook-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/facebook.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/rockrms.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/unity.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/regular/stop-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/archive.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/chevron-circle-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/ethernet.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/mitten.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/phone-alt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.css: -------------------------------------------------------------------------------- 1 | .fixed-columns, 2 | .fixed-columns-right { 3 | position: absolute; 4 | top: 0; 5 | height: 100%; 6 | background-color: #fff; 7 | box-sizing: border-box; 8 | z-index: 1; 9 | } 10 | 11 | .fixed-columns { 12 | left: 0; 13 | } 14 | 15 | .fixed-columns .fixed-table-body { 16 | overflow: hidden !important; 17 | } 18 | 19 | .fixed-columns-right { 20 | right: 0; 21 | } 22 | 23 | .fixed-columns-right .fixed-table-body { 24 | overflow-x: hidden !important; 25 | } 26 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/brands/hotjar.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/regular/calendar.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/regular/play-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/regular/sticky-note.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/briefcase.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/brush.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/check.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/chevron-circle-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/compact-disc.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/dice-two.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/divide.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/contoso-fiber/src/main/resources/static/vendor/fontawesome-free/svgs/solid/exclamation.svg: -------------------------------------------------------------------------------- 1 | --------------------------------------------------------------------------------