├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── pull_request_template.md └── workflows │ ├── build_test.yml │ └── codeql-analysis.yml ├── .gitignore ├── .mvn └── wrapper │ ├── MavenWrapperDownloader.java │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── application.yml ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── example │ │ └── multitenant │ │ ├── MultiTenantApplication.java │ │ ├── config │ │ ├── DatabaseConfig.java │ │ ├── EncoderConfig.java │ │ ├── SecurityConfig.java │ │ └── properties │ │ │ ├── DatabaseProperties.java │ │ │ └── SecurityProperties.java │ │ ├── endpoint │ │ ├── MovieEndpoint.java │ │ ├── UserEndpoint.java │ │ ├── dto │ │ │ ├── MovieDto.java │ │ │ ├── UserAuthenticationDto.java │ │ │ ├── UserEmailDto.java │ │ │ └── UserSignupDto.java │ │ └── mapper │ │ │ ├── MovieMapper.java │ │ │ └── UserMapper.java │ │ ├── entity │ │ ├── Movie.java │ │ └── User.java │ │ ├── exceptionhandler │ │ ├── GlobalExceptionHandler.java │ │ └── exceptions │ │ │ ├── NotFoundException.java │ │ │ └── ValidationException.java │ │ ├── repository │ │ ├── MovieRepository.java │ │ └── UserRepository.java │ │ ├── security │ │ ├── JwtAuthentication.java │ │ ├── JwtAuthorization.java │ │ └── JwtTokenizer.java │ │ └── service │ │ ├── MovieService.java │ │ ├── UserService.java │ │ └── impl │ │ ├── MovieServiceImpl.java │ │ └── UserServiceImpl.java └── resources │ ├── application.yml │ ├── create.sql │ └── create_default.sql └── test ├── java └── com │ └── example │ └── multitenant │ ├── config │ └── DatabaseConfigTest.java │ ├── data │ ├── MovieData.java │ └── UserData.java │ ├── integration │ ├── MovieIntegrationTest.java │ └── UserIntegrationTest.java │ └── unit │ ├── mapper │ ├── MovieMapperTest.java │ └── UserMapperTest.java │ └── service │ ├── MovieServiceTest.java │ └── UserServiceTest.java └── resources └── application-test.yml /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/.github/pull_request_template.md -------------------------------------------------------------------------------- /.github/workflows/build_test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/.github/workflows/build_test.yml -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/.github/workflows/codeql-analysis.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/.gitignore -------------------------------------------------------------------------------- /.mvn/wrapper/MavenWrapperDownloader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/.mvn/wrapper/MavenWrapperDownloader.java -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/README.md -------------------------------------------------------------------------------- /application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/application.yml -------------------------------------------------------------------------------- /mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/mvnw -------------------------------------------------------------------------------- /mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/mvnw.cmd -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/MultiTenantApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/MultiTenantApplication.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/config/DatabaseConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/config/DatabaseConfig.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/config/EncoderConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/config/EncoderConfig.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/config/SecurityConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/config/SecurityConfig.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/config/properties/DatabaseProperties.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/config/properties/DatabaseProperties.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/config/properties/SecurityProperties.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/config/properties/SecurityProperties.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/endpoint/MovieEndpoint.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/endpoint/MovieEndpoint.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/endpoint/UserEndpoint.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/endpoint/UserEndpoint.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/endpoint/dto/MovieDto.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/endpoint/dto/MovieDto.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/endpoint/dto/UserAuthenticationDto.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/endpoint/dto/UserAuthenticationDto.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/endpoint/dto/UserEmailDto.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/endpoint/dto/UserEmailDto.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/endpoint/dto/UserSignupDto.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/endpoint/dto/UserSignupDto.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/endpoint/mapper/MovieMapper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/endpoint/mapper/MovieMapper.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/endpoint/mapper/UserMapper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/endpoint/mapper/UserMapper.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/entity/Movie.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/entity/Movie.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/entity/User.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/entity/User.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/exceptionhandler/GlobalExceptionHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/exceptionhandler/GlobalExceptionHandler.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/exceptionhandler/exceptions/NotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/exceptionhandler/exceptions/NotFoundException.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/exceptionhandler/exceptions/ValidationException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/exceptionhandler/exceptions/ValidationException.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/repository/MovieRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/repository/MovieRepository.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/repository/UserRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/repository/UserRepository.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/security/JwtAuthentication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/security/JwtAuthentication.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/security/JwtAuthorization.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/security/JwtAuthorization.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/security/JwtTokenizer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/security/JwtTokenizer.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/service/MovieService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/service/MovieService.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/service/UserService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/service/UserService.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/service/impl/MovieServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/service/impl/MovieServiceImpl.java -------------------------------------------------------------------------------- /src/main/java/com/example/multitenant/service/impl/UserServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/java/com/example/multitenant/service/impl/UserServiceImpl.java -------------------------------------------------------------------------------- /src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/resources/application.yml -------------------------------------------------------------------------------- /src/main/resources/create.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/resources/create.sql -------------------------------------------------------------------------------- /src/main/resources/create_default.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/main/resources/create_default.sql -------------------------------------------------------------------------------- /src/test/java/com/example/multitenant/config/DatabaseConfigTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/test/java/com/example/multitenant/config/DatabaseConfigTest.java -------------------------------------------------------------------------------- /src/test/java/com/example/multitenant/data/MovieData.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/test/java/com/example/multitenant/data/MovieData.java -------------------------------------------------------------------------------- /src/test/java/com/example/multitenant/data/UserData.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/test/java/com/example/multitenant/data/UserData.java -------------------------------------------------------------------------------- /src/test/java/com/example/multitenant/integration/MovieIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/test/java/com/example/multitenant/integration/MovieIntegrationTest.java -------------------------------------------------------------------------------- /src/test/java/com/example/multitenant/integration/UserIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/test/java/com/example/multitenant/integration/UserIntegrationTest.java -------------------------------------------------------------------------------- /src/test/java/com/example/multitenant/unit/mapper/MovieMapperTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/test/java/com/example/multitenant/unit/mapper/MovieMapperTest.java -------------------------------------------------------------------------------- /src/test/java/com/example/multitenant/unit/mapper/UserMapperTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/test/java/com/example/multitenant/unit/mapper/UserMapperTest.java -------------------------------------------------------------------------------- /src/test/java/com/example/multitenant/unit/service/MovieServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/test/java/com/example/multitenant/unit/service/MovieServiceTest.java -------------------------------------------------------------------------------- /src/test/java/com/example/multitenant/unit/service/UserServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/test/java/com/example/multitenant/unit/service/UserServiceTest.java -------------------------------------------------------------------------------- /src/test/resources/application-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agschnitzer/multitenant/HEAD/src/test/resources/application-test.yml --------------------------------------------------------------------------------