From 4efa3d8bbf51ba479fc99cdb25aaa0f82cf0da7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Munsch?= Date: Sun, 1 Nov 2026 14:50:34 +0100 Subject: [PATCH] feat: initial commit - Z3 backend (Clean Architecture / DDD) --- .dockerignore | 5 + .gitignore | 46 + .gitlab-ci.yml | 56 + .mvn/wrapper/.gitignore | 1 + .mvn/wrapper/MavenWrapperDownloader.java | 98 + .mvn/wrapper/maven-wrapper.properties | 18 + CHANGELOG.md | 245 + Dockerfile | 64 + README.md | 176 + Uml/Z3Backend.gaphor | 9190 +++++++++++++++++ brunoCollection/Auth/Change Password.bru | 18 + brunoCollection/Auth/Login.bru | 28 + brunoCollection/Auth/Me.bru | 16 + brunoCollection/Auth/folder.bru | 3 + brunoCollection/Brands/Create Brand.bru | 26 + brunoCollection/Brands/Get Brand.bru | 15 + brunoCollection/Brands/List Brands.bru | 18 + brunoCollection/Brands/Update Brand.bru | 26 + brunoCollection/Brands/folder.bru | 3 + brunoCollection/Catalogs/Create Catalog.bru | 23 + brunoCollection/Catalogs/Delete Catalog.bru | 11 + brunoCollection/Catalogs/Get Catalog.bru | 15 + brunoCollection/Catalogs/List Catalogs.bru | 19 + brunoCollection/Catalogs/Update Catalog.bru | 18 + brunoCollection/Catalogs/folder.bru | 3 + brunoCollection/Links/Create Link.bru | 26 + brunoCollection/Links/Get Link.bru | 11 + .../Links/Link export no brand.bru | 11 + .../Links/Link export with brand.bru | 11 + .../Links/Link export with catalog.bru | 11 + brunoCollection/Links/Link import.bru | 19 + brunoCollection/Links/List Links.bru | 22 + .../Links/Statistics/For all Brands.bru | 11 + .../Links/Statistics/For all Catalogs of.bru | 19 + .../Links/Statistics/For all Tag of.bru | 19 + .../Global Statistics For Brand.bru | 15 + .../Links/Statistics/Global Statistics.bru | 15 + brunoCollection/Links/Statistics/folder.bru | 3 + brunoCollection/Links/Update Link.bru | 20 + brunoCollection/Links/Verify Link.bru | 11 + brunoCollection/Links/folder.bru | 3 + .../Link Redirection With Additionals.bru | 29 + .../Public/Link Redirection slim.bru | 11 + brunoCollection/Public/Link Redirection.bru | 25 + brunoCollection/Public/Root Url.bru | 11 + brunoCollection/Public/folder.bru | 3 + .../Reporting/Get Reporting Subscriptions.bru | 11 + .../Update Reproting Subscriptions.bru | 19 + .../Invalid Links Per Week By Brands.bru | 11 + .../Most Frequent Referrers With Brands.bru | 11 + .../Top Visited Sources With Brands.bru | 11 + .../Unique Visitors By Catalogs.bru | 11 + .../Statistics/Unique Visitors by Brands.bru | 11 + brunoCollection/Tags/Create Tag.bru | 23 + brunoCollection/Tags/Delete Tag.bru | 11 + brunoCollection/Tags/Get Tag.bru | 15 + brunoCollection/Tags/List Tags.bru | 17 + brunoCollection/Tags/Update Tag.bru | 18 + brunoCollection/Tags/folder.bru | 3 + brunoCollection/Users/Create User.bru | 28 + brunoCollection/Users/Delete User.bru | 11 + brunoCollection/Users/Get User.bru | 15 + brunoCollection/Users/List Users.bru | 18 + brunoCollection/Users/Reset User Password.bru | 15 + brunoCollection/Users/Update User.bru | 20 + brunoCollection/Users/folder.bru | 3 + brunoCollection/bruno.json | 9 + brunoCollection/collection.bru | 20 + config/checkstyle-suppressions.xml | 11 + config/google_checks.xml | 420 + mvnw | 308 + mvnw.cmd | 205 + pom.xml | 201 + z3-application/.env.example | 43 + z3-application/pom.xml | 187 + .../z3/application/api/RootResource.java | 23 + .../api/v1/auth/ChangePasswordResource.java | 57 + .../api/v1/auth/GetProfileResource.java | 50 + .../api/v1/auth/LoginResource.java | 45 + .../application/api/v1/auth/package-info.java | 4 + .../api/v1/brand/CreateBrandResource.java | 48 + .../api/v1/brand/GetBrandResource.java | 43 + .../api/v1/brand/ListBrandsResource.java | 51 + .../api/v1/brand/UpdateBrandResource.java | 45 + .../api/v1/brand/package-info.java | 4 + .../api/v1/catalog/CreateCatalogResource.java | 48 + .../api/v1/catalog/GetCatalogResource.java | 43 + .../api/v1/catalog/ListCatalogsResource.java | 58 + .../api/v1/catalog/RemoveCatalogResource.java | 45 + .../api/v1/catalog/UpdateCatalogResource.java | 50 + .../api/v1/catalog/package-info.java | 4 + .../api/v1/link/CreateLinkResource.java | 62 + .../api/v1/link/ExportLinksResource.java | 217 + .../api/v1/link/GetLinkResource.java | 43 + .../api/v1/link/ImportLinksResource.java | 231 + .../api/v1/link/ListLinksResource.java | 100 + .../api/v1/link/RedirectLinkResource.java | 99 + .../api/v1/link/UpdateLinkResource.java | 53 + .../api/v1/link/VerifyLinkResource.java | 44 + .../application/api/v1/link/package-info.java | 4 + .../GetReportingSubscriptionsResource.java | 47 + ...ateUserReportingSubscriptionsResource.java | 48 + .../GetLinksStatisticsResource.java | 109 + .../v1/statistics/InvalidLinksResource.java | 43 + .../api/v1/statistics/TopListResource.java | 61 + .../v1/statistics/UniqueVisitorsResource.java | 62 + .../api/v1/statistics/package-info.java | 4 + .../api/v1/tag/CreateTagResource.java | 46 + .../api/v1/tag/GetTagResource.java | 42 + .../api/v1/tag/ListTagsResource.java | 52 + .../api/v1/tag/RemoveTagResource.java | 42 + .../api/v1/tag/UpdateTagResource.java | 47 + .../application/api/v1/tag/package-info.java | 4 + .../api/v1/user/CreateUserResource.java | 70 + .../api/v1/user/GetUserResource.java | 43 + .../api/v1/user/ListUsersResource.java | 54 + .../api/v1/user/RemoveUserResource.java | 58 + .../v1/user/ResetUserPasswordResource.java | 63 + .../api/v1/user/UpdateUserResource.java | 75 + .../application/api/v1/user/package-info.java | 4 + .../z3/application/context/UserContext.java | 24 + .../application/context/UserContextImpl.java | 90 + .../application/context/UserContextNull.java | 76 + .../di/UseCaseExecutorProducer.java | 66 + .../pegase/z3/application/dto/MessageDto.java | 7 + .../z3/application/dto/PaginatedDto.java | 26 + .../z3/application/dto/package-info.java | 4 + .../events/LinkRedirectedEvent.java | 22 + .../events/LinkRedirectionEventListener.java | 183 + .../z3/application/events/package-info.java | 4 + .../exception/AuthorizationException.java | 26 + .../exception/ServerErrorException.java | 26 + .../exception/ValidationException.java | 43 + .../lifecycle/AppLifecycleBean.java | 97 + .../auth/AuthenticateUserPresenter.java | 49 + .../auth/ChangePasswordPresenter.java | 42 + .../presenter/auth/UserContextPresenter.java | 35 + .../presenter/auth/package-info.java | 4 + .../presenter/brand/CreateBrandPresenter.java | 47 + .../presenter/brand/GetBrandPresenter.java | 45 + .../presenter/brand/ListBrandsPresenter.java | 43 + .../presenter/brand/UpdateBrandPresenter.java | 54 + .../presenter/brand/package-info.java | 4 + .../catalog/CreateCatalogPresenter.java | 50 + .../catalog/GetCatalogPresenter.java | 48 + .../catalog/ListCatalogsPresenter.java | 47 + .../catalog/RemoveCatalogPresenter.java | 29 + .../catalog/UpdateCatalogPresenter.java | 56 + .../presenter/catalog/package-info.java | 4 + .../presenter/link/CreateLinkPresenter.java | 107 + .../link/CsvPartialExportLinkPresenter.java | 132 + .../presenter/link/GetLinkPresenter.java | 107 + .../presenter/link/ImportLinksPresenter.java | 58 + .../presenter/link/ListLinksPresenter.java | 103 + .../link/ResolveLinkResponsePresenter.java | 46 + .../presenter/link/UpdateLinkPresenter.java | 114 + .../presenter/link/VerifyLinkPresenter.java | 39 + .../presenter/link/package-info.java | 4 + .../GetReportingSubscriptionsPresenter.java | 47 + ...teUserReportingSubscriptionsPresenter.java | 68 + .../GetGlobalStatisticsPresenter.java | 40 + .../GetLinksStatisticsPresenter.java | 44 + .../InvalidLinksPerWeekPresenter.java | 48 + .../MostFrequentReferrersPresenter.java | 41 + .../MostVisitedSourcePresenter.java | 41 + .../UniqueVisitorsByBrandPresenter.java | 64 + .../UniqueVisitorsPresenterByCatalog.java | 64 + .../presenter/tag/CreateTagPresenter.java | 39 + .../presenter/tag/GetTagPresenter.java | 39 + .../presenter/tag/ListTagsPresenter.java | 37 + .../presenter/tag/RemoveTagPresenter.java | 29 + .../presenter/tag/UpdateTagPresenter.java | 40 + .../presenter/tag/package-info.java | 4 + .../presenter/user/CreateUserPresenter.java | 79 + .../presenter/user/GetUserPresenter.java | 66 + .../presenter/user/ListUsersPresenter.java | 52 + .../presenter/user/RemoveUserPresenter.java | 35 + .../user/ResetUserPasswordPresenter.java | 44 + .../presenter/user/UpdateUserPresenter.java | 72 + .../presenter/user/package-info.java | 4 + .../producer/UserContextProducer.java | 50 + .../provider/JwtContextFilter.java | 51 + .../AuthenticationExceptionMapper.java | 35 + .../AutorisationExceptionMapper.java | 28 + .../exception/ErrorJsonExceptionMapper.java | 73 + .../exception/ForbiddenExceptionMapper.java | 34 + .../InvalidFormatExceptionMapper.java | 54 + .../JsonProcessingExceptionMapper.java | 29 + .../exception/ValidationExceptionMapper.java | 109 + .../provider/exception/package-info.java | 4 + .../z3/application/provider/package-info.java | 4 + .../z3/application/request/Request.java | 49 + .../application/request/auth/AuthRequest.java | 23 + .../request/auth/ChangePasswordRequest.java | 31 + .../request/brand/CreateBrandRequest.java | 37 + .../brand/PaginatedBrandListRequest.java | 33 + .../request/brand/UpdateBrandRequest.java | 38 + .../request/brand/package-info.java | 4 + .../request/catalog/CreateCatalogRequest.java | 28 + .../catalog/PaginatedCatalogListRequest.java | 44 + .../request/catalog/UpdateCatalogRequest.java | 24 + .../request/catalog/package-info.java | 4 + .../request/link/CreateLinkRequest.java | 65 + .../link/PaginatedLinkListRequest.java | 111 + .../request/link/RedirectLinkRequest.java | 168 + .../request/link/UpdateLinkRequest.java | 51 + .../request/link/package-info.java | 4 + ...dateUserReportingSubscriptionsRequest.java | 19 + .../request/tag/CreateTagRequest.java | 28 + .../request/tag/PaginatedTagListRequest.java | 33 + .../request/tag/UpdateTagRequest.java | 28 + .../application/request/tag/package-info.java | 4 + .../request/user/CreateUserRequest.java | 67 + .../user/PaginatedUserListRequest.java | 33 + .../request/user/UpdateUserRequest.java | 47 + .../ReportingSubscriptionScheduler.java | 53 + .../src/main/resources/application.properties | 132 + .../db/migration/R__data_for_test.sql | 46 + .../db/migration/R_data_for_test.sql.conf | 1 + .../resources/db/migration/V1.0.0__init.sql | 141 + .../db/migration/V1.0.1__user_brand.sql | 25 + .../V1.0.3__user_reporting_subscription.sql | 23 + .../V1.0.4__change_Is_valid_on_links.sql | 4 + .../db/migration/V1.0.5__domain_names.sql | 15 + .../V1.1.0__create_link_statistics.sql | 52 + .../templates/links-import-template.csv | 2 + .../application/api/v1/RootResourceTest.java | 18 + .../api/v1/link/RedirectLinkOutputTest.java | 209 + z3-cli/.env.example | 10 + z3-cli/pom.xml | 131 + .../tech/pegase/z3/cli/CommandRunner.java | 63 + .../main/java/tech/pegase/z3/cli/Main.java | 12 + .../java/tech/pegase/z3/cli/SeederConfig.java | 22 + .../pegase/z3/cli/params/SeederParam.java | 11 + .../tech/pegase/z3/cli/seeders/Seeder.java | 5 + .../pegase/z3/cli/seeders/SeederFactory.java | 35 + .../pegase/z3/cli/seeders/SeederRunner.java | 33 + .../pegase/z3/cli/seeders/UserSeeder.java | 60 + .../pegase/z3/cli/seeders/package-info.java | 4 + .../src/main/resources/application.properties | 14 + z3-domain/pom.xml | 145 + .../tech/pegase/z3/domain/entity/Brand.java | 104 + .../tech/pegase/z3/domain/entity/Catalog.java | 76 + .../pegase/z3/domain/entity/Credential.java | 68 + .../tech/pegase/z3/domain/entity/Link.java | 175 + .../domain/entity/ReportingSubscription.java | 54 + .../tech/pegase/z3/domain/entity/Tag.java | 69 + .../tech/pegase/z3/domain/entity/User.java | 138 + .../converters/StringCryptoConverter.java | 41 + .../pegase/z3/domain/entity/package-info.java | 4 + .../exception/CannotAssignFqdnException.java | 16 + .../port/repository/BrandRepository.java | 34 + .../port/repository/CatalogRepository.java | 37 + .../port/repository/CredentialRepository.java | 27 + .../port/repository/LinkRepository.java | 83 + .../ReportingSubscriptionRepository.java | 16 + .../domain/port/repository/TagRepository.java | 30 + .../port/repository/UserRepository.java | 33 + .../domain/port/repository/package-info.java | 4 + .../z3/domain/port/service/CsvEditor.java | 9 + .../port/service/EncryptionProvider.java | 13 + .../z3/domain/port/service/HashProvider.java | 15 + .../z3/domain/port/service/JwtGenerator.java | 8 + .../z3/domain/port/service/MessageSender.java | 13 + .../port/service/PasswordGenerator.java | 5 + .../port/service/RandomSourceGenerator.java | 7 + .../z3/domain/port/service/Slugifyier.java | 7 + .../z3/domain/port/service/UrlChecker.java | 12 + .../z3/domain/port/service/package-info.java | 4 + .../z3/domain/service/DomainNameService.java | 8 + .../domain/service/DomainNameServiceImpl.java | 29 + .../z3/domain/service/VerifyLinkService.java | 7 + .../domain/service/VerifyLinkServiceImpl.java | 53 + .../z3/domain/service/package-info.java | 4 + .../domain/usecase/auth/AuthenticateUser.java | 17 + .../usecase/auth/AuthenticateUserImpl.java | 64 + .../z3/domain/usecase/auth/package-info.java | 4 + .../z3/domain/usecase/brands/CreateBrand.java | 24 + .../usecase/brands/CreateBrandImpl.java | 101 + .../z3/domain/usecase/brands/GetBrand.java | 23 + .../domain/usecase/brands/GetBrandImpl.java | 60 + .../z3/domain/usecase/brands/ListBrands.java | 20 + .../domain/usecase/brands/ListBrandsImpl.java | 41 + .../z3/domain/usecase/brands/UpdateBrand.java | 25 + .../usecase/brands/UpdateBrandImpl.java | 117 + .../domain/usecase/brands/package-info.java | 4 + .../usecase/catalogs/CreateCatalog.java | 21 + .../usecase/catalogs/CreateCatalogImpl.java | 69 + .../domain/usecase/catalogs/GetCatalog.java | 20 + .../usecase/catalogs/GetCatalogImpl.java | 40 + .../domain/usecase/catalogs/ListCatalogs.java | 21 + .../usecase/catalogs/ListCatalogsImpl.java | 46 + .../usecase/catalogs/RemoveCatalog.java | 17 + .../usecase/catalogs/RemoveCatalogImpl.java | 64 + .../usecase/catalogs/UpdateCatalog.java | 23 + .../usecase/catalogs/UpdateCatalogImpl.java | 75 + .../domain/usecase/catalogs/package-info.java | 4 + .../z3/domain/usecase/links/CreateLink.java | 49 + .../domain/usecase/links/CreateLinkImpl.java | 159 + .../z3/domain/usecase/links/ExportLinks.java | 48 + .../domain/usecase/links/ExportLinksImpl.java | 155 + .../z3/domain/usecase/links/GetLink.java | 40 + .../z3/domain/usecase/links/GetLinkImpl.java | 101 + .../z3/domain/usecase/links/ImportLinks.java | 31 + .../domain/usecase/links/ImportLinksImpl.java | 191 + .../z3/domain/usecase/links/ListLinks.java | 50 + .../domain/usecase/links/ListLinksImpl.java | 124 + .../z3/domain/usecase/links/RedirectLink.java | 23 + .../usecase/links/RedirectLinkImpl.java | 82 + .../z3/domain/usecase/links/UpdateLink.java | 49 + .../domain/usecase/links/UpdateLinkImpl.java | 126 + .../z3/domain/usecase/links/VerifyLink.java | 20 + .../domain/usecase/links/VerifyLinkImpl.java | 40 + .../z3/domain/usecase/links/package-info.java | 4 + .../reporting/GetReportingSubscriptions.java | 20 + .../GetReportingSubscriptionsImpl.java | 37 + .../domain/usecase/reporting/SendReports.java | 18 + .../usecase/reporting/SendReportsImpl.java | 234 + .../UpdateUserReportingSubscriptions.java | 24 + .../UpdateUserReportingSubscriptionsImpl.java | 93 + .../usecase/reporting/package-info.java | 4 + .../statistics/GetGlobalStatistics.java | 44 + .../statistics/GetGlobalStatisticsImpl.java | 118 + .../statistics/GetLinksStatistics.java | 25 + .../statistics/GetLinksStatisticsImpl.java | 187 + .../usecase/statistics/package-info.java | 4 + .../z3/domain/usecase/tags/CreateTag.java | 21 + .../z3/domain/usecase/tags/CreateTagImpl.java | 58 + .../pegase/z3/domain/usecase/tags/GetTag.java | 20 + .../z3/domain/usecase/tags/GetTagImpl.java | 47 + .../z3/domain/usecase/tags/ListTags.java | 19 + .../z3/domain/usecase/tags/ListTagsImpl.java | 39 + .../z3/domain/usecase/tags/RemoveTag.java | 17 + .../z3/domain/usecase/tags/RemoveTagImpl.java | 62 + .../z3/domain/usecase/tags/UpdateTag.java | 21 + .../z3/domain/usecase/tags/UpdateTagImpl.java | 76 + .../z3/domain/usecase/tags/package-info.java | 4 + .../usecase/users/ChangeUserPassword.java | 22 + .../usecase/users/ChangeUserPasswordImpl.java | 69 + .../z3/domain/usecase/users/CreateUser.java | 51 + .../domain/usecase/users/CreateUserImpl.java | 184 + .../z3/domain/usecase/users/GetUser.java | 28 + .../z3/domain/usecase/users/GetUserImpl.java | 45 + .../z3/domain/usecase/users/ListUsers.java | 20 + .../domain/usecase/users/ListUsersImpl.java | 40 + .../z3/domain/usecase/users/RemoveUser.java | 19 + .../domain/usecase/users/RemoveUserImpl.java | 56 + .../usecase/users/ResetUserPassword.java | 20 + .../usecase/users/ResetUserPasswordImpl.java | 93 + .../z3/domain/usecase/users/UpdateUser.java | 32 + .../domain/usecase/users/UpdateUserImpl.java | 85 + .../z3/domain/usecase/users/package-info.java | 4 + .../pegase/z3/domain/valueobject/Color.java | 50 + .../pegase/z3/domain/valueobject/Email.java | 22 + .../pegase/z3/domain/valueobject/Fqdn.java | 98 + .../z3/domain/valueobject/JwtToken.java | 11 + .../z3/domain/valueobject/LinkValidity.java | 44 + .../pegase/z3/domain/valueobject/Login.java | 20 + .../pegase/z3/domain/valueobject/Message.java | 17 + .../z3/domain/valueobject/Password.java | 39 + .../pegase/z3/domain/valueobject/Role.java | 21 + .../pegase/z3/domain/valueobject/Slug.java | 30 + .../valueobject/SubscriptionReport.java | 20 + .../pegase/z3/domain/valueobject/Target.java | 59 + .../valueobject/concepts/Filtering.java | 10 + .../valueobject/concepts/FilteringField.java | 6 + .../concepts/FilteringFieldValue.java | 9 + .../z3/domain/valueobject/concepts/Hash.java | 6 + .../domain/valueobject/concepts/Ordering.java | 39 + .../valueobject/concepts/OrderingField.java | 6 + .../valueobject/concepts/Searching.java | 24 + .../valueobject/concepts/SearchingField.java | 6 + .../valueobject/concepts/package-info.java | 4 + .../valueobject/errors/InvalidField.java | 7 + .../valueobject/errors/InvalidFields.java | 15 + .../valueobject/filterings/LinkFiltering.java | 77 + .../valueobject/hashes/PasswordHash.java | 32 + .../valueobject/hashes/package-info.java | 4 + .../valueobject/orderings/LinkOrdering.java | 56 + .../z3/domain/valueobject/package-info.java | 4 + .../valueobject/searchings/LinkSearching.java | 45 + .../src/main/resources/META-INF/beans.xml | 0 .../pegase/z3/domain/entity/BrandTest.java | 51 + .../pegase/z3/domain/entity/CatalogTest.java | 49 + .../z3/domain/entity/CredentialTest.java | 56 + .../pegase/z3/domain/entity/LinkTest.java | 86 + .../entity/ReportingSubscriptionTest.java | 33 + .../tech/pegase/z3/domain/entity/TagTest.java | 31 + .../pegase/z3/domain/entity/UserTest.java | 122 + .../converter/StringCryptoConverterTest.java | 101 + .../domain/service/DomainNameServiceTest.java | 89 + .../domain/service/VerifyLinkServiceTest.java | 138 + .../usecase/auth/AuthenticateUserTest.java | 131 + .../usecase/brands/CreateBrandTest.java | 176 + .../domain/usecase/brands/GetBrandTest.java | 123 + .../domain/usecase/brands/ListBrandsTest.java | 56 + .../usecase/brands/UpdateBrandTest.java | 192 + .../usecase/catalogs/CreateCatalogTest.java | 118 + .../usecase/catalogs/GetCatalogTest.java | 50 + .../usecase/catalogs/ListCatalogsTest.java | 88 + .../usecase/catalogs/RemoveCatalogTest.java | 76 + .../usecase/catalogs/UpdateCatalogTest.java | 129 + .../domain/usecase/links/CreateLinkTest.java | 276 + .../domain/usecase/links/ExportLinkTest.java | 260 + .../z3/domain/usecase/links/GetLinkTest.java | 163 + .../domain/usecase/links/ImportLinksTest.java | 417 + .../domain/usecase/links/ListLinksTest.java | 109 + .../usecase/links/RedirectLinkTest.java | 214 + .../domain/usecase/links/UpdateLinkTest.java | 219 + .../domain/usecase/links/VerifyLinkTest.java | 77 + .../GetReportingSubscriptionsTest.java | 69 + .../usecase/reporting/SendReportsTest.java | 238 + .../UpdateUserReportingSubscriptionsTest.java | 130 + .../statistics/GetGlobalStatisticsTest.java | 91 + .../statistics/GetLinkStatisticsTest.java | 264 + .../usecase/tags/CreateTagImplTest.java | 85 + .../z3/domain/usecase/tags/GetTagTest.java | 50 + .../z3/domain/usecase/tags/ListTagsTest.java | 59 + .../usecase/tags/RemoveTagImplTest.java | 76 + .../usecase/tags/UpdateTagImplTest.java | 116 + .../usecase/users/ChangeUserPasswordTest.java | 158 + .../domain/usecase/users/CreateUserTest.java | 354 + .../z3/domain/usecase/users/GetUserTest.java | 50 + .../domain/usecase/users/ListUsersTest.java | 38 + .../domain/usecase/users/RemoveUserTest.java | 116 + .../usecase/users/ResetUserPasswordTest.java | 163 + .../domain/usecase/users/UpdateUserTest.java | 136 + .../z3/domain/valueobject/ColorTest.java | 74 + .../z3/domain/valueobject/EmailTest.java | 30 + .../z3/domain/valueobject/FqdnTest.java | 108 + .../z3/domain/valueobject/JwtTokenTest.java | 14 + .../domain/valueobject/LinkFilteringTest.java | 108 + .../domain/valueobject/LinkOrderingTest.java | 100 + .../domain/valueobject/LinkSearchingTest.java | 99 + .../domain/valueobject/LinkValidityTest.java | 37 + .../z3/domain/valueobject/LoginTest.java | 45 + .../z3/domain/valueobject/MessageTest.java | 51 + .../valueobject/OrderingDirectionTest.java | 19 + .../domain/valueobject/PasswordHashTest.java | 67 + .../z3/domain/valueobject/PasswordTest.java | 62 + .../z3/domain/valueobject/RoleTest.java | 28 + .../z3/domain/valueobject/SlugTest.java | 30 + .../z3/domain/valueobject/SourceTest.java | 97 + .../valueobject/SubscriptionReportTest.java | 70 + .../z3/domain/valueobject/TargetTest.java | 62 + z3-infrastructure/pom.xml | 195 + .../brands/BrandDatabaseRepository.java | 144 + .../brands/BrandInMemoryRepository.java | 89 + .../catalogs/CatalogDatabaseRepository.java | 175 + .../catalogs/CatalogInMemoryRepository.java | 113 + .../CredentialDatabaseRepository.java | 82 + .../CredentialInMemoryRepository.java | 77 + .../links/LinkDatabaseRepository.java | 368 + .../links/LinkInMemoryRepository.java | 290 + ...portingSubscriptionDatabaseRepository.java | 105 + ...portingSubscriptionInMemoryRepository.java | 57 + .../tags/TagDatabaseRepository.java | 139 + .../tags/TagInMemoryRepository.java | 79 + .../users/UserDatabaseRepository.java | 103 + .../users/UserInMemoryRepository.java | 101 + .../service/AesEncryptionProviderImpl.java | 202 + .../service/Argon2HashProviderImpl.java | 124 + .../adapter/service/CsvEditorImpl.java | 42 + .../adapter/service/HttpUrlCheckerImpl.java | 88 + .../adapter/service/JwtGeneratorImpl.java | 29 + .../service/PasswordGeneratorImpl.java | 67 + .../RandomSourceGeneratorBase32Impl.java | 21 + .../adapter/service/SlugifyierImpl.java | 33 + .../service/SmtpMessageSenderImpl.java | 29 + .../adapter/service/package-info.java | 4 + .../src/main/resources/META-INF/beans.xml | 0 .../src/main/resources/application.properties | 3 + .../AesEncryptionProviderImplTest.java | 73 + .../service/Argon2HashProviderImplTest.java | 55 + .../service/HttpUrlCheckerImplTest.java | 90 + .../service/SmtpMessageSenderImplTest.java | 55 + .../org.mockito.plugins.MockMaker | 1 + z3-shared/pom.xml | 120 + .../ExcludeFromJacocoGeneratedReport.java | 12 + .../z3/shared/lib/ReadOnlyCollectors.java | 78 + .../pegase/z3/shared/lib/ReadOnlyList.java | 131 + .../pegase/z3/shared/lib/ReadOnlyMap.java | 70 + .../pegase/z3/shared/lib/ReadOnlySet.java | 79 + .../pegase/z3/shared/lib/package-info.java | 4 + .../z3/shared/pagination/PaginatedData.java | 52 + .../z3/shared/pagination/Pagination.java | 59 + .../pegase/z3/shared/valueobject/Source.java | 63 + .../src/main/resources/META-INF/beans.xml | 0 z3-statistics-domain/pom.xml | 140 + .../domain/entity/LinkStatistic.java | 220 + .../domain/entity/package-info.java | 4 + .../builder/LinkStatisticBuilder.java | 65 + .../builder/LinkStatisticBuilderImpl.java | 143 + .../link/statistic/builder/package-info.java | 4 + .../repository/LinkStatisticRepository.java | 37 + .../domain/port/service/GeoIpService.java | 9 + .../domain/port/service/HashService.java | 5 + .../domain/port/service/UserAgentService.java | 14 + .../domain/port/service/package-info.java | 4 + .../domain/usecase/links/VisitLink.java | 39 + .../domain/usecase/links/VisitLinkImpl.java | 131 + .../domain/usecase/links/package-info.java | 4 + .../GetInvalidLinksCountsPerWeek.java | 16 + .../GetInvalidLinksCountsPerWeekImpl.java | 35 + .../statistics/MostFrequentReferrers.java | 16 + .../statistics/MostFrequentReferrersImpl.java | 35 + .../usecase/statistics/MostVisitedSource.java | 16 + .../statistics/MostVisitedSourceImpl.java | 35 + .../statistics/UniqueVisitorsByBrand.java | 16 + .../statistics/UniqueVisitorsByBrandImpl.java | 34 + .../statistics/UniqueVisitorsByCatalog.java | 16 + .../UniqueVisitorsByCatalogImpl.java | 34 + .../usecase/statistics/package-info.java | 4 + .../usecase/tracking/CreateFingerprint.java | 20 + .../tracking/CreateFingerprintImpl.java | 55 + .../domain/usecase/tracking/package-info.java | 4 + .../domain/valueobject/BrowserInfo.java | 32 + .../domain/valueobject/Country.java | 309 + .../domain/valueobject/Fingerprint.java | 12 + .../statistics/domain/valueobject/Locale.java | 21 + .../valueobject/OperatingSystemInfo.java | 32 + .../domain/valueobject/RawUserAgent.java | 9 + .../domain/valueobject/Referrer.java | 23 + .../domain/valueobject/ScreenProperties.java | 18 + .../domain/valueobject/UserType.java | 9 + .../domain/valueobject/package-info.java | 4 + .../valueobject/statistics/StatisticLine.java | 9 + .../statistics/StatisticLinePerInterval.java | 11 + .../statistics/StatisticLineWithEntity.java | 12 + .../valueobject/statistics/package-info.java | 4 + .../src/main/resources/META-INF/beans.xml | 0 .../domain/entity/LinkStatisticTest.java | 113 + .../domain/lib/LinkStatisticsBuilderTest.java | 87 + .../usecase/links/VisitLinkImplTest.java | 112 + .../GetInvalidLinksCountsPerWeekTest.java | 40 + .../statistics/MostFrequentReferrersTest.java | 40 + .../statistics/MostVisitedSourceTest.java | 40 + .../statistics/UniqueVisitorsByBrandTest.java | 40 + .../UniqueVisitorsByCatalogTest.java | 40 + .../tracking/CreateFingerprintTest.java | 43 + .../domain/valueobject/BrowserInfoTest.java | 90 + .../domain/valueobject/CountryTest.java | 66 + .../domain/valueobject/FingerprintTest.java | 25 + .../domain/valueobject/LocaleTest.java | 57 + .../valueobject/OperatingSystemInfoTest.java | 89 + .../domain/valueobject/RawUserAgentTest.java | 33 + .../domain/valueobject/ReferrerTest.java | 67 + .../valueobject/ScreenPropertiesTest.java | 53 + .../StatisticLinePerIntervalTest.java | 38 + .../statistics/StatisticLineTest.java | 35 + .../StatisticLineWithEntityTest.java | 53 + z3-statistics-infrastructure/pom.xml | 174 + .../LinkStatisticDatabaseRepository.java | 329 + .../link/statistic/package-info.java | 4 + .../adapter/service/GeoIpServiceImpl.java | 43 + .../adapter/service/UserAgentServiceImpl.java | 143 + .../service/hash/HashServiceProducer.java | 14 + .../hash/HashServiceWithBlake128Impl.java | 22 + .../adapter/service/hash/package-info.java | 4 + .../adapter/service/package-info.java | 4 + .../hibernate/functions/HqlDateTrunc.java | 20 + .../hibernate/functions/HqlDayOfYear.java | 20 + .../hibernate/functions/package-info.java | 4 + .../src/main/resources/GeoLite2-Country.mmdb | Bin 0 -> 7774861 bytes .../src/main/resources/META-INF/beans.xml | 0 ...g.hibernate.boot.model.FunctionContributor | 2 + 566 files changed, 40611 insertions(+) create mode 100644 .dockerignore create mode 100644 .gitignore create mode 100644 .gitlab-ci.yml create mode 100644 .mvn/wrapper/.gitignore create mode 100644 .mvn/wrapper/MavenWrapperDownloader.java create mode 100644 .mvn/wrapper/maven-wrapper.properties create mode 100644 CHANGELOG.md create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 Uml/Z3Backend.gaphor create mode 100644 brunoCollection/Auth/Change Password.bru create mode 100644 brunoCollection/Auth/Login.bru create mode 100644 brunoCollection/Auth/Me.bru create mode 100644 brunoCollection/Auth/folder.bru create mode 100644 brunoCollection/Brands/Create Brand.bru create mode 100644 brunoCollection/Brands/Get Brand.bru create mode 100644 brunoCollection/Brands/List Brands.bru create mode 100644 brunoCollection/Brands/Update Brand.bru create mode 100644 brunoCollection/Brands/folder.bru create mode 100644 brunoCollection/Catalogs/Create Catalog.bru create mode 100644 brunoCollection/Catalogs/Delete Catalog.bru create mode 100644 brunoCollection/Catalogs/Get Catalog.bru create mode 100644 brunoCollection/Catalogs/List Catalogs.bru create mode 100644 brunoCollection/Catalogs/Update Catalog.bru create mode 100644 brunoCollection/Catalogs/folder.bru create mode 100644 brunoCollection/Links/Create Link.bru create mode 100644 brunoCollection/Links/Get Link.bru create mode 100644 brunoCollection/Links/Link export no brand.bru create mode 100644 brunoCollection/Links/Link export with brand.bru create mode 100644 brunoCollection/Links/Link export with catalog.bru create mode 100644 brunoCollection/Links/Link import.bru create mode 100644 brunoCollection/Links/List Links.bru create mode 100644 brunoCollection/Links/Statistics/For all Brands.bru create mode 100644 brunoCollection/Links/Statistics/For all Catalogs of.bru create mode 100644 brunoCollection/Links/Statistics/For all Tag of.bru create mode 100644 brunoCollection/Links/Statistics/Global Statistics For Brand.bru create mode 100644 brunoCollection/Links/Statistics/Global Statistics.bru create mode 100644 brunoCollection/Links/Statistics/folder.bru create mode 100644 brunoCollection/Links/Update Link.bru create mode 100644 brunoCollection/Links/Verify Link.bru create mode 100644 brunoCollection/Links/folder.bru create mode 100644 brunoCollection/Public/Link Redirection With Additionals.bru create mode 100644 brunoCollection/Public/Link Redirection slim.bru create mode 100644 brunoCollection/Public/Link Redirection.bru create mode 100644 brunoCollection/Public/Root Url.bru create mode 100644 brunoCollection/Public/folder.bru create mode 100644 brunoCollection/Reporting/Get Reporting Subscriptions.bru create mode 100644 brunoCollection/Reporting/Update Reproting Subscriptions.bru create mode 100644 brunoCollection/Statistics/Invalid Links Per Week By Brands.bru create mode 100644 brunoCollection/Statistics/Most Frequent Referrers With Brands.bru create mode 100644 brunoCollection/Statistics/Top Visited Sources With Brands.bru create mode 100644 brunoCollection/Statistics/Unique Visitors By Catalogs.bru create mode 100644 brunoCollection/Statistics/Unique Visitors by Brands.bru create mode 100644 brunoCollection/Tags/Create Tag.bru create mode 100644 brunoCollection/Tags/Delete Tag.bru create mode 100644 brunoCollection/Tags/Get Tag.bru create mode 100644 brunoCollection/Tags/List Tags.bru create mode 100644 brunoCollection/Tags/Update Tag.bru create mode 100644 brunoCollection/Tags/folder.bru create mode 100644 brunoCollection/Users/Create User.bru create mode 100644 brunoCollection/Users/Delete User.bru create mode 100644 brunoCollection/Users/Get User.bru create mode 100644 brunoCollection/Users/List Users.bru create mode 100644 brunoCollection/Users/Reset User Password.bru create mode 100644 brunoCollection/Users/Update User.bru create mode 100644 brunoCollection/Users/folder.bru create mode 100644 brunoCollection/bruno.json create mode 100644 brunoCollection/collection.bru create mode 100644 config/checkstyle-suppressions.xml create mode 100644 config/google_checks.xml create mode 100755 mvnw create mode 100755 mvnw.cmd create mode 100644 pom.xml create mode 100644 z3-application/.env.example create mode 100644 z3-application/pom.xml create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/RootResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/auth/ChangePasswordResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/auth/GetProfileResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/auth/LoginResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/auth/package-info.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/brand/CreateBrandResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/brand/GetBrandResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/brand/ListBrandsResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/brand/UpdateBrandResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/brand/package-info.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/CreateCatalogResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/GetCatalogResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/ListCatalogsResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/RemoveCatalogResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/UpdateCatalogResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/package-info.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/CreateLinkResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/ExportLinksResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/GetLinkResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/ImportLinksResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/ListLinksResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/RedirectLinkResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/UpdateLinkResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/VerifyLinkResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/package-info.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/reporting/GetReportingSubscriptionsResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/reporting/UpdateUserReportingSubscriptionsResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/statistics/GetLinksStatisticsResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/statistics/InvalidLinksResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/statistics/TopListResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/statistics/UniqueVisitorsResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/statistics/package-info.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/CreateTagResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/GetTagResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/ListTagsResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/RemoveTagResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/UpdateTagResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/package-info.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/CreateUserResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/GetUserResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/ListUsersResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/RemoveUserResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/ResetUserPasswordResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/UpdateUserResource.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/package-info.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/context/UserContext.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/context/UserContextImpl.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/context/UserContextNull.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/di/UseCaseExecutorProducer.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/dto/MessageDto.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/dto/PaginatedDto.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/dto/package-info.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/events/LinkRedirectedEvent.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/events/LinkRedirectionEventListener.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/events/package-info.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/exception/AuthorizationException.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/exception/ServerErrorException.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/exception/ValidationException.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/lifecycle/AppLifecycleBean.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/auth/AuthenticateUserPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/auth/ChangePasswordPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/auth/UserContextPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/auth/package-info.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/brand/CreateBrandPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/brand/GetBrandPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/brand/ListBrandsPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/brand/UpdateBrandPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/brand/package-info.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/CreateCatalogPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/GetCatalogPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/ListCatalogsPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/RemoveCatalogPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/UpdateCatalogPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/package-info.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/link/CreateLinkPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/link/CsvPartialExportLinkPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/link/GetLinkPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/link/ImportLinksPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/link/ListLinksPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/link/ResolveLinkResponsePresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/link/UpdateLinkPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/link/VerifyLinkPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/link/package-info.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/reporting/GetReportingSubscriptionsPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/reporting/UpdateUserReportingSubscriptionsPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/GetGlobalStatisticsPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/GetLinksStatisticsPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/InvalidLinksPerWeekPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/MostFrequentReferrersPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/MostVisitedSourcePresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/UniqueVisitorsByBrandPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/UniqueVisitorsPresenterByCatalog.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/CreateTagPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/GetTagPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/ListTagsPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/RemoveTagPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/UpdateTagPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/package-info.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/user/CreateUserPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/user/GetUserPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/user/ListUsersPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/user/RemoveUserPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/user/ResetUserPasswordPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/user/UpdateUserPresenter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/presenter/user/package-info.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/producer/UserContextProducer.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/provider/JwtContextFilter.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/provider/exception/AuthenticationExceptionMapper.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/provider/exception/AutorisationExceptionMapper.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/provider/exception/ErrorJsonExceptionMapper.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/provider/exception/ForbiddenExceptionMapper.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/provider/exception/InvalidFormatExceptionMapper.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/provider/exception/JsonProcessingExceptionMapper.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/provider/exception/ValidationExceptionMapper.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/provider/exception/package-info.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/provider/package-info.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/Request.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/auth/AuthRequest.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/auth/ChangePasswordRequest.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/brand/CreateBrandRequest.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/brand/PaginatedBrandListRequest.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/brand/UpdateBrandRequest.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/brand/package-info.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/catalog/CreateCatalogRequest.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/catalog/PaginatedCatalogListRequest.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/catalog/UpdateCatalogRequest.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/catalog/package-info.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/link/CreateLinkRequest.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/link/PaginatedLinkListRequest.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/link/RedirectLinkRequest.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/link/UpdateLinkRequest.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/link/package-info.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/reporting/UpdateUserReportingSubscriptionsRequest.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/tag/CreateTagRequest.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/tag/PaginatedTagListRequest.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/tag/UpdateTagRequest.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/tag/package-info.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/user/CreateUserRequest.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/user/PaginatedUserListRequest.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/request/user/UpdateUserRequest.java create mode 100644 z3-application/src/main/java/tech/pegase/z3/application/scheduler/ReportingSubscriptionScheduler.java create mode 100644 z3-application/src/main/resources/application.properties create mode 100644 z3-application/src/main/resources/db/migration/R__data_for_test.sql create mode 100644 z3-application/src/main/resources/db/migration/R_data_for_test.sql.conf create mode 100644 z3-application/src/main/resources/db/migration/V1.0.0__init.sql create mode 100644 z3-application/src/main/resources/db/migration/V1.0.1__user_brand.sql create mode 100644 z3-application/src/main/resources/db/migration/V1.0.3__user_reporting_subscription.sql create mode 100644 z3-application/src/main/resources/db/migration/V1.0.4__change_Is_valid_on_links.sql create mode 100644 z3-application/src/main/resources/db/migration/V1.0.5__domain_names.sql create mode 100644 z3-application/src/main/resources/db/migration/V1.1.0__create_link_statistics.sql create mode 100644 z3-application/src/main/resources/templates/links-import-template.csv create mode 100644 z3-application/src/test/java/tech/pegase/z3/application/api/v1/RootResourceTest.java create mode 100644 z3-application/src/test/java/tech/pegase/z3/application/api/v1/link/RedirectLinkOutputTest.java create mode 100644 z3-cli/.env.example create mode 100644 z3-cli/pom.xml create mode 100644 z3-cli/src/main/java/tech/pegase/z3/cli/CommandRunner.java create mode 100644 z3-cli/src/main/java/tech/pegase/z3/cli/Main.java create mode 100644 z3-cli/src/main/java/tech/pegase/z3/cli/SeederConfig.java create mode 100644 z3-cli/src/main/java/tech/pegase/z3/cli/params/SeederParam.java create mode 100644 z3-cli/src/main/java/tech/pegase/z3/cli/seeders/Seeder.java create mode 100644 z3-cli/src/main/java/tech/pegase/z3/cli/seeders/SeederFactory.java create mode 100644 z3-cli/src/main/java/tech/pegase/z3/cli/seeders/SeederRunner.java create mode 100644 z3-cli/src/main/java/tech/pegase/z3/cli/seeders/UserSeeder.java create mode 100644 z3-cli/src/main/java/tech/pegase/z3/cli/seeders/package-info.java create mode 100644 z3-cli/src/main/resources/application.properties create mode 100644 z3-domain/pom.xml create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/entity/Brand.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/entity/Catalog.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/entity/Credential.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/entity/Link.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/entity/ReportingSubscription.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/entity/Tag.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/entity/User.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/entity/converters/StringCryptoConverter.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/entity/package-info.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/exception/CannotAssignFqdnException.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/BrandRepository.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/CatalogRepository.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/CredentialRepository.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/LinkRepository.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/ReportingSubscriptionRepository.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/TagRepository.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/UserRepository.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/package-info.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/port/service/CsvEditor.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/port/service/EncryptionProvider.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/port/service/HashProvider.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/port/service/JwtGenerator.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/port/service/MessageSender.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/port/service/PasswordGenerator.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/port/service/RandomSourceGenerator.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/port/service/Slugifyier.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/port/service/UrlChecker.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/port/service/package-info.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/service/DomainNameService.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/service/DomainNameServiceImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/service/VerifyLinkService.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/service/VerifyLinkServiceImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/service/package-info.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/auth/AuthenticateUser.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/auth/AuthenticateUserImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/auth/package-info.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/CreateBrand.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/CreateBrandImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/GetBrand.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/GetBrandImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/ListBrands.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/ListBrandsImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/UpdateBrand.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/UpdateBrandImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/package-info.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/CreateCatalog.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/CreateCatalogImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/GetCatalog.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/GetCatalogImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/ListCatalogs.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/ListCatalogsImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/RemoveCatalog.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/RemoveCatalogImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/UpdateCatalog.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/UpdateCatalogImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/package-info.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/CreateLink.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/CreateLinkImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ExportLinks.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ExportLinksImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/GetLink.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/GetLinkImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ImportLinks.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ImportLinksImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ListLinks.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ListLinksImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/RedirectLink.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/RedirectLinkImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/UpdateLink.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/UpdateLinkImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/VerifyLink.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/VerifyLinkImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/package-info.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/GetReportingSubscriptions.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/GetReportingSubscriptionsImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/SendReports.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/SendReportsImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/UpdateUserReportingSubscriptions.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/UpdateUserReportingSubscriptionsImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/package-info.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/statistics/GetGlobalStatistics.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/statistics/GetGlobalStatisticsImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/statistics/GetLinksStatistics.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/statistics/GetLinksStatisticsImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/statistics/package-info.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/CreateTag.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/CreateTagImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/GetTag.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/GetTagImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/ListTags.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/ListTagsImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/RemoveTag.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/RemoveTagImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/UpdateTag.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/UpdateTagImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/package-info.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ChangeUserPassword.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ChangeUserPasswordImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/CreateUser.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/CreateUserImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/GetUser.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/GetUserImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ListUsers.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ListUsersImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/RemoveUser.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/RemoveUserImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ResetUserPassword.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ResetUserPasswordImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/UpdateUser.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/UpdateUserImpl.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/package-info.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Color.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Email.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Fqdn.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/JwtToken.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/LinkValidity.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Login.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Message.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Password.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Role.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Slug.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/SubscriptionReport.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Target.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/Filtering.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/FilteringField.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/FilteringFieldValue.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/Hash.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/Ordering.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/OrderingField.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/Searching.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/SearchingField.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/package-info.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/errors/InvalidField.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/errors/InvalidFields.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/filterings/LinkFiltering.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/hashes/PasswordHash.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/hashes/package-info.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/orderings/LinkOrdering.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/package-info.java create mode 100644 z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/searchings/LinkSearching.java create mode 100644 z3-domain/src/main/resources/META-INF/beans.xml create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/entity/BrandTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/entity/CatalogTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/entity/CredentialTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/entity/LinkTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/entity/ReportingSubscriptionTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/entity/TagTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/entity/UserTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/entity/converter/StringCryptoConverterTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/service/DomainNameServiceTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/service/VerifyLinkServiceTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/auth/AuthenticateUserTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/brands/CreateBrandTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/brands/GetBrandTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/brands/ListBrandsTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/brands/UpdateBrandTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/catalogs/CreateCatalogTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/catalogs/GetCatalogTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/catalogs/ListCatalogsTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/catalogs/RemoveCatalogTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/catalogs/UpdateCatalogTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/CreateLinkTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/ExportLinkTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/GetLinkTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/ImportLinksTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/ListLinksTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/RedirectLinkTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/UpdateLinkTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/VerifyLinkTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/reporting/GetReportingSubscriptionsTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/reporting/SendReportsTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/reporting/UpdateUserReportingSubscriptionsTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/statistics/GetGlobalStatisticsTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/statistics/GetLinkStatisticsTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/tags/CreateTagImplTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/tags/GetTagTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/tags/ListTagsTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/tags/RemoveTagImplTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/tags/UpdateTagImplTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/ChangeUserPasswordTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/CreateUserTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/GetUserTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/ListUsersTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/RemoveUserTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/ResetUserPasswordTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/UpdateUserTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/ColorTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/EmailTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/FqdnTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/JwtTokenTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/LinkFilteringTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/LinkOrderingTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/LinkSearchingTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/LinkValidityTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/LoginTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/MessageTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/OrderingDirectionTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/PasswordHashTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/PasswordTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/RoleTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/SlugTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/SourceTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/SubscriptionReportTest.java create mode 100644 z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/TargetTest.java create mode 100644 z3-infrastructure/pom.xml create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/brands/BrandDatabaseRepository.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/brands/BrandInMemoryRepository.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/catalogs/CatalogDatabaseRepository.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/catalogs/CatalogInMemoryRepository.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/credentials/CredentialDatabaseRepository.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/credentials/CredentialInMemoryRepository.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/links/LinkDatabaseRepository.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/links/LinkInMemoryRepository.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/reporting/ReportingSubscriptionDatabaseRepository.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/reporting/ReportingSubscriptionInMemoryRepository.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/tags/TagDatabaseRepository.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/tags/TagInMemoryRepository.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/users/UserDatabaseRepository.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/users/UserInMemoryRepository.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/AesEncryptionProviderImpl.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/Argon2HashProviderImpl.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/CsvEditorImpl.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/HttpUrlCheckerImpl.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/JwtGeneratorImpl.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/PasswordGeneratorImpl.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/RandomSourceGeneratorBase32Impl.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/SlugifyierImpl.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/SmtpMessageSenderImpl.java create mode 100644 z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/package-info.java create mode 100644 z3-infrastructure/src/main/resources/META-INF/beans.xml create mode 100644 z3-infrastructure/src/main/resources/application.properties create mode 100644 z3-infrastructure/src/test/java/tech/pegase/z3/infrastructure/adapter/service/AesEncryptionProviderImplTest.java create mode 100644 z3-infrastructure/src/test/java/tech/pegase/z3/infrastructure/adapter/service/Argon2HashProviderImplTest.java create mode 100644 z3-infrastructure/src/test/java/tech/pegase/z3/infrastructure/adapter/service/HttpUrlCheckerImplTest.java create mode 100644 z3-infrastructure/src/test/java/tech/pegase/z3/infrastructure/adapter/service/SmtpMessageSenderImplTest.java create mode 100644 z3-infrastructure/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker create mode 100644 z3-shared/pom.xml create mode 100644 z3-shared/src/main/java/tech/pegase/z3/shared/annotations/ExcludeFromJacocoGeneratedReport.java create mode 100644 z3-shared/src/main/java/tech/pegase/z3/shared/lib/ReadOnlyCollectors.java create mode 100644 z3-shared/src/main/java/tech/pegase/z3/shared/lib/ReadOnlyList.java create mode 100644 z3-shared/src/main/java/tech/pegase/z3/shared/lib/ReadOnlyMap.java create mode 100644 z3-shared/src/main/java/tech/pegase/z3/shared/lib/ReadOnlySet.java create mode 100644 z3-shared/src/main/java/tech/pegase/z3/shared/lib/package-info.java create mode 100644 z3-shared/src/main/java/tech/pegase/z3/shared/pagination/PaginatedData.java create mode 100644 z3-shared/src/main/java/tech/pegase/z3/shared/pagination/Pagination.java create mode 100644 z3-shared/src/main/java/tech/pegase/z3/shared/valueobject/Source.java create mode 100644 z3-shared/src/main/resources/META-INF/beans.xml create mode 100644 z3-statistics-domain/pom.xml create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/entity/LinkStatistic.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/entity/package-info.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/lib/link/statistic/builder/LinkStatisticBuilder.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/lib/link/statistic/builder/LinkStatisticBuilderImpl.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/lib/link/statistic/builder/package-info.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/port/repository/LinkStatisticRepository.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/port/service/GeoIpService.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/port/service/HashService.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/port/service/UserAgentService.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/port/service/package-info.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/links/VisitLink.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/links/VisitLinkImpl.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/links/package-info.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/GetInvalidLinksCountsPerWeek.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/GetInvalidLinksCountsPerWeekImpl.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostFrequentReferrers.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostFrequentReferrersImpl.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostVisitedSource.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostVisitedSourceImpl.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByBrand.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByBrandImpl.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByCatalog.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByCatalogImpl.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/package-info.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/tracking/CreateFingerprint.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/tracking/CreateFingerprintImpl.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/tracking/package-info.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/BrowserInfo.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/Country.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/Fingerprint.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/Locale.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/OperatingSystemInfo.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/RawUserAgent.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/Referrer.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/ScreenProperties.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/UserType.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/package-info.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLine.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLinePerInterval.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLineWithEntity.java create mode 100644 z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/statistics/package-info.java create mode 100644 z3-statistics-domain/src/main/resources/META-INF/beans.xml create mode 100644 z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/entity/LinkStatisticTest.java create mode 100644 z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/lib/LinkStatisticsBuilderTest.java create mode 100644 z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/links/VisitLinkImplTest.java create mode 100644 z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/statistics/GetInvalidLinksCountsPerWeekTest.java create mode 100644 z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostFrequentReferrersTest.java create mode 100644 z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostVisitedSourceTest.java create mode 100644 z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByBrandTest.java create mode 100644 z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByCatalogTest.java create mode 100644 z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/tracking/CreateFingerprintTest.java create mode 100644 z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/BrowserInfoTest.java create mode 100644 z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/CountryTest.java create mode 100644 z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/FingerprintTest.java create mode 100644 z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/LocaleTest.java create mode 100644 z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/OperatingSystemInfoTest.java create mode 100644 z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/RawUserAgentTest.java create mode 100644 z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/ReferrerTest.java create mode 100644 z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/ScreenPropertiesTest.java create mode 100644 z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLinePerIntervalTest.java create mode 100644 z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLineTest.java create mode 100644 z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLineWithEntityTest.java create mode 100644 z3-statistics-infrastructure/pom.xml create mode 100644 z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/repository/link/statistic/LinkStatisticDatabaseRepository.java create mode 100644 z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/repository/link/statistic/package-info.java create mode 100644 z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/GeoIpServiceImpl.java create mode 100644 z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/UserAgentServiceImpl.java create mode 100644 z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/hash/HashServiceProducer.java create mode 100644 z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/hash/HashServiceWithBlake128Impl.java create mode 100644 z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/hash/package-info.java create mode 100644 z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/package-info.java create mode 100644 z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/hibernate/functions/HqlDateTrunc.java create mode 100644 z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/hibernate/functions/HqlDayOfYear.java create mode 100644 z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/hibernate/functions/package-info.java create mode 100644 z3-statistics-infrastructure/src/main/resources/GeoLite2-Country.mmdb create mode 100644 z3-statistics-infrastructure/src/main/resources/META-INF/beans.xml create mode 100644 z3-statistics-infrastructure/src/main/resources/META-INF/services/org.hibernate.boot.model.FunctionContributor diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..87482e2 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +#* +#!target/*-runner +#!target/*-runner.jar +#!target/lib/* +#!target/quarkus-app/* \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b27a0cd --- /dev/null +++ b/.gitignore @@ -0,0 +1,46 @@ +#Maven +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +release.properties +.flattened-pom.xml + +# Eclipse +.project +.classpath +.settings/ +bin/ + +# IntelliJ +.idea +*.ipr +*.iml +*.iws + +# NetBeans +nb-configuration.xml + +# Visual Studio Code +.vscode +.factorypath + +# OSX +.DS_Store + +# Vim +*.swp +*.swo + +# patch +*.orig +*.rej + +# Local environment +.env + +# Plugin directory +/.quarkus/cli/plugins/ + +# KEYS +*.pem diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..6bd0ec6 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,56 @@ +image: quay.io/buildah/stable + +stages: + - test + - release + - build + +branch-release: + image: docker.io/bitnami/git + variables: + GIT_STRATEGY: clone + stage: release + script: + # create branch ; if the tag is v2024.01, the branch will be rel/2024.01 (without the v) + - git switch -c rel/${CI_COMMIT_TAG:1} + - git push origin rel/${CI_COMMIT_TAG:1} + rules: + # only for tags like v2024.01, v2024.01.01, v2024.01-1, v2024.01.01-1 + - if: $CI_COMMIT_TAG =~ /^v\d{4}\.\d{2}(\.\d{2})?(-\d+)?$/ + +build-staging: + stage: build + variables: + IMAGE_TAG: $CI_REGISTRY_IMAGE:staging + before_script: + - buildah login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + script: + - buildah bud -t "$IMAGE_TAG" --build-arg GITLAB_MVN_TOKEN=$CI_JOB_TOKEN . + - buildah push "$IMAGE_TAG" + only: + - main + +build-feat: + stage: build + before_script: + # CI_COMMIT_BRANCH without "feat/" prefix + - export IMAGE_TAG=$CI_REGISTRY_IMAGE:${CI_COMMIT_BRANCH/feat\//feat-} + - buildah login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + script: + - buildah bud -t "$IMAGE_TAG" --build-arg GITLAB_MVN_TOKEN=$CI_JOB_TOKEN . + - buildah push "$IMAGE_TAG" + rules: + - when: manual + if: '$CI_COMMIT_BRANCH =~ /^feat\//' + +build-release: + stage: build + variables: + IMAGE_TAG: $CI_REGISTRY_IMAGE:latest + before_script: + - buildah login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + script: + - buildah bud -t "$IMAGE_TAG" --build-arg GITLAB_MVN_TOKEN=$CI_JOB_TOKEN . + - buildah push "$IMAGE_TAG" + only: + - /^rel\// diff --git a/.mvn/wrapper/.gitignore b/.mvn/wrapper/.gitignore new file mode 100644 index 0000000..e72f5e8 --- /dev/null +++ b/.mvn/wrapper/.gitignore @@ -0,0 +1 @@ +maven-wrapper.jar diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java new file mode 100644 index 0000000..84d1e60 --- /dev/null +++ b/.mvn/wrapper/MavenWrapperDownloader.java @@ -0,0 +1,98 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import java.io.IOException; +import java.io.InputStream; +import java.net.Authenticator; +import java.net.PasswordAuthentication; +import java.net.URL; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; + +public final class MavenWrapperDownloader +{ + private static final String WRAPPER_VERSION = "3.2.0"; + + private static final boolean VERBOSE = Boolean.parseBoolean( System.getenv( "MVNW_VERBOSE" ) ); + + public static void main( String[] args ) + { + log( "Apache Maven Wrapper Downloader " + WRAPPER_VERSION ); + + if ( args.length != 2 ) + { + System.err.println( " - ERROR wrapperUrl or wrapperJarPath parameter missing" ); + System.exit( 1 ); + } + + try + { + log( " - Downloader started" ); + final URL wrapperUrl = new URL( args[0] ); + final String jarPath = args[1].replace( "..", "" ); // Sanitize path + final Path wrapperJarPath = Paths.get( jarPath ).toAbsolutePath().normalize(); + downloadFileFromURL( wrapperUrl, wrapperJarPath ); + log( "Done" ); + } + catch ( IOException e ) + { + System.err.println( "- Error downloading: " + e.getMessage() ); + if ( VERBOSE ) + { + e.printStackTrace(); + } + System.exit( 1 ); + } + } + + private static void downloadFileFromURL( URL wrapperUrl, Path wrapperJarPath ) + throws IOException + { + log( " - Downloading to: " + wrapperJarPath ); + if ( System.getenv( "MVNW_USERNAME" ) != null && System.getenv( "MVNW_PASSWORD" ) != null ) + { + final String username = System.getenv( "MVNW_USERNAME" ); + final char[] password = System.getenv( "MVNW_PASSWORD" ).toCharArray(); + Authenticator.setDefault( new Authenticator() + { + @Override + protected PasswordAuthentication getPasswordAuthentication() + { + return new PasswordAuthentication( username, password ); + } + } ); + } + try ( InputStream inStream = wrapperUrl.openStream() ) + { + Files.copy( inStream, wrapperJarPath, StandardCopyOption.REPLACE_EXISTING ); + } + log( " - Downloader complete" ); + } + + private static void log( String msg ) + { + if ( VERBOSE ) + { + System.out.println( msg ); + } + } + +} diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..11f5868 --- /dev/null +++ b/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.7/apache-maven-3.9.7-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..0340f3c --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,245 @@ +## (2025-03-27) +## 1.1.0 (2025-03-27) + +### Features + +* **global:** Add some statistics resources to get some graphics ([8f12c0f](https://gitlab.pegase.tech/z3/z3-backend/commit/8f12c0f1947ff9c61e1dbe9fe608d4e6b03c8f21)) +* **global:** Add statistics domain and simplify UUID handling ([377249d](https://gitlab.pegase.tech/z3/z3-backend/commit/377249d5de7f3ec788c3372b661dbb61d638a2b9)) + +### Bug Fixes + +* **domain:** Allow Referer path to be empty ([1884049](https://gitlab.pegase.tech/z3/z3-backend/commit/188404953b2171df239c0a10b775bae79bda8919)) +* **domain:** DomainNameService could not reliably allow assign a fqdn to a brand that already owns it ([07e02be](https://gitlab.pegase.tech/z3/z3-backend/commit/07e02be02d2c025148726a0e44e92e383b707fa8)), closes [#13](https://gitlab.pegase.tech/z3/z3-backend/issues/13) +* **domain:** Fix CreateFingerPrintTest ([bce237d](https://gitlab.pegase.tech/z3/z3-backend/commit/bce237d76428f7498a53b33c396067fe43277572)) +* **domain:** Link Statistic for visits was no correctly using nullable ([7e885a4](https://gitlab.pegase.tech/z3/z3-backend/commit/7e885a4558390b565f9ae406dbd956b68a5f3868)) +* **infrastructure:** GeoIpServiceImpl was not loading correctly resources files ([e918708](https://gitlab.pegase.tech/z3/z3-backend/commit/e918708cb995b54aac3f4db800ad625017c55d4f)) +* **infrastructure:** UserAgentAnalyser was not loading correctly yml rule files ([190dc6e](https://gitlab.pegase.tech/z3/z3-backend/commit/190dc6e790cdf1e34364cdd75fc3a1df10ff0e87)) +## 1.0.5 (2025-03-05) + +### Features + +* **global:** Allow brands to have an associated list of Fqdn ([fe7708d](https://gitlab.pegase.tech/z3/z3-backend/commit/fe7708da0baf8954ab4a0703a6d3b5f143fb9aa2)) +* **global:** Link Export now uses brand first available fqdn or the resolver fqdn ([011c261](https://gitlab.pegase.tech/z3/z3-backend/commit/011c2613b3ceb604df8b69a42629d87459de1440)) +* **global:** Link resolve change of behavior and using `host` parameter ([d56b0a6](https://gitlab.pegase.tech/z3/z3-backend/commit/d56b0a6043dbcd94e4bb9091093809c59c4ac329)) + +### Bug Fixes + +* **application:** Craete and update brand properly validates fqdns ([93492f9](https://gitlab.pegase.tech/z3/z3-backend/commit/93492f96e30c8bf7c4d27d3c9d6f912bdf770dc4)) +* **application:** Fix create brand request validation ([639c577](https://gitlab.pegase.tech/z3/z3-backend/commit/639c5774c6eae62b98293d5c8a27da080eddb571)) +* **application:** Fixes [#4](https://gitlab.pegase.tech/z3/z3-backend/issues/4) choosing tag while importing links ([ad37d91](https://gitlab.pegase.tech/z3/z3-backend/commit/ad37d91fbf4bf53f8677334a0389e67d251f8227)) +* **application:** Handle Unicode BOM on csv file import ([214c827](https://gitlab.pegase.tech/z3/z3-backend/commit/214c827c39b11a4e5e5b28205605fac1e20b5cb2)) +* **application:** RedirectLinkOutputTest was wrong after rebase with main ([22d74c1](https://gitlab.pegase.tech/z3/z3-backend/commit/22d74c19fced37424c21c437d75f636f8bd341f2)) +* **domain:** Closes [#7](https://gitlab.pegase.tech/z3/z3-backend/issues/7) ([0300d7f](https://gitlab.pegase.tech/z3/z3-backend/commit/0300d7f5fcc3e3aee7fc7d79c19b2fb6f6aefac2)) +* **domain:** Correct Validation error field name on Create and Update brand ([96ca5f0](https://gitlab.pegase.tech/z3/z3-backend/commit/96ca5f0c3b066852f7ad38f72be6f44f1a46f2c6)) +* **domain:** Prevent link upsert on other brands while importing ([a81ffde](https://gitlab.pegase.tech/z3/z3-backend/commit/a81ffdeeafa527a64a805250a3ecd0137ccdff7c)) +* **infrastructure:** LinkRepository could output null for count queries ([9ed8300](https://gitlab.pegase.tech/z3/z3-backend/commit/9ed8300ede944574d96f91d835b07f6bdb20389e)) +* **infrastructure:** ReportingSubscriptionDatabaseRepository fix querying by userUuid ([82c24bf](https://gitlab.pegase.tech/z3/z3-backend/commit/82c24bf5acb24acf936e3bd484b6fa4e2e831ced)) +* **infrastructure:** Simplify repositories cache usage ([f939928](https://gitlab.pegase.tech/z3/z3-backend/commit/f939928d812ff9b3c9d0b4f0b50b03968683ab82)) +## 1.0.3 (2025-01-09) + +### âš  BREAKING CHANGES + +* **global:** SendMessage can now output it success status + +### Features + +* **global:** Add Reporting Subscriptions for users ([da78839](https://gitlab.pegase.tech/z3/z3-backend/commit/da78839458761d5be909e71785c0af9a2810fe72)) +* **global:** Send scheduled invalid links reports ([fc059b5](https://gitlab.pegase.tech/z3/z3-backend/commit/fc059b576506084fdebf17f2f95bcc7666e4cef3)) + +### Bug Fixes + +* **cli:** Fix Hibernate warning on compilation ([0b8dec5](https://gitlab.pegase.tech/z3/z3-backend/commit/0b8dec52decba550bc059a8ce68e9dd645c43971)) +* **domain:** GetGlobalStatistics count is wrong + add more tests ([8df73ea](https://gitlab.pegase.tech/z3/z3-backend/commit/8df73ea5ea75423dbca7b3346408ef5f2bfe263c)) +* **domain:** Remove lang3 dep in SendReports use case ([60d3e72](https://gitlab.pegase.tech/z3/z3-backend/commit/60d3e72d242069eeb1fd325775a074fd29e28876)) +* **domain:** When Link is updated it now changes its updatedAt timestamp ([8eeb8d9](https://gitlab.pegase.tech/z3/z3-backend/commit/8eeb8d934da239ac0aeb5a2e863798012eeab85b)) +* **global:** GetLinksStatistics regression fix ([e9cc5df](https://gitlab.pegase.tech/z3/z3-backend/commit/e9cc5dfd6881ae853d9e2b80b298b09108ccf67c)) +* **global:** Use Flyway to apply a migration with seeded data ([be00a1a](https://gitlab.pegase.tech/z3/z3-backend/commit/be00a1a5807adf9445574d9083bda91423b8baba)) +* **global:** Use ZonedDateTime as value-object and return them from presenter for Links usecases ([d0ee9a6](https://gitlab.pegase.tech/z3/z3-backend/commit/d0ee9a673cc592c63f950dc3b1cc523cda2893c7)) + +### Code Refactoring + +* **global:** SendMessage can now output it success status ([6b68299](https://gitlab.pegase.tech/z3/z3-backend/commit/6b68299c853021112f68fa016cf7e99a883d3a42)) +## 1.0.2 (2024-12-10) + +### Features + +* **application:** Ajout d'un message sur une demande de redirection d'un lien invalide ([4c28c8f](https://gitlab.pegase.tech/z3/z3-backend/commit/4c28c8f67c08c68f727c222b933451d8aea8b01f)) +* **domain:** Allow to put any text on source and slugify it on import ([a9f69b7](https://gitlab.pegase.tech/z3/z3-backend/commit/a9f69b75ebc21a5853584bc358b830d305a77cc2)) +* **global:** Allow to set tag while importing links ([3656677](https://gitlab.pegase.tech/z3/z3-backend/commit/3656677833632159dfc284904c5b107b8176b609)) + +### Bug Fixes + +* **application:** Add no-cache header for public redirection ([20c85f7](https://gitlab.pegase.tech/z3/z3-backend/commit/20c85f7c1f563c4448176b736c25262727193372)) +* **application:** Correction of import for user requests ([9942f65](https://gitlab.pegase.tech/z3/z3-backend/commit/9942f658baf69c75362c4085837863d3621f90b3)) +* **application:** Slugify source on create link endpoint ([3e760a3](https://gitlab.pegase.tech/z3/z3-backend/commit/3e760a321dc79e809706252d5992df63542bfdfb)) +* **domain:** Import links for catalog was not setting correct brand ([02d6507](https://gitlab.pegase.tech/z3/z3-backend/commit/02d650728ad394c0df86993ef6f59051cf1436d5)) +* **domain:** Import links was returning the wrong imported links number ([9ec5c2d](https://gitlab.pegase.tech/z3/z3-backend/commit/9ec5c2dc377ebf859e8c1b8d8579501b8ec93cc2)) +* **domain:** Reset user password was not persisting the updated credential ([5e811bd](https://gitlab.pegase.tech/z3/z3-backend/commit/5e811bd3c428054fa00dc5dfb300b16900b74d19)) +* **infrastructure:** Slugifyer now replaces undescores ([34ab963](https://gitlab.pegase.tech/z3/z3-backend/commit/34ab963a68464be0ff0257b5fec91154b0d229c5)) +## 1.0.1 (2024-12-08) + +### âš  BREAKING CHANGES + +* **global:** Allow to assign some brands to any user + +### Features + +* **global:** Allow to assign some brands to any user ([6e820e7](https://gitlab.pegase.tech/z3/z3-backend/commit/6e820e772e690e9f129ce55b63fb377da9c4d1fb)) +* **global:** Change user password ([acb99eb](https://gitlab.pegase.tech/z3/z3-backend/commit/acb99ebcec6a6de5480a3ef3f57ffa274192339d)) +* **global:** Complete Global statistics feature ([0f5074d](https://gitlab.pegase.tech/z3/z3-backend/commit/0f5074da602002af7988656781afa302c3cdd711)) +* **global:** Get statistics for Brand, Catalog and Tag ([26db02b](https://gitlab.pegase.tech/z3/z3-backend/commit/26db02b5df14151972fbfab8c73f6072267b5df6)) +* **global:** Reset user password feature ([a59ae02](https://gitlab.pegase.tech/z3/z3-backend/commit/a59ae027ff944c182f168bdf89406f27a8d39091)) + +### Bug Fixes + +* **application:** Add not null to create and update users requests ([a35dfe4](https://gitlab.pegase.tech/z3/z3-backend/commit/a35dfe40430a889361118049b1fcea882e05d5df)) +* **application:** Allow admin users to update users ([13f141c](https://gitlab.pegase.tech/z3/z3-backend/commit/13f141c24e6512d79ab6250a59f6341fee2c7c5f)) +* **application:** Remove Role check on get brand resource ([492d842](https://gitlab.pegase.tech/z3/z3-backend/commit/492d842664842e1baa477e2fbbf75e1f228b06bd)) +## 0.0.1 (2024-09-10) +## (2025-03-27) + +### Features + +* **global:** Add some statistics resources to get some graphics ([8f12c0f](https://gitlab.pegase.tech/z3/z3-backend/commit/8f12c0f1947ff9c61e1dbe9fe608d4e6b03c8f21)) +* **global:** Add statistics domain and simplify UUID handling ([377249d](https://gitlab.pegase.tech/z3/z3-backend/commit/377249d5de7f3ec788c3372b661dbb61d638a2b9)) + +### Bug Fixes + +* **domain:** Allow Referer path to be empty ([1884049](https://gitlab.pegase.tech/z3/z3-backend/commit/188404953b2171df239c0a10b775bae79bda8919)) +* **domain:** Link Statistic for visits was no correctly using nullable ([7e885a4](https://gitlab.pegase.tech/z3/z3-backend/commit/7e885a4558390b565f9ae406dbd956b68a5f3868)) +## (2025-03-05) + +## [1.0.5](https://gitlab.pegase.tech/z3/z3-backend/compare/1.0.4...1.0.5) (2025-02-04) + +### Features + +* **global:** Allow brands to have an associated list of + Fqdn ([fe7708d](https://gitlab.pegase.tech/z3/z3-backend/commit/fe7708da0baf8954ab4a0703a6d3b5f143fb9aa2)) +* **global:** Link Export now uses brand first available fqdn or the resolver + fqdn ([011c261](https://gitlab.pegase.tech/z3/z3-backend/commit/011c2613b3ceb604df8b69a42629d87459de1440)) +* **global:** Link resolve change of behavior and using `host` + parameter ([d56b0a6](https://gitlab.pegase.tech/z3/z3-backend/commit/d56b0a6043dbcd94e4bb9091093809c59c4ac329)) + +### Bug Fixes + +* **application:** Craete and update brand properly validates + fqdns ([93492f9](https://gitlab.pegase.tech/z3/z3-backend/commit/93492f96e30c8bf7c4d27d3c9d6f912bdf770dc4)) +* **application:** RedirectLinkOutputTest was wrong after rebase with + main ([22d74c1](https://gitlab.pegase.tech/z3/z3-backend/commit/22d74c19fced37424c21c437d75f636f8bd341f2)) +* **domain:** Correct Validation error field name on Create and Update + brand ([96ca5f0](https://gitlab.pegase.tech/z3/z3-backend/commit/96ca5f0c3b066852f7ad38f72be6f44f1a46f2c6)) + +## (2025-03-05) + +## [1.0.4](https://gitlab.pegase.tech/z3/z3-backend/compare/1.0.3...1.0.4) (2025-02-04) + +### Bug Fixes + +* **application:** Fix create brand request + validation ([639c577](https://gitlab.pegase.tech/z3/z3-backend/commit/639c5774c6eae62b98293d5c8a27da080eddb571)) +* **application:** Fixes [#4](https://gitlab.pegase.tech/z3/z3-backend/issues/4) choosing tag while + importing + links ([ad37d91](https://gitlab.pegase.tech/z3/z3-backend/commit/ad37d91fbf4bf53f8677334a0389e67d251f8227)) +* **application:** Handle Unicode BOM on csv file + import ([214c827](https://gitlab.pegase.tech/z3/z3-backend/commit/214c827c39b11a4e5e5b28205605fac1e20b5cb2)) +* **domain:** + Closes [#7](https://gitlab.pegase.tech/z3/z3-backend/issues/7) ([0300d7f](https://gitlab.pegase.tech/z3/z3-backend/commit/0300d7f5fcc3e3aee7fc7d79c19b2fb6f6aefac2)) +* **domain:** Prevent link upsert on other brands while + importing ([a81ffde](https://gitlab.pegase.tech/z3/z3-backend/commit/a81ffdeeafa527a64a805250a3ecd0137ccdff7c)) +* **infrastructure:** LinkRepository could output null for count + queries ([9ed8300](https://gitlab.pegase.tech/z3/z3-backend/commit/9ed8300ede944574d96f91d835b07f6bdb20389e)) +* **infrastructure:** ReportingSubscriptionDatabaseRepository fix querying by + userUuid ([82c24bf](https://gitlab.pegase.tech/z3/z3-backend/commit/82c24bf5acb24acf936e3bd484b6fa4e2e831ced)) +* **infrastructure:** Simplify repositories cache + usage ([f939928](https://gitlab.pegase.tech/z3/z3-backend/commit/f939928d812ff9b3c9d0b4f0b50b03968683ab82)) + +## [1.0.3](https://gitlab.pegase.tech/z3/z3-backend/compare/1.0.2...1.0.3) (2025-01-09) + +### âš  BREAKING CHANGES + +* **global:** SendMessage can now output it success status + +### Features + +* **global:** Add Reporting Subscriptions for + users ([da78839](https://gitlab.pegase.tech/z3/z3-backend/commit/da78839458761d5be909e71785c0af9a2810fe72)) +* **global:** Send scheduled invalid links + reports ([fc059b5](https://gitlab.pegase.tech/z3/z3-backend/commit/fc059b576506084fdebf17f2f95bcc7666e4cef3)) + +### Bug Fixes + +* **cli:** Fix Hibernate warning on + compilation ([0b8dec5](https://gitlab.pegase.tech/z3/z3-backend/commit/0b8dec52decba550bc059a8ce68e9dd645c43971)) +* **domain:** GetGlobalStatistics count is wrong + add more + tests ([8df73ea](https://gitlab.pegase.tech/z3/z3-backend/commit/8df73ea5ea75423dbca7b3346408ef5f2bfe263c)) +* **domain:** Remove lang3 dep in SendReports use + case ([60d3e72](https://gitlab.pegase.tech/z3/z3-backend/commit/60d3e72d242069eeb1fd325775a074fd29e28876)) +* **domain:** When Link is updated it now changes its updatedAt + timestamp ([8eeb8d9](https://gitlab.pegase.tech/z3/z3-backend/commit/8eeb8d934da239ac0aeb5a2e863798012eeab85b)) +* **global:** GetLinksStatistics regression + fix ([e9cc5df](https://gitlab.pegase.tech/z3/z3-backend/commit/e9cc5dfd6881ae853d9e2b80b298b09108ccf67c)) +* **global:** Use Flyway to apply a migration with seeded + data ([be00a1a](https://gitlab.pegase.tech/z3/z3-backend/commit/be00a1a5807adf9445574d9083bda91423b8baba)) +* **global:** Use ZonedDateTime as value-object and return them from presenter for Links + usecases ([d0ee9a6](https://gitlab.pegase.tech/z3/z3-backend/commit/d0ee9a673cc592c63f950dc3b1cc523cda2893c7)) + +### Code Refactoring + +* **global:** SendMessage can now output it success + status ([6b68299](https://gitlab.pegase.tech/z3/z3-backend/commit/6b68299c853021112f68fa016cf7e99a883d3a42)) + +## [1.0.2](https://gitlab.pegase.tech/z3/z3-backend/compare/1.0.1...1.0.2) (2024-12-10) + +### Features + +* **application:** Ajout d'un message sur une demande de redirection d'un lien + invalide ([4c28c8f](https://gitlab.pegase.tech/z3/z3-backend/commit/4c28c8f67c08c68f727c222b933451d8aea8b01f)) +* **domain:** Allow to put any text on source and slugify it on + import ([a9f69b7](https://gitlab.pegase.tech/z3/z3-backend/commit/a9f69b75ebc21a5853584bc358b830d305a77cc2)) +* **global:** Allow to set tag while importing + links ([3656677](https://gitlab.pegase.tech/z3/z3-backend/commit/3656677833632159dfc284904c5b107b8176b609)) + +### Bug Fixes + +* **application:** Add no-cache header for public + redirection ([20c85f7](https://gitlab.pegase.tech/z3/z3-backend/commit/20c85f7c1f563c4448176b736c25262727193372)) +* **application:** Correction of import for user + requests ([9942f65](https://gitlab.pegase.tech/z3/z3-backend/commit/9942f658baf69c75362c4085837863d3621f90b3)) +* **application:** Slugify source on create link + endpoint ([3e760a3](https://gitlab.pegase.tech/z3/z3-backend/commit/3e760a321dc79e809706252d5992df63542bfdfb)) +* **domain:** Import links for catalog was not setting correct + brand ([02d6507](https://gitlab.pegase.tech/z3/z3-backend/commit/02d650728ad394c0df86993ef6f59051cf1436d5)) +* **domain:** Import links was returning the wrong imported links + number ([9ec5c2d](https://gitlab.pegase.tech/z3/z3-backend/commit/9ec5c2dc377ebf859e8c1b8d8579501b8ec93cc2)) +* **domain:** Reset user password was not persisting the updated + credential ([5e811bd](https://gitlab.pegase.tech/z3/z3-backend/commit/5e811bd3c428054fa00dc5dfb300b16900b74d19)) +* **infrastructure:** Slugifyer now replaces + undescores ([34ab963](https://gitlab.pegase.tech/z3/z3-backend/commit/34ab963a68464be0ff0257b5fec91154b0d229c5)) + +## [1.0.1](https://gitlab.pegase.tech/z3/z3-backend/compare/a59ae027ff944c182f168bdf89406f27a8d39091...1.0.1) (2024-12-08) + +### âš  BREAKING CHANGES + +* **global:** Allow to assign some brands to any user + +### Features + +* **global:** Allow to assign some brands to any + user ([6e820e7](https://gitlab.pegase.tech/z3/z3-backend/commit/6e820e772e690e9f129ce55b63fb377da9c4d1fb)) +* **global:** Change user + password ([acb99eb](https://gitlab.pegase.tech/z3/z3-backend/commit/acb99ebcec6a6de5480a3ef3f57ffa274192339d)) +* **global:** Complete Global statistics + feature ([0f5074d](https://gitlab.pegase.tech/z3/z3-backend/commit/0f5074da602002af7988656781afa302c3cdd711)) +* **global:** Get statistics for Brand, Catalog and + Tag ([26db02b](https://gitlab.pegase.tech/z3/z3-backend/commit/26db02b5df14151972fbfab8c73f6072267b5df6)) +* **global:** Reset user password + feature ([a59ae02](https://gitlab.pegase.tech/z3/z3-backend/commit/a59ae027ff944c182f168bdf89406f27a8d39091)) + +### Bug Fixes + +* **application:** Add not null to create and update users + requests ([a35dfe4](https://gitlab.pegase.tech/z3/z3-backend/commit/a35dfe40430a889361118049b1fcea882e05d5df)) +* **application:** Allow admin users to update + users ([13f141c](https://gitlab.pegase.tech/z3/z3-backend/commit/13f141c24e6512d79ab6250a59f6341fee2c7c5f)) +* **application:** Remove Role check on get brand + resource ([492d842](https://gitlab.pegase.tech/z3/z3-backend/commit/492d842664842e1baa477e2fbbf75e1f228b06bd)) diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..cae3722 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,64 @@ +FROM quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-21 AS build + +ARG GITLAB_MVN_TOKEN +COPY < + + + gitlab-maven + + + + Job-Token + $GITLAB_MVN_TOKEN + + + + + + +EOF + +COPY --chown=quarkus:quarkus config /code/config + +COPY --chown=quarkus:quarkus mvnw /code/mvnw +COPY --chown=quarkus:quarkus .mvn /code/.mvn +COPY --chown=quarkus:quarkus pom.xml /code/pom.xml + +COPY --chown=quarkus:quarkus z3-application/pom.xml /code/z3-application/pom.xml +COPY --chown=quarkus:quarkus z3-application/src /code/z3-application/src + +COPY --chown=quarkus:quarkus z3-cli/pom.xml /code/z3-cli/pom.xml +COPY --chown=quarkus:quarkus z3-cli/src /code/z3-cli/src + +COPY --chown=quarkus:quarkus z3-domain/pom.xml /code/z3-domain/pom.xml +COPY --chown=quarkus:quarkus z3-domain/src /code/z3-domain/src + +COPY --chown=quarkus:quarkus z3-infrastructure/pom.xml /code/z3-infrastructure/pom.xml +COPY --chown=quarkus:quarkus z3-infrastructure/src /code/z3-infrastructure/src + +COPY --chown=quarkus:quarkus z3-shared/pom.xml /code/z3-shared/pom.xml +COPY --chown=quarkus:quarkus z3-shared/src /code/z3-shared/src + +COPY --chown=quarkus:quarkus z3-statistics-domain/pom.xml /code/z3-statistics-domain/pom.xml +COPY --chown=quarkus:quarkus z3-statistics-domain/src /code/z3-statistics-domain/src + +COPY --chown=quarkus:quarkus z3-statistics-infrastructure/pom.xml /code/z3-statistics-infrastructure/pom.xml +COPY --chown=quarkus:quarkus z3-statistics-infrastructure/src /code/z3-statistics-infrastructure/src + +USER quarkus +WORKDIR /code +RUN ./mvnw package -DskipTests -Dquarkus.package.jar.type=uber-jar -s /mvn-settings.xml + +FROM registry.access.redhat.com/ubi8/openjdk-21:1.20 + +ENV LANGUAGE='en_US:en' + +COPY --from=build --chown=185 /code/z3-application/target/*-runner.jar /deployments/quarkus-run.jar + +EXPOSE 8080 +USER 185 +ENV JAVA_OPTS_APPEND="-Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager" +ENV JAVA_APP_JAR="/deployments/quarkus-run.jar" + +ENTRYPOINT [ "/opt/jboss/container/java/run/run-java.sh" ] \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..8cd4455 --- /dev/null +++ b/README.md @@ -0,0 +1,176 @@ +# Z3 – A link to the path + +*Z3* est un raccourcisseur d'URL. + +*Z3* s'inspire dans la forme des principes de clean architecture et de DDD. On trouve ainsi quatre +modules Maven : + +- `z3`: module parent ; +- `z3-domain` : contient les entités, les objets-valeur, les use cases et les ports ; +- `z3-infrastructure` : contient les implémentations des ports (adapters) ; +- `z3-application` : contient les services applicatifs. + +Le nom *Z3* est un clin d'Å“il à *Zelda 3 : A Link to the Past*, un jeu vidéo sorti en 1991 sur Super +Nintendo. + +## GENARATE CHANGELOG + +- Package node à util `https://github.com/conventional-changelog/conventional-changelog` +- Commande à utiliser `conventional-changelog -p conventionalcommits -i CHANGELOG.md -s` + +## SCHEDULED TASKS + +Liste des taches planifiés : + +- Envoyer les rapports de liens invalides -> `APP_REPORT_INVALID_LINKS` + +## CLI + +- Pour lancer la cli en DEV : `mvn quarkus:dev -Dquarkus.args=seed +- Ou `java -jar target/z3-cli-1.1.0-SNAPSHOT-runner.jar seed` + +## Configuration + +### BDD supportées + +- Postgres + +### LOG + +- Le loglevel peut être set avec `APP_LOG_LEVEL` -> `APP_LOG_LEVEL=DEBUG` + +### UPLOADS + +**! Cette valeur dois être raccord avec la partie front (Sveltekit pas exemple) !** + +- La taille max des uploads peut être définie `APP_MAX_UPLOAD_SIZE` -> `APP_MAX_UPLOAD_SIZE=100M` + +### SECURITE + +**! Toutes les informations de configuration de cette partie doivent être sauvegardés pour conserver +des données exploitables !** + +#### JWT + +Usage : + +```text +APP_JWT_ISSUER=http://localhost:8080/issuer +APP_JWT_PUBLIC_KEY=publicKey.pem +APP_JWT_PRIVATE_KEY=privateKey.pem +``` + +Génerer des clés : + +```shell +openssl genrsa -out rsaPrivateKey.pem 2048 +openssl rsa -pubout -in rsaPrivateKey.pem -out publicKey.pem +openssl pkcs8 -topk8 -nocrypt -inform pem -in rsaPrivateKey.pem -outform pem -out privateKey.pem +``` + +#### ENCRYPTION + +example : + +```text +AES_KEY="password" +AES_SALT="salt" +AES_KEY_LENGTH=256 +``` + +Notes : + +- `KEY` Est une valeur texte quelconque +- `SALT` Est une valeur texte quelconque +- `KEY_LENGTH` Devrais être laissée à 256 + +### MAIL + +Exemple (pour mailpit) : + +```text +APP_MAIL_FROM=z3@example.net +APP_MAIL_HOST=127.0.0.1 +APP_MAIL_PORT=1025 +APP_MAIL_START_TLS=OPTIONAL +APP_MAIL_TLS=false +APP_MAIL_USERNAME=null +APP_MAIL_PASSWORD=null +APP_MAIL_DEV_SIMULATE=false +``` + +Notes : + +- `APP_MAIL_FROM` Est l'adresse email qui est inscrite dans le mail dans la partie `FROM:` +- `MAIL_DEV_SIMULATE` Permet de simuler l'envoie de mails et donc de se passer d'un serveur SMTP. + +### Création d'un compte initial + +**! Cette partie nécessite un serveur SMTP, en local il est possible d'utiliser Mailpit par +exemple !** + +Mailpit : + +```shell +podman run -d \ +--name=mailpit \ +--restart unless-stopped \ +-p 8025:8025 \ +-p 1025:1025 \ +axllent/mailpit +``` + +Exemple : + +```text +APP_CREATE_USER_ON_START=toto@example.net +``` + +Notes : + +- `CREATE_USER_ON_START` Peut etre vide, s'il ne l'est pas un nouvel utilisateur **Administrateur** + sera crée. Les informations de connexion seront envoyés par email. + +## TESTS + +```sh +mvn clean verify +``` + +Reports for each modules can be found under target dirs. + +## SECURITY + +### Checking + +Check for vulnerabilities + +First time running requires downloading a list of CVE. + +You can request an API key from [here](https://nvd.nist.gov/developers/request-an-api-key) to +accelerate downloading theses. They are stored in +`~/.m2/repository/org/owasp/dependency-check-data/`. + +You can find more information form +the [plugin Github repository](https://github.com/jeremylong/DependencyCheck). + +```sh +mvn org.owasp:dependency-check-maven:check +``` + +To pass an api key you can use, or replace `$ENV_API_KEY_VAR` directly with the api key. + +```sh +mvn verify -Ddependency-check-maven.api_key=$ENV_API_KEY_VAR +``` + +### Report + +You may find report after ward in `target/dependency-check-report.html` + +They are several reports configured but you can add more looking +at [the documentation](https://jeremylong.github.io/DependencyCheck/dependency-check-maven/configuration.html). + +Available are `HTML, XML, CSV, JSON, JUNIT, SARIF, JENKINS, GITLAB, ALL`. + +Now Z3 has enabled `HTML, JSON, SARIF and GITLAB`. \ No newline at end of file diff --git a/Uml/Z3Backend.gaphor b/Uml/Z3Backend.gaphor new file mode 100644 index 0000000..8602492 --- /dev/null +++ b/Uml/Z3Backend.gaphor @@ -0,0 +1,9190 @@ + + + + + + +Z3-Backend + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Domain Entities + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Link + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 15.632781982421875, 53.54996894153217) + + +(0.0, 0.0) + + +264.0 + + +210.0 + + + + + + + + +0 + + + + + + + + + + +1 + + +source + + +Source + + +private + + + + +Default -Entities + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 57.496246337890625, -118.81243896484375) + + +(0.0, 0.0) + + +1135.1521911621094 + + +688.4366648033485 + + + + + + + + + + + + + + + + + + + + + + + +Default - Value objects + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 64.18765258789062, 618.65625) + + +(0.0, -11.437478186004796) + + +1109.8162536621094 + + +642.8295677739017 + + + + + + + + + + + + + + + + + + + + + + + +Source + + + + + + + + + + + + + + + + + + + + + + + +value + + +string + + + + + + + +target + + +Url + + +private + + + + + + + +isValid + + +bool + + +private + + + + +Brand + + +Is use to provide context for Catalog and Links + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 15.632781982421875, 307.46564526143715) + + +(0.0, 0.0) + + +183.0 + + +117.0 + + + + + + + + +0 + + + + + + + + + + +1 + + +uuid + + +Uuid + + +private + + + + + + + +slug + + +Slug + + +private + + + + + + + +getSlug + + + + + + + + + + + + +getName + + + + + + + + + + + + +setName + + + + + + + + + + +return + + + + + +Slug + + + + +return + + + + + +string + + + + +return + + + + + +void + + + + +in + + +string + + + + + + + +Url + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 863.7889862060547, 52.738258361816406) + + +(0.0, 0.0) + + +112.0 + + +91.0 + + + + + + + + +0 + + + + + + + + + + +value + + +string + + + + +User + + +firstName, lastName and email should be encrypted + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 549.3824691772461, 90.79603980334855) + + +(38.60559844970703, 0.0) + + +255.0 + + +168.0 + + + + + + + + +0 + + + + + + + + + + +getId + + + + + + + + + + + + +getFirstName + + + + + + + + + + + + +1 + + +uuid + + +Uuid + + +private + + + + + + + +firstName + + +string + + +private + + + + + + + +lastName + + +string + + +private + + + + + + + +setFirstName + + + + + + + + + + + + + +getLastName + + + + + + + + + + + + +setLastName + + + + + + + + + +in + + +lastName + + + + + +String + + + + +return + + + + + +void + + + + +return + + + + + +string + + + + +return + + + + + +Uuid + + + + + + + + + + +0 + + +0 + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 890.2260208129883, 156.31276153938563) + + +[(-47.237953186035156, 11.425784453356755), (45.43528747558594, 7.747602857723081)] + + + + + + + + + + +Catalog + + +Catalog is use to regroup links inside a Brand + + + + + + + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 307.1077768969918, 203.24919532092667) + + +(0.0, 0.0) + + +208.1929128002738 + + +132.7690636159922 + + + + + + + + +0 + + + + + + + + + + +1 + + +uuid + + +Uuid + + +private + + + + + + + +slug + + +Slug + + +private + + + + +Tag + + + + + + + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 307.1077768969918, 56.749195320926674) + + +(0.0, 0.0) + + +183.0 + + +125.0 + + + + + + + + +0 + + + + + + + + + + +1 + + +uuid + + +Uuid + + +private + + + + + + + +name + + +string + + +private + + + + + + + +color + + +Color + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 598.8591613769531, 52.738258361816406) + + +(0.0, 0.0) + + +178.0 + + +125.0 + + + + + + + + + + + + + +Color + + +The color is stored as unsigned integer, +the input color has to be an html hex color without +transparency + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +getColor + + + + + + + + + +return + + + + + +string + + + + + + + +setColor + + + + + + + + + +in + + +color + + + + + +string + + + + + + + +value + + +uint + + + + + + + +Domain Entities - Value Objects Relations + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 387.8281555175781, 96.58595275878906) + + +(22.949188232421875, 0.0) + + +264.0 + + +272.83204650878906 + + + + + +0 + + + + + + + +(1.0, 0.0, 0.0, 1.0, 887.7497863769531, -0.0507659912109375) + + +(0.0, 0.0) + + +112.0 + + +117.0 + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 887.7497863769531, 280.21875) + + +(0.0, 0.0) + + +112.0 + + +117.0 + + + + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 241.56248474121094, 209.88782792927515) + + +[(433.21485900878906, -59.44330105383307), (646.1873016357422, -132.00961549294544)] + + + + + + + + + + + + + + + + +url reduite + + + + + + + + + + + + + + + + + + + + + + + + +source 1 + + + + + + + + +private + + + + +composite + + + + + +value 1 + + + + + + + + +private + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 216.63279724121094, 231.59919469859534) + + +[(458.14454650878906, 58.43270755285522), (671.1169891357422, 119.75038012976387)] + + + + + + + + + + + + + + + + +url cible + + + + + + + + + + + + + + + + + + + + + + + + +target 1 + + + + + + + + +private + + + + +composite + + + + + +value 1 + + + + + + + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 524.5273590087891, 430.8825859294052) + + +(-92.0, 0.0) + + +204.53128051757812 + + +141.99114235062882 + + + + + +0 + + + + + + + +(1.0, 0.0, 0.0, 1.0, 793.4763793945312, 435.96615339244397) + + +(0.0, 0.0) + + +178.0 + + +118.8240074245511 + + + + + +0 + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 143.17970275878906, 416.6883449813738) + + +[(493.8789367675781, 75.07422774947156), (650.2966766357422, 76.06840375696464)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +color 1 + + + + + + + + +private + + + + +composite + + + + + +value 1 + + + + + + + + +private + + + + + + + +visits + + +uint + + +private + + + + +Slug + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 407.85911560058594, 52.738258361816406) + + +(0.0, 0.0) + + +120.0 + + +91.0 + + + + + + + + +0 + + + + + + + + + + +value + + +string + + + + +in + + +firstName + + + + + +string + + + + + + + +0 + + +0 + + +catalog + + +Uuid + + +1 + + +1 + + +private + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 400.1953125, 248.819274948064) + + +[(10.58203125, -143.82140961132802), (-169.74217987060547, -136.53106237377722)] + + + + + + + + + + + + + +Domain Entities - Relationships + + + + + + + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 82.74670653480976, -853.1484069824219) + + +(-0.4550628662109375, 7.06006794387099) + + +283.0 + + +242.219510138136 + + + + + +0 + + + + + + + +(1.0, 0.0, 0.0, 1.0, 714.0330288381389, -846.0883390385509) + + +(0.0, 0.0) + + +209.56066012670487 + + +143.88577791951718 + + + + + +0 + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 330.65623474121094, -550.9781822825557) + + +[(34.635408927387886, -202.48393724427058), (383.37679409692794, -202.48393724427058)] + + + + + + + + + + + + + + + + +Est référencé dans + + + + + + + + + + + + + + + + + + + + + + + +catalog + + + + + + + + +1 + + +1 + + +private + + + + + + + + + + +0 + + +0 + + +uuid + + + + + +1 + + +1 + + +private + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 405.39451599121094, 439.7665455491292) + + +[(5.3828277587890625, -224.17862037748841), (-174.9413833618164, -218.49112037748841)] + + + + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 534.8005218505859, 527.78955888264) + + +[(-102.27316284179688, -32.599390366899286), (-304.3473892211914, -26.723901777920446)] + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 132.2916436685988, -306.62890625) + + +(0.0, 0.0) + + +183.0 + + +138.0 + + + + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 211.72264099121094, -453.90234375) + + +[(7.508374444303854, -149.96648515041488), (5.461681573973976, 147.2734375)] + + + + + + + + + + + + + + + + +Possede + + + + + + + + + + + + + + + + + + + + + + + +tag + + + + + + + + +1 + + +1 + + +private + + + + + + + + + + +0 + + +0 + + +uuid + + + + + +1 + + +1 + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 446.5155601501465, 624.6405478695317) + + +(0.0, 0.0) + + +183.0 + + +174.71835971313044 + + + + + +0 + + + + + + + +(1.0, 0.0, 0.0, 1.0, 859.4763793945312, 585.3512902260969) + + +(0.0, 0.0) + + +112.0 + + +117.0 + + + + + +0 + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 461.3437957763672, 701.812027882174) + + +[(168.1717643737793, -10.21558441916568), (398.13258361816406, -62.02350992998015)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +slug 1 + + + + + + + + +private + + + + +composite + + + + + +value 1 + + + + + + + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 421.7929992675781, 865.3788592753989) + + +(0.0, 0.0) + + +226.0 + + +206.0 + + + + + +0 + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 416.640625, 931.2093869803954) + + +[(5.152374267578125, 33.33422792273302), (-186.18749237060547, 38.527185657449195)] + + + + + + + + + + + + + +email + + +Email + + +private + + + + + + + +setEmail + + + + + + + + + + +return + + + + + +void + + + + + + + +getEmail + + + + + + + + + +return + + + + + +string + + + + +in + + +email + + + + + +string + + + + +Uuid + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 222.63278198242188, 52.738258361816406) + + +(0.0, 0.0) + + +112.0 + + +91.0 + + + + + + + + +0 + + + + + + + + + + +value + + +string + + + + +(1.0, 0.0, 0.0, 1.0, 245.28601837158203, 52.741511942362536) + + +(0.0, 0.0) + + +118.0 + + +133.0 + + + + + + + + +0 + + +0 + + + + + + + +AccessLevel + + + + + + + + + + + + + + + + + + + + + + + + + +Administrator + + + + + + + +Manager + + + + + + + +Publisher + + + + +Role + + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 23.19799041748047, 64.91729319236254) + + +(0.0, 0.0) + + +100.0 + + +91.0 + + + + + + + + + + + + + +Role + + + + + + + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 38.40734100341797, 219.89395493653012) + + +(-3.8058090209960938, 0.0) + + +402.93353271484375 + + +199.44921875 + + + + + + + + + + + + + + + + + + + + + + + +value + + +private + + + + + + + + + + +0 + + +0 + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 70.42862701416016, 91.17176534938562) + + +[(52.76936340332031, 26.66688483221094), (174.85739135742188, 26.66688483221094)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + + +1 + + +private + + + + +composite + + + + + + + + + + + +1 + + +1 + + + + +(1.0, 0.0, 0.0, 1.0, 935.6613082885742, 110.81069327434392) + + +(0.0, 0.0) + + +100.0 + + +95.47855133437648 + + + + + + + + +0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +role + + + + + + + + +private + + + + +composite + + + + + +value + + + + + + + + +private + + + + + + + +role + + +Role + + +private + + + + + + + +setPassword + + + + + + + + + +in + + +password + + + + + +string + + + + + + + +getPassword + + + + + + + + + +return + + + + + +string + + + + + + + +setRole + + + + + + + + + + +return + + + + + +void + + + + +in + + +role + + + + + +Role + + + + + + + +setLogin + + + + + + + + + + +return + + + + + +void + + + + +in + + +login + + + + + +string + + + + +return + + + + + +string + + + + +LoginHash + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 493.9081268310547, 246.73260511812668) + + +(0.0, 0.0) + + +122.0 + + +91.0 + + + + + + + + +0 + + + + + + + + + + +value + + +string + + +private + + + + +Credential + + +Used to authenticate User + + + + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 307.10777689699177, 368.00700313352945) + + +(0.0, 0.0) + + +195.0 + + +108.0 + + + + + + + + + + + + + + + + +1 + + +uuid + + +Uuid + + +private + + + + + + + +login + + +LoginHash + + +private + + + + + + + +password + + +PasswordHash + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 445.27734375, -132.64480211569253) + + +(0.0, 0.0) + + +195.0 + + +121.0 + + + + + + + + + + +PasswordHash + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 654.8591613769531, 246.73260511812668) + + +(0.0, 0.0) + + +122.0 + + +91.0 + + + + + + + + +0 + + + + + + + + + + +value + + +string + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 164.19141387939453, -124.14480211569253) + + +(0.0, 0.0) + + +122.0 + + +117.0 + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 765.7497863769531, -124.14480211569253) + + +(0.0, 0.0) + + +122.0 + + +117.0 + + + + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 459.7421875, -68.66650333277289) + + +[(-14.46484375, 2.129385776325961), (-173.55077362060547, 9.330346346231664)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +password 1 + + + + + + + + +private + + + + +composite + + + + + +value 1 + + + + + + + + +private + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 579.9961547851562, -83.85521936343378) + + +[(60.28118896484375, 10.989007545980257), (185.75363159179688, 17.39883133326012)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +login 1 + + + + + + + + +private + + + + +composite + + + + + +value 1 + + + + + + + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 82.29164366859882, -1207.4945684742152) + + +(0.0, 0.0) + + +273.81504763587725 + + +181.0 + + + + + +0 + + + + + + + +(1.0, 0.0, 0.0, 1.0, 704.5482909987392, -1168.594057044088) + + +(0.0, 0.0) + + +195.0 + + +121.0 + + + + + +0 + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 358.23122624286077, -1113.6224439098594) + + +[(-2.124534938384727, -24.384005964114976), (346.3170647558784, -25.296731977803574)] + + + + + + + + + + + + + + + + +Possède des + + + + + + + + + + + + + + + + + + + + + + + +credentialUuid 1 + + + + + + + + +private + + + + + + + + + + +uuid 1 + + + + + +private + + + + + + + +0 + + +0 + + +brands + + +Uuid + + +* + + +* + + +private + + + + + + + +0 + + +0 + + +tag + + +Uuid + + +1 + + +1 + + +private + + + + + + + +name + + +string + + +private + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 614.9180297851562, 946.2555039962874) + + +[(32.874969482421875, 22.12335527911148), (244.558349609375, 23.097810877329152)] + + + + + + + + + + + + + +0 + + +0 + + +brand + + +Uuid + + +1 + + +1 + + +private + + + + + + + +1 + + +createdAt + + +zDateTime + + +private + + + + + + + +updatedAt + + +zDateTime + + +private + + + + + + + +1 + + +brand + + +Uuid + + +private + + + + + + + +1 + + +credentialUuid + + +Uuid + + +private + + + + + + + +name + + +string + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 108.19141387939453, 46.675087436329704) + + +(0.0, 0.0) + + +122.26171875 + + +117.0 + + + + + + + + + + + + + + + + +étiquette (tag) + + + + + + + + + + + + + + + + + + + + + + + + +tag 1 + + + + + + + + +private + + + + +composite + + + + + +value 1 + + + + + + + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 108.19141387939453, 170.0879251716408) + + +(0.0, 0.0) + + +122.26171875 + + +117.0 + + + + + + + + + + + + + + + + +catalog + + + + + + + + + + + + + + + + + + + + + + + + +catalog 1 + + + + + + + + +private + + + + +composite + + + + + +value 1 + + + + + + + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 108.19141387939453, 293.21875) + + +(0.0, 0.0) + + +122.26171875 + + +117.0 + + + + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 419.05076599121094, 479.61032606670733) + + +[(-8.273422241210938, -124.4855669988541), (-188.5976333618164, -116.74731586537246)] + + + + + + + + + + + + + + + + +enseigne (brand) + + + + + + + + + + + + + + + + + + + + + + + + +brand 1 + + + + + + + + +private + + + + +composite + + + + + +value 1 + + + + + + + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 108.19141387939453, 449.87815710471955) + + +(0.0, 0.0) + + +122.26171875 + + +117.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +uuid 1 + + + + + + + + +private + + + + +composite + + + + + +value 1 + + + + + + + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 108.19141387939453, 659.9997277260969) + + +(0.0, 0.0) + + +122.26171875 + + +117.0 + + + + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 544.8005218505859, 537.78955888264) + + +[(-98.28496170043945, 174.21016884345693), (-314.3473892211914, 180.71016884345693)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +uuid 1 + + + + + + + + +private + + + + +composite + + + + + +value 1 + + + + + + + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 108.19141387939453, 922.9999530253988) + + +(0.0, 0.0) + + +122.26171875 + + +117.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +uuid 1 + + + + + + + + +private + + + + +composite + + + + + +value 1 + + + + + + + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 859.4763793945312, 922.9999530253988) + + +(0.0, 0.0) + + +122.26171875 + + +109.0 + + + + + +0 + + + + + + + + + + + + + +enseigne (brand) + + + + + + + + + + + + + + + + + + + + + + + + +brand 1 + + + + + + + + +private + + + + +composite + + + + + +value 1 + + + + + + + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 881.7380981445312, 1148.2499771118164) + + +(0.0, 0.0) + + +100.0 + + +109.0 + + + + + +0 + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 720.2481384277344, 1220.2823238478536) + + +[(-57.95513916015625, -18.78267561327243), (161.48995971679688, -11.571782648731414)] + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 368.6874008178711, 1153.7499771118164) + + +(38.60559844970703, 0.0) + + +255.0 + + +181.0 + + + + + +0 + + + + + + + +(1.0, 0.0, 0.0, 1.0, 70.05080032348633, 1129.150722097396) + + +(0.0, 0.0) + + +119.8554458618164 + + +117.0 + + + + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 426.640625, 941.8617307303954) + + +[(-19.347625732421875, 222.22894207240972), (-236.73437881469727, 224.4167484105859)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +uuid + + + + + + + + +private + + + + +composite + + + + + +value + + + + + + + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 67.64452743530273, 1266.924159597396) + + +(0.0, 0.0) + + +122.26171875 + + +117.0 + + + + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 391.00390625, 1482.3212648206236) + + +[(16.289093017578125, -156.28526482282132), (-201.09766006469727, -149.7839800852705)] + + + + + + + + + + + + + + + + +brands (enseignes) + + + + + + + + + + + + + + + + + + + + + + + + +brands + + + + + + + + +1 + + +1 + + +private + + + + +composite + + + + + +0 + + +0 + + +value + + + + + + + + +* + + +* + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 861.8826522827148, 1287.3929401149742) + + +(0.0, 0.0) + + +119.8554458618164 + + +117.0 + + + + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 401.00390625, 1492.3212648206236) + + +[(261.2890930175781, -173.39710522322753), (460.87874603271484, -169.4557027879248)] + + + + + + + + + + + + + + + + +credentials (identifiants) + + + + + + + + + + + + + + + + + + + + + + + + +0 + + +0 + + +credentialUuid 1 + + + + + + + + +private + + + + +composite + + + + + +value 1 + + + + + + + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 729.528271316042, -564.384046270536) + + +(0.0, 0.0) + + +183.0 + + +130.0 + + + + + +0 + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 221.72264099121094, -439.6499064564801) + + +[(143.56900267738789, -168.47135973745475), (507.8056303248311, -69.39684427528613)] + + + + + + + + + + + + + + + + +Appartient à + + + + + + + + + + + + + + + + + + + + + + + +brand + + + + + + + + +1 + + +1 + + +private + + + + + + + + + + +0 + + +0 + + +uuid + + + + + +1 + + +1 + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 114.45068537216233, -11.325046499910847) + + +(0.0, 0.0) + + +209.56066012670487 + + +143.88577791951718 + + + + + +0 + + + + + + + +(1.0, 0.0, 0.0, 1.0, 729.528271316042, -11.325046499910837) + + +(0.0, 0.0) + + +183.0 + + +130.0 + + + + + +0 + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 231.72264099121094, -429.6499064564801) + + +[(92.28870450765623, 490.2677489163278), (497.8056303248309, 499.97724943856383)] + + + + + + + + + + + + + + + + +Appartient à + + + + + + + + + + + + + + + + + + + + + + + +brand + + + + + + + + +1 + + +1 + + +private + + + + + + + + + + +uuid 1 + + + + + +private + + + + +UserReportingSubscription + + +- users are unique for this association +- brand is unique for all reporting List + + + + + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 582.3944396972656, 368.00700313352945) + + +(0.0, 0.0) + + +235.98043823242188 + + +117.0 + + + + + + + + +0 + + + + + + + + + + +1 + + +uuid + + +Uuid + + +private + + + + + + + +1 + + +user + + +Uuid + + +1 + + +1 + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 99.19410344897413, -1502.9178922569356) + + +(0.0, 0.0) + + +235.98043823242188 + + +130.0 + + + + + +0 + + + + + + + +(1.0, 0.0, 0.0, 1.0, 676.8255794043449, -1495.1885711929817) + + +(0.0, 0.0) + + +183.0 + + +130.0 + + + + + +0 + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 368.23122624286077, -1103.6224439098594) + + +[(-33.05668456146486, -315.1743649560076), (308.59435316148404, -306.32782149004925)] + + + + + + + + + + + + + + + + +Concerne + + + + + + + + + + + + + + + + + + + + + + + +0 + + +0 + + +brand + + + + + + + + +* + + +* + + +private + + + + + + + + + + +0 + + +0 + + +uuid + + + + + +* + + +* + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 62.50109285476887, -1817.9362318313495) + + +(38.60559844970703, 0.0) + + +255.0 + + +181.0 + + + + + +0 + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 378.23122624286066, -1093.6224439098594) + + +[(-142.08119497338765, -409.2954483470762), (-142.08119497338765, -543.3137879214901)] + + + + + + + + + + + + + + + + +Est inscrit sur une + + + + + + + + + + + + + + + + + + + + + + + +0 + + +0 + + +user + + + + + + + + +* + + +* + + +private + + + + + + + + + + +0 + + +0 + + +uuid + + + + + +* + + +* + + +private + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 433.4402052751747, -1065.734422930028) + + +[(-77.33351397069856, -649.1685134884519), (104.72915785767668, -649.1685134884519), (250.93952581637188, -616.2290546515713), (326.8433546770053, -535.5110555105284), (326.8433546770054, -429.4541482629538)] + + + + + + + + + + + + + + + + +Est associé avec + + + + + + + + + + + + + + + + + + + + + + + +0 + + +0 + + +brands + + + + + + + + +* + + +* + + +private + + + + + + + + + + +0 + + +0 + + +uuid + + + + + +* + + +* + + +private + + + + + + + +1 + + +brand + + +Uuid + + +1 + + +1 + + +private + + + + +Validity + + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 291.2211496997261, 74.71206625583955) + + +(0.0, 0.0) + + +118.0 + + +133.0 + + + + + + + + +0 + + +0 + + + + + + + + + + +unknow + + + + + + + +valid + + + + + + + +invalid + + + + +Link Validity + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 594.7771759033203, 384.2515256230531) + + +(0.0, 0.0) + + +447.1954040527344 + + +230.91796875 + + + + + + + + + + + + + + + + + + + + +LinkValidity + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 31.581985473632812, 81.29545129290273) + + +(0.0, 0.0) + + +123.0 + + +91.0 + + + + + + + + +0 + + + + + + + + + + +value + + +Validity + + +private + + + + + + + + + + +0 + + +0 + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 143.4335479736328, 118.68592118171318) + + +[(11.1484375, 9.441108190771502), (147.78760172609327, 8.109530111189542)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + + +1 + + + + +composite + + + + + + + + + + + +1 + + +1 + + + + +(1.0, 0.0, 0.0, 1.0, 887.7497863769531, 158.7063374363297) + + +(0.0, 0.0) + + +123.0 + + +104.0 + + + + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 665.7461547851562, 216.6615662496053) + + +[(9.03118896484375, -1.28836929355748), (222.00363159179688, -0.93290054355748)] + + + + + + + + + + + + + + + + +validité + + + + + + + + + + + + + + + + + + + + + + + + +value 1 + + + + + + + + +private + + + + +composite + + + + + +isValid 1 + + + + + + + + +private + + + + +Fqdn + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 855.3928568530465, 246.73260511812663) + + +(0.0, 0.0) + + +105.0 + + +91.0 + + + + + + + + +0 + + + + + + + + + + +value + + +string + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 862.9763793945312, 744.8589075826621) + + +(0.0, 0.0) + + +105.0 + + +109.0 + + + + + +0 + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 471.3437957763672, 713.0697632517057) + + +[(158.1717643737793, 50.92996447439123), (391.63258361816406, 90.70636771130262)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + + +0 + + +fqdns + + + + + + + + +* + + +* + + +private + + + + +composite + + + + + +value 1 + + + + + + + + +private + + + + + + + +fqdns + + +Fqdn + + +* + + +* + + +private + + + + +Default Domain + + + + + + + + + + + + + + + + + + + + + + + + +Statistics Domain + + + + + + + + + + + + + + + + + + + + + + + + + + + +Domain Entities - Relationships + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Domain Entities - Value Objects Relations + + + + +Shared + + + + + + + + + + + + + + + + + + + + +Diagrams + + + + + + + + + + + + + + + + + +Diagrams + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Shared - Value objects + + + + + + + + + + + + + + + + + + + + +Statistics - Entities + + + + + + + + + + + + + + + + + + + + + + + + + +Statistics - Value objects + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 344.3294065413365, 542.2971065465091) + + +(0.0, 0.0) + + +120.0 + + +126.0 + + + + + +0 + + + + + + + +Locale + + + + + + + + + + + + + + + + + + + + + + + + + +lang + + +String + + +private + + + + + + + +region + + +String + + +private + + + + +Country + + + + + + + + + + + + + + + + + + + + + + + + + ++ afghanistan: Integer + + + + + + + ++ france: Integer + + + + +(1.0, 0.0, 0.0, 1.0, 571.9614216367424, 202.92638912480888) + + +(0.0, 0.0) + + +168.0 + + +113.0 + + + + + +0 + + +0 + + + + + + + +ScreenProperties + + + + + + + + + + + + + + + + + + + + + + + + + + +height + + +Integer + + +private + + + + + + + +width + + +Integer + + +private + + + + + + + +dpi + + +Integer + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 97.12194886063179, 533.7971065465091) + + +(0.0, 0.0) + + +143.0 + + +143.0 + + + + + +0 + + + + + + + +BrowserInfo + + + + + + + + + + + + + + + + + + + + + + + + + + +classType + + +String + + +private + + + + + + + +name + + +String + + +private + + + + + + + +version + + +String + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 200.03558380531598, -205.35877035697592) + + +(0.0, 0.0) + + +135.0 + + +143.0 + + + + + +0 + + + + + + + +(1.0, 0.0, 0.0, 1.0, 571.9614216367424, 367.63828046426926) + + +(0.0, 0.0) + + +176.0 + + +130.0 + + + + + +0 + + + + + + + +OperatingSystemInfo + + + + + + + + + + + + + + + + + + + + + + + + + + +classType + + +String + + +private + + + + + + + +name + + +String + + +private + + + + + + + +version + + +String + + +private + + + + +Fingerprint + + + + + + + + + + + + + + + + + + + + + + + + +fingerprint + + +String + + +private + + + + +(1.0, 0.0, 0.0, 1.0, 571.9614216367426, 54.536234503749434) + + +(0.0, 0.0) + + +143.0 + + +109.0 + + + + + +0 + + + + + + + +UserType + + + + + + + + + + + + + + + + + + + + + + + + + + + + ++ UNKNOWN: 0 + + + + + + + ++ HUMAN: 1 + + + + + + + ++ CRAWLER: 2 + + + + + + + ++ SPIDER: 3 + + + + + + + ++BOT : 4 + + + + +(1.0, 0.0, 0.0, 1.0, -149.80474090576172, 63.2638722729738) + + +(0.0, 0.0) + + +118.0 + + +177.0 + + + + + +0 + + +0 + + + + + + + +StatisticLineWithEntity + + + + + + + + + + + + + + + + + + + + + + + + + +count + + +Integer + + +private + + + + + + + +entity + + +String + + +private + + + + + + + +value + + +string + + +private + + + + +StatisticLinePerInterval + + + + + + + + + + + + + + + + + + + + + + + + + +count + + +Integer + + +private + + + + + + + +interval + + +ZonedDateTime + + +private + + + + + + + +value + + +string + + +private + + + + +StatisticLine + + + + + + + + + + + + + + + + + + + + + + + + +count + + +Integer + + +private + + + + + + + +value + + +String + + +private + + + + +RawUserAgent + + + + + + + + + + + + + + + + + + + + + + + + +value + + +String + + +private + + + + + + + +Domain Entities + + + + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 462.7929706838091, 223.5157258836807) + + +(0.0, 0.0) + + +118.0 + + +193.0 + + + + + +0 + + +0 + + + + + + + +(1.0, 0.0, 0.0, 1.0, 650.1210829832698, 386.09728823691665) + + +(0.0, 0.0) + + +143.0 + + +151.0 + + + + + +0 + + + + + + + +(1.0, 0.0, 0.0, 1.0, 650.1210829832696, 29.425222843155034) + + +(0.0, 0.0) + + +123.0 + + +117.0 + + + + + +0 + + + + + + + +(1.0, 0.0, 0.0, 1.0, 650.1210829832697, 189.51572588368063) + + +(0.0, 0.0) + + +176.0 + + +151.0 + + + + + +0 + + + + + + + +(1.0, 0.0, 0.0, 1.0, -126.65316682637649, 399.0972882369166) + + +(0.0, 0.0) + + +113.0 + + +134.0 + + + + + +0 + + + + + + + +(1.0, 0.0, 0.0, 1.0, 48.35273109459308, 223.5157258836807) + + +(0.0, 0.0) + + +143.0 + + +117.0 + + + + + +0 + + + + + + + +(1.0, 0.0, 0.0, 1.0, 48.35273109459303, 395.09728823691654) + + +(0.0, 0.0) + + +168.0 + + +142.0 + + + + + +0 + + +0 + + + + + + + +(1.0, 0.0, 0.0, 1.0, -126.65316682637648, 178.51823291842595) + + +(0.0, 0.0) + + +135.0 + + +151.0 + + + + + +0 + + + + + + + +(1.0, 0.0, 0.0, 1.0, -141.8253023334736, -75.37792891725309) + + +(0.0, 0.0) + + +1033.3872182168398 + + +680.7873096018675 + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 401.2058343162597, 16.425222843154927) + + +(0.0, 0.0) + + +192.0 + + +130.0 + + + + + +0 + + + + + + + +(1.0, 0.0, 0.0, 1.0, 170.3670828875819, 10.425222843155048) + + +(0.0, 0.0) + + +195.0 + + +130.0 + + + + + +0 + + + + + + + +(1.0, 0.0, 0.0, 1.0, 25.646672478422705, 14.425222843155113) + + +(0.0, 0.0) + + +120.0 + + +126.0 + + + + + +0 + + + + + + + +(1.0, 0.0, 0.0, 1.0, -126.65316682637649, 14.425222843155112) + + +(0.0, 0.0) + + +123.0 + + +109.0 + + + + + +0 + + + + + + + +(1.0, 0.0, 0.0, 1.0, -43.17136408385036, 738.7192612544118) + + +(0.0, 0.0) + + +617.0768939428644 + + +566.8045887403125 + + + + + + + + + + + + + + + +LinkStatistic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 128.81803656227305, 141.78895954150855) + + +(0.0, 0.0) + + +333.0 + + +304.0 + + + + + + + + +0 + + + + + + + + + + +uuid + + +UUID + + +private + + + + + + + +linkSource + + +Source + + +private + + + + + + + +linkWasValid + + +Boolean + + +private + + + + + + + +doNotTrack + + +Boolean + + +private + + + + + + + +userType + + +UserType + + +private + + + + + + + +0 + + +0 + + +country + + +Country + + +1 + + +1 + + +private + + + + + + + +0 + + +0 + + +brand + + +String + + +1 + + +1 + + +private + + + + + + + +0 + + +0 + + +catalog + + +String + + +1 + + +1 + + +private + + + + + + + +0 + + +0 + + +fingerprint + + +Fingerprint + + +1 + + +1 + + +private + + + + + + + +0 + + +0 + + +locale + + +Locale + + +1 + + +1 + + +private + + + + + + + +0 + + +0 + + +referrer + + +Referrer + + +1 + + +1 + + +private + + + + + + + +0 + + +0 + + +browser + + +BrowserInfo + + +1 + + +1 + + +private + + + + + + + +0 + + +0 + + +screen + + +ScreenProperties + + +1 + + +1 + + +private + + + + + + + +0 + + +0 + + +operatingSystem + + +OperatingSystemInfo + + +1 + + +1 + + +private + + + + + + + +visitedAt + + +ZonedDateTime + + +private + + + + +Referrer + + + + + + + + + + + + + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 407.19238522105553, 307.3936548009338) + + +(0.0, 0.0) + + +100.0 + + +100.0 + + + + + + + + +0 + + + + + + + + + + +host + + +String + + +private + + + + + + + +path + + +string + + +private + + + + +(1.0, 0.0, 0.0, 1.0, -140.80474090576172, 282.29710654650916) + + +(0.0, 0.0) + + +100.0 + + +134.0 + + + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 97.12194886063179, 104.07088662361211) + + +(0.0, -49.53465211986264) + + +340.8272698893682 + + +387.53465211986264 + + + + + +0 + + + + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 262.1574194786565, -62.068190478976476) + + +[(8.067246489989088, -0.2905798779994484), (8.067246489989088, 116.60442498272596)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +composite + + + + + +0 + + +0 + + +browserInfo + + + + + + + + +1 + + +1 + + +private + + + + + + + + + + + + + +1 + + +1 + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 94.88836379985864, 133.53306572998952) + + +[(2.2335850607731516, 0.0), (-126.69310470562036, 0.0)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + + +0 + + +userType + + + + + + + + +1 + + +1 + + +private + + + + +composite + + + + + + + + + + + +1 + + +1 + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 93.66668611678327, 328.8538141317102) + + +[(3.4552627438485217, 2.4679584448509218), (-134.471427022545, 2.4679584448509218)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + + +0 + + +referrer + + + + + + + + +1 + + +1 + + +private + + + + +composite + + + + + + + + + + + +1 + + +1 + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 434.76106329261916, 335.8154629689585) + + +[(-38.31711554824017, 106.25542365465361), (-38.31711554824017, 206.48164357755059)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + + +0 + + +locale + + + + + + + + +1 + + +1 + + +private + + + + +composite + + + + + + + + + + + +1 + + +1 + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 166.7779397085811, 444.15684448894916) + + +[(0.0, -2.0859578653370363), (0.0, 89.64026205755994)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + + +0 + + +screenProperties + + + + + + + + +1 + + +1 + + +private + + + + +composite + + + + + + + + + + + +1 + + +1 + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 440.0739406585517, 414.7465745899644) + + +[(-2.1247219085516917, 27.324312033647743), (131.88748097819075, -33.16996965094188)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + + +0 + + +operatingSystem + + + + + + + + +1 + + +1 + + +private + + + + +composite + + + + + + + + + + + +1 + + +1 + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 436.38523168523477, 260.34644021910407) + + +[(1.563987064765172, -12.042879655423292), (135.57618995150767, -12.042879655423292)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + + +0 + + +country + + + + + + + + +1 + + +1 + + +private + + + + +composite + + + + + + + + + + + +1 + + +1 + + + + + + + + + + +0 + + +0 + + + + + + + + +(1.0, 0.0, 0.0, 1.0, 438.40242041775446, 108.81103717276017) + + +[(-0.4532016677546835, -54.2748026690107), (133.559001218988, 0.22519733098926054)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 + + +0 + + +fingerprint + + + + + + + + +1 + + +1 + + +private + + + + +composite + + + + + + + + + + + +1 + + +1 + + + + \ No newline at end of file diff --git a/brunoCollection/Auth/Change Password.bru b/brunoCollection/Auth/Change Password.bru new file mode 100644 index 0000000..3b195ea --- /dev/null +++ b/brunoCollection/Auth/Change Password.bru @@ -0,0 +1,18 @@ +meta { + name: Change Password + type: http + seq: 3 +} + +put { + url: http://localhost:8080/api/v1/auth/password + body: json + auth: inherit +} + +body:json { + { + "password" : "asd", + "new-password" : "asd" + } +} diff --git a/brunoCollection/Auth/Login.bru b/brunoCollection/Auth/Login.bru new file mode 100644 index 0000000..e21112c --- /dev/null +++ b/brunoCollection/Auth/Login.bru @@ -0,0 +1,28 @@ +meta { + name: Login + type: http + seq: 1 +} + +post { + url: http://localhost:8080/api/v1/auth/login + body: json + auth: none +} + +headers { + Content-Type: application/json + Accept: application/json +} + +body:json { + { + "login": "z3.admin", + "password": "g4nWmGs0w^" + } +} + +tests { + let response = res.getBody(); + bru.setVar("jwt_token", response.token); +} diff --git a/brunoCollection/Auth/Me.bru b/brunoCollection/Auth/Me.bru new file mode 100644 index 0000000..da7e46e --- /dev/null +++ b/brunoCollection/Auth/Me.bru @@ -0,0 +1,16 @@ +meta { + name: Me + type: http + seq: 2 +} + +get { + url: http://localhost:8080/api/v1/auth/me + body: none + auth: inherit +} + +headers { + Content-Type: application/json + Accept: application/json +} diff --git a/brunoCollection/Auth/folder.bru b/brunoCollection/Auth/folder.bru new file mode 100644 index 0000000..afa4461 --- /dev/null +++ b/brunoCollection/Auth/folder.bru @@ -0,0 +1,3 @@ +meta { + name: Auth +} diff --git a/brunoCollection/Brands/Create Brand.bru b/brunoCollection/Brands/Create Brand.bru new file mode 100644 index 0000000..f2488e1 --- /dev/null +++ b/brunoCollection/Brands/Create Brand.bru @@ -0,0 +1,26 @@ +meta { + name: Create Brand + type: http + seq: 2 +} + +post { + url: http://localhost:8080/api/v1/brands + body: json + auth: inherit +} + +headers { + Accept: application/json + Content-Type: application/json +} + +body:json { + { + "name" : "super brand 2", + "fqdns": [ + "example.net", + "example.io" + ] + } +} diff --git a/brunoCollection/Brands/Get Brand.bru b/brunoCollection/Brands/Get Brand.bru new file mode 100644 index 0000000..24252cb --- /dev/null +++ b/brunoCollection/Brands/Get Brand.bru @@ -0,0 +1,15 @@ +meta { + name: Get Brand + type: http + seq: 1 +} + +get { + url: http://localhost:8080/api/v1/brands/2abe8b15-b204-4021-9847-6437188ec6d8 + body: none + auth: inherit +} + +headers { + Accept: application/json +} diff --git a/brunoCollection/Brands/List Brands.bru b/brunoCollection/Brands/List Brands.bru new file mode 100644 index 0000000..13cd601 --- /dev/null +++ b/brunoCollection/Brands/List Brands.bru @@ -0,0 +1,18 @@ +meta { + name: List Brands + type: http + seq: 4 +} + +get { + url: http://localhost:8080/api/v1/brands?page=1&perPage=15 + body: none + auth: inherit +} + +params:query { + page: 1 + perPage: 15 + ~orderBy: source + ~direction: desc +} diff --git a/brunoCollection/Brands/Update Brand.bru b/brunoCollection/Brands/Update Brand.bru new file mode 100644 index 0000000..1a689b1 --- /dev/null +++ b/brunoCollection/Brands/Update Brand.bru @@ -0,0 +1,26 @@ +meta { + name: Update Brand + type: http + seq: 3 +} + +put { + url: http://localhost:8080/api/v1/brands/super-brand-2 + body: json + auth: inherit +} + +headers { + Content-Type: application/json + Accept: application/json +} + +body:json { + { + "name": "Super Brand 2", + "fqdns": [ + "example.net", + "example.io" + ] + } +} diff --git a/brunoCollection/Brands/folder.bru b/brunoCollection/Brands/folder.bru new file mode 100644 index 0000000..5da2147 --- /dev/null +++ b/brunoCollection/Brands/folder.bru @@ -0,0 +1,3 @@ +meta { + name: Brands +} diff --git a/brunoCollection/Catalogs/Create Catalog.bru b/brunoCollection/Catalogs/Create Catalog.bru new file mode 100644 index 0000000..4f8375a --- /dev/null +++ b/brunoCollection/Catalogs/Create Catalog.bru @@ -0,0 +1,23 @@ +meta { + name: Create Catalog + type: http + seq: 1 +} + +post { + url: http://localhost:8080/api/v1/catalogs + body: json + auth: inherit +} + +headers { + Accept: application/json + Content-Type: application/json +} + +body:json { + { + "name" : "super catalog", + "brand": "1e86a493-ee75-494d-8da5-c61971c37b67" + } +} diff --git a/brunoCollection/Catalogs/Delete Catalog.bru b/brunoCollection/Catalogs/Delete Catalog.bru new file mode 100644 index 0000000..04f2efa --- /dev/null +++ b/brunoCollection/Catalogs/Delete Catalog.bru @@ -0,0 +1,11 @@ +meta { + name: Delete Catalog + type: http + seq: 3 +} + +delete { + url: http://localhost:8080/api/v1/catalogs/super-tag + body: none + auth: inherit +} diff --git a/brunoCollection/Catalogs/Get Catalog.bru b/brunoCollection/Catalogs/Get Catalog.bru new file mode 100644 index 0000000..cf14d4d --- /dev/null +++ b/brunoCollection/Catalogs/Get Catalog.bru @@ -0,0 +1,15 @@ +meta { + name: Get Catalog + type: http + seq: 5 +} + +get { + url: http://localhost:8080/api/v1/catalogs/super-catalog + body: none + auth: inherit +} + +headers { + Accept: application/json +} diff --git a/brunoCollection/Catalogs/List Catalogs.bru b/brunoCollection/Catalogs/List Catalogs.bru new file mode 100644 index 0000000..94a26f8 --- /dev/null +++ b/brunoCollection/Catalogs/List Catalogs.bru @@ -0,0 +1,19 @@ +meta { + name: List Catalogs + type: http + seq: 4 +} + +get { + url: http://localhost:8080/api/v1/catalogs?page=1&brand=b5a90f20-dd1c-4a8a-b820-aed3aa62e857&perPage=15 + body: none + auth: inherit +} + +params:query { + page: 1 + brand: b5a90f20-dd1c-4a8a-b820-aed3aa62e857 + perPage: 15 + ~orderBy: source + ~direction: desc +} diff --git a/brunoCollection/Catalogs/Update Catalog.bru b/brunoCollection/Catalogs/Update Catalog.bru new file mode 100644 index 0000000..1094c4e --- /dev/null +++ b/brunoCollection/Catalogs/Update Catalog.bru @@ -0,0 +1,18 @@ +meta { + name: Update Catalog + type: http + seq: 2 +} + +put { + url: http://localhost:8080/api/v1/catalogs/97295da4-d7c8-4e15-86fb-81ee9f53a47e + body: json + auth: inherit +} + +body:json { + { + "name" : "super tagwrere", + "color": "#fff" + } +} diff --git a/brunoCollection/Catalogs/folder.bru b/brunoCollection/Catalogs/folder.bru new file mode 100644 index 0000000..6706167 --- /dev/null +++ b/brunoCollection/Catalogs/folder.bru @@ -0,0 +1,3 @@ +meta { + name: Catalogs +} diff --git a/brunoCollection/Links/Create Link.bru b/brunoCollection/Links/Create Link.bru new file mode 100644 index 0000000..ce6b358 --- /dev/null +++ b/brunoCollection/Links/Create Link.bru @@ -0,0 +1,26 @@ +meta { + name: Create Link + type: http + seq: 3 +} + +post { + url: http://localhost:8080/api/v1/links + body: json + auth: inherit +} + +headers { + Content-Type: application/json + Accept: application/json +} + +body:json { + { + "source" : "testkey", + "target" : "https://example.org", + "is_external": true, + "tag": "", + "catalog": "" + } +} diff --git a/brunoCollection/Links/Get Link.bru b/brunoCollection/Links/Get Link.bru new file mode 100644 index 0000000..0ec0e27 --- /dev/null +++ b/brunoCollection/Links/Get Link.bru @@ -0,0 +1,11 @@ +meta { + name: Get Link + type: http + seq: 1 +} + +get { + url: http://localhost:8080/api/v1/links/3cisvgdo7r8fdqo774ci3apagt + body: none + auth: inherit +} diff --git a/brunoCollection/Links/Link export no brand.bru b/brunoCollection/Links/Link export no brand.bru new file mode 100644 index 0000000..eb16787 --- /dev/null +++ b/brunoCollection/Links/Link export no brand.bru @@ -0,0 +1,11 @@ +meta { + name: Link export no brand + type: http + seq: 5 +} + +get { + url: http://localhost:8080/api/v1/links-export + body: none + auth: inherit +} diff --git a/brunoCollection/Links/Link export with brand.bru b/brunoCollection/Links/Link export with brand.bru new file mode 100644 index 0000000..188ebfd --- /dev/null +++ b/brunoCollection/Links/Link export with brand.bru @@ -0,0 +1,11 @@ +meta { + name: Link export with brand + type: http + seq: 6 +} + +get { + url: http://localhost:8080/api/v1/links-export/brands/new-branddd + body: none + auth: inherit +} diff --git a/brunoCollection/Links/Link export with catalog.bru b/brunoCollection/Links/Link export with catalog.bru new file mode 100644 index 0000000..09e186a --- /dev/null +++ b/brunoCollection/Links/Link export with catalog.bru @@ -0,0 +1,11 @@ +meta { + name: Link export with catalog + type: http + seq: 7 +} + +get { + url: http://localhost:8080/api/v1/links-export/catalogs/new-catalog + body: none + auth: inherit +} diff --git a/brunoCollection/Links/Link import.bru b/brunoCollection/Links/Link import.bru new file mode 100644 index 0000000..c2c4347 --- /dev/null +++ b/brunoCollection/Links/Link import.bru @@ -0,0 +1,19 @@ +meta { + name: Link import + type: http + seq: 8 +} + +post { + url: http://localhost:8080/api/v1/links-import/brands/1e86a493-ee75-494d-8da5-c61971c37b67 + body: multipartForm + auth: inherit +} + +headers { + Accept: application/json +} + +body:multipart-form { + file: @file(postman-cloud:///1efaca96-04b8-4ff0-968f-73a0020ae3a0) +} diff --git a/brunoCollection/Links/List Links.bru b/brunoCollection/Links/List Links.bru new file mode 100644 index 0000000..f1626a9 --- /dev/null +++ b/brunoCollection/Links/List Links.bru @@ -0,0 +1,22 @@ +meta { + name: List Links + type: http + seq: 4 +} + +get { + url: http://localhost:8080/api/v1/links?page=1&perPage=15&orderBy=source&direction=desc + body: none + auth: inherit +} + +params:query { + page: 1 + perPage: 15 + orderBy: source + direction: desc + ~tag: 1fefab47-ec13-4f9e-815a-1cef5e7d7db4 + ~searchOn: source + ~keywords: example.net + ~catalog: 77657d43-7d33-48cd-88aa-7f73fa6d6ded +} diff --git a/brunoCollection/Links/Statistics/For all Brands.bru b/brunoCollection/Links/Statistics/For all Brands.bru new file mode 100644 index 0000000..f446224 --- /dev/null +++ b/brunoCollection/Links/Statistics/For all Brands.bru @@ -0,0 +1,11 @@ +meta { + name: For all Brands + type: http + seq: 1 +} + +get { + url: http://localhost:8080/api/v1/links/statistics/brands + body: none + auth: inherit +} diff --git a/brunoCollection/Links/Statistics/For all Catalogs of.bru b/brunoCollection/Links/Statistics/For all Catalogs of.bru new file mode 100644 index 0000000..f177efb --- /dev/null +++ b/brunoCollection/Links/Statistics/For all Catalogs of.bru @@ -0,0 +1,19 @@ +meta { + name: For all Catalogs of + type: http + seq: 4 +} + +get { + url: http://localhost:8080/api/v1/links/statistics/catalog?brand=582807fe-7a37-462d-97e4-10f30d055abb + body: none + auth: bearer +} + +params:query { + brand: 582807fe-7a37-462d-97e4-10f30d055abb +} + +auth:bearer { + token: {{jwt_token}} +} diff --git a/brunoCollection/Links/Statistics/For all Tag of.bru b/brunoCollection/Links/Statistics/For all Tag of.bru new file mode 100644 index 0000000..6ed8ed3 --- /dev/null +++ b/brunoCollection/Links/Statistics/For all Tag of.bru @@ -0,0 +1,19 @@ +meta { + name: For all Tag of + type: http + seq: 5 +} + +get { + url: http://localhost:8080/api/v1/links/statistics/tag?brand=582807fe-7a37-462d-97e4-10f30d055abb + body: none + auth: bearer +} + +params:query { + brand: 582807fe-7a37-462d-97e4-10f30d055abb +} + +auth:bearer { + token: {{jwt_token}} +} diff --git a/brunoCollection/Links/Statistics/Global Statistics For Brand.bru b/brunoCollection/Links/Statistics/Global Statistics For Brand.bru new file mode 100644 index 0000000..773c109 --- /dev/null +++ b/brunoCollection/Links/Statistics/Global Statistics For Brand.bru @@ -0,0 +1,15 @@ +meta { + name: Global Statistics For Brand + type: http + seq: 3 +} + +get { + url: http://localhost:8080/api/v1/links/statistics/582807fe-7a37-462d-97e4-10f30d055abb + body: none + auth: bearer +} + +auth:bearer { + token: {{jwt_token}} +} diff --git a/brunoCollection/Links/Statistics/Global Statistics.bru b/brunoCollection/Links/Statistics/Global Statistics.bru new file mode 100644 index 0000000..9eb9196 --- /dev/null +++ b/brunoCollection/Links/Statistics/Global Statistics.bru @@ -0,0 +1,15 @@ +meta { + name: Global Statistics + type: http + seq: 2 +} + +get { + url: http://localhost:8080/api/v1/links/statistics + body: none + auth: bearer +} + +auth:bearer { + token: {{jwt_token}} +} diff --git a/brunoCollection/Links/Statistics/folder.bru b/brunoCollection/Links/Statistics/folder.bru new file mode 100644 index 0000000..992258b --- /dev/null +++ b/brunoCollection/Links/Statistics/folder.bru @@ -0,0 +1,3 @@ +meta { + name: Statistics +} diff --git a/brunoCollection/Links/Update Link.bru b/brunoCollection/Links/Update Link.bru new file mode 100644 index 0000000..8788041 --- /dev/null +++ b/brunoCollection/Links/Update Link.bru @@ -0,0 +1,20 @@ +meta { + name: Update Link + type: http + seq: 2 +} + +put { + url: http://localhost:8080/api/v1/links/cle-1058 + body: json + auth: inherit +} + +body:json { + { + "target": "https://example.net", + "is_external": true, + "tag": "", + "catalog": "" + } +} diff --git a/brunoCollection/Links/Verify Link.bru b/brunoCollection/Links/Verify Link.bru new file mode 100644 index 0000000..77f4231 --- /dev/null +++ b/brunoCollection/Links/Verify Link.bru @@ -0,0 +1,11 @@ +meta { + name: Verify Link + type: http + seq: 9 +} + +put { + url: http://localhost:8080/api/v1/links/3cisvgdo7r8fdqo774ci3apagt/verify + body: none + auth: inherit +} diff --git a/brunoCollection/Links/folder.bru b/brunoCollection/Links/folder.bru new file mode 100644 index 0000000..d0c03ff --- /dev/null +++ b/brunoCollection/Links/folder.bru @@ -0,0 +1,3 @@ +meta { + name: Links +} diff --git a/brunoCollection/Public/Link Redirection With Additionals.bru b/brunoCollection/Public/Link Redirection With Additionals.bru new file mode 100644 index 0000000..34c5955 --- /dev/null +++ b/brunoCollection/Public/Link Redirection With Additionals.bru @@ -0,0 +1,29 @@ +meta { + name: Link Redirection With Additionals + type: http + seq: 3 +} + +get { + url: http://localhost:8080/presentation-de-aout?ip-address=80.0.2.1&dnt=false&lang=fr®ion=FR&referrer=https%3A%2F%2Fgoogle.com%2Fi-love-linux&screen-width=1200&screen-height=1080&screen-dpi=4&user-agent=Mozilla%2F5.0%20%28compatible%3B%20Sosospider%2F2.0%3B%20%2Bhttp%3A%2F%2Fhelp.soso.com%2Fwebspider.htm%29&fingerprint=fingerprint + body: none + auth: none +} + +params:query { + ip-address: 80.0.2.1 + dnt: false + lang: fr + region: FR + referrer: https%3A%2F%2Fgoogle.com%2Fi-love-linux + screen-width: 1200 + screen-height: 1080 + screen-dpi: 4 + user-agent: Mozilla%2F5.0%20%28compatible%3B%20Sosospider%2F2.0%3B%20%2Bhttp%3A%2F%2Fhelp.soso.com%2Fwebspider.htm%29 + fingerprint: fingerprint + ~user-agent: Mozilla%252F5.0%2520%2528compatible%253B%2520Sosospider%252F2.0%253B%2520%252Bhttp%253A%252F%252Fhelp.soso.com%252Fwebspider.htm%2529 + ~user-agent: Python-urllib%2F1.17 + ~user-agent: gloubiboulga + ~user-agent: Mozilla%2F5.0%20%28X11%3B%20Linux%20x86_64%3B%20rv%3A136.0%29%20Gecko%2F20100101%20Firefox%2F136.0 + ~user-agent: Mozilla%2F5.0%20%28compatible%3B%202GDPR%2F1.2%3B%20https%3A%2F%2F2gdpr.com%29 +} diff --git a/brunoCollection/Public/Link Redirection slim.bru b/brunoCollection/Public/Link Redirection slim.bru new file mode 100644 index 0000000..88eceba --- /dev/null +++ b/brunoCollection/Public/Link Redirection slim.bru @@ -0,0 +1,11 @@ +meta { + name: Link Redirection slim + type: http + seq: 4 +} + +get { + url: http://localhost:8080/test + body: none + auth: none +} diff --git a/brunoCollection/Public/Link Redirection.bru b/brunoCollection/Public/Link Redirection.bru new file mode 100644 index 0000000..e41a7d4 --- /dev/null +++ b/brunoCollection/Public/Link Redirection.bru @@ -0,0 +1,25 @@ +meta { + name: Link Redirection + type: http + seq: 2 +} + +get { + url: http://localhost:8080/test?ip-address=80.0.2.1&dnt=false&lang=fr®ion=FR&referrer=https%3A%2F%2Fgoogle.com%2Fi-love-linux&user-agent=Mozilla%2F5.0%20%28Windows%20NT%2010.0%3B%20Win64%3B%20x64%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F133.0.0.0%20Safari%2F537.36&screen-width=1200&screen-height=1080&screen-dpi=4 + body: none + auth: none +} + +params:query { + ip-address: 80.0.2.1 + dnt: false + lang: fr + region: FR + referrer: https%3A%2F%2Fgoogle.com%2Fi-love-linux + user-agent: Mozilla%2F5.0%20%28Windows%20NT%2010.0%3B%20Win64%3B%20x64%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F133.0.0.0%20Safari%2F537.36 + screen-width: 1200 + screen-height: 1080 + screen-dpi: 4 + ~user-agent: Mozilla%2F5.0%20%28X11%3B%20Linux%20x86_64%3B%20rv%3A136.0%29%20Gecko%2F20100101%20Firefox%2F136.0 + ~user-agent: gloubiboulga +} diff --git a/brunoCollection/Public/Root Url.bru b/brunoCollection/Public/Root Url.bru new file mode 100644 index 0000000..f8afc2a --- /dev/null +++ b/brunoCollection/Public/Root Url.bru @@ -0,0 +1,11 @@ +meta { + name: Root Url + type: http + seq: 1 +} + +get { + url: http://localhost:8080 + body: none + auth: none +} diff --git a/brunoCollection/Public/folder.bru b/brunoCollection/Public/folder.bru new file mode 100644 index 0000000..6c7a11f --- /dev/null +++ b/brunoCollection/Public/folder.bru @@ -0,0 +1,3 @@ +meta { + name: Public +} diff --git a/brunoCollection/Reporting/Get Reporting Subscriptions.bru b/brunoCollection/Reporting/Get Reporting Subscriptions.bru new file mode 100644 index 0000000..8a0955f --- /dev/null +++ b/brunoCollection/Reporting/Get Reporting Subscriptions.bru @@ -0,0 +1,11 @@ +meta { + name: Get Reporting Subscriptions + type: http + seq: 1 +} + +get { + url: http://localhost:8080/api/v1/reporting/subscriptions/b12f92c0-361c-40bd-9fbc-48c83fcccc81 + body: none + auth: inherit +} diff --git a/brunoCollection/Reporting/Update Reproting Subscriptions.bru b/brunoCollection/Reporting/Update Reproting Subscriptions.bru new file mode 100644 index 0000000..96dab19 --- /dev/null +++ b/brunoCollection/Reporting/Update Reproting Subscriptions.bru @@ -0,0 +1,19 @@ +meta { + name: Update Reproting Subscriptions + type: http + seq: 2 +} + +post { + url: http://localhost:8080/api/v1/reporting/subscriptions/b12f92c0-361c-40bd-9fbc-48c83fcccc81 + body: json + auth: inherit +} + +body:json { + { + "brands": [ + "582807fe-7a37-462d-97e4-10f30d055abb" + ] + } +} diff --git a/brunoCollection/Statistics/Invalid Links Per Week By Brands.bru b/brunoCollection/Statistics/Invalid Links Per Week By Brands.bru new file mode 100644 index 0000000..b955429 --- /dev/null +++ b/brunoCollection/Statistics/Invalid Links Per Week By Brands.bru @@ -0,0 +1,11 @@ +meta { + name: Invalid Links Per Week By Brands + type: http + seq: 5 +} + +get { + url: http://localhost:8080/api/v1/statistics/invalid-links/per-week-per-brand + body: none + auth: inherit +} diff --git a/brunoCollection/Statistics/Most Frequent Referrers With Brands.bru b/brunoCollection/Statistics/Most Frequent Referrers With Brands.bru new file mode 100644 index 0000000..a970a2e --- /dev/null +++ b/brunoCollection/Statistics/Most Frequent Referrers With Brands.bru @@ -0,0 +1,11 @@ +meta { + name: Most Frequent Referrers With Brands + type: http + seq: 4 +} + +get { + url: http://localhost:8080/api/v1/statistics/top/referrers + body: none + auth: inherit +} diff --git a/brunoCollection/Statistics/Top Visited Sources With Brands.bru b/brunoCollection/Statistics/Top Visited Sources With Brands.bru new file mode 100644 index 0000000..9262ace --- /dev/null +++ b/brunoCollection/Statistics/Top Visited Sources With Brands.bru @@ -0,0 +1,11 @@ +meta { + name: Top Visited Sources With Brands + type: http + seq: 3 +} + +get { + url: http://localhost:8080/api/v1/statistics/top/sources + body: none + auth: inherit +} diff --git a/brunoCollection/Statistics/Unique Visitors By Catalogs.bru b/brunoCollection/Statistics/Unique Visitors By Catalogs.bru new file mode 100644 index 0000000..b11c0f5 --- /dev/null +++ b/brunoCollection/Statistics/Unique Visitors By Catalogs.bru @@ -0,0 +1,11 @@ +meta { + name: Unique Visitors By Catalogs + type: http + seq: 2 +} + +get { + url: http://localhost:8080/api/v1/statistics/unique-visitors/catalogs + body: none + auth: inherit +} diff --git a/brunoCollection/Statistics/Unique Visitors by Brands.bru b/brunoCollection/Statistics/Unique Visitors by Brands.bru new file mode 100644 index 0000000..09b6adc --- /dev/null +++ b/brunoCollection/Statistics/Unique Visitors by Brands.bru @@ -0,0 +1,11 @@ +meta { + name: Unique Visitors by Brands + type: http + seq: 1 +} + +get { + url: http://localhost:8080/api/v1/statistics/unique-visitors/brands + body: none + auth: inherit +} diff --git a/brunoCollection/Tags/Create Tag.bru b/brunoCollection/Tags/Create Tag.bru new file mode 100644 index 0000000..d3e8fc8 --- /dev/null +++ b/brunoCollection/Tags/Create Tag.bru @@ -0,0 +1,23 @@ +meta { + name: Create Tag + type: http + seq: 1 +} + +post { + url: http://localhost:8080/api/v1/tags + body: json + auth: inherit +} + +headers { + Accept: application/json + Content-Type: application/json +} + +body:json { + { + "name" : "super tag", + "color": "#fff" + } +} diff --git a/brunoCollection/Tags/Delete Tag.bru b/brunoCollection/Tags/Delete Tag.bru new file mode 100644 index 0000000..d807539 --- /dev/null +++ b/brunoCollection/Tags/Delete Tag.bru @@ -0,0 +1,11 @@ +meta { + name: Delete Tag + type: http + seq: 3 +} + +delete { + url: http://localhost:8080/api/v1/brands/super-tag + body: none + auth: inherit +} diff --git a/brunoCollection/Tags/Get Tag.bru b/brunoCollection/Tags/Get Tag.bru new file mode 100644 index 0000000..19bef42 --- /dev/null +++ b/brunoCollection/Tags/Get Tag.bru @@ -0,0 +1,15 @@ +meta { + name: Get Tag + type: http + seq: 5 +} + +get { + url: http://localhost:8080/api/v1/tags/c1c9205d-19e5-469f-83fa-b40837ea0fbe + body: none + auth: inherit +} + +headers { + Accept: application/json +} diff --git a/brunoCollection/Tags/List Tags.bru b/brunoCollection/Tags/List Tags.bru new file mode 100644 index 0000000..ef13d8f --- /dev/null +++ b/brunoCollection/Tags/List Tags.bru @@ -0,0 +1,17 @@ +meta { + name: List Tags + type: http + seq: 4 +} + +get { + url: http://localhost:8080/api/v1/tags?page=1 + body: none + auth: inherit +} + +params:query { + page: 1 + ~orderBy: source + ~direction: desc +} diff --git a/brunoCollection/Tags/Update Tag.bru b/brunoCollection/Tags/Update Tag.bru new file mode 100644 index 0000000..31dfe53 --- /dev/null +++ b/brunoCollection/Tags/Update Tag.bru @@ -0,0 +1,18 @@ +meta { + name: Update Tag + type: http + seq: 2 +} + +put { + url: http://localhost:8080/api/v1/tags/97295da4-d7c8-4e15-86fb-81ee9f53a47e + body: json + auth: inherit +} + +body:json { + { + "name" : "super tagwrere", + "color": "#fff" + } +} diff --git a/brunoCollection/Tags/folder.bru b/brunoCollection/Tags/folder.bru new file mode 100644 index 0000000..be29567 --- /dev/null +++ b/brunoCollection/Tags/folder.bru @@ -0,0 +1,3 @@ +meta { + name: Tags +} diff --git a/brunoCollection/Users/Create User.bru b/brunoCollection/Users/Create User.bru new file mode 100644 index 0000000..21856b2 --- /dev/null +++ b/brunoCollection/Users/Create User.bru @@ -0,0 +1,28 @@ +meta { + name: Create User + type: http + seq: 1 +} + +post { + url: http://localhost:8080/api/v1/users + body: json + auth: inherit +} + +headers { + Accept: application/json + Content-Type: application/json +} + +body:json { + { + "firstName" : "new first name", + "lastName" : "new last name", + "email" : "new.email@examspwle.net", + "role": "ADMINISTRATOR", + "login": "sdsd", + "password": "NewPassword12.", + "brands": [] + } +} diff --git a/brunoCollection/Users/Delete User.bru b/brunoCollection/Users/Delete User.bru new file mode 100644 index 0000000..f1ad05a --- /dev/null +++ b/brunoCollection/Users/Delete User.bru @@ -0,0 +1,11 @@ +meta { + name: Delete User + type: http + seq: 3 +} + +delete { + url: http://localhost:8080/api/v1/users/2c98a5a6-029b-4c9a-a88b-53da3b86c65b + body: none + auth: inherit +} diff --git a/brunoCollection/Users/Get User.bru b/brunoCollection/Users/Get User.bru new file mode 100644 index 0000000..c93bc9c --- /dev/null +++ b/brunoCollection/Users/Get User.bru @@ -0,0 +1,15 @@ +meta { + name: Get User + type: http + seq: 4 +} + +get { + url: http://localhost:8080/api/v1/users/4fa30f46-d116-499e-9f3f-aa3afe04dabf + body: none + auth: inherit +} + +headers { + Accept: application/json +} diff --git a/brunoCollection/Users/List Users.bru b/brunoCollection/Users/List Users.bru new file mode 100644 index 0000000..b7f671a --- /dev/null +++ b/brunoCollection/Users/List Users.bru @@ -0,0 +1,18 @@ +meta { + name: List Users + type: http + seq: 6 +} + +get { + url: http://localhost:8080/api/v1/users?direction=desc&page=1&perPage=3 + body: none + auth: inherit +} + +params:query { + direction: desc + page: 1 + perPage: 3 + ~orderBy: source +} diff --git a/brunoCollection/Users/Reset User Password.bru b/brunoCollection/Users/Reset User Password.bru new file mode 100644 index 0000000..6275571 --- /dev/null +++ b/brunoCollection/Users/Reset User Password.bru @@ -0,0 +1,15 @@ +meta { + name: Reset User Password + type: http + seq: 5 +} + +post { + url: http://localhost:8080/api/v1/users/5380d8b1-52d4-4986-8de9-d92ae7c0c970/reset + body: none + auth: inherit +} + +headers { + Accept: application/json +} diff --git a/brunoCollection/Users/Update User.bru b/brunoCollection/Users/Update User.bru new file mode 100644 index 0000000..dc4ffb4 --- /dev/null +++ b/brunoCollection/Users/Update User.bru @@ -0,0 +1,20 @@ +meta { + name: Update User + type: http + seq: 2 +} + +put { + url: http://localhost:8080/api/v1/users/4beed79f-ef03-4beb-b691-9556ae38ac76 + body: json + auth: inherit +} + +body:json { + { + "firstName" : "new first name", + "lastName" : "new last name", + "email" : "new.email@example.net", + "brands": [] + } +} diff --git a/brunoCollection/Users/folder.bru b/brunoCollection/Users/folder.bru new file mode 100644 index 0000000..fef28b7 --- /dev/null +++ b/brunoCollection/Users/folder.bru @@ -0,0 +1,3 @@ +meta { + name: Users +} diff --git a/brunoCollection/bruno.json b/brunoCollection/bruno.json new file mode 100644 index 0000000..34871d6 --- /dev/null +++ b/brunoCollection/bruno.json @@ -0,0 +1,9 @@ +{ + "version": "1", + "name": "Z3", + "type": "collection", + "ignore": [ + "node_modules", + ".git" + ] +} \ No newline at end of file diff --git a/brunoCollection/collection.bru b/brunoCollection/collection.bru new file mode 100644 index 0000000..60c31b6 --- /dev/null +++ b/brunoCollection/collection.bru @@ -0,0 +1,20 @@ +meta { + name: Z3 +} + +headers { + Accept-Language: fr +} + +auth { + mode: bearer +} + +auth:bearer { + token: {{jwt_token}} +} + +script:pre-request { + req.setMaxRedirects(0); + +} diff --git a/config/checkstyle-suppressions.xml b/config/checkstyle-suppressions.xml new file mode 100644 index 0000000..fbbcb72 --- /dev/null +++ b/config/checkstyle-suppressions.xml @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/config/google_checks.xml b/config/google_checks.xml new file mode 100644 index 0000000..a906995 --- /dev/null +++ b/config/google_checks.xml @@ -0,0 +1,420 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mvnw b/mvnw new file mode 100755 index 0000000..8d937f4 --- /dev/null +++ b/mvnw @@ -0,0 +1,308 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.2.0 +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "$(uname)" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME + else + JAVA_HOME="/Library/Java/Home"; export JAVA_HOME + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=$(java-config --jre-home) + fi +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --unix "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --unix "$CLASSPATH") +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] && + JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="$(which javac)" + if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=$(which readlink) + if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then + if $darwin ; then + javaHome="$(dirname "\"$javaExecutable\"")" + javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac" + else + javaExecutable="$(readlink -f "\"$javaExecutable\"")" + fi + javaHome="$(dirname "\"$javaExecutable\"")" + javaHome=$(expr "$javaHome" : '\(.*\)/bin') + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=$(cd "$wdir/.." || exit 1; pwd) + fi + # end of workaround + done + printf '%s' "$(cd "$basedir" || exit 1; pwd)" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + # Remove \r in case we run on Windows within Git Bash + # and check out the repository with auto CRLF management + # enabled. Otherwise, we may read lines that are delimited with + # \r\n and produce $'-Xarg\r' rather than -Xarg due to word + # splitting rules. + tr -s '\r\n' ' ' < "$1" + fi +} + +log() { + if [ "$MVNW_VERBOSE" = true ]; then + printf '%s\n' "$1" + fi +} + +BASE_DIR=$(find_maven_basedir "$(dirname "$0")") +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR +log "$MAVEN_PROJECTBASEDIR" + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" +if [ -r "$wrapperJarPath" ]; then + log "Found $wrapperJarPath" +else + log "Couldn't find $wrapperJarPath, downloading it ..." + + if [ -n "$MVNW_REPOURL" ]; then + wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + else + wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + fi + while IFS="=" read -r key value; do + # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' ) + safeValue=$(echo "$value" | tr -d '\r') + case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;; + esac + done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" + log "Downloading from: $wrapperUrl" + + if $cygwin; then + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") + fi + + if command -v wget > /dev/null; then + log "Found wget ... using wget" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + log "Found curl ... using curl" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + else + curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + fi + else + log "Falling back to using Java to download" + javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java" + javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaSource=$(cygpath --path --windows "$javaSource") + javaClass=$(cygpath --path --windows "$javaClass") + fi + if [ -e "$javaSource" ]; then + if [ ! -e "$javaClass" ]; then + log " - Compiling MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/javac" "$javaSource") + fi + if [ -e "$javaClass" ]; then + log " - Running MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +# If specified, validate the SHA-256 sum of the Maven wrapper jar file +wrapperSha256Sum="" +while IFS="=" read -r key value; do + case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;; + esac +done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" +if [ -n "$wrapperSha256Sum" ]; then + wrapperSha256Result=false + if command -v sha256sum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + elif command -v shasum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." + echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." + exit 1 + fi + if [ $wrapperSha256Result = false ]; then + echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2 + echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2 + echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2 + exit 1 + fi +fi + +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --windows "$CLASSPATH") + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +# shellcheck disable=SC2086 # safe args +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd new file mode 100755 index 0000000..c4586b5 --- /dev/null +++ b/mvnw.cmd @@ -0,0 +1,205 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.2.0 +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %WRAPPER_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file +SET WRAPPER_SHA_256_SUM="" +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B +) +IF NOT %WRAPPER_SHA_256_SUM%=="" ( + powershell -Command "&{"^ + "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ + "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ + " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ + " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ + " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ + " exit 1;"^ + "}"^ + "}" + if ERRORLEVEL 1 goto error +) + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..076f907 --- /dev/null +++ b/pom.xml @@ -0,0 +1,201 @@ + + + z3 + + + + + dependency-check-maven + + false + + HTML + SARIF + JSON + GITLAB + + false + ${dependency-check-maven.api_key} + false + false + + org.owasp + ${dependency-check-maven.version} + + + maven-surefire-plugin + + + -XX:+EnableDynamicAgentLoading -Xshare:off + + + org.jboss.logmanager.LogManager + ${maven.home} + + + ${surefire-plugin.version} + + + maven-checkstyle-plugin + + /config/google_checks.xml + true + true + false + /config/checkstyle-suppressions.xml + + + + checkstyle + com.puppycrawl.tools + ${checkstyle.version} + + + + + + check + + check-style + validate + + + org.apache.maven.plugins + ${checkstyle-maven-plugin.version} + + + + + + dependency-check-maven + org.owasp + ${dependency-check-maven.version} + + + happy-core + tech.pegase.happy + ${pegase-happy.version} + + + quarkus-smallrye-jwt + io.quarkus + + + quarkus-smallrye-jwt-build + io.quarkus + + + quarkus-cache + io.quarkus + + + rest-assured + io.rest-assured + test + + + jspecify + org.jspecify + ${jspecify.version} + + + + + + ${quarkus.platform.artifact-id} + ${quarkus.platform.group-id} + import + pom + ${quarkus.platform.version} + + + + + + gitlab-maven + https://gitlab.pegase.tech/api/v4/projects/68/packages/maven + + + + gitlab-maven + https://gitlab.pegase.tech/api/v4/projects/68/packages/maven + + + tech.pegase.z3 + + 4.0.0 + + + z3-domain + z3-infrastructure + z3-application + z3-shared + z3-cli + z3-statistics-domain + z3-statistics-infrastructure + + + pom + + + + + + native + + + native + + true + false + + + + + + 3.0.0 + 1.6.14 + 1.79 + 3.6.0 + 10.21.1 + 1.13.0 + 1.9.0 + 1.0.0 + + 12.0.0 + 3.5.2 + 0.8.12 + 1.0.0 + 2.24.3 + 3.13.0 + 21 + 2.15.0 + 2.4.2 + 5.9 + 1.0.1 + UTF-8 + UTF-8 + quarkus-bom + io.quarkus.platform + 3.17.6 + 5.5.1 + true + 76.1 + 3.0.7 + 6.4.2 + 3.5.2 + 7.30.0 + 1.1.0-SNAPSHOT + 1.1.0-SNAPSHOT + + + + + gitlab-maven + https://gitlab.pegase.tech/api/v4/projects/68/packages/maven + + + + 1.1.0-SNAPSHOT + diff --git a/z3-application/.env.example b/z3-application/.env.example new file mode 100644 index 0000000..d3cff04 --- /dev/null +++ b/z3-application/.env.example @@ -0,0 +1,43 @@ +# DATABASE +APP_DB_KIND= +APP_DB_USERNAME= +APP_DB_PASSWORD= +APP_DB_JDBC_URL= + +# EXPORT +APP_RESOLVER_FQDN=example.net + +# LOG +APP_LOG_LEVEL=INFO + +# MAX UPLOAD SIZE +APP_MAX_UPLOAD_SIZE=100M + +# SECURITY +APP_JWT_ISSUER= +APP_JWT_PUBLIC_KEY= +APP_JWT_PRIVATE_KEY= +# ENCRYPTION +AES_KEY= +AES_SALT= +AES_KEY_LENGTH= + +# MAIL +APP_MAIL_FROM=z3@example.net +APP_MAIL_HOST=localhost +APP_MAIL_PORT=1025 +APP_MAIL_START_TLS=OPTIONAL +APP_MAIL_TLS=false +APP_MAIL_USERNAME=null +APP_MAIL_PASSWORD=null +APP_MAIL_DEV_SIMULATE=false + +# - ACCOUNT CREATION - optional - an email is sent +APP_CREATE_USER_ON_START= + +# - SCHEDULING +# By default, the syntax used for cron expressions is based on Quartz +# - https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html +# You can change the syntax using the following property: +# quarkus.scheduler.cron-type=unix +APP_REPORT_INVALID_LINKS= \ No newline at end of file diff --git a/z3-application/pom.xml b/z3-application/pom.xml new file mode 100644 index 0000000..237a632 --- /dev/null +++ b/z3-application/pom.xml @@ -0,0 +1,187 @@ + + + z3-application + + + + + quarkus-maven-plugin + + + + build + generate-code + generate-code-tests + native-image-agent + + + + true + ${quarkus.platform.group-id} + ${quarkus.platform.version} + + + maven-compiler-plugin + + + -parameters + + + ${maven-compiler-plugin.version} + + + maven-surefire-plugin + + + -XX:+EnableDynamicAgentLoading -Xshare:off + + + org.jboss.logmanager.LogManager + ${maven.home} + ${project.build.directory}/coverage-reports/jacoco.exec + + ${project.build.directory}/coverage-jacoco + + true + + + ${surefire-plugin.version} + + + maven-failsafe-plugin + + + org.jboss.logmanager.LogManager + ${maven.home} + ${project.build.directory}/${project.build.finalName}-runner + + + + + + + integration-test + verify + + + + ${failsafe-plugin.version} + + + + + + + z3-domain + tech.pegase.z3 + ${z3.version} + + + z3-infrastructure + tech.pegase.z3 + ${z3.version} + + + z3-statistics-domain + tech.pegase.z3 + ${z3.version} + + + z3-statistics-infrastructure + tech.pegase.z3 + ${z3.version} + + + z3-shared + tech.pegase.z3 + ${z3.version} + + + quarkus-arc + io.quarkus + + + quarkus-rest + io.quarkus + + + quarkus-rest-jackson + io.quarkus + + + quarkus-narayana-jta + io.quarkus + + + quarkus-hibernate-validator + io.quarkus + + + quarkus-scheduler + io.quarkus + + + quarkus-vertx + io.quarkus + + + quarkus-jdbc-h2 + io.quarkus + test + + + quarkus-flyway + io.quarkus + + + flyway-database-postgresql + org.flywaydb + + + quarkus-junit5-mockito + io.quarkus + test + + + quarkus-jacoco + io.quarkus + test + + + happy-quarkus + tech.pegase.happy + ${pegase-happy.version} + + + opencsv + com.opencsv + ${opencsv.version} + + + tika-core + org.apache.tika + ${apache-tika.version} + + + ipaddress + com.github.seancfoley + ${seancfoley-ipaddress.version} + + + + 4.0.0 + + + z3 + tech.pegase.z3 + 1.1.0-SNAPSHOT + + + + 22 + 22 + UTF-8 + + diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/RootResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/RootResource.java new file mode 100644 index 0000000..d8f399c --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/RootResource.java @@ -0,0 +1,23 @@ +package tech.pegase.z3.application.api; + +import jakarta.annotation.security.PermitAll; +import jakarta.inject.Inject; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; +import org.jspecify.annotations.NullMarked; + +@NullMarked +@Path("/") +public class RootResource { + + @Inject + public RootResource() {} + + @GET + @Path("/") + @PermitAll + public Response getRoot() { + return Response.ok().entity("Z3 App running").build(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/auth/ChangePasswordResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/auth/ChangePasswordResource.java new file mode 100644 index 0000000..b2399a1 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/auth/ChangePasswordResource.java @@ -0,0 +1,57 @@ +package tech.pegase.z3.application.api.v1.auth; + +import io.quarkus.security.Authenticated; +import jakarta.validation.Valid; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.context.UserContext; +import tech.pegase.z3.application.exception.ServerErrorException; +import tech.pegase.z3.application.presenter.auth.ChangePasswordPresenter; +import tech.pegase.z3.application.presenter.auth.ChangePasswordPresenter.MessageDto; +import tech.pegase.z3.application.request.auth.ChangePasswordRequest; +import tech.pegase.z3.domain.usecase.users.ChangeUserPassword; + +@Path("/api/v1/auth") +@Authenticated +public class ChangePasswordResource { + private final UseCaseExecutor useCaseExecutor; + private final ChangeUserPassword changeUserPassword; + private final ChangePasswordPresenter changePasswordPresenter; + private final UserContext userContext; + + ChangePasswordResource( + UseCaseExecutor executor, + ChangeUserPassword useCase, + ChangePasswordPresenter presenter, + UserContext userContext) { + useCaseExecutor = executor; + changeUserPassword = useCase; + changePasswordPresenter = presenter; + this.userContext = userContext; + } + + @PUT + @Path("/password") + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) + public RestResponse updateUser(@Valid ChangePasswordRequest request) { + var userContextId = userContext.getId(); + + if (userContextId == null) { + throw new ServerErrorException("Cannot get user context"); + } + + return useCaseExecutor + .forUseCase(changeUserPassword) + .withParameter( + new ChangeUserPassword.Input.WhereId( + userContextId, request.getPassword(), request.getNewPassword())) + .withPresenter(changePasswordPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/auth/GetProfileResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/auth/GetProfileResource.java new file mode 100644 index 0000000..da4964b --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/auth/GetProfileResource.java @@ -0,0 +1,50 @@ +package tech.pegase.z3.application.api.v1.auth; + +import io.quarkus.security.Authenticated; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.context.UserContext; +import tech.pegase.z3.application.exception.ServerErrorException; +import tech.pegase.z3.application.presenter.user.GetUserPresenter; +import tech.pegase.z3.application.presenter.user.GetUserPresenter.UserDto; +import tech.pegase.z3.domain.usecase.users.GetUser; + +@Path("/api/v1/auth") +@ApplicationScoped +public class GetProfileResource { + private final UseCaseExecutor useCaseExecutor; + private final GetUser getUserUseCase; + private final GetUserPresenter getUserPresenter; + private final UserContext userContext; + + public GetProfileResource( + UseCaseExecutor executor, + GetUser getUserUseCase, + GetUserPresenter getUserPresenter, + UserContext userContext) { + this.useCaseExecutor = executor; + this.getUserUseCase = getUserUseCase; + this.getUserPresenter = getUserPresenter; + this.userContext = userContext; + } + + @GET + @Path("/me") + @Authenticated + public RestResponse currentUser() { + var userContextId = userContext.getId(); + + if (userContextId == null) { + throw new ServerErrorException("Cannot get user context"); + } + + return useCaseExecutor + .forUseCase(getUserUseCase) + .withParameter(new GetUser.Input.ForId(userContextId)) + .withPresenter(getUserPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/auth/LoginResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/auth/LoginResource.java new file mode 100644 index 0000000..c9c6b24 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/auth/LoginResource.java @@ -0,0 +1,45 @@ +package tech.pegase.z3.application.api.v1.auth; + +import jakarta.annotation.security.PermitAll; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.validation.Valid; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import org.jboss.resteasy.reactive.RestResponse; +import org.jspecify.annotations.NullMarked; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.auth.AuthenticateUserPresenter; +import tech.pegase.z3.application.presenter.auth.AuthenticateUserPresenter.JwtTokenJsonDto; +import tech.pegase.z3.application.request.auth.AuthRequest; +import tech.pegase.z3.domain.usecase.auth.AuthenticateUser; + +@NullMarked +@Path("/api/v1/auth") +@ApplicationScoped +public class LoginResource { + private final UseCaseExecutor useCaseExecutor; + private final AuthenticateUser authenticateUserUseCase; + private final AuthenticateUserPresenter authenticateUserPresenter; + + public LoginResource( + UseCaseExecutor executor, + AuthenticateUser useCase, + AuthenticateUserPresenter presenter) { + this.useCaseExecutor = executor; + this.authenticateUserUseCase = useCase; + this.authenticateUserPresenter = presenter; + } + + @POST + @Path("/login") + @PermitAll + public RestResponse auth(@Valid AuthRequest request) { + // TODO: add rate limiting. + return useCaseExecutor + .forUseCase(authenticateUserUseCase) + .withParameter( + new AuthenticateUser.Input.Authenticate(request.getLogin(), request.getPassword())) + .withPresenter(authenticateUserPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/auth/package-info.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/auth/package-info.java new file mode 100644 index 0000000..d70b5be --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/auth/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.application.api.v1.auth; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/brand/CreateBrandResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/brand/CreateBrandResource.java new file mode 100644 index 0000000..7d94bb6 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/brand/CreateBrandResource.java @@ -0,0 +1,48 @@ +package tech.pegase.z3.application.api.v1.brand; + +import io.quarkus.security.Authenticated; +import jakarta.annotation.security.RolesAllowed; +import jakarta.inject.Inject; +import jakarta.validation.Valid; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.brand.CreateBrandPresenter; +import tech.pegase.z3.application.presenter.brand.CreateBrandPresenter.BrandDto; +import tech.pegase.z3.application.request.brand.CreateBrandRequest; +import tech.pegase.z3.domain.usecase.brands.CreateBrand; +import tech.pegase.z3.domain.usecase.brands.CreateBrand.Input; + +@Authenticated +@Path("/api/v1/brands") +public class CreateBrandResource { + private final UseCaseExecutor useCaseExecutor; + private final CreateBrand createBrand; + private final CreateBrandPresenter createBrandPresenter; + + @Inject + public CreateBrandResource( + UseCaseExecutor executor, CreateBrand useCase, CreateBrandPresenter presenter) { + this.useCaseExecutor = executor; + this.createBrand = useCase; + this.createBrandPresenter = presenter; + } + + @POST + @Path("/") + @RolesAllowed("ADMINISTRATOR") + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) + public RestResponse create(@Valid CreateBrandRequest request) { + var parameter = new Input.With(request.getName(), request.getFqdns()); + return useCaseExecutor + .forUseCase(createBrand) + .withParameter(parameter) + .withPresenter(createBrandPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/brand/GetBrandResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/brand/GetBrandResource.java new file mode 100644 index 0000000..c3bdad5 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/brand/GetBrandResource.java @@ -0,0 +1,43 @@ +package tech.pegase.z3.application.api.v1.brand; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.brand.GetBrandPresenter; +import tech.pegase.z3.application.presenter.brand.GetBrandPresenter.BrandDto; +import tech.pegase.z3.domain.usecase.brands.GetBrand; +import tech.pegase.z3.domain.usecase.brands.GetBrand.Input.ForSlug; +import tech.pegase.z3.domain.valueobject.Slug; + +@Path("/api/v1/brands") +@Authenticated +public class GetBrandResource { + private final UseCaseExecutor useCaseExecutor; + private final GetBrand getBrand; + private final GetBrandPresenter getBrandResponsePresenter; + + @Inject + public GetBrandResource( + UseCaseExecutor executor, GetBrand useCase, GetBrandPresenter presenter) { + this.useCaseExecutor = executor; + this.getBrand = useCase; + this.getBrandResponsePresenter = presenter; + } + + @GET + @Path("/{brand}") + @Produces(MediaType.APPLICATION_JSON) + public RestResponse getBrand(@PathParam("brand") Slug brand) { + return useCaseExecutor + .forUseCase(getBrand) + .withParameter(new ForSlug(brand)) + .withPresenter(getBrandResponsePresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/brand/ListBrandsResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/brand/ListBrandsResource.java new file mode 100644 index 0000000..a04a778 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/brand/ListBrandsResource.java @@ -0,0 +1,51 @@ +package tech.pegase.z3.application.api.v1.brand; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.validation.Valid; +import jakarta.ws.rs.BeanParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.dto.PaginatedDto; +import tech.pegase.z3.application.presenter.brand.ListBrandsPresenter; +import tech.pegase.z3.application.presenter.brand.ListBrandsPresenter.BrandDto; +import tech.pegase.z3.application.request.brand.PaginatedBrandListRequest; +import tech.pegase.z3.domain.usecase.brands.ListBrands; +import tech.pegase.z3.shared.pagination.Pagination; + +@Path("/api/v1/brands") +@Authenticated +public class ListBrandsResource { + private final UseCaseExecutor useCaseExecutor; + private final ListBrands listBrands; + private final ListBrandsPresenter listBrandsPresenter; + + @Inject + public ListBrandsResource( + UseCaseExecutor executor, ListBrands useCase, ListBrandsPresenter presenter) { + this.useCaseExecutor = executor; + this.listBrands = useCase; + this.listBrandsPresenter = presenter; + } + + @GET + @Produces(MediaType.APPLICATION_JSON) + public RestResponse> getPaginatedBrandList( + @BeanParam @Valid PaginatedBrandListRequest request) { + return useCaseExecutor + .forUseCase(listBrands) + .withParameter(getParameterFromRequest(request)) + .withPresenter(listBrandsPresenter) + .run(); + } + + private ListBrands.Input getParameterFromRequest(PaginatedBrandListRequest request) { + var pagination = Pagination.fromPageNumberAndPageSize(request.getPage(), request.getPerPage()); + + return new ListBrands.Input.WithPagination(pagination); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/brand/UpdateBrandResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/brand/UpdateBrandResource.java new file mode 100644 index 0000000..f22cc42 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/brand/UpdateBrandResource.java @@ -0,0 +1,45 @@ +package tech.pegase.z3.application.api.v1.brand; + +import io.quarkus.security.Authenticated; +import jakarta.annotation.security.RolesAllowed; +import jakarta.inject.Inject; +import jakarta.validation.Valid; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.brand.UpdateBrandPresenter; +import tech.pegase.z3.application.presenter.brand.UpdateBrandPresenter.BrandDto; +import tech.pegase.z3.application.request.brand.UpdateBrandRequest; +import tech.pegase.z3.domain.usecase.brands.UpdateBrand; +import tech.pegase.z3.domain.usecase.brands.UpdateBrand.Input.ForSlug; +import tech.pegase.z3.domain.valueobject.Slug; + +@Path("/api/v1/brands") +@Authenticated +public class UpdateBrandResource { + private final UseCaseExecutor useCaseExecutor; + private final UpdateBrand updateBrandUseCase; + private final UpdateBrandPresenter updateBrandPresenter; + + @Inject + UpdateBrandResource( + UseCaseExecutor executor, UpdateBrand useCase, UpdateBrandPresenter presenter) { + useCaseExecutor = executor; + updateBrandUseCase = useCase; + updateBrandPresenter = presenter; + } + + @PUT + @Path("/{brand}") + @RolesAllowed("ADMINISTRATOR") + public RestResponse updateBrand( + @PathParam("brand") Slug brand, @Valid UpdateBrandRequest request) { + return useCaseExecutor + .forUseCase(updateBrandUseCase) + .withParameter(new ForSlug(brand, request.getName(), request.getFqdns())) + .withPresenter(updateBrandPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/brand/package-info.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/brand/package-info.java new file mode 100644 index 0000000..b21bcb8 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/brand/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.application.api.v1.brand; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/CreateCatalogResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/CreateCatalogResource.java new file mode 100644 index 0000000..9e8a179 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/CreateCatalogResource.java @@ -0,0 +1,48 @@ +package tech.pegase.z3.application.api.v1.catalog; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.validation.Valid; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.catalog.CreateCatalogPresenter; +import tech.pegase.z3.application.presenter.catalog.CreateCatalogPresenter.CatalogDto; +import tech.pegase.z3.application.request.catalog.CreateCatalogRequest; +import tech.pegase.z3.domain.usecase.catalogs.CreateCatalog; +import tech.pegase.z3.domain.usecase.catalogs.CreateCatalog.Input; + +@Authenticated +@Path("/api/v1/catalogs") +public class CreateCatalogResource { + private final UseCaseExecutor useCaseExecutor; + private final CreateCatalog createCatalog; + private final CreateCatalogPresenter createCatalogPresenter; + + @Inject + public CreateCatalogResource( + UseCaseExecutor executor, + CreateCatalog useCase, + CreateCatalogPresenter presenter) { + this.useCaseExecutor = executor; + this.createCatalog = useCase; + this.createCatalogPresenter = presenter; + } + + @POST + @Path("/") + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) + public RestResponse create(@Valid CreateCatalogRequest request) { + Input parameter = new Input.With(request.getName(), request.getBrand()); + return useCaseExecutor + .forUseCase(createCatalog) + .withParameter(parameter) + .withPresenter(createCatalogPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/GetCatalogResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/GetCatalogResource.java new file mode 100644 index 0000000..8a6e1a9 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/GetCatalogResource.java @@ -0,0 +1,43 @@ +package tech.pegase.z3.application.api.v1.catalog; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.catalog.GetCatalogPresenter; +import tech.pegase.z3.application.presenter.catalog.GetCatalogPresenter.CatalogDto; +import tech.pegase.z3.domain.usecase.catalogs.GetCatalog; +import tech.pegase.z3.domain.usecase.catalogs.GetCatalog.Input.ForSlug; +import tech.pegase.z3.domain.valueobject.Slug; + +@Path("/api/v1/catalogs") +@Authenticated +public class GetCatalogResource { + private final UseCaseExecutor useCaseExecutor; + private final GetCatalog getCatalog; + private final GetCatalogPresenter getCatalogResponsePresenter; + + @Inject + public GetCatalogResource( + UseCaseExecutor executor, GetCatalog useCase, GetCatalogPresenter presenter) { + this.useCaseExecutor = executor; + this.getCatalog = useCase; + this.getCatalogResponsePresenter = presenter; + } + + @GET + @Path("/{catalog}") + @Produces(MediaType.APPLICATION_JSON) + public RestResponse getCatalog(@PathParam("catalog") Slug catalog) { + return useCaseExecutor + .forUseCase(getCatalog) + .withParameter(new ForSlug(catalog)) + .withPresenter(getCatalogResponsePresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/ListCatalogsResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/ListCatalogsResource.java new file mode 100644 index 0000000..58eb6d4 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/ListCatalogsResource.java @@ -0,0 +1,58 @@ +package tech.pegase.z3.application.api.v1.catalog; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.validation.Valid; +import jakarta.ws.rs.BeanParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.dto.PaginatedDto; +import tech.pegase.z3.application.presenter.catalog.ListCatalogsPresenter; +import tech.pegase.z3.application.presenter.catalog.ListCatalogsPresenter.CatalogDto; +import tech.pegase.z3.application.request.catalog.PaginatedCatalogListRequest; +import tech.pegase.z3.domain.usecase.catalogs.ListCatalogs; +import tech.pegase.z3.shared.pagination.Pagination; + +@Path("/api/v1/catalogs") +@Authenticated +public class ListCatalogsResource { + private final UseCaseExecutor useCaseExecutor; + private final ListCatalogs listCatalogs; + private final ListCatalogsPresenter listCatalogsPresenter; + + @Inject + public ListCatalogsResource( + UseCaseExecutor executor, ListCatalogs useCase, ListCatalogsPresenter presenter) { + this.useCaseExecutor = executor; + this.listCatalogs = useCase; + this.listCatalogsPresenter = presenter; + } + + @GET + @Produces(MediaType.APPLICATION_JSON) + public RestResponse> getPaginatedCatalogList( + @BeanParam @Valid PaginatedCatalogListRequest request) { + return useCaseExecutor + .forUseCase(listCatalogs) + .withParameter(getParameterFromRequest(request)) + .withPresenter(listCatalogsPresenter) + .run(); + } + + private ListCatalogs.Input getParameterFromRequest(PaginatedCatalogListRequest request) { + var pagination = + Pagination.fromPageNumberAndPageSize(request.getPage(), request.getPerPage()); + + var brand = request.getBrand(); + + if (brand != null) { + return new ListCatalogs.Input.WithPaginationForBrand(brand, pagination); + } + + return new ListCatalogs.Input.WithPagination(pagination); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/RemoveCatalogResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/RemoveCatalogResource.java new file mode 100644 index 0000000..1051073 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/RemoveCatalogResource.java @@ -0,0 +1,45 @@ +package tech.pegase.z3.application.api.v1.catalog; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.ws.rs.DELETE; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.dto.MessageDto; +import tech.pegase.z3.application.presenter.catalog.RemoveCatalogPresenter; +import tech.pegase.z3.domain.usecase.catalogs.RemoveCatalog; +import tech.pegase.z3.domain.usecase.catalogs.RemoveCatalog.Input.ForSlug; +import tech.pegase.z3.domain.valueobject.Slug; + +@Path("/api/v1/catalogs") +@Authenticated +public class RemoveCatalogResource { + private final UseCaseExecutor useCaseExecutor; + private final RemoveCatalog removeCatalogUseCase; + private final RemoveCatalogPresenter removeCatalogPresenter; + + @Inject + RemoveCatalogResource( + UseCaseExecutor executor, + RemoveCatalog useCase, + RemoveCatalogPresenter presenter) { + useCaseExecutor = executor; + removeCatalogUseCase = useCase; + removeCatalogPresenter = presenter; + } + + @DELETE + @Path("/{catalog}") + @Produces(MediaType.APPLICATION_JSON) + public RestResponse removeCatalog(@PathParam("catalog") Slug catalog) { + return useCaseExecutor + .forUseCase(removeCatalogUseCase) + .withParameter(new ForSlug(catalog)) + .withPresenter(removeCatalogPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/UpdateCatalogResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/UpdateCatalogResource.java new file mode 100644 index 0000000..06a11c1 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/UpdateCatalogResource.java @@ -0,0 +1,50 @@ +package tech.pegase.z3.application.api.v1.catalog; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.validation.Valid; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.catalog.UpdateCatalogPresenter; +import tech.pegase.z3.application.presenter.catalog.UpdateCatalogPresenter.CatalogDto; +import tech.pegase.z3.application.request.catalog.UpdateCatalogRequest; +import tech.pegase.z3.domain.usecase.catalogs.UpdateCatalog; +import tech.pegase.z3.domain.usecase.catalogs.UpdateCatalog.Input.ForSlug; +import tech.pegase.z3.domain.valueobject.Slug; + +@Path("/api/v1/catalogs") +@Authenticated +public class UpdateCatalogResource { + private final UseCaseExecutor useCaseExecutor; + private final UpdateCatalog updateCatalogUseCase; + private final UpdateCatalogPresenter updateCatalogPresenter; + + @Inject + UpdateCatalogResource( + UseCaseExecutor executor, + UpdateCatalog useCase, + UpdateCatalogPresenter presenter) { + useCaseExecutor = executor; + updateCatalogUseCase = useCase; + updateCatalogPresenter = presenter; + } + + @PUT + @Path("/{catalog}") + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) + public RestResponse updateCatalog( + @PathParam("catalog") Slug catalog, @Valid UpdateCatalogRequest request) { + return useCaseExecutor + .forUseCase(updateCatalogUseCase) + .withParameter(new ForSlug(catalog, request.getName())) + .withPresenter(updateCatalogPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/package-info.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/package-info.java new file mode 100644 index 0000000..c649862 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/catalog/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.application.api.v1.catalog; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/CreateLinkResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/CreateLinkResource.java new file mode 100644 index 0000000..243045f --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/CreateLinkResource.java @@ -0,0 +1,62 @@ +package tech.pegase.z3.application.api.v1.link; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.link.CreateLinkPresenter; +import tech.pegase.z3.application.presenter.link.CreateLinkPresenter.LinkDto; +import tech.pegase.z3.application.request.link.CreateLinkRequest; +import tech.pegase.z3.domain.usecase.links.CreateLink; +import tech.pegase.z3.domain.usecase.links.CreateLink.Input.CommonLinkInput; +import tech.pegase.z3.domain.usecase.links.CreateLink.Input.WithSourceAndUrl; +import tech.pegase.z3.domain.usecase.links.CreateLink.Input.WithUrl; + +@Path("/api/v1/links") +@Authenticated +public class CreateLinkResource { + private final UseCaseExecutor useCaseExecutor; + private final CreateLink createLink; + private final CreateLinkPresenter createLinkPresenter; + + @Inject + public CreateLinkResource( + UseCaseExecutor executor, CreateLink useCase, CreateLinkPresenter presenter) { + this.useCaseExecutor = executor; + this.createLink = useCase; + this.createLinkPresenter = presenter; + } + + @POST + @Path("/") + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) + public RestResponse create(CreateLinkRequest request) { + var commonLinkInput = from(request); + + CreateLink.Input parameter = + request.getSource() == null + ? new WithUrl(commonLinkInput) + : new WithSourceAndUrl(request.getSource(), commonLinkInput); + return useCaseExecutor + .forUseCase(createLink) + .withParameter(parameter) + .withPresenter(createLinkPresenter) + .run(); + } + + CommonLinkInput from(CreateLinkRequest request) { + var target = request.getTarget(); + var isExternal = request.isExternal(); + var brandUuid = request.getBrand(); + var tagUuid = request.getTag(); + var catalogUuid = request.getCatalog(); + + return new CommonLinkInput(target, isExternal, brandUuid, tagUuid, catalogUuid); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/ExportLinksResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/ExportLinksResource.java new file mode 100644 index 0000000..bb2c27e --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/ExportLinksResource.java @@ -0,0 +1,217 @@ +package tech.pegase.z3.application.api.v1.link; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.validation.Valid; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.Response.Status; +import jakarta.ws.rs.core.StreamingOutput; +import java.nio.charset.StandardCharsets; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Optional; +import java.util.function.Function; +import org.eclipse.microprofile.config.ConfigProvider; +import org.jboss.resteasy.reactive.RestResponse; +import org.jspecify.annotations.Nullable; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.brand.GetBrandPresenter; +import tech.pegase.z3.application.presenter.catalog.GetCatalogPresenter; +import tech.pegase.z3.application.presenter.link.CsvPartialExportLinkPresenter; +import tech.pegase.z3.application.presenter.link.CsvPartialExportLinkPresenter.PartialExport; +import tech.pegase.z3.domain.usecase.brands.GetBrand; +import tech.pegase.z3.domain.usecase.catalogs.GetCatalog; +import tech.pegase.z3.domain.usecase.links.ExportLinks; +import tech.pegase.z3.domain.usecase.links.ExportLinks.Input; +import tech.pegase.z3.domain.valueobject.Slug; + +@Path("/api/v1/links-export") +@Authenticated +public class ExportLinksResource { + private final UseCaseExecutor useCaseExecutor; + private final ExportLinks exportLinks; + private final GetBrand getBrand; + private final GetCatalog getCatalog; + private final CsvPartialExportLinkPresenter csvPartialExportLinkPresenter; + + @Inject + public ExportLinksResource( + UseCaseExecutor executor, + ExportLinks useCase, + GetBrand getBrandUseCase, + GetCatalog getCatalogUseCase, + CsvPartialExportLinkPresenter presenter) { + this.useCaseExecutor = executor; + this.exportLinks = useCase; + this.getBrand = getBrandUseCase; + this.getCatalog = getCatalogUseCase; + this.csvPartialExportLinkPresenter = presenter; + } + + @GET + @Path("/") + @Produces(MediaType.APPLICATION_OCTET_STREAM) + public RestResponse exportLink( + @QueryParam("per-page") @Valid @jakarta.annotation.Nullable @Nullable @Min(1) @Max(50) + Integer perPage) { + try { + perPage = Optional.ofNullable(perPage).orElse(50); + csvPartialExportLinkPresenter.setWithHeaders(true); + + var output = genOutput(perPage); + + return buildResponse(output, "external_links"); + } catch (IllegalStateException e) { + return RestResponse.status(Response.Status.BAD_REQUEST); + } + } + + @GET + @Path("/brands/{brand: [a-zA-Z0-9-]+}") + @Produces(MediaType.APPLICATION_OCTET_STREAM) + public RestResponse exportBrandLinks( + @PathParam("brand") Slug brand, + @QueryParam("per-page") @Valid @jakarta.annotation.Nullable @Nullable @Min(1) @Max(50) + Integer perPage) { + try { + perPage = Optional.ofNullable(perPage).orElse(50); + var resolvedBrand = resolveBrand(brand); + + if (resolvedBrand == null) { + return RestResponse.status(Status.NOT_FOUND); + } + + csvPartialExportLinkPresenter.setWithHeaders(true); + + var output = genBrandOutput(brand, perPage); + + return buildResponse(output, brand.toString()); + } catch (IllegalStateException e) { + return RestResponse.status(Response.Status.BAD_REQUEST); + } + } + + @GET + @Path("/catalogs/{catalog: [a-zA-Z0-9-]+}") + @Produces(MediaType.APPLICATION_OCTET_STREAM) + public RestResponse exportCatalogLinks( + @PathParam("catalog") Slug catalog, + @QueryParam("per-page") @Valid @jakarta.annotation.Nullable @Nullable @Min(1) @Max(50) + Integer perPage) { + try { + perPage = Optional.ofNullable(perPage).orElse(50); + var resolvedCatalog = resolveCatalog(catalog); + + if (resolvedCatalog == null) { + return RestResponse.status(Status.NOT_FOUND); + } + + csvPartialExportLinkPresenter.setWithHeaders(true); + + var output = genCatalogOutput(catalog, perPage); + + return buildResponse(output, catalog.toString()); + } catch (IllegalStateException e) { + return RestResponse.status(Response.Status.BAD_REQUEST); + } + } + + private GetBrandPresenter.@Nullable BrandDto resolveBrand(Slug brandSlug) { + try (var response = + useCaseExecutor + .forUseCase(getBrand) + .withParameter(new GetBrand.Input.ForSlug(brandSlug)) + .withPresenter( + new GetBrandPresenter() { + @Override + public RestResponse<@Nullable BrandDto> present(GetBrand.Output output) { + if (output instanceof GetBrand.Output.Found) { + return RestResponse.ok(BrandDto.of(((GetBrand.Output.Found) output).brand())); + } + return RestResponse.notFound(); + } + }) + .run()) { + + return response.getStatusInfo().equals(Status.NOT_FOUND) ? null : response.getEntity(); + } + } + + private GetCatalogPresenter.@Nullable CatalogDto resolveCatalog(Slug catalogSlug) { + try (var response = + useCaseExecutor + .forUseCase(getCatalog) + .withParameter(new GetCatalog.Input.ForSlug(catalogSlug)) + .withPresenter( + new GetCatalogPresenter() { + @Override + public RestResponse<@Nullable CatalogDto> present(GetCatalog.Output output) { + if (output instanceof GetCatalog.Output.Found) { + return RestResponse.ok( + CatalogDto.of(((GetCatalog.Output.Found) output).catalog())); + } + return RestResponse.notFound(); + } + }) + .run()) { + + return response.getStatusInfo().equals(Status.NOT_FOUND) ? null : response.getEntity(); + } + } + + private StreamingOutput genBrandOutput(Slug brandSlug, int perPage) { + return genOutputWith( + page -> new Input.PageForBrand(brandSlug, new Input.Pagination(page, perPage))); + } + + private StreamingOutput genCatalogOutput(Slug catalogSlug, int perPage) { + return genOutputWith( + page -> new Input.PageForCatalog(catalogSlug, new Input.Pagination(page, perPage))); + } + + private StreamingOutput genOutput(int perPage) { + return genOutputWith(page -> new Input.PageForNonBranded(new Input.Pagination(page, perPage))); + } + + private StreamingOutput genOutputWith(Function inputFunction) { + return out -> { + var page = 0; + PartialExport exportPart; + do { + exportPart = + useCaseExecutor + .forUseCase(exportLinks) + .withParameter(inputFunction.apply(page++)) + .withPresenter(csvPartialExportLinkPresenter) + .run(); + if (exportPart instanceof PartialExport.Part(var partContent)) { + out.write(partContent.getBytes(StandardCharsets.UTF_8)); + out.flush(); + } + } while (exportPart instanceof PartialExport.Part); + }; + } + + private RestResponse buildResponse(StreamingOutput output, String exportName) { + var appName = ConfigProvider.getConfig().getValue("quarkus.application.name", String.class); + + return RestResponse.ResponseBuilder.create(Status.OK, output) + .header( + "Content-Disposition", + "attachment; filename=\"%s-export-%s-%s.csv\";" + .formatted( + appName, exportName, new SimpleDateFormat("dd-MM-yyyy").format(new Date()))) + .header("Content-Type", "application/csv; charset=UTF-8") + .header("Cache-Control", "no-cache, no-store, max-age=0, must-revalidate") + .header("Pragma", "no-cache") + .build(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/GetLinkResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/GetLinkResource.java new file mode 100644 index 0000000..b1b8a20 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/GetLinkResource.java @@ -0,0 +1,43 @@ +package tech.pegase.z3.application.api.v1.link; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.link.GetLinkPresenter; +import tech.pegase.z3.application.presenter.link.GetLinkPresenter.LinkDto; +import tech.pegase.z3.domain.usecase.links.GetLink; +import tech.pegase.z3.domain.usecase.links.GetLink.Input.ForSource; +import tech.pegase.z3.shared.valueobject.Source; + +@Path("/api/v1/links") +@Authenticated +public class GetLinkResource { + private final UseCaseExecutor useCaseExecutor; + private final GetLink getLink; + private final GetLinkPresenter getLinkResponsePresenter; + + @Inject + public GetLinkResource(UseCaseExecutor executor, GetLink useCase, GetLinkPresenter presenter) { + this.useCaseExecutor = executor; + this.getLink = useCase; + this.getLinkResponsePresenter = presenter; + } + + @GET + @Path("/{source: [a-zA-Z0-9/._~!$'()*+,;=:@-]+}") + @Produces(MediaType.APPLICATION_JSON) + /* Ici source correspond à la partie path + query + anchor d'une URL sur un QR code. */ + public RestResponse getLink(@PathParam("source") Source source) { + return useCaseExecutor + .forUseCase(getLink) + .withParameter(new ForSource(source)) + .withPresenter(getLinkResponsePresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/ImportLinksResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/ImportLinksResource.java new file mode 100644 index 0000000..3e915b4 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/ImportLinksResource.java @@ -0,0 +1,231 @@ +package tech.pegase.z3.application.api.v1.link; + +import com.opencsv.CSVParser; +import com.opencsv.CSVParserBuilder; +import com.opencsv.CSVReader; +import com.opencsv.CSVReaderBuilder; +import com.opencsv.exceptions.CsvException; +import com.opencsv.exceptions.CsvValidationException; +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; +import java.io.BufferedInputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; +import java.nio.file.Files; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.UUID; +import org.apache.commons.io.input.BOMInputStream; +import org.apache.tika.Tika; +import org.jboss.logging.Logger; +import org.jboss.resteasy.reactive.PartType; +import org.jboss.resteasy.reactive.RestForm; +import org.jboss.resteasy.reactive.RestResponse; +import org.jboss.resteasy.reactive.multipart.FileUpload; +import org.jspecify.annotations.Nullable; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.exception.ServerErrorException; +import tech.pegase.z3.application.exception.ValidationException; +import tech.pegase.z3.application.exception.ValidationException.ValidationError; +import tech.pegase.z3.application.presenter.link.ImportLinksPresenter; +import tech.pegase.z3.application.presenter.link.ImportLinksPresenter.ImportFailuresDto; +import tech.pegase.z3.domain.usecase.links.ImportLinks; +import tech.pegase.z3.domain.usecase.links.ImportLinks.Input.ImportLine; + +@Path("/api/v1/links-import/") +@Authenticated +public class ImportLinksResource { + private static final Logger logger = Logger.getLogger(ImportLinksResource.class.getName()); + private final UseCaseExecutor useCaseExecutor; + private final ImportLinks importLinks; + private final ImportLinksPresenter importLinksPresenter; + + @Inject + public ImportLinksResource( + UseCaseExecutor executor, ImportLinks useCase, ImportLinksPresenter presenter) { + this.useCaseExecutor = executor; + this.importLinks = useCase; + this.importLinksPresenter = presenter; + } + + @POST + @Path("/brands/{brand: [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}}") + @Consumes(MediaType.MULTIPART_FORM_DATA) + @Produces(MediaType.APPLICATION_JSON) + public RestResponse importForBrand( + @PathParam("brand") UUID brandUuid, + @Nullable @RestForm("tag") UUID tagUuid, + @RestForm("file") @PartType("application/octet-stream") FileUpload file) { + try { + var importLines = uploadedFileToImportLine(file); + + return useCaseExecutor + .forUseCase(importLinks) + .withParameter(new ImportLinks.Input.ImportForBrand(brandUuid, tagUuid, importLines)) + .withPresenter(importLinksPresenter) + .run(); + } catch (IllegalStateException | CsvException e) { + logger.debug(e.getMessage(), e); + return RestResponse.status(Response.Status.BAD_REQUEST); + } catch (IOException e) { + logger.warn(e.getMessage(), e); + throw new RuntimeException(e); + } + } + + @POST + @Path("/catalogs/{catalog: [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}}") + @Consumes(MediaType.MULTIPART_FORM_DATA) + @Produces(MediaType.APPLICATION_JSON) + public RestResponse importForCatalog( + @PathParam("catalog") UUID catalogUuid, + @Nullable @RestForm("tag") UUID tagUuid, + @RestForm("file") @PartType("application/octet-stream") FileUpload file) { + try { + var importLines = uploadedFileToImportLine(file); + + return useCaseExecutor + .forUseCase(importLinks) + .withParameter(new ImportLinks.Input.ImportForCatalog(catalogUuid, tagUuid, importLines)) + .withPresenter(importLinksPresenter) + .run(); + } catch (IllegalStateException | CsvException e) { + logger.debug(e.getMessage(), e); + return RestResponse.status(Response.Status.BAD_REQUEST); + } catch (IOException e) { + logger.warn(e.getMessage(), e); + throw new RuntimeException(e); + } + } + + private List uploadedFileToImportLine( + FileUpload file) throws IOException, CsvException { + var requiredColumns = List.of("source", "target", "isExternal"); + var delimiterToUse = detectDelimiterWithColumns(file, requiredColumns, ';'); + + assertFileHasHeader(file, requiredColumns, delimiterToUse); + assertUploadedFileIsPlainText(file); + + List output = new ArrayList<>(); + + try (var inputStream = Files.newInputStream(file.uploadedFile())) { + var csvReader = fromInputStream(inputStream, delimiterToUse); + var lines = csvReader.readAll(); + // Skip header line. + lines.removeFirst(); + for (var line : lines) { + var importLine = listToImportLine(List.of(line)); + output.add(importLine); + } + + return output; + } + } + + private Character detectDelimiterWithColumns( + FileUpload file, List columns, Character defaultDelimiter) { + var availableDelimiters = Arrays.asList(';', ','); + + return availableDelimiters.stream() + .filter( + delimiter -> { + try (var inputStream = Files.newInputStream(file.uploadedFile())) { + var csvReader = fromInputStream(inputStream, delimiter); + var firstLine = List.of(csvReader.readNext()); + + return columns.equals(firstLine); + } catch (CsvValidationException e) { + return false; + } catch (IOException e) { + logger.warn(e.getMessage(), e); + throw new RuntimeException(e); + } + }) + .findFirst() + .orElse(defaultDelimiter); + } + + private ImportLine listToImportLine(List values) { + if (values.size() < 3) { + throw new IllegalStateException("Import lines requires at least three values"); + } + var source = values.getFirst(); + var url = values.get(1); + var isExternal = Boolean.parseBoolean(values.get(2)); + return new ImportLine(source, url, isExternal); + } + + private void assertFileHasHeader(FileUpload file, List columns, Character delimiter) + throws IOException { + try (var inputStream = Files.newInputStream(file.uploadedFile())) { + var csvReader = fromInputStream(inputStream, delimiter); + var firstLine = List.of(csvReader.readNext()); + + if (firstLine.size() != 3) { + throw ValidationException.of( + ValidationError.of("file", "La première ligne est invalide, elle à besoin 3 columns")); + } + + if (!columns.equals(firstLine)) { + throw ValidationException.of( + ValidationError.of( + "file", + "La première ligne est invalide, il faut 'source', 'target', 'isExternal'")); + } + } catch (CsvValidationException e) { + logger.debug(e.getMessage()); + throw new ServerErrorException(e); + } + } + + private void assertUploadedFileIsPlainText(FileUpload file) throws IOException { + var guessedMimeType = guessMimeType(file); + + if (!guessedMimeType.equals(MediaType.TEXT_PLAIN)) { + logger.debug("File is not plain text"); + throw ValidationException.of( + ValidationError.of("file", "File le fichier doit contenir du texte/csv uniquement")); + } + } + + private CSVReader fromInputStream(InputStream inputStream, Character delimiter) + throws IOException { + var bomInputStream = + BOMInputStream.builder().setInputStream(inputStream).setInclude(false).get(); + var reader = new InputStreamReader(new BufferedInputStream(bomInputStream)); + return getCsvReader(reader, delimiter); + } + + private CSVReader getCsvReader(Reader reader, Character delimiter) { + var builder = new CSVReaderBuilder(reader); + var parser = getCsvParser(delimiter); + + builder.withCSVParser(parser); + + return builder.build(); + } + + private CSVParser getCsvParser(Character delimiter) { + var csvParserBuilder = new CSVParserBuilder(); + + csvParserBuilder.withSeparator(delimiter); + + return csvParserBuilder.build(); + } + + private String guessMimeType(FileUpload file) throws IOException { + var tika = new Tika(); + return tika.detect(new File(file.uploadedFile().toUri())); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/ListLinksResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/ListLinksResource.java new file mode 100644 index 0000000..89a33c7 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/ListLinksResource.java @@ -0,0 +1,100 @@ +package tech.pegase.z3.application.api.v1.link; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.validation.Valid; +import jakarta.ws.rs.BeanParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import java.util.Objects; +import org.jboss.resteasy.reactive.RestResponse; +import org.jspecify.annotations.Nullable; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.dto.PaginatedDto; +import tech.pegase.z3.application.exception.ValidationException; +import tech.pegase.z3.application.exception.ValidationException.ValidationError; +import tech.pegase.z3.application.presenter.link.ListLinksPresenter; +import tech.pegase.z3.application.presenter.link.ListLinksPresenter.LinkDto; +import tech.pegase.z3.application.request.link.PaginatedLinkListRequest; +import tech.pegase.z3.domain.usecase.links.ListLinks; +import tech.pegase.z3.domain.valueobject.concepts.Ordering; +import tech.pegase.z3.domain.valueobject.concepts.Ordering.Direction; +import tech.pegase.z3.domain.valueobject.concepts.Searching; +import tech.pegase.z3.domain.valueobject.orderings.LinkOrdering; +import tech.pegase.z3.domain.valueobject.orderings.LinkOrdering.Field; +import tech.pegase.z3.domain.valueobject.searchings.LinkSearching; +import tech.pegase.z3.shared.pagination.Pagination; + +@Path("/api/v1/links") +@Authenticated +public class ListLinksResource { + private final UseCaseExecutor useCaseExecutor; + private final ListLinks listLinks; + private final ListLinksPresenter listLinksPresenter; + + @Inject + public ListLinksResource( + UseCaseExecutor executor, ListLinks useCase, ListLinksPresenter presenter) { + this.useCaseExecutor = executor; + this.listLinks = useCase; + this.listLinksPresenter = presenter; + } + + @GET + @Produces(MediaType.APPLICATION_JSON) + public RestResponse> getPaginatedLinkList( + @BeanParam @Valid PaginatedLinkListRequest request) { + return useCaseExecutor + .forUseCase(listLinks) + .withParameter(getParameterFromRequest(request)) + .withPresenter(listLinksPresenter) + .run(); + } + + private ListLinks.Input getParameterFromRequest(PaginatedLinkListRequest request) { + var pagination = Pagination.fromPageNumberAndPageSize(request.getPage(), request.getPerPage()); + var orderBy = request.getOrderBy(); + var direction = request.getDirection(); + var searchOn = request.getSearchOn(); + var keyword = request.getKeywords(); + var filters = request.getFilters(); + + var defaultOrdering = LinkOrdering.of(Field.SOURCE, Direction.NATURAL); + + assertCanOrder(orderBy, direction); + assertCanSearch(searchOn, keyword); + + var ordering = + (orderBy != null && direction != null) ? LinkOrdering.of(orderBy, direction) : null; + var searching = + (searchOn != null && keyword != null) ? LinkSearching.of(searchOn, keyword) : null; + + if (searching != null) { + return new ListLinks.Input.WithPaginationAndSearchingAllSorted( + pagination, filters, Objects.requireNonNullElse(ordering, defaultOrdering), searching); + } + + return new ListLinks.Input.WithPaginationSorted( + pagination, filters, Objects.requireNonNullElse(ordering, defaultOrdering)); + } + + private void assertCanOrder( + LinkOrdering.@Nullable Field orderBy, Ordering.@Nullable Direction direction) { + if (orderBy != null ^ direction != null) { + throw ValidationException.of( + ValidationError.of("orderBy", "orderBy est requis avec direction"), + ValidationError.of("direction", "direction est requis avec orderBy")); + } + } + + private void assertCanSearch( + LinkSearching.@Nullable Field searchOn, Searching.@Nullable SearchValue keywords) { + if (searchOn != null ^ keywords != null) { + throw ValidationException.of( + ValidationError.of("searchOn", "searchOn est requis avec keywords"), + ValidationError.of("keywords", "keywords est requis avec searchOn")); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/RedirectLinkResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/RedirectLinkResource.java new file mode 100644 index 0000000..37a9cb5 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/RedirectLinkResource.java @@ -0,0 +1,99 @@ +package tech.pegase.z3.application.api.v1.link; + +import io.vertx.core.eventbus.EventBus; +import jakarta.annotation.Nullable; +import jakarta.annotation.security.PermitAll; +import jakarta.validation.Valid; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Response; +import java.time.ZonedDateTime; +import org.eclipse.microprofile.config.inject.ConfigProperty; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.events.LinkRedirectedEvent; +import tech.pegase.z3.application.presenter.link.ResolveLinkResponsePresenter; +import tech.pegase.z3.application.request.link.RedirectLinkRequest; +import tech.pegase.z3.domain.usecase.links.RedirectLink; +import tech.pegase.z3.domain.usecase.links.RedirectLink.Input; +import tech.pegase.z3.domain.usecase.links.RedirectLink.Output; +import tech.pegase.z3.domain.valueobject.Fqdn; +import tech.pegase.z3.shared.valueobject.Source; + +@Path("/") +public class RedirectLinkResource { + private final Fqdn resolverFqdn; + private final UseCaseExecutor useCaseExecutor; + private final RedirectLink redirectLink; + private final ResolveLinkResponsePresenter redirectLinkResponsePresenter; + private final EventBus eventBus; + + public RedirectLinkResource( + @ConfigProperty(name = "z3.export.resolver-fqdn") String resolverFqdn, + UseCaseExecutor executor, + RedirectLink useCase, + ResolveLinkResponsePresenter presenter, + EventBus eventBus) { + this.useCaseExecutor = executor; + this.redirectLink = useCase; + this.redirectLinkResponsePresenter = presenter; + this.resolverFqdn = new Fqdn(resolverFqdn); + this.eventBus = eventBus; + } + + @GET + @Path("/{source: [a-zA-Z0-9/._~!$'()*+,;=:@-]+}") + @PermitAll + public Response redirect( + @PathParam("source") Source source, + @QueryParam("host") @Valid @Nullable Fqdn host, + @Valid RedirectLinkRequest request) { + + // * Use default Fqdn if none provided + var actualHost = host != null ? host : resolverFqdn; + + return useCaseExecutor + .forUseCase(redirectLink) + .withParameter(new Input.ResolveWith(resolverFqdn, actualHost, source)) + .withPresenter( + new ResolveLinkResponsePresenter() { + @Override + public Response present(Output output) { + var linkIsResolved = output instanceof Output.Found; + + dispatchVisitedLink(source, linkIsResolved, request); + + return redirectLinkResponsePresenter.present(output); + } + }) + .run(); + } + + private void dispatchVisitedLink( + Source source, Boolean linkIsResolved, RedirectLinkRequest request) { + var ipAddress = request.getIpAddress(); + var doNotTrack = request.getDoNotTrack(); + var requestedAt = ZonedDateTime.now(); + var locale = request.getLocale(); + var referrerUri = request.getReferrerUri(); + var userAgent = request.getUserAgent(); + var screenProperties = request.getScreenProperties(); + var fingerprint = request.getFingerprint(); + + var eventPojo = + new LinkRedirectedEvent( + source, + linkIsResolved, + requestedAt, + doNotTrack, + ipAddress, + locale, + referrerUri, + userAgent, + fingerprint, + screenProperties); + + eventBus.publish("LinkRedirectedEvent", eventPojo); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/UpdateLinkResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/UpdateLinkResource.java new file mode 100644 index 0000000..ed58278 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/UpdateLinkResource.java @@ -0,0 +1,53 @@ +package tech.pegase.z3.application.api.v1.link; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.validation.Valid; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.link.UpdateLinkPresenter; +import tech.pegase.z3.application.presenter.link.UpdateLinkPresenter.LinkDto; +import tech.pegase.z3.application.request.link.UpdateLinkRequest; +import tech.pegase.z3.domain.usecase.links.UpdateLink; +import tech.pegase.z3.domain.usecase.links.UpdateLink.Input.ForSource; +import tech.pegase.z3.shared.valueobject.Source; + +@Path("/api/v1/links") +@Authenticated +public class UpdateLinkResource { + private final UseCaseExecutor useCaseExecutor; + private final UpdateLink updateLinkUseCase; + private final UpdateLinkPresenter updateLinkPresenter; + + @Inject + UpdateLinkResource(UseCaseExecutor executor, UpdateLink useCase, UpdateLinkPresenter presenter) { + useCaseExecutor = executor; + updateLinkUseCase = useCase; + updateLinkPresenter = presenter; + } + + @PUT + @Path("/{source: [a-zA-Z0-9/._~!$'()*+,;=:@-]+}") + @Produces(MediaType.APPLICATION_JSON) + @Consumes(MediaType.APPLICATION_JSON) + public RestResponse updateLink( + @PathParam("source") Source source, @Valid UpdateLinkRequest request) { + return useCaseExecutor + .forUseCase(updateLinkUseCase) + .withParameter( + new ForSource( + source, + request.getTarget(), + request.isExternal(), + request.getTag(), + request.getCatalog())) + .withPresenter(updateLinkPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/VerifyLinkResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/VerifyLinkResource.java new file mode 100644 index 0000000..44a86b7 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/VerifyLinkResource.java @@ -0,0 +1,44 @@ +package tech.pegase.z3.application.api.v1.link; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.link.VerifyLinkPresenter; +import tech.pegase.z3.application.presenter.link.VerifyLinkPresenter.LinkValidityDto; +import tech.pegase.z3.domain.usecase.links.VerifyLink; +import tech.pegase.z3.domain.usecase.links.VerifyLink.Input; +import tech.pegase.z3.shared.valueobject.Source; + +@Path("/api/v1/links") +@Authenticated +public class VerifyLinkResource { + private final UseCaseExecutor useCaseExecutor; + private final VerifyLink verifyLink; + private final VerifyLinkPresenter verifyLinkPresenter; + + @Inject + public VerifyLinkResource( + UseCaseExecutor executor, VerifyLink useCase, VerifyLinkPresenter presenter) { + this.useCaseExecutor = executor; + this.verifyLink = useCase; + this.verifyLinkPresenter = presenter; + } + + @PUT + @Path("/{source: [a-zA-Z0-9/._~!$'()*+,;=:@-]+}/verify") + @Produces(MediaType.APPLICATION_JSON) + /* Ici source correspond à la partie path + query + anchor d'une URL sur un QR code. */ + public RestResponse verifyLinkValidity(@PathParam("source") Source source) { + return useCaseExecutor + .forUseCase(verifyLink) + .withParameter(new Input.Verify(source)) + .withPresenter(verifyLinkPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/package-info.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/package-info.java new file mode 100644 index 0000000..7b3cfd9 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/link/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.application.api.v1.link; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/reporting/GetReportingSubscriptionsResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/reporting/GetReportingSubscriptionsResource.java new file mode 100644 index 0000000..33b00da --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/reporting/GetReportingSubscriptionsResource.java @@ -0,0 +1,47 @@ +package tech.pegase.z3.application.api.v1.reporting; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import java.util.Set; +import java.util.UUID; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.reporting.GetReportingSubscriptionsPresenter; +import tech.pegase.z3.application.presenter.reporting.GetReportingSubscriptionsPresenter.ReportingSubscriptionDto; +import tech.pegase.z3.domain.usecase.reporting.GetReportingSubscriptions; +import tech.pegase.z3.domain.usecase.reporting.GetReportingSubscriptions.Input; + +@Authenticated +@Path("/api/v1/reporting") +public class GetReportingSubscriptionsResource { + private final UseCaseExecutor useCaseExecutor; + private final GetReportingSubscriptions getReportingSubscriptions; + private final GetReportingSubscriptionsPresenter getReportingSubscriptionsPresenter; + + @Inject + public GetReportingSubscriptionsResource( + UseCaseExecutor executor, + GetReportingSubscriptions useCase, + GetReportingSubscriptionsPresenter presenter) { + this.useCaseExecutor = executor; + this.getReportingSubscriptions = useCase; + this.getReportingSubscriptionsPresenter = presenter; + } + + @GET + @Path("/subscriptions/{user}") + @Produces(MediaType.APPLICATION_JSON) + public RestResponse> getReportingSubscriptions( + @PathParam("user") UUID userUuid) { + return useCaseExecutor + .forUseCase(getReportingSubscriptions) + .withParameter(new Input.GetSubscriptionsForUser(userUuid)) + .withPresenter(getReportingSubscriptionsPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/reporting/UpdateUserReportingSubscriptionsResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/reporting/UpdateUserReportingSubscriptionsResource.java new file mode 100644 index 0000000..abb5dbd --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/reporting/UpdateUserReportingSubscriptionsResource.java @@ -0,0 +1,48 @@ +package tech.pegase.z3.application.api.v1.reporting; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.validation.Valid; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import java.util.UUID; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.reporting.UpdateUserReportingSubscriptionsPresenter; +import tech.pegase.z3.application.presenter.reporting.UpdateUserReportingSubscriptionsPresenter.MessageDto; +import tech.pegase.z3.application.request.reporting.UpdateUserReportingSubscriptionsRequest; +import tech.pegase.z3.domain.usecase.reporting.UpdateUserReportingSubscriptions; +import tech.pegase.z3.domain.usecase.reporting.UpdateUserReportingSubscriptions.Input; + +@Authenticated +@Path("/api/v1/reporting") +public class UpdateUserReportingSubscriptionsResource { + private final UseCaseExecutor useCaseExecutor; + private final UpdateUserReportingSubscriptions updateUserReportingSubscriptions; + private final UpdateUserReportingSubscriptionsPresenter updateUserReportingSubscriptionsPresenter; + + @Inject + public UpdateUserReportingSubscriptionsResource( + UseCaseExecutor executor, + UpdateUserReportingSubscriptions useCase, + UpdateUserReportingSubscriptionsPresenter presenter) { + this.useCaseExecutor = executor; + this.updateUserReportingSubscriptions = useCase; + this.updateUserReportingSubscriptionsPresenter = presenter; + } + + @POST + @Path("/subscriptions/{user}") + @Produces(MediaType.APPLICATION_JSON) + public RestResponse getReportingSubscriptions( + @PathParam("user") UUID userUuid, @Valid UpdateUserReportingSubscriptionsRequest request) { + return useCaseExecutor + .forUseCase(updateUserReportingSubscriptions) + .withParameter(new Input.UpdateSubscriptionForUser(userUuid, request.getBrands())) + .withPresenter(updateUserReportingSubscriptionsPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/statistics/GetLinksStatisticsResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/statistics/GetLinksStatisticsResource.java new file mode 100644 index 0000000..4f1477b --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/statistics/GetLinksStatisticsResource.java @@ -0,0 +1,109 @@ +package tech.pegase.z3.application.api.v1.statistics; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.validation.constraints.NotNull; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.statistics.GetGlobalStatisticsPresenter; +import tech.pegase.z3.application.presenter.statistics.GetGlobalStatisticsPresenter.GlobalStatistic; +import tech.pegase.z3.application.presenter.statistics.GetLinksStatisticsPresenter; +import tech.pegase.z3.application.presenter.statistics.GetLinksStatisticsPresenter.StatisticLine; +import tech.pegase.z3.domain.usecase.statistics.GetGlobalStatistics; +import tech.pegase.z3.domain.usecase.statistics.GetGlobalStatistics.Input.GetStatistics; +import tech.pegase.z3.domain.usecase.statistics.GetGlobalStatistics.Input.GetStatisticsForBrand; +import tech.pegase.z3.domain.usecase.statistics.GetLinksStatistics; +import tech.pegase.z3.domain.usecase.statistics.GetLinksStatistics.Input.ForBrands; +import tech.pegase.z3.domain.usecase.statistics.GetLinksStatistics.Input.ForCatalogs; +import tech.pegase.z3.domain.usecase.statistics.GetLinksStatistics.Input.ForTags; + +@Path("/api/v1/links/statistics") +@Authenticated +public class GetLinksStatisticsResource { + private final UseCaseExecutor useCaseExecutor; + private final GetGlobalStatistics getGlobalStatistics; + private final GetGlobalStatisticsPresenter getGlobalStatisticsPresenter; + private final GetLinksStatistics getLinksStatistics; + private final GetLinksStatisticsPresenter getLinksStatisticsPresenter; + + @Inject + public GetLinksStatisticsResource( + UseCaseExecutor executor, + GetGlobalStatistics getGlobalStatistics, + GetLinksStatistics getLinksStatistics, + GetGlobalStatisticsPresenter getGlobalStatisticsPresenter, + GetLinksStatisticsPresenter getLinksStatisticsPresenter) { + this.useCaseExecutor = executor; + this.getGlobalStatistics = getGlobalStatistics; + this.getLinksStatistics = getLinksStatistics; + this.getGlobalStatisticsPresenter = getGlobalStatisticsPresenter; + this.getLinksStatisticsPresenter = getLinksStatisticsPresenter; + } + + @GET + @Path("/") + @Produces(MediaType.APPLICATION_JSON) + public RestResponse> globalStatistic() { + return useCaseExecutor + .forUseCase(getGlobalStatistics) + .withParameter(new GetStatistics()) + .withPresenter(getGlobalStatisticsPresenter) + .run(); + } + + @GET + @Path("/{brand}") + @Produces(MediaType.APPLICATION_JSON) + public RestResponse> globalStatisticForBrand( + @PathParam("brand") UUID brandUuid) { + return useCaseExecutor + .forUseCase(getGlobalStatistics) + .withParameter(new GetStatisticsForBrand(brandUuid)) + .withPresenter(getGlobalStatisticsPresenter) + .run(); + } + + @GET + @Path("/brands") + @Produces(MediaType.APPLICATION_JSON) + public RestResponse> statisticForBrands() { + return useCaseExecutor + .forUseCase(getLinksStatistics) + .withParameter(new ForBrands()) + .withPresenter(getLinksStatisticsPresenter) + .run(); + } + + @GET + @Path("/catalog") + @Produces(MediaType.APPLICATION_JSON) + public RestResponse> statisticForCatalogOf( + @NotNull @QueryParam("brand") UUID brandUuid) { + return useCaseExecutor + .forUseCase(getLinksStatistics) + .withParameter(new ForCatalogs(brandUuid)) + .withPresenter(getLinksStatisticsPresenter) + .run(); + } + + @GET + @Path("/tag") + @Produces(MediaType.APPLICATION_JSON) + public RestResponse> statisticForTag( + @NotNull @QueryParam("brand") UUID brandUuid) { + return useCaseExecutor + .forUseCase(getLinksStatistics) + .withParameter(new ForTags(brandUuid)) + .withPresenter(getLinksStatisticsPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/statistics/InvalidLinksResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/statistics/InvalidLinksResource.java new file mode 100644 index 0000000..e3a08da --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/statistics/InvalidLinksResource.java @@ -0,0 +1,43 @@ +package tech.pegase.z3.application.api.v1.statistics; + +import io.quarkus.security.Authenticated; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import java.util.List; +import java.util.Map; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.statistics.InvalidLinksPerWeekPresenter; +import tech.pegase.z3.application.presenter.statistics.InvalidLinksPerWeekPresenter.WeekInvalidLinks; +import tech.pegase.z3.statistics.domain.usecase.statistics.GetInvalidLinksCountsPerWeek; +import tech.pegase.z3.statistics.domain.usecase.statistics.GetInvalidLinksCountsPerWeek.Input.ByBrandForThePastYear; + +@Path("/api/v1/statistics/invalid-links") +@Authenticated +public class InvalidLinksResource { + private final UseCaseExecutor useCaseExecutor; + private final GetInvalidLinksCountsPerWeek invalidLinksPerWeek; + private final InvalidLinksPerWeekPresenter invalidLinksPerWeekPresenter; + + InvalidLinksResource( + UseCaseExecutor useCaseExecutor, + GetInvalidLinksCountsPerWeek getInvalidLinksCountsPerWeek, + InvalidLinksPerWeekPresenter invalidLinksPerWeekPresenter) { + this.useCaseExecutor = useCaseExecutor; + this.invalidLinksPerWeek = getInvalidLinksCountsPerWeek; + this.invalidLinksPerWeekPresenter = invalidLinksPerWeekPresenter; + } + + @GET + @Path("/per-week-per-brand") + @Produces(MediaType.APPLICATION_JSON) + public RestResponse>> invalidLinksPerWeek() { + return useCaseExecutor + .forUseCase(invalidLinksPerWeek) + .withParameter(new ByBrandForThePastYear()) + .withPresenter(invalidLinksPerWeekPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/statistics/TopListResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/statistics/TopListResource.java new file mode 100644 index 0000000..0e95322 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/statistics/TopListResource.java @@ -0,0 +1,61 @@ +package tech.pegase.z3.application.api.v1.statistics; + +import io.quarkus.security.Authenticated; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import java.util.List; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.statistics.MostFrequentReferrersPresenter; +import tech.pegase.z3.application.presenter.statistics.MostFrequentReferrersPresenter.TopReferrerLine; +import tech.pegase.z3.application.presenter.statistics.MostVisitedSourcePresenter; +import tech.pegase.z3.application.presenter.statistics.MostVisitedSourcePresenter.TopSourceLine; +import tech.pegase.z3.statistics.domain.usecase.statistics.MostFrequentReferrers; +import tech.pegase.z3.statistics.domain.usecase.statistics.MostVisitedSource; + +@Path("/api/v1/statistics/top") +@Authenticated +public class TopListResource { + private final UseCaseExecutor useCaseExecutor; + private final MostFrequentReferrers mostFrequentReferrers; + private final MostFrequentReferrersPresenter mostFrequentReferrersPresenter; + private final MostVisitedSource mostVisitedSource; + private final MostVisitedSourcePresenter mostVisitedSourcePresenter; + + TopListResource( + UseCaseExecutor useCaseExecutor, + MostFrequentReferrers mostFrequentReferrers, + MostFrequentReferrersPresenter mostFrequentReferrersPresenter, + MostVisitedSource mostVisitedSource, + MostVisitedSourcePresenter mostVisitedSourcePresenter) { + this.useCaseExecutor = useCaseExecutor; + this.mostFrequentReferrers = mostFrequentReferrers; + this.mostFrequentReferrersPresenter = mostFrequentReferrersPresenter; + this.mostVisitedSource = mostVisitedSource; + this.mostVisitedSourcePresenter = mostVisitedSourcePresenter; + } + + @GET + @Path("/referrers") + @Produces(MediaType.APPLICATION_JSON) + public RestResponse> topReferrers() { + return useCaseExecutor + .forUseCase(mostFrequentReferrers) + .withParameter(new MostFrequentReferrers.Input.GetTop20()) + .withPresenter(mostFrequentReferrersPresenter) + .run(); + } + + @GET + @Path("/sources") + @Produces(MediaType.APPLICATION_JSON) + public RestResponse> topSources() { + return useCaseExecutor + .forUseCase(mostVisitedSource) + .withParameter(new MostVisitedSource.Input.GetTop30()) + .withPresenter(mostVisitedSourcePresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/statistics/UniqueVisitorsResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/statistics/UniqueVisitorsResource.java new file mode 100644 index 0000000..ff53215 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/statistics/UniqueVisitorsResource.java @@ -0,0 +1,62 @@ +package tech.pegase.z3.application.api.v1.statistics; + +import io.quarkus.security.Authenticated; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import java.util.List; +import java.util.Map; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.statistics.UniqueVisitorsByBrandPresenter; +import tech.pegase.z3.application.presenter.statistics.UniqueVisitorsByBrandPresenter.BrandUniqueVisit; +import tech.pegase.z3.application.presenter.statistics.UniqueVisitorsPresenterByCatalog; +import tech.pegase.z3.application.presenter.statistics.UniqueVisitorsPresenterByCatalog.CatalogUniqueVisit; +import tech.pegase.z3.statistics.domain.usecase.statistics.UniqueVisitorsByBrand; +import tech.pegase.z3.statistics.domain.usecase.statistics.UniqueVisitorsByCatalog; + +@Path("/api/v1/statistics/unique-visitors") +@Authenticated +public class UniqueVisitorsResource { + private final UseCaseExecutor useCaseExecutor; + private final UniqueVisitorsByBrand brandsUniqueVisitors; + private final UniqueVisitorsByCatalog catalogsUniqueVisitors; + private final UniqueVisitorsByBrandPresenter brandUniqueVisitorsPresenter; + private final UniqueVisitorsPresenterByCatalog catalogUniqueVisitorsPresenter; + + UniqueVisitorsResource( + UseCaseExecutor useCaseExecutor, + UniqueVisitorsByBrand uniqueVisitorsByBrand, + UniqueVisitorsByCatalog uniqueVisitorsByCatalog, + UniqueVisitorsByBrandPresenter uniqueVisitorsByBrandPresenter, + UniqueVisitorsPresenterByCatalog uniqueVisitorsPresenterByCatalog) { + this.useCaseExecutor = useCaseExecutor; + this.brandsUniqueVisitors = uniqueVisitorsByBrand; + this.catalogsUniqueVisitors = uniqueVisitorsByCatalog; + this.brandUniqueVisitorsPresenter = uniqueVisitorsByBrandPresenter; + this.catalogUniqueVisitorsPresenter = uniqueVisitorsPresenterByCatalog; + } + + @GET + @Path("/brands") + @Produces(MediaType.APPLICATION_JSON) + public RestResponse>> brandUniqueVisitors() { + return useCaseExecutor + .forUseCase(brandsUniqueVisitors) + .withParameter(new UniqueVisitorsByBrand.Input.GetCountsForThePastYear()) + .withPresenter(brandUniqueVisitorsPresenter) + .run(); + } + + @GET + @Path("/catalogs") + @Produces(MediaType.APPLICATION_JSON) + public RestResponse>> catalogUniqueVisitors() { + return useCaseExecutor + .forUseCase(catalogsUniqueVisitors) + .withParameter(new UniqueVisitorsByCatalog.Input.GetCountsForThePastYear()) + .withPresenter(catalogUniqueVisitorsPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/statistics/package-info.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/statistics/package-info.java new file mode 100644 index 0000000..6f15119 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/statistics/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.application.api.v1.statistics; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/CreateTagResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/CreateTagResource.java new file mode 100644 index 0000000..60a6df3 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/CreateTagResource.java @@ -0,0 +1,46 @@ +package tech.pegase.z3.application.api.v1.tag; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.validation.Valid; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.tag.CreateTagPresenter; +import tech.pegase.z3.application.presenter.tag.CreateTagPresenter.TagDto; +import tech.pegase.z3.application.request.tag.CreateTagRequest; +import tech.pegase.z3.domain.usecase.tags.CreateTag; +import tech.pegase.z3.domain.usecase.tags.CreateTag.Input; + +@Authenticated +@Path("/api/v1/tags") +public class CreateTagResource { + private final UseCaseExecutor useCaseExecutor; + private final CreateTag createTag; + private final CreateTagPresenter createTagPresenter; + + @Inject + public CreateTagResource( + UseCaseExecutor executor, CreateTag useCase, CreateTagPresenter presenter) { + this.useCaseExecutor = executor; + this.createTag = useCase; + this.createTagPresenter = presenter; + } + + @POST + @Path("/") + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) + public RestResponse create(@Valid CreateTagRequest request) { + Input parameter = new Input.With(request.getName(), request.getColor()); + return useCaseExecutor + .forUseCase(createTag) + .withParameter(parameter) + .withPresenter(createTagPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/GetTagResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/GetTagResource.java new file mode 100644 index 0000000..dc6fee0 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/GetTagResource.java @@ -0,0 +1,42 @@ +package tech.pegase.z3.application.api.v1.tag; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import java.util.UUID; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.tag.GetTagPresenter; +import tech.pegase.z3.application.presenter.tag.GetTagPresenter.TagDto; +import tech.pegase.z3.domain.usecase.tags.GetTag; +import tech.pegase.z3.domain.usecase.tags.GetTag.Input.ForId; + +@Path("/api/v1/tags") +@Authenticated +public class GetTagResource { + private final UseCaseExecutor useCaseExecutor; + private final GetTag getTag; + private final GetTagPresenter getTagResponsePresenter; + + @Inject + public GetTagResource(UseCaseExecutor executor, GetTag useCase, GetTagPresenter presenter) { + this.useCaseExecutor = executor; + this.getTag = useCase; + this.getTagResponsePresenter = presenter; + } + + @GET + @Path("/{tag}") + @Produces(MediaType.APPLICATION_JSON) + public RestResponse getTag(@PathParam("tag") UUID tagUuid) { + return useCaseExecutor + .forUseCase(getTag) + .withParameter(new ForId(tagUuid)) + .withPresenter(getTagResponsePresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/ListTagsResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/ListTagsResource.java new file mode 100644 index 0000000..758a5a8 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/ListTagsResource.java @@ -0,0 +1,52 @@ +package tech.pegase.z3.application.api.v1.tag; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.validation.Valid; +import jakarta.ws.rs.BeanParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.dto.PaginatedDto; +import tech.pegase.z3.application.presenter.tag.ListTagsPresenter; +import tech.pegase.z3.application.presenter.tag.ListTagsPresenter.TagDto; +import tech.pegase.z3.application.request.tag.PaginatedTagListRequest; +import tech.pegase.z3.domain.usecase.tags.ListTags; +import tech.pegase.z3.shared.pagination.Pagination; + +@Path("/api/v1/tags") +@Authenticated +public class ListTagsResource { + private final UseCaseExecutor useCaseExecutor; + private final ListTags listTags; + private final ListTagsPresenter listTagsPresenter; + + @Inject + public ListTagsResource( + UseCaseExecutor executor, ListTags useCase, ListTagsPresenter presenter) { + this.useCaseExecutor = executor; + this.listTags = useCase; + this.listTagsPresenter = presenter; + } + + @GET + @Produces(MediaType.APPLICATION_JSON) + public RestResponse> getPaginatedTagList( + @BeanParam @Valid PaginatedTagListRequest request) { + return useCaseExecutor + .forUseCase(listTags) + .withParameter(getParameterFromRequest(request)) + .withPresenter(listTagsPresenter) + .run(); + } + + private ListTags.Input getParameterFromRequest(PaginatedTagListRequest request) { + var pagination = + Pagination.fromPageNumberAndPageSize(request.getPage(), request.getPerPage()); + + return new ListTags.Input.WithPagination(pagination); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/RemoveTagResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/RemoveTagResource.java new file mode 100644 index 0000000..a7ccc1e --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/RemoveTagResource.java @@ -0,0 +1,42 @@ +package tech.pegase.z3.application.api.v1.tag; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.ws.rs.DELETE; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import java.util.UUID; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.dto.MessageDto; +import tech.pegase.z3.application.presenter.tag.RemoveTagPresenter; +import tech.pegase.z3.domain.usecase.tags.RemoveTag; +import tech.pegase.z3.domain.usecase.tags.RemoveTag.Input.WhereUuid; + +@Path("/api/v1/tags") +@Authenticated +public class RemoveTagResource { + private final UseCaseExecutor useCaseExecutor; + private final RemoveTag removeTagUseCase; + private final RemoveTagPresenter removeTagPresenter; + + @Inject + RemoveTagResource(UseCaseExecutor executor, RemoveTag useCase, RemoveTagPresenter presenter) { + useCaseExecutor = executor; + removeTagUseCase = useCase; + removeTagPresenter = presenter; + } + + @DELETE + @Path("/{tag}") + @Produces(MediaType.APPLICATION_JSON) + public RestResponse removeTag(@PathParam("tag") UUID tagUuid) { + return useCaseExecutor + .forUseCase(removeTagUseCase) + .withParameter(new WhereUuid(tagUuid)) + .withPresenter(removeTagPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/UpdateTagResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/UpdateTagResource.java new file mode 100644 index 0000000..9a28156 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/UpdateTagResource.java @@ -0,0 +1,47 @@ +package tech.pegase.z3.application.api.v1.tag; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.validation.Valid; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import java.util.UUID; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.tag.UpdateTagPresenter; +import tech.pegase.z3.application.presenter.tag.UpdateTagPresenter.TagDto; +import tech.pegase.z3.application.request.tag.UpdateTagRequest; +import tech.pegase.z3.domain.usecase.tags.UpdateTag; +import tech.pegase.z3.domain.usecase.tags.UpdateTag.Input.WhereUuid; + +@Path("/api/v1/tags") +@Authenticated +public class UpdateTagResource { + private final UseCaseExecutor useCaseExecutor; + private final UpdateTag updateTagUseCase; + private final UpdateTagPresenter updateTagPresenter; + + @Inject + UpdateTagResource(UseCaseExecutor executor, UpdateTag useCase, UpdateTagPresenter presenter) { + useCaseExecutor = executor; + updateTagUseCase = useCase; + updateTagPresenter = presenter; + } + + @PUT + @Path("/{tag}") + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) + public RestResponse updateTag( + @PathParam("tag") UUID tagUuid, @Valid UpdateTagRequest request) { + return useCaseExecutor + .forUseCase(updateTagUseCase) + .withParameter(new WhereUuid(tagUuid, request.getName(), request.getColor())) + .withPresenter(updateTagPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/package-info.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/package-info.java new file mode 100644 index 0000000..f684110 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/tag/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.application.api.v1.tag; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/CreateUserResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/CreateUserResource.java new file mode 100644 index 0000000..0c7815a --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/CreateUserResource.java @@ -0,0 +1,70 @@ +package tech.pegase.z3.application.api.v1.user; + +import io.quarkus.security.Authenticated; +import jakarta.annotation.security.RolesAllowed; +import jakarta.inject.Inject; +import jakarta.validation.Valid; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.context.UserContext; +import tech.pegase.z3.application.exception.ServerErrorException; +import tech.pegase.z3.application.presenter.user.CreateUserPresenter; +import tech.pegase.z3.application.presenter.user.CreateUserPresenter.UserDto; +import tech.pegase.z3.application.request.user.CreateUserRequest; +import tech.pegase.z3.domain.usecase.users.CreateUser; +import tech.pegase.z3.domain.usecase.users.CreateUser.Input; +import tech.pegase.z3.domain.usecase.users.CreateUser.Input.NewUserBy; + +@Authenticated +@Path("/api/v1/users") +public class CreateUserResource { + private final UseCaseExecutor useCaseExecutor; + private final CreateUser createUser; + private final CreateUserPresenter createUserPresenter; + private final UserContext userContext; + + @Inject + public CreateUserResource( + UseCaseExecutor executor, + CreateUser useCase, + CreateUserPresenter presenter, + UserContext userContext) { + this.useCaseExecutor = executor; + this.createUser = useCase; + this.createUserPresenter = presenter; + this.userContext = userContext; + } + + @POST + @Path("/") + @RolesAllowed("ADMINISTRATOR") + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) + public RestResponse create(@Valid CreateUserRequest request) { + var userContextId = userContext.getId(); + + if (userContextId == null) { + throw new ServerErrorException("Cannot get user context"); + } + + Input parameter = + new NewUserBy( + userContextId, + request.getFirstName(), + request.getLastName(), + request.getEmail(), + request.getRole(), + request.getLogin(), + request.getBrands()); + return useCaseExecutor + .forUseCase(createUser) + .withParameter(parameter) + .withPresenter(createUserPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/GetUserResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/GetUserResource.java new file mode 100644 index 0000000..b36d8bc --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/GetUserResource.java @@ -0,0 +1,43 @@ +package tech.pegase.z3.application.api.v1.user; + +import io.quarkus.security.Authenticated; +import jakarta.annotation.security.RolesAllowed; +import jakarta.inject.Inject; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import java.util.UUID; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.user.GetUserPresenter; +import tech.pegase.z3.application.presenter.user.GetUserPresenter.UserDto; +import tech.pegase.z3.domain.usecase.users.GetUser; + +@Path("/api/v1/users") +@Authenticated +public class GetUserResource { + private final UseCaseExecutor useCaseExecutor; + private final GetUser getUser; + private final GetUserPresenter getUserResponsePresenter; + + @Inject + public GetUserResource(UseCaseExecutor executor, GetUser useCase, GetUserPresenter presenter) { + this.useCaseExecutor = executor; + this.getUser = useCase; + this.getUserResponsePresenter = presenter; + } + + @GET + @Path("/{user}") + @RolesAllowed("ADMINISTRATOR") + @Produces(MediaType.APPLICATION_JSON) + public RestResponse getUser(@PathParam("user") UUID userUuid) { + return useCaseExecutor + .forUseCase(getUser) + .withParameter(new GetUser.Input.ForId(userUuid)) + .withPresenter(getUserResponsePresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/ListUsersResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/ListUsersResource.java new file mode 100644 index 0000000..68f285b --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/ListUsersResource.java @@ -0,0 +1,54 @@ +package tech.pegase.z3.application.api.v1.user; + +import io.quarkus.security.Authenticated; +import jakarta.annotation.security.RolesAllowed; +import jakarta.inject.Inject; +import jakarta.validation.Valid; +import jakarta.ws.rs.BeanParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.dto.PaginatedDto; +import tech.pegase.z3.application.presenter.user.ListUsersPresenter; +import tech.pegase.z3.application.presenter.user.ListUsersPresenter.UserDto; +import tech.pegase.z3.application.request.user.PaginatedUserListRequest; +import tech.pegase.z3.domain.usecase.users.ListUsers; +import tech.pegase.z3.shared.pagination.Pagination; + +@Path("/api/v1/users") +@Authenticated +public class ListUsersResource { + private final UseCaseExecutor useCaseExecutor; + private final ListUsers listUsers; + private final ListUsersPresenter listUsersPresenter; + + @Inject + public ListUsersResource( + UseCaseExecutor executor, ListUsers useCase, ListUsersPresenter presenter) { + this.useCaseExecutor = executor; + this.listUsers = useCase; + this.listUsersPresenter = presenter; + } + + @GET + @RolesAllowed("ADMINISTRATOR") + @Produces(MediaType.APPLICATION_JSON) + public RestResponse> getPaginatedUserList( + @BeanParam @Valid PaginatedUserListRequest request) { + return useCaseExecutor + .forUseCase(listUsers) + .withParameter(getParameterFromRequest(request)) + .withPresenter(listUsersPresenter) + .run(); + } + + private ListUsers.Input getParameterFromRequest(PaginatedUserListRequest request) { + var pagination = + Pagination.fromPageNumberAndPageSize(request.getPage(), request.getPerPage()); + + return new ListUsers.Input.WithPagination(pagination); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/RemoveUserResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/RemoveUserResource.java new file mode 100644 index 0000000..0e5edf1 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/RemoveUserResource.java @@ -0,0 +1,58 @@ +package tech.pegase.z3.application.api.v1.user; + +import io.quarkus.security.Authenticated; +import jakarta.annotation.security.RolesAllowed; +import jakarta.inject.Inject; +import jakarta.ws.rs.DELETE; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import java.util.UUID; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.context.UserContext; +import tech.pegase.z3.application.dto.MessageDto; +import tech.pegase.z3.application.exception.ServerErrorException; +import tech.pegase.z3.application.presenter.user.RemoveUserPresenter; +import tech.pegase.z3.domain.usecase.users.RemoveUser; +import tech.pegase.z3.domain.usecase.users.RemoveUser.Input.WhereUuid; + +@Path("/api/v1/users") +@Authenticated +public class RemoveUserResource { + private final UseCaseExecutor useCaseExecutor; + private final RemoveUser removeUserUseCase; + private final RemoveUserPresenter removeUserPresenter; + private final UserContext userContext; + + @Inject + RemoveUserResource( + UseCaseExecutor executor, + RemoveUser useCase, + RemoveUserPresenter presenter, + UserContext userContext) { + useCaseExecutor = executor; + removeUserUseCase = useCase; + removeUserPresenter = presenter; + this.userContext = userContext; + } + + @DELETE + @Path("/{user}") + @RolesAllowed("ADMINISTRATOR") + @Produces(MediaType.APPLICATION_JSON) + public RestResponse removeUser(@PathParam("user") UUID userUuid) { + var userContextId = userContext.getId(); + + if (userContextId == null) { + throw new ServerErrorException("Cannot get user context"); + } + + return useCaseExecutor + .forUseCase(removeUserUseCase) + .withParameter(new WhereUuid(userContextId, userUuid)) + .withPresenter(removeUserPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/ResetUserPasswordResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/ResetUserPasswordResource.java new file mode 100644 index 0000000..f9fde1c --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/ResetUserPasswordResource.java @@ -0,0 +1,63 @@ +package tech.pegase.z3.application.api.v1.user; + +import io.quarkus.security.Authenticated; +import jakarta.annotation.security.RolesAllowed; +import jakarta.inject.Inject; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import java.util.UUID; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.context.UserContext; +import tech.pegase.z3.application.exception.AuthorizationException; +import tech.pegase.z3.application.exception.ServerErrorException; +import tech.pegase.z3.application.presenter.user.ResetUserPasswordPresenter; +import tech.pegase.z3.application.presenter.user.ResetUserPasswordPresenter.MessageDto; +import tech.pegase.z3.domain.usecase.users.ResetUserPassword; +import tech.pegase.z3.domain.usecase.users.ResetUserPassword.Input.ForUser; + +@Path("/api/v1/users") +@Authenticated +public class ResetUserPasswordResource { + private final UseCaseExecutor useCaseExecutor; + private final ResetUserPassword resetUserPassword; + private final ResetUserPasswordPresenter resetUserPasswordPresenter; + private final UserContext userContext; + + @Inject + public ResetUserPasswordResource( + UseCaseExecutor executor, + ResetUserPassword useCase, + ResetUserPasswordPresenter presenter, + UserContext userContext) { + this.useCaseExecutor = executor; + this.resetUserPassword = useCase; + this.resetUserPasswordPresenter = presenter; + this.userContext = userContext; + } + + @POST + @Path("/{user}/reset") + @RolesAllowed("ADMINISTRATOR") + @Produces(MediaType.APPLICATION_JSON) + public RestResponse getUser(@PathParam("user") UUID userUuid) { + var userContextId = userContext.getId(); + + if (userContextId == null) { + throw new ServerErrorException("Cannot get user context"); + } + + if (userUuid.equals(userContextId)) { + throw new AuthorizationException(); + } + + return useCaseExecutor + .forUseCase(resetUserPassword) + .withParameter(new ForUser(userUuid)) + .withPresenter(resetUserPasswordPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/UpdateUserResource.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/UpdateUserResource.java new file mode 100644 index 0000000..2bb78bc --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/UpdateUserResource.java @@ -0,0 +1,75 @@ +package tech.pegase.z3.application.api.v1.user; + +import io.quarkus.security.Authenticated; +import jakarta.inject.Inject; +import jakarta.validation.Valid; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import java.util.UUID; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.context.UserContext; +import tech.pegase.z3.application.exception.AuthorizationException; +import tech.pegase.z3.application.exception.ServerErrorException; +import tech.pegase.z3.application.presenter.user.UpdateUserPresenter; +import tech.pegase.z3.application.presenter.user.UpdateUserPresenter.UserDto; +import tech.pegase.z3.application.request.user.UpdateUserRequest; +import tech.pegase.z3.domain.usecase.users.UpdateUser; +import tech.pegase.z3.domain.valueobject.Role.AccessLevel; + +@Path("/api/v1/users") +@Authenticated +public class UpdateUserResource { + private final UseCaseExecutor useCaseExecutor; + private final UpdateUser updateUserUseCase; + private final UpdateUserPresenter updateUserPresenter; + private final UserContext userContext; + + @Inject + UpdateUserResource( + UseCaseExecutor executor, + UpdateUser useCase, + UpdateUserPresenter presenter, + UserContext userContext) { + useCaseExecutor = executor; + updateUserUseCase = useCase; + updateUserPresenter = presenter; + this.userContext = userContext; + } + + @PUT + @Path("/{user}") + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) + public RestResponse updateUser( + @PathParam("user") UUID userUuid, @Valid UpdateUserRequest request) { + var userContextId = userContext.getId(); + var userContextRole = userContext.getRole(); + + if (userContextId == null || userContextRole == null) { + throw new ServerErrorException("Cannot get user context"); + } + + // Only Admins can update other profiles + if (!userContextId.equals(userUuid) + && !userContextRole.value().equals(AccessLevel.ADMINISTRATOR)) { + throw new AuthorizationException(); + } + + return useCaseExecutor + .forUseCase(updateUserUseCase) + .withParameter( + new UpdateUser.Input.WhereId( + userUuid, + request.getFirstName(), + request.getLastName(), + request.getEmail(), + request.getBrands())) + .withPresenter(updateUserPresenter) + .run(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/package-info.java b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/package-info.java new file mode 100644 index 0000000..5d40d30 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/api/v1/user/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.application.api.v1.user; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-application/src/main/java/tech/pegase/z3/application/context/UserContext.java b/z3-application/src/main/java/tech/pegase/z3/application/context/UserContext.java new file mode 100644 index 0000000..d8aa561 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/context/UserContext.java @@ -0,0 +1,24 @@ +package tech.pegase.z3.application.context; + +import java.util.UUID; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.domain.valueobject.Role; + +public interface UserContext { + @Nullable UUID getId(); + + @Nullable String getLastName(); + + @Nullable String getFirstName(); + + @Nullable Email getEmail(); + + @Nullable Role getRole(); + + int hashCode(); + + boolean equals(Object obj); + + String toString(); +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/context/UserContextImpl.java b/z3-application/src/main/java/tech/pegase/z3/application/context/UserContextImpl.java new file mode 100644 index 0000000..90b9867 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/context/UserContextImpl.java @@ -0,0 +1,90 @@ +package tech.pegase.z3.application.context; + +import java.util.Objects; +import java.util.UUID; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.domain.valueobject.Role; + +@SuppressWarnings("ClassCanBeRecord") +public final class UserContextImpl implements UserContext { + private final UUID id; + private final String firstName; + private final String lastName; + private final Email email; + private final Role role; + + public UserContextImpl(UUID id, String firstName, String lastName, Email email, Role role) { + this.id = id; + this.firstName = firstName; + this.lastName = lastName; + this.email = email; + this.role = role; + } + + @Override + public @Nullable UUID getId() { + return id; + } + + @Override + public @Nullable String getLastName() { + return lastName; + } + + @Override + public @Nullable String getFirstName() { + return firstName; + } + + @Override + public @Nullable Email getEmail() { + return email; + } + + @Override + public @Nullable Role getRole() { + return role; + } + + @Override + public int hashCode() { + return Objects.hash(id, firstName, lastName, email, role); + } + + @Override + public boolean equals(Object obj) { + if (obj == this) { + return true; + } + if (obj == null || obj.getClass() != this.getClass()) { + return false; + } + var that = (UserContextImpl) obj; + return Objects.equals(this.id, that.id) + && Objects.equals(this.firstName, that.firstName) + && Objects.equals(this.lastName, that.lastName) + && Objects.equals(this.email, that.email) + && Objects.equals(this.role, that.role); + } + + @Override + public String toString() { + return "UserContext[" + + "uuid=" + + id + + ", " + + "firstName=" + + firstName + + ", " + + "lastName=" + + lastName + + ", " + + "email=" + + email + + ", " + + "role=" + + role.value() + + ']'; + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/context/UserContextNull.java b/z3-application/src/main/java/tech/pegase/z3/application/context/UserContextNull.java new file mode 100644 index 0000000..ed9af6c --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/context/UserContextNull.java @@ -0,0 +1,76 @@ +package tech.pegase.z3.application.context; + +import java.util.Objects; +import java.util.UUID; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.domain.valueobject.Role; + +public final class UserContextNull implements UserContext { + + @Override + public @Nullable UUID getId() { + return null; + } + + @Override + public @Nullable String getLastName() { + return null; + } + + @Override + public @Nullable String getFirstName() { + return null; + } + + @Override + public @Nullable Email getEmail() { + return null; + } + + @Override + public @Nullable Role getRole() { + return null; + } + + @Override + public int hashCode() { + return Objects.hash(null, null, null, null, null); + } + + @Override + public boolean equals(Object obj) { + if (obj == this) { + return true; + } + if (obj == null || obj.getClass() != this.getClass()) { + return false; + } + var that = (UserContext) obj; + return Objects.equals(null, that.getId()) + && Objects.equals(null, that.getFirstName()) + && Objects.equals(null, that.getLastName()) + && Objects.equals(null, that.getEmail()) + && Objects.equals(null, that.getRole()); + } + + @Override + public String toString() { + return "UserContext[" + + "uuid=" + + null + + ", " + + "firstName=" + + null + + ", " + + "lastName=" + + null + + ", " + + "email=" + + null + + ", " + + "role=" + + null + + ']'; + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/di/UseCaseExecutorProducer.java b/z3-application/src/main/java/tech/pegase/z3/application/di/UseCaseExecutorProducer.java new file mode 100644 index 0000000..1de2338 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/di/UseCaseExecutorProducer.java @@ -0,0 +1,66 @@ +package tech.pegase.z3.application.di; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; +import org.jboss.logging.Logger; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.happy.core.usecase.log.UseCaseLogger; +import tech.pegase.happy.quarkus.QuarkusUseCaseExecutor; +import tech.pegase.z3.application.context.UserContext; + +@NullMarked +@ApplicationScoped +public class UseCaseExecutorProducer { + + @Produces + @ApplicationScoped + public UseCaseExecutor useCaseExecutor(@Nullable UseCaseLogger logger) { + return new QuarkusUseCaseExecutor(logger); + } + + @Produces + @ApplicationScoped + public UseCaseLogger useCaseLogger(UserContext userContext) { + return new UseCaseLogger() { + static final Logger logger = Logger.getLogger(UseCaseLogger.class); + static final String SUCCESS = + """ + %s: SUCCESS + \tAuthor: %s + \tInput: %s + """; + static final String FAILURE = + """ + %s: FAILURE + \tAuthor: %s + \tInput: %s + \tFailure: %s + """; + + @Override + public , I, O> void log( + Class useCaseClass, I input, O output) { + var contextualUser = + userContext.getId() != null ? "User '%s'".formatted(userContext.getId()) : "Anonymous"; + + if (output instanceof Failure) { + logger.warn( + String.format( + FAILURE, + useCaseClass.getSimpleName(), + contextualUser, + input.getClass(), + output.getClass())); + } else { + logger.info( + String.format( + SUCCESS, useCaseClass.getSimpleName(), contextualUser, input.getClass())); + } + } + }; + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/dto/MessageDto.java b/z3-application/src/main/java/tech/pegase/z3/application/dto/MessageDto.java new file mode 100644 index 0000000..d42ae3e --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/dto/MessageDto.java @@ -0,0 +1,7 @@ +package tech.pegase.z3.application.dto; + +public record MessageDto(String message) { + public static MessageDto of(String message) { + return new MessageDto(message); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/dto/PaginatedDto.java b/z3-application/src/main/java/tech/pegase/z3/application/dto/PaginatedDto.java new file mode 100644 index 0000000..c55c79e --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/dto/PaginatedDto.java @@ -0,0 +1,26 @@ +package tech.pegase.z3.application.dto; + +import java.util.List; +import java.util.function.Function; +import tech.pegase.z3.shared.pagination.PaginatedData; + +public record PaginatedDto( + List list, long page, long perPage, long totalPages, long totalItems) { + public static PaginatedDto of( + PaginatedData paginatedData, Function mapper) { + + var totalItems = paginatedData.total(); + var perPage = paginatedData.perPage(); + var totalPages = + totalItems > 0 ? Math.ceilDiv(paginatedData.total(), paginatedData.perPage()) : 1; + var currentPage = + totalItems > 0 ? Math.floorDiv(paginatedData.offset(), paginatedData.perPage()) + 1 : 1; + + return new PaginatedDto<>( + paginatedData.items().stream().map(mapper).toList(), + currentPage, + perPage, + totalPages, + totalItems); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/dto/package-info.java b/z3-application/src/main/java/tech/pegase/z3/application/dto/package-info.java new file mode 100644 index 0000000..68e8b0d --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/dto/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.application.dto; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-application/src/main/java/tech/pegase/z3/application/events/LinkRedirectedEvent.java b/z3-application/src/main/java/tech/pegase/z3/application/events/LinkRedirectedEvent.java new file mode 100644 index 0000000..2acfc75 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/events/LinkRedirectedEvent.java @@ -0,0 +1,22 @@ +package tech.pegase.z3.application.events; + +import java.net.InetAddress; +import java.net.URI; +import java.time.ZonedDateTime; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.shared.valueobject.Source; +import tech.pegase.z3.statistics.domain.valueobject.Fingerprint; +import tech.pegase.z3.statistics.domain.valueobject.Locale; +import tech.pegase.z3.statistics.domain.valueobject.ScreenProperties; + +public record LinkRedirectedEvent( + Source source, + Boolean linkIsResolved, + ZonedDateTime visitedAt, + @Nullable Boolean doNotTrack, + @Nullable InetAddress ipAddress, + @Nullable Locale locale, + @Nullable URI referrer, + @Nullable String userAgent, + @Nullable Fingerprint fingerprint, + @Nullable ScreenProperties screenProperties) {} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/events/LinkRedirectionEventListener.java b/z3-application/src/main/java/tech/pegase/z3/application/events/LinkRedirectionEventListener.java new file mode 100644 index 0000000..06e8a69 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/events/LinkRedirectionEventListener.java @@ -0,0 +1,183 @@ +package tech.pegase.z3.application.events; + +import io.quarkus.vertx.ConsumeEvent; +import io.smallrye.common.annotation.RunOnVirtualThread; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.context.control.ActivateRequestContext; +import java.util.Optional; +import java.util.UUID; +import org.jspecify.annotations.Nullable; +import tech.pegase.happy.core.Presenter; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.domain.usecase.brands.GetBrand; +import tech.pegase.z3.domain.usecase.links.GetLink; +import tech.pegase.z3.shared.valueobject.Source; +import tech.pegase.z3.statistics.domain.usecase.links.VisitLink; +import tech.pegase.z3.statistics.domain.usecase.links.VisitLink.Input.AddVisitFor; +import tech.pegase.z3.statistics.domain.usecase.tracking.CreateFingerprint; +import tech.pegase.z3.statistics.domain.valueobject.Fingerprint; +import tech.pegase.z3.statistics.domain.valueobject.RawUserAgent; + +@ActivateRequestContext +@ApplicationScoped +public class LinkRedirectionEventListener { + private final UseCaseExecutor useCaseExecutor; + private final GetLink getLink; + private final GetBrand getBrand; + private final VisitLink visitLink; + private final CreateFingerprint createFingerprint; + + LinkRedirectionEventListener( + UseCaseExecutor useCaseExecutor, + GetLink getLink, + GetBrand getBrand, + VisitLink visitLink, + CreateFingerprint createFingerprint) { + this.useCaseExecutor = useCaseExecutor; + this.getLink = getLink; + this.getBrand = getBrand; + this.visitLink = visitLink; + this.createFingerprint = createFingerprint; + } + + @RunOnVirtualThread + @ConsumeEvent("LinkRedirectedEvent") + public void consumeRedirect(LinkRedirectedEvent event) { + var source = event.source(); + String linkCatalogName = null; + String linkBrandName = null; + var linkInformation = getLinkInformationName(source).orElse(null); + + if (linkInformation != null) { + linkCatalogName = linkInformation.catalogName(); + linkBrandName = + Optional.ofNullable(linkInformation.brandUuid()).flatMap(this::getBrandName).orElse(null); + } + + var visitLinkInput = toInput(event, linkBrandName, linkCatalogName); + + storeLinkVisit(visitLinkInput); + } + + private Optional getBrandName(UUID brandUuid) { + var input = new GetBrand.Input.ForUuid(brandUuid); + + return useCaseExecutor + .forUseCase(getBrand) + .withParameter(input) + .withPresenter( + (Presenter>) this::presentBrandName) + .run(); + } + + private Optional presentBrandName(GetBrand.Output output) { + + if (output instanceof GetBrand.Output.Found) { + var outputBrand = ((GetBrand.Output.Found) output).brand(); + + return Optional.of(outputBrand.name()); + } + + return Optional.empty(); + } + + private Optional getLinkInformationName(Source source) { + var input = new GetLink.Input.ForSource(source); + + return useCaseExecutor + .forUseCase(getLink) + .withParameter(input) + .withPresenter( + (Presenter>) + this::presentLinkInformation) + .run(); + } + + private Optional presentLinkInformation(GetLink.Output output) { + if (output instanceof GetLink.Output.Found) { + var outputLink = ((GetLink.Output.Found) output).link(); + var linkCatalog = outputLink.catalog(); + var catalogName = linkCatalog != null ? linkCatalog.name() : null; + var brandUuid = outputLink.brandUuid(); + + return Optional.of(new LinkInformation(brandUuid, catalogName)); + } + + return Optional.empty(); + } + + private void storeLinkVisit(VisitLink.Input input) { + useCaseExecutor + .forUseCase(visitLink) + .withParameter(input) + .withPresenter(output -> output) + .run(); + } + + private VisitLink.Input toInput( + LinkRedirectedEvent event, @Nullable String brand, @Nullable String catalog) { + var source = event.source(); + var linkIsResolved = event.linkIsResolved(); + var visitedAt = event.visitedAt(); + var doNotTrack = event.doNotTrack(); + var inetAddress = event.ipAddress(); + var locale = event.locale(); + var referrer = event.referrer(); + var screenProperties = event.screenProperties(); + var userAgent = event.userAgent(); + var fingerprint = event.fingerprint(); + + if (fingerprint == null) { + fingerprint = createFingerprintFrom(event).orElse(null); + } + + var rawUserAgent = Optional.ofNullable(userAgent).map(RawUserAgent::new).orElse(null); + var additionalInputs = + new AddVisitFor.AdditionalInputs( + brand, + catalog, + doNotTrack, + fingerprint, + inetAddress, + locale, + referrer, + rawUserAgent, + screenProperties); + + return new AddVisitFor(source, linkIsResolved, visitedAt, additionalInputs); + } + + private Optional createFingerprintFrom(LinkRedirectedEvent event) { + var ipAddress = event.ipAddress(); + var locale = event.locale(); + var screenProperties = event.screenProperties(); + var userAgent = event.userAgent(); + + if (ipAddress == null || userAgent == null || screenProperties == null || locale == null) { + return Optional.empty(); + } + + var input = + new CreateFingerprint.Input.MakeFrom(ipAddress, userAgent, screenProperties, locale); + + return useCaseExecutor + .forUseCase(createFingerprint) + .withParameter(input) + .withPresenter( + (Presenter>) + this::presentCreatedFingerprint) + .run(); + } + + Optional presentCreatedFingerprint(CreateFingerprint.Output output) { + if (output instanceof CreateFingerprint.Output.GeneratedFingerprint) { + var outputLink = ((CreateFingerprint.Output.GeneratedFingerprint) output).fingerprint(); + + return Optional.of(outputLink); + } + + return Optional.empty(); + } + + private record LinkInformation(@Nullable UUID brandUuid, @Nullable String catalogName) {} +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/events/package-info.java b/z3-application/src/main/java/tech/pegase/z3/application/events/package-info.java new file mode 100644 index 0000000..5c64f76 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/events/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.application.events; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-application/src/main/java/tech/pegase/z3/application/exception/AuthorizationException.java b/z3-application/src/main/java/tech/pegase/z3/application/exception/AuthorizationException.java new file mode 100644 index 0000000..a98e94f --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/exception/AuthorizationException.java @@ -0,0 +1,26 @@ +package tech.pegase.z3.application.exception; + +import jakarta.ws.rs.WebApplicationException; + +public class AuthorizationException extends WebApplicationException { + + public AuthorizationException(String message, Exception cause) { + super(message, cause, 403); + } + + public AuthorizationException(String message) { + super(message, 403); + } + + public AuthorizationException(Exception cause) { + super("Unauthorized", cause, 403); + } + + public AuthorizationException() { + super("Unauthorized", 403); + } + + public static AuthorizationException of(String message) { + return new AuthorizationException(message); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/exception/ServerErrorException.java b/z3-application/src/main/java/tech/pegase/z3/application/exception/ServerErrorException.java new file mode 100644 index 0000000..806dbea --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/exception/ServerErrorException.java @@ -0,0 +1,26 @@ +package tech.pegase.z3.application.exception; + +import jakarta.ws.rs.WebApplicationException; + +public class ServerErrorException extends WebApplicationException { + + public ServerErrorException(String message, Exception cause) { + super(message, cause, 500); + } + + public ServerErrorException(String message, int status) { + super(message, status); + } + + public ServerErrorException(String message) { + super(message, 500); + } + + public ServerErrorException(Exception cause) { + super("Server error", cause, 500); + } + + public ServerErrorException() { + super("Server error", 500); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/exception/ValidationException.java b/z3-application/src/main/java/tech/pegase/z3/application/exception/ValidationException.java new file mode 100644 index 0000000..a7d3123 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/exception/ValidationException.java @@ -0,0 +1,43 @@ +package tech.pegase.z3.application.exception; + +import jakarta.ws.rs.WebApplicationException; +import java.util.Arrays; +import java.util.Collection; +import java.util.Set; +import java.util.stream.Collectors; +import tech.pegase.z3.domain.valueobject.errors.InvalidField; + +public class ValidationException extends WebApplicationException { + private final Set errors; + + public ValidationException(Set errors) { + super("Validation error", 422); + this.errors = errors; + } + + public static ValidationException of(Set invalidFields) { + return new ValidationException(invalidFields); + } + + public static ValidationException of(ValidationError... errors) { + return of(Arrays.stream(errors).collect(Collectors.toSet())); + } + + public static ValidationException of(Collection invalidFields) { + return of(invalidFields.stream().map(ValidationError::of).collect(Collectors.toSet())); + } + + public Set getErrors() { + return errors; + } + + public record ValidationError(String field, String message) { + public static ValidationError of(String field, String message) { + return new ValidationError(field, message); + } + + public static ValidationError of(InvalidField invalidField) { + return new ValidationError(invalidField.field(), invalidField.reason()); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/lifecycle/AppLifecycleBean.java b/z3-application/src/main/java/tech/pegase/z3/application/lifecycle/AppLifecycleBean.java new file mode 100644 index 0000000..7b78ab8 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/lifecycle/AppLifecycleBean.java @@ -0,0 +1,97 @@ +package tech.pegase.z3.application.lifecycle; + +import io.quarkus.runtime.ShutdownEvent; +import io.quarkus.runtime.StartupEvent; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.event.Observes; +import jakarta.inject.Inject; +import java.util.Optional; +import java.util.Set; +import org.eclipse.microprofile.config.inject.ConfigProperty; +import org.jboss.logging.Logger; +import org.jboss.resteasy.reactive.RestResponse; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.application.presenter.user.CreateUserPresenter; +import tech.pegase.z3.domain.usecase.users.CreateUser; +import tech.pegase.z3.domain.usecase.users.CreateUser.Input; +import tech.pegase.z3.domain.usecase.users.CreateUser.Input.NewUser; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.domain.valueobject.Login; +import tech.pegase.z3.domain.valueobject.Role; +import tech.pegase.z3.domain.valueobject.Role.AccessLevel; + +@NullMarked +@ApplicationScoped +public class AppLifecycleBean { + private static final Logger logger = Logger.getLogger(AppLifecycleBean.class); + + private final UseCaseExecutor useCaseExecutor; + private final CreateUser createUser; + private @Nullable Email userEmailToCreate; + + @Inject + public AppLifecycleBean( + UseCaseExecutor executor, + CreateUser useCase, + @ConfigProperty(name = "z3.app.create-user-on-start") Optional createUserOnStart) { + this.useCaseExecutor = executor; + this.createUser = useCase; + + try { + createUserOnStart.ifPresent(s -> this.userEmailToCreate = new Email(s)); + } catch (Exception e) { + logger.info("Failed to validate create user on start email", e); + this.userEmailToCreate = null; + } + } + + void onStart(@Observes StartupEvent ev) { + logger.info("The application is starting..."); + + if (userEmailToCreate == null) { + return; + } + + createUser(userEmailToCreate); + } + + void onStop(@Observes ShutdownEvent ev) { + logger.info("The application is stopping..."); + } + + private void createUser(Email email) { + logger.info("Creating user..."); + + Input parameter = + new NewUser( + "Admin", + "Link", + email, + Role.of(AccessLevel.ADMINISTRATOR), + Login.of("z3.admin"), + Set.of()); + try { + useCaseExecutor + .forUseCase(createUser) + .withParameter(parameter) + .withPresenter( + new CreateUserPresenter() { + @Override + public RestResponse<@Nullable UserDto> present(CreateUser.Output output) { + if (output instanceof CreateUser.Output.Created) { + return RestResponse.ok( + UserDto.of(((CreateUser.Output.Created) output).value())); + } else { + logger.error("Failed to create user"); + } + return RestResponse.notFound(); + } + }) + .run(); + } catch (Exception e) { + logger.error("Failed to create user", e); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/auth/AuthenticateUserPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/auth/AuthenticateUserPresenter.java new file mode 100644 index 0000000..d34cf16 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/auth/AuthenticateUserPresenter.java @@ -0,0 +1,49 @@ +package tech.pegase.z3.application.presenter.auth; + +import io.quarkus.security.AuthenticationFailedException; +import jakarta.enterprise.context.ApplicationScoped; +import org.jboss.resteasy.reactive.RestResponse; +import org.jboss.resteasy.reactive.RestResponse.Status; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.presenter.auth.AuthenticateUserPresenter.JwtTokenJsonDto; +import tech.pegase.z3.domain.usecase.auth.AuthenticateUser; +import tech.pegase.z3.domain.valueobject.JwtToken; + +@ApplicationScoped +public class AuthenticateUserPresenter + implements Presenter< + AuthenticateUser, + AuthenticateUser.Output, + RestResponse> { + @Override + public RestResponse present( + AuthenticateUser.Output output) { + return switch (output) { + case AuthenticateUser.Output.Valid outputCase -> present(outputCase); + case AuthenticateUser.Output.Invalid outputCase -> present(outputCase); + }; + } + + public RestResponse present( + AuthenticateUser.Output.Valid outputCase) { + return RestResponse.status( + Status.OK, AuthenticateUserPresenter.JwtTokenJsonDto.of(outputCase.token())); + } + + public RestResponse present( + AuthenticateUser.Output.Invalid ignoredOutputCase) { + throw new AuthenticationFailedException("Authentication failed"); + } + + public record JwtTokenJsonDto(String token) { + public JwtTokenJsonDto { + if (token.isBlank()) { + throw new IllegalArgumentException("token is blank"); + } + } + + public static JwtTokenJsonDto of(JwtToken token) { + return new JwtTokenJsonDto(token.value()); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/auth/ChangePasswordPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/auth/ChangePasswordPresenter.java new file mode 100644 index 0000000..d158662 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/auth/ChangePasswordPresenter.java @@ -0,0 +1,42 @@ +package tech.pegase.z3.application.presenter.auth; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.ws.rs.NotFoundException; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.exception.ValidationException; +import tech.pegase.z3.domain.usecase.users.ChangeUserPassword; + +@ApplicationScoped +public class ChangePasswordPresenter + implements Presenter< + ChangeUserPassword, + ChangeUserPassword.Output, + RestResponse> { + @Override + public RestResponse present(ChangeUserPassword.Output output) { + return switch (output) { + case ChangeUserPassword.Output.Changed outputCase -> present(outputCase); + case ChangeUserPassword.Output.NotChanged outputCase -> present(outputCase); + case ChangeUserPassword.Output.NoSuchUser outputCase -> present(outputCase); + }; + } + + public RestResponse present(ChangeUserPassword.Output.Changed ignoredOutputCase) { + return RestResponse.ok(MessageDto.of("Le mot de passe à été changé")); + } + + public RestResponse present(ChangeUserPassword.Output.NotChanged outputCase) { + throw ValidationException.of(outputCase.reasons().invalidFields()); + } + + public RestResponse present(ChangeUserPassword.Output.NoSuchUser outputCase) { + throw new NotFoundException(outputCase.getClass().getSimpleName()); + } + + public record MessageDto(String message) { + public static MessageDto of(String value) { + return new MessageDto(value); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/auth/UserContextPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/auth/UserContextPresenter.java new file mode 100644 index 0000000..1f64253 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/auth/UserContextPresenter.java @@ -0,0 +1,35 @@ +package tech.pegase.z3.application.presenter.auth; + +import jakarta.enterprise.context.ApplicationScoped; +import org.jspecify.annotations.Nullable; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.context.UserContext; +import tech.pegase.z3.application.context.UserContextImpl; +import tech.pegase.z3.application.context.UserContextNull; +import tech.pegase.z3.domain.usecase.users.GetUser; +import tech.pegase.z3.domain.usecase.users.GetUser.Output; + +@ApplicationScoped +public class UserContextPresenter implements Presenter { + @Override + public @Nullable UserContext present(Output output) { + return switch (output) { + case Output.Found outputCase -> present(outputCase); + case Output.NoSuchUser outputCase -> present(outputCase); + }; + } + + public UserContext present(Output.Found outputCase) { + var userOutput = outputCase.user(); + return new UserContextImpl( + userOutput.uuid(), + userOutput.firstName(), + userOutput.lastName(), + userOutput.email(), + userOutput.role()); + } + + public @Nullable UserContext present(Output.NoSuchUser ignoredOutputCase) { + return new UserContextNull(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/auth/package-info.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/auth/package-info.java new file mode 100644 index 0000000..ed47e77 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/auth/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.application.presenter.auth; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/brand/CreateBrandPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/brand/CreateBrandPresenter.java new file mode 100644 index 0000000..565bce9 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/brand/CreateBrandPresenter.java @@ -0,0 +1,47 @@ +package tech.pegase.z3.application.presenter.brand; + +import jakarta.enterprise.context.ApplicationScoped; +import java.util.Set; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.exception.ValidationException; +import tech.pegase.z3.domain.usecase.brands.CreateBrand; + +@ApplicationScoped +public class CreateBrandPresenter + implements Presenter< + CreateBrand, CreateBrand.Output, RestResponse> { + @Override + public RestResponse present(CreateBrand.Output output) { + return switch (output) { + case CreateBrand.Output.Created outputCase -> present(outputCase); + case CreateBrand.Output.NotCreated outputCase -> present(outputCase); + }; + } + + private RestResponse present( + CreateBrand.Output.Created outputCase) { + return RestResponse.ok(CreateBrandPresenter.BrandDto.of(outputCase.brand())); + } + + private RestResponse present( + CreateBrand.Output.NotCreated outputCase) { + throw ValidationException.of(outputCase.reasons().invalidFields()); + } + + public record BrandDto(String uuid, String slug, String name, Set fqdns) { + public BrandDto { + if (slug.isBlank()) { + throw new IllegalStateException("slug cannot be empty"); + } + if (name.isBlank()) { + throw new IllegalStateException("name cannot be empty"); + } + } + + public static BrandDto of(CreateBrand.Output.BrandOutput brand) { + return new BrandDto( + brand.uuid().toString(), brand.slug().value(), brand.name(), brand.fqdnSet()); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/brand/GetBrandPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/brand/GetBrandPresenter.java new file mode 100644 index 0000000..0cb11a0 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/brand/GetBrandPresenter.java @@ -0,0 +1,45 @@ +package tech.pegase.z3.application.presenter.brand; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.ws.rs.NotFoundException; +import java.util.Set; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.domain.usecase.brands.GetBrand; + +@ApplicationScoped +public class GetBrandPresenter + implements Presenter> { + @Override + public RestResponse present(GetBrand.Output output) { + return switch (output) { + case GetBrand.Output.Found found -> present(found); + case GetBrand.Output.NoSuchBrand noSuchKey -> present(noSuchKey); + }; + } + + private RestResponse present(GetBrand.Output.Found found) { + return RestResponse.ok(GetBrandPresenter.BrandDto.of(found.brand())); + } + + private RestResponse present( + GetBrand.Output.NoSuchBrand noSuchBrand) { + throw new NotFoundException(noSuchBrand.getClass().getSimpleName()); + } + + public record BrandDto(String uuid, String slug, String name, Set fqdns) { + public BrandDto { + if (slug.isBlank()) { + throw new IllegalStateException("slug cannot be empty"); + } + if (name.isBlank()) { + throw new IllegalStateException("name cannot be empty"); + } + } + + public static GetBrandPresenter.BrandDto of(GetBrand.Output.BrandOutput brand) { + return new GetBrandPresenter.BrandDto( + brand.uuid().toString(), brand.slug().value(), brand.name(), brand.fqdnSet()); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/brand/ListBrandsPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/brand/ListBrandsPresenter.java new file mode 100644 index 0000000..d708289 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/brand/ListBrandsPresenter.java @@ -0,0 +1,43 @@ +package tech.pegase.z3.application.presenter.brand; + +import jakarta.enterprise.context.ApplicationScoped; +import java.util.Set; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.dto.PaginatedDto; +import tech.pegase.z3.domain.usecase.brands.ListBrands; + +@ApplicationScoped +public class ListBrandsPresenter + implements Presenter< + ListBrands, ListBrands.Output, RestResponse>> { + @Override + public RestResponse> present( + ListBrands.Output output) { + return switch (output) { + case ListBrands.Output.PaginatedBrands outputCase -> present(outputCase); + }; + } + + private RestResponse> present( + ListBrands.Output.PaginatedBrands outputCase) { + return RestResponse.ok( + PaginatedDto.of(outputCase.brandList(), ListBrandsPresenter.BrandDto::of)); + } + + public record BrandDto(String uuid, String slug, String name, Set fqdns) { + public BrandDto { + if (slug.isBlank()) { + throw new IllegalStateException("slug cannot be empty"); + } + if (name.isBlank()) { + throw new IllegalStateException("name cannot be empty"); + } + } + + public static ListBrandsPresenter.BrandDto of(ListBrands.Output.BrandOutput brand) { + return new ListBrandsPresenter.BrandDto( + brand.uuid().toString(), brand.slug().value(), brand.name(), brand.fqdnSet()); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/brand/UpdateBrandPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/brand/UpdateBrandPresenter.java new file mode 100644 index 0000000..f92cc36 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/brand/UpdateBrandPresenter.java @@ -0,0 +1,54 @@ +package tech.pegase.z3.application.presenter.brand; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.ws.rs.NotFoundException; +import java.util.Set; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.exception.ValidationException; +import tech.pegase.z3.domain.usecase.brands.UpdateBrand; + +@ApplicationScoped +public class UpdateBrandPresenter + implements Presenter< + UpdateBrand, UpdateBrand.Output, RestResponse> { + @Override + public RestResponse present(UpdateBrand.Output output) { + return switch (output) { + case UpdateBrand.Output.Updated outputCase -> present(outputCase); + case UpdateBrand.Output.NotUpdated outputCase -> present(outputCase); + case UpdateBrand.Output.NoSuchBrand outputCase -> present(outputCase); + }; + } + + private RestResponse present( + UpdateBrand.Output.Updated outputCase) { + return RestResponse.ok(UpdateBrandPresenter.BrandDto.of(outputCase.brand())); + } + + private RestResponse present( + UpdateBrand.Output.NotUpdated outputCase) { + throw ValidationException.of(outputCase.reasons().invalidFields()); + } + + private RestResponse present( + UpdateBrand.Output.NoSuchBrand ignoredOutputCase) { + throw new NotFoundException(); + } + + public record BrandDto(String uuid, String slug, String name, Set fqdns) { + public BrandDto { + if (slug.isBlank()) { + throw new IllegalStateException("slug cannot be empty"); + } + if (name.isBlank()) { + throw new IllegalStateException("name cannot be empty"); + } + } + + public static UpdateBrandPresenter.BrandDto of(UpdateBrand.Output.BrandOutput brand) { + return new UpdateBrandPresenter.BrandDto( + brand.uuid().toString(), brand.slug().value(), brand.name(), brand.fqdns()); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/brand/package-info.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/brand/package-info.java new file mode 100644 index 0000000..9ab262b --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/brand/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.application.presenter.brand; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/CreateCatalogPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/CreateCatalogPresenter.java new file mode 100644 index 0000000..800c65f --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/CreateCatalogPresenter.java @@ -0,0 +1,50 @@ +package tech.pegase.z3.application.presenter.catalog; + +import jakarta.enterprise.context.ApplicationScoped; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.exception.ValidationException; +import tech.pegase.z3.application.presenter.catalog.CreateCatalogPresenter.CatalogDto; +import tech.pegase.z3.domain.usecase.catalogs.CreateCatalog; + +@ApplicationScoped +public class CreateCatalogPresenter + implements Presenter< + CreateCatalog, CreateCatalog.Output, RestResponse> { + @Override + public RestResponse present(CreateCatalog.Output output) { + return switch (output) { + case CreateCatalog.Output.Created outputCase -> present(outputCase); + case CreateCatalog.Output.NotCreated outputCase -> present(outputCase); + }; + } + + private RestResponse present( + CreateCatalog.Output.Created outputCase) { + return RestResponse.ok(CreateCatalogPresenter.CatalogDto.of(outputCase.value())); + } + + private RestResponse present( + CreateCatalog.Output.NotCreated outputCase) { + throw ValidationException.of(outputCase.reasons().invalidFields()); + } + + public record CatalogDto(String uuid, String slug, String name, String brand) { + public CatalogDto { + if (slug.isBlank()) { + throw new IllegalStateException("slug cannot be empty"); + } + if (name.isBlank()) { + throw new IllegalStateException("name cannot be empty"); + } + } + + public static CatalogDto of(CreateCatalog.Output.CatalogOutput catalog) { + return new CatalogDto( + catalog.uuid().toString(), + catalog.slug().value(), + catalog.name(), + catalog.brandUuid().toString()); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/GetCatalogPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/GetCatalogPresenter.java new file mode 100644 index 0000000..0b6ca50 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/GetCatalogPresenter.java @@ -0,0 +1,48 @@ +package tech.pegase.z3.application.presenter.catalog; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.ws.rs.NotFoundException; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.domain.usecase.catalogs.GetCatalog; + +@ApplicationScoped +public class GetCatalogPresenter + implements Presenter< + GetCatalog, GetCatalog.Output, RestResponse> { + @Override + public RestResponse present(GetCatalog.Output output) { + return switch (output) { + case GetCatalog.Output.Found outputCase -> present(outputCase); + case GetCatalog.Output.NoSuchCatalog outputCase -> present(outputCase); + }; + } + + private RestResponse present(GetCatalog.Output.Found outputCase) { + return RestResponse.ok(GetCatalogPresenter.CatalogDto.of(outputCase.catalog())); + } + + private RestResponse present( + GetCatalog.Output.NoSuchCatalog outputCase) { + throw new NotFoundException(outputCase.getClass().getSimpleName()); + } + + public record CatalogDto(String uuid, String slug, String name, String brand) { + public CatalogDto { + if (slug.isBlank()) { + throw new IllegalStateException("slug cannot be empty"); + } + if (name.isBlank()) { + throw new IllegalStateException("name cannot be empty"); + } + } + + public static GetCatalogPresenter.CatalogDto of(GetCatalog.Output.CatalogOutput catalog) { + return new GetCatalogPresenter.CatalogDto( + catalog.uuid().toString(), + catalog.slug().value(), + catalog.name(), + catalog.brandUuid().toString()); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/ListCatalogsPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/ListCatalogsPresenter.java new file mode 100644 index 0000000..e3b2314 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/ListCatalogsPresenter.java @@ -0,0 +1,47 @@ +package tech.pegase.z3.application.presenter.catalog; + +import jakarta.enterprise.context.ApplicationScoped; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.dto.PaginatedDto; +import tech.pegase.z3.domain.usecase.catalogs.ListCatalogs; + +@ApplicationScoped +public class ListCatalogsPresenter + implements Presenter< + ListCatalogs, + ListCatalogs.Output, + RestResponse>> { + @Override + public RestResponse> present( + ListCatalogs.Output output) { + return switch (output) { + case ListCatalogs.Output.PaginatedCatalogs outputCase -> present(outputCase); + }; + } + + private RestResponse> present( + ListCatalogs.Output.PaginatedCatalogs outputCase) { + return RestResponse.ok( + PaginatedDto.of(outputCase.catalogList(), ListCatalogsPresenter.CatalogDto::of)); + } + + public record CatalogDto(String uuid, String slug, String name, String brand) { + public CatalogDto { + if (slug.isBlank()) { + throw new IllegalStateException("slug cannot be empty"); + } + if (name.isBlank()) { + throw new IllegalStateException("name cannot be empty"); + } + } + + public static ListCatalogsPresenter.CatalogDto of(ListCatalogs.Output.CatalogOutput catalog) { + return new ListCatalogsPresenter.CatalogDto( + catalog.uuid().toString(), + catalog.slug().value(), + catalog.name(), + catalog.brandUuid().toString()); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/RemoveCatalogPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/RemoveCatalogPresenter.java new file mode 100644 index 0000000..f0cb86b --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/RemoveCatalogPresenter.java @@ -0,0 +1,29 @@ +package tech.pegase.z3.application.presenter.catalog; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.ws.rs.NotFoundException; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.dto.MessageDto; +import tech.pegase.z3.domain.usecase.catalogs.RemoveCatalog; +import tech.pegase.z3.domain.usecase.catalogs.RemoveCatalog.Output.NoSuchCatalog; + +@ApplicationScoped +public class RemoveCatalogPresenter + implements Presenter> { + @Override + public RestResponse present(RemoveCatalog.Output output) { + return switch (output) { + case RemoveCatalog.Output.Removed outputCase -> present(outputCase); + case NoSuchCatalog outputCase -> present(outputCase); + }; + } + + private RestResponse present(RemoveCatalog.Output.Removed ignoredOutputCase) { + return RestResponse.ok(MessageDto.of("A été supprimé")); + } + + private RestResponse present(NoSuchCatalog outputCase) { + throw new NotFoundException(outputCase.getClass().getSimpleName()); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/UpdateCatalogPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/UpdateCatalogPresenter.java new file mode 100644 index 0000000..b94b028 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/UpdateCatalogPresenter.java @@ -0,0 +1,56 @@ +package tech.pegase.z3.application.presenter.catalog; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.ws.rs.NotFoundException; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.exception.ValidationException; +import tech.pegase.z3.domain.usecase.catalogs.UpdateCatalog; + +@ApplicationScoped +public class UpdateCatalogPresenter + implements Presenter< + UpdateCatalog, UpdateCatalog.Output, RestResponse> { + @Override + public RestResponse present(UpdateCatalog.Output output) { + return switch (output) { + case UpdateCatalog.Output.Updated outputCase -> present(outputCase); + case UpdateCatalog.Output.NotUpdated outputCase -> present(outputCase); + case UpdateCatalog.Output.NoSuchCatalog outputCase -> present(outputCase); + }; + } + + private RestResponse present( + UpdateCatalog.Output.Updated outputCase) { + return RestResponse.ok(UpdateCatalogPresenter.CatalogDto.of(outputCase.value())); + } + + private RestResponse present( + UpdateCatalog.Output.NotUpdated outputCase) { + throw ValidationException.of(outputCase.reasons().invalidFields()); + } + + private RestResponse present( + UpdateCatalog.Output.NoSuchCatalog ignoredOutputCase) { + throw new NotFoundException(); + } + + public record CatalogDto(String uuid, String slug, String name, String brand) { + public CatalogDto { + if (slug.isBlank()) { + throw new IllegalStateException("slug cannot be empty"); + } + if (name.isBlank()) { + throw new IllegalStateException("name cannot be empty"); + } + } + + public static UpdateCatalogPresenter.CatalogDto of(UpdateCatalog.Output.CatalogOutput catalog) { + return new UpdateCatalogPresenter.CatalogDto( + catalog.uuid().toString(), + catalog.slug().value(), + catalog.name(), + catalog.brandUuid().toString()); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/package-info.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/package-info.java new file mode 100644 index 0000000..426c303 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/catalog/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.application.presenter.catalog; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/CreateLinkPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/CreateLinkPresenter.java new file mode 100644 index 0000000..82e7b19 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/CreateLinkPresenter.java @@ -0,0 +1,107 @@ +package tech.pegase.z3.application.presenter.link; + +import jakarta.enterprise.context.ApplicationScoped; +import java.net.URI; +import java.net.URISyntaxException; +import java.time.ZonedDateTime; +import org.eclipse.microprofile.config.inject.ConfigProperty; +import org.jboss.resteasy.reactive.RestResponse; +import org.jspecify.annotations.Nullable; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.exception.ValidationException; +import tech.pegase.z3.domain.usecase.links.CreateLink; + +@ApplicationScoped +public class CreateLinkPresenter + implements Presenter> { + private final URI resolverFqdn; + + CreateLinkPresenter(@ConfigProperty(name = "z3.export.resolver-fqdn") String resolverFqdn) + throws URISyntaxException { + this.resolverFqdn = new URI("https://" + resolverFqdn); + } + + @Override + public RestResponse present(CreateLink.Output output) { + return switch (output) { + case CreateLink.Output.Created outputCase -> present(outputCase); + case CreateLink.Output.NotCreated outputCase -> present(outputCase); + }; + } + + private RestResponse present(CreateLink.Output.Created outputCase) { + return RestResponse.ok(linkOutputToLinkDto(outputCase.link())); + } + + private RestResponse present( + CreateLink.Output.NotCreated outputCase) { + throw ValidationException.of(outputCase.reasons().invalidFields()); + } + + private CreateLinkPresenter.LinkDto linkOutputToLinkDto(CreateLink.Output.LinkOutput linkOutput) { + var source = linkOutput.source(); + var sourceAbsolute = resolverFqdn.resolve(source.value()); + var target = linkOutput.target(); + var validity = linkOutput.validity(); + var brandUuid = linkOutput.brandUuid(); + + return new CreateLinkPresenter.LinkDto( + sourceAbsolute.toString(), + source.value(), + target.value(), + linkOutput.isExternal(), + validity.ordinal(), + linkOutput.visits(), + brandUuid != null ? brandUuid.toString() : null, + CreateLinkPresenter.LinkDto.LinkCatalogDto.of(linkOutput), + CreateLinkPresenter.LinkDto.LinkTagDto.of(linkOutput), + linkOutput.createdAt(), + linkOutput.updatedAt()); + } + + public record LinkDto( + String sourceAbsolute, + String source, + String target, + boolean isExternal, + int validity, + int visits, + @Nullable String brand, + CreateLinkPresenter.LinkDto.@Nullable LinkCatalogDto catalog, + CreateLinkPresenter.LinkDto.@Nullable LinkTagDto tag, + ZonedDateTime createdAt, + @Nullable ZonedDateTime updatedAt) { + public LinkDto { + if (source.isBlank()) { + throw new IllegalStateException("Source cannot be empty"); + } + if (target.isBlank()) { + throw new IllegalStateException("Target cannot be empty"); + } + if (brand != null && brand.isBlank()) { + throw new IllegalStateException("BrandSlug cannot be empty"); + } + } + + public record LinkTagDto(String uuid, String name, String color) { + public static CreateLinkPresenter.LinkDto.@Nullable LinkTagDto of( + CreateLink.Output.LinkOutput link) { + return link.tag() != null + ? new CreateLinkPresenter.LinkDto.LinkTagDto( + link.tag().uuid().toString(), link.tag().name(), link.tag().color()) + : null; + } + } + + public record LinkCatalogDto(String slug, String name) { + public static CreateLinkPresenter.LinkDto.@Nullable LinkCatalogDto of( + CreateLink.Output.LinkOutput link) { + var catalog = link.catalog(); + + return link.catalog() != null + ? new CreateLinkPresenter.LinkDto.LinkCatalogDto(catalog.slug().value(), catalog.name()) + : null; + } + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/CsvPartialExportLinkPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/CsvPartialExportLinkPresenter.java new file mode 100644 index 0000000..9efbec2 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/CsvPartialExportLinkPresenter.java @@ -0,0 +1,132 @@ +package tech.pegase.z3.application.presenter.link; + +import com.opencsv.CSVWriterBuilder; +import com.opencsv.ICSVWriter; +import jakarta.enterprise.context.RequestScoped; +import java.io.IOException; +import java.io.StringWriter; +import java.io.Writer; +import java.net.URI; +import java.util.Optional; +import org.eclipse.microprofile.config.inject.ConfigProperty; +import org.jboss.logging.Logger; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.presenter.link.CsvPartialExportLinkPresenter.PartialExport; +import tech.pegase.z3.domain.usecase.links.ExportLinks; +import tech.pegase.z3.domain.usecase.links.ExportLinks.Output; +import tech.pegase.z3.domain.valueobject.Fqdn; + +@RequestScoped +public class CsvPartialExportLinkPresenter + implements Presenter { + static final Logger logger = Logger.getLogger(CsvPartialExportLinkPresenter.class); + private static final boolean applyQuotesToFields = true; + private static final char defaultSeparator = ';'; + private final URI defaultBaseUri; + private boolean withHeaders = false; + private boolean hasWrittenHeaders = false; + + CsvPartialExportLinkPresenter( + @ConfigProperty(name = "z3.export.resolver-fqdn") String resolverFqdn) { + this.defaultBaseUri = Fqdn.of(resolverFqdn).getFqdnUri(); + } + + public void setWithHeaders(boolean addHeaders) { + withHeaders = addHeaders; + } + + @Override + public PartialExport present(Output output) { + return switch (output) { + case Output.Page outputCase -> present(outputCase); + case Output.NoMoreToExport outputCase -> present(outputCase); + case Output.Failed outputCase -> present(outputCase); + }; + } + + private PartialExport present(Output.Page outputCase) { + try { + var stringWriter = new StringWriter(); + var csvWriter = getCsvWriter(stringWriter); + String output; + + writeHeadersRowIfWanted(csvWriter); + writeOutputCaseRows(outputCase, csvWriter); + + output = stringWriter.toString(); + + csvWriter.flush(); + csvWriter.close(); + + return new PartialExport.Part(output); + } catch (IOException e) { + logger.error(e.getMessage(), e); + return new PartialExport.Error("Failed to write CSV line"); + } + } + + private PartialExport present(Output.NoMoreToExport ignoredOutputCase) { + return new PartialExport.Eof(); + } + + private PartialExport present(Output.Failed outputCase) { + return new PartialExport.Error(outputCase.reason()); + } + + private void writeHeadersRowIfWanted(ICSVWriter writer) { + if (!withHeaders || hasWrittenHeaders) { + return; + } + + writer.writeNext(getCsvHeaderRow(), applyQuotesToFields); + + hasWrittenHeaders = true; + } + + private void writeOutputCaseRows(Output.Page outputCase, ICSVWriter writer) { + for (var row : outputCase.rows()) { + writer.writeNext(toCsvRow(row), applyQuotesToFields); + } + } + + private String[] getCsvHeaderRow() { + return new String[] { "source", "target", "isExternal", "validity" }; + } + + private String[] toCsvRow(Output.LinkOutput row) { + var fqdn = row.host(); + var source = row.source(); + var target = row.target(); + var isExternal = row.isExternal(); + var validity = row.validity(); + var absoluteUri = Optional.ofNullable(fqdn) + .map(Fqdn::getFqdnUri) + .map(fqdnUri -> fqdnUri.resolve(source.value())) + .orElse(defaultBaseUri.resolve(source.value())); + + return new String[] { + absoluteUri.toString(), target.value(), String.valueOf(isExternal), validity.label() + }; + } + + private ICSVWriter getCsvWriter(Writer writer) { + var builder = new CSVWriterBuilder(writer); + builder.withSeparator(defaultSeparator); + + return builder.build(); + } + + public sealed interface PartialExport { + interface ExportFailure { + } + + record Part(String partContent) implements PartialExport { + } + + record Eof() implements PartialExport { + } + + record Error(String reason) implements PartialExport, ExportFailure { + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/GetLinkPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/GetLinkPresenter.java new file mode 100644 index 0000000..a1fe393 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/GetLinkPresenter.java @@ -0,0 +1,107 @@ +package tech.pegase.z3.application.presenter.link; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.ws.rs.NotFoundException; +import java.net.URI; +import java.net.URISyntaxException; +import java.time.ZonedDateTime; +import org.eclipse.microprofile.config.inject.ConfigProperty; +import org.jboss.resteasy.reactive.RestResponse; +import org.jspecify.annotations.Nullable; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.domain.usecase.links.GetLink; +import tech.pegase.z3.domain.usecase.links.GetLink.Output.NoSuchSource; + +@ApplicationScoped +public class GetLinkPresenter + implements Presenter> { + private final URI resolverFqdn; + + GetLinkPresenter(@ConfigProperty(name = "z3.export.resolver-fqdn") String resolverFqdn) + throws URISyntaxException { + this.resolverFqdn = new URI("https://" + resolverFqdn); + } + + @Override + public RestResponse present(GetLink.Output output) { + return switch (output) { + case GetLink.Output.Found found -> present(found); + case NoSuchSource noSuchSource -> present(noSuchSource); + }; + } + + private RestResponse present(GetLink.Output.Found found) { + return RestResponse.ok(linkOutputToLinkDto(found.link())); + } + + private RestResponse present(NoSuchSource noSuchSource) { + throw new NotFoundException(noSuchSource.getClass().getSimpleName()); + } + + private GetLinkPresenter.LinkDto linkOutputToLinkDto(GetLink.Output.LinkOutput linkOutput) { + var source = linkOutput.source(); + var sourceAbsolute = resolverFqdn.resolve(source.value()); + var target = linkOutput.target(); + var validity = linkOutput.validity(); + var brandUuid = linkOutput.brandUuid(); + + return new GetLinkPresenter.LinkDto( + sourceAbsolute.toString(), + source.value(), + target.value(), + linkOutput.isExternal(), + validity.ordinal(), + linkOutput.visits(), + brandUuid != null ? brandUuid.toString() : null, + GetLinkPresenter.LinkDto.LinkCatalogDto.of(linkOutput), + GetLinkPresenter.LinkDto.LinkTagDto.of(linkOutput), + linkOutput.createdAt(), + linkOutput.updatedAt()); + } + + public record LinkDto( + String sourceAbsolute, + String source, + String target, + boolean isExternal, + int validity, + int visits, + @Nullable String brand, + GetLinkPresenter.LinkDto.@Nullable LinkCatalogDto catalog, + GetLinkPresenter.LinkDto.@Nullable LinkTagDto tag, + ZonedDateTime createdAt, + @Nullable ZonedDateTime updatedAt) { + public LinkDto { + if (source.isBlank()) { + throw new IllegalStateException("Source cannot be empty"); + } + if (target.isBlank()) { + throw new IllegalStateException("Target cannot be empty"); + } + if (brand != null && brand.isBlank()) { + throw new IllegalStateException("BrandSlug cannot be empty"); + } + } + + public record LinkTagDto(String uuid, String name, String color) { + public static GetLinkPresenter.LinkDto.@Nullable LinkTagDto of( + GetLink.Output.LinkOutput link) { + return link.tag() != null + ? new GetLinkPresenter.LinkDto.LinkTagDto( + link.tag().uuid().toString(), link.tag().name(), link.tag().color()) + : null; + } + } + + public record LinkCatalogDto(String slug, String name) { + public static GetLinkPresenter.LinkDto.@Nullable LinkCatalogDto of( + GetLink.Output.LinkOutput link) { + var catalog = link.catalog(); + + return link.catalog() != null + ? new GetLinkPresenter.LinkDto.LinkCatalogDto(catalog.slug().value(), catalog.name()) + : null; + } + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/ImportLinksPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/ImportLinksPresenter.java new file mode 100644 index 0000000..5b9c8c3 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/ImportLinksPresenter.java @@ -0,0 +1,58 @@ +package tech.pegase.z3.application.presenter.link; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.ws.rs.NotFoundException; +import java.util.List; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.domain.usecase.links.ImportLinks; +import tech.pegase.z3.domain.usecase.links.ImportLinks.Output.NoSuchBrand; +import tech.pegase.z3.domain.usecase.links.ImportLinks.Output.NoSuchCatalog; + +@ApplicationScoped +public class ImportLinksPresenter + implements Presenter< + ImportLinks, ImportLinks.Output, RestResponse> { + @Override + public RestResponse present(ImportLinks.Output output) { + return switch (output) { + case ImportLinks.Output.ImportResults outputCase -> present(outputCase); + case ImportLinks.Output.NoSuchBrand outputCase -> present(outputCase); + case ImportLinks.Output.NoSuchCatalog outputCase -> present(outputCase); + }; + } + + private RestResponse present( + NoSuchBrand ignoredOutputCase) { + throw new NotFoundException(); + } + + private RestResponse present( + NoSuchCatalog ignoredOutputCase) { + throw new NotFoundException(); + } + + private RestResponse present( + ImportLinks.Output.ImportResults output) { + return RestResponse.ok( + ImportFailuresDto.of( + output.failedImports().stream() + .map( + failedImport -> + "line %d -> \n \"%s\"\n source: %s, target: %s, ext: %b\n" + .formatted( + failedImport.line(), + failedImport.reason(), + failedImport.source(), + failedImport.target(), + failedImport.isExternal())) + .toList(), + output.importedLinks())); + } + + public record ImportFailuresDto(List failedImports, Integer importedLinks) { + public static ImportFailuresDto of(List failedImports, Integer importedLinks) { + return new ImportFailuresDto(failedImports, importedLinks); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/ListLinksPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/ListLinksPresenter.java new file mode 100644 index 0000000..869759e --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/ListLinksPresenter.java @@ -0,0 +1,103 @@ +package tech.pegase.z3.application.presenter.link; + +import jakarta.enterprise.context.ApplicationScoped; +import java.net.URI; +import java.net.URISyntaxException; +import java.time.ZonedDateTime; +import org.eclipse.microprofile.config.inject.ConfigProperty; +import org.jboss.resteasy.reactive.RestResponse; +import org.jspecify.annotations.Nullable; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.dto.PaginatedDto; +import tech.pegase.z3.domain.usecase.links.ListLinks; + +@ApplicationScoped +public class ListLinksPresenter + implements Presenter< + ListLinks, ListLinks.Output, RestResponse>> { + private final URI resolverFqdn; + + ListLinksPresenter(@ConfigProperty(name = "z3.export.resolver-fqdn") String resolverFqdn) + throws URISyntaxException { + this.resolverFqdn = new URI("https://" + resolverFqdn); + } + + @Override + public RestResponse> present(ListLinks.Output output) { + return switch (output) { + case ListLinks.Output.PaginatedLinks outputCase -> present(outputCase); + }; + } + + private RestResponse> present( + ListLinks.Output.PaginatedLinks outputCase) { + return RestResponse.ok(PaginatedDto.of(outputCase.linkList(), this::linkOutputToLinkDto)); + } + + private LinkDto linkOutputToLinkDto(ListLinks.Output.LinkOutput linkOutput) { + var source = linkOutput.source(); + var sourceAbsolute = resolverFqdn.resolve(source.value()); + var target = linkOutput.target(); + var validity = linkOutput.validity(); + var brandUuid = linkOutput.brandUuid(); + + return new ListLinksPresenter.LinkDto( + sourceAbsolute.toString(), + source.value(), + target.value(), + linkOutput.isExternal(), + validity.ordinal(), + linkOutput.visits(), + brandUuid != null ? brandUuid.toString() : null, + ListLinksPresenter.LinkDto.LinkCatalogDto.of(linkOutput), + ListLinksPresenter.LinkDto.LinkTagDto.of(linkOutput), + linkOutput.createdAt(), + linkOutput.updatedAt()); + } + + public record LinkDto( + String sourceAbsolute, + String source, + String target, + boolean isExternal, + int validity, + int visits, + @Nullable String brand, + ListLinksPresenter.LinkDto.@Nullable LinkCatalogDto catalog, + ListLinksPresenter.LinkDto.@Nullable LinkTagDto tag, + ZonedDateTime createdAt, + @Nullable ZonedDateTime updatedAt) { + public LinkDto { + if (source.isBlank()) { + throw new IllegalStateException("Source cannot be empty"); + } + if (target.isBlank()) { + throw new IllegalStateException("Target cannot be empty"); + } + if (brand != null && brand.isBlank()) { + throw new IllegalStateException("BrandSlug cannot be empty"); + } + } + + public record LinkTagDto(String uuid, String name, String color) { + public static ListLinksPresenter.LinkDto.@Nullable LinkTagDto of( + ListLinks.Output.LinkOutput link) { + return link.tag() != null + ? new ListLinksPresenter.LinkDto.LinkTagDto( + link.tag().uuid().toString(), link.tag().name(), link.tag().color()) + : null; + } + } + + public record LinkCatalogDto(String slug, String name) { + public static ListLinksPresenter.LinkDto.@Nullable LinkCatalogDto of( + ListLinks.Output.LinkOutput link) { + var catalog = link.catalog(); + + return link.catalog() != null + ? new ListLinksPresenter.LinkDto.LinkCatalogDto(catalog.slug().value(), catalog.name()) + : null; + } + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/ResolveLinkResponsePresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/ResolveLinkResponsePresenter.java new file mode 100644 index 0000000..996953c --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/ResolveLinkResponsePresenter.java @@ -0,0 +1,46 @@ +package tech.pegase.z3.application.presenter.link; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.Response.Status; +import java.net.URI; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.domain.usecase.links.RedirectLink; +import tech.pegase.z3.domain.usecase.links.RedirectLink.Output; + +@ApplicationScoped +public class ResolveLinkResponsePresenter + implements Presenter { + @Override + public Response present(RedirectLink.Output output) { + return switch (output) { + case Output.Found useCase -> present(useCase); + case Output.WrongFqdn useCase -> present(useCase); + case Output.NoSuchSource useCase -> present(useCase); + }; + } + + private Response present(Output.Found found) { + var target = found.link().target().value(); + var uri = URI.create(target); + // Return 301 while using GET or HEAD instead of 308 + return Response.status(Status.MOVED_PERMANENTLY) + .location(uri) + .header("Cache-Control", "no-store, no-cache, must-revalidate") + .build(); + } + + private Response present(Output.WrongFqdn ignored) { + return Response.status(Status.BAD_REQUEST) + .header("Cache-Control", "no-store, no-cache, must-revalidate") + .entity("Nom de domain invalide pour ce lien") + .build(); + } + + private Response present(Output.NoSuchSource ignored) { + return Response.status(Response.Status.NOT_FOUND) + .header("Cache-Control", "no-store, no-cache, must-revalidate") + .entity("Aucun lien trouvé") + .build(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/UpdateLinkPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/UpdateLinkPresenter.java new file mode 100644 index 0000000..d856643 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/UpdateLinkPresenter.java @@ -0,0 +1,114 @@ +package tech.pegase.z3.application.presenter.link; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.ws.rs.NotFoundException; +import java.net.URI; +import java.net.URISyntaxException; +import java.time.ZonedDateTime; +import org.eclipse.microprofile.config.inject.ConfigProperty; +import org.jboss.resteasy.reactive.RestResponse; +import org.jspecify.annotations.Nullable; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.exception.ValidationException; +import tech.pegase.z3.domain.usecase.links.UpdateLink; + +@ApplicationScoped +public class UpdateLinkPresenter + implements Presenter> { + private final URI resolverFqdn; + + UpdateLinkPresenter(@ConfigProperty(name = "z3.export.resolver-fqdn") String resolverFqdn) + throws URISyntaxException { + this.resolverFqdn = new URI("https://" + resolverFqdn); + } + + @Override + public RestResponse present(UpdateLink.Output output) { + return switch (output) { + case UpdateLink.Output.Updated outputCase -> present(outputCase); + case UpdateLink.Output.NotUpdated outputCase -> present(outputCase); + case UpdateLink.Output.NoSuchSource outputCase -> present(outputCase); + }; + } + + private RestResponse present(UpdateLink.Output.Updated outputCase) { + return RestResponse.ok(linkOutputToLinkDto(outputCase.link())); + } + + private RestResponse present( + UpdateLink.Output.NotUpdated outputCase) { + throw ValidationException.of(outputCase.reasons().invalidFields()); + } + + private RestResponse present( + UpdateLink.Output.NoSuchSource ignored) { + throw new NotFoundException(); + } + + private UpdateLinkPresenter.LinkDto linkOutputToLinkDto(UpdateLink.Output.LinkOutput linkOutput) { + var source = linkOutput.source(); + var sourceAbsolute = resolverFqdn.resolve(source.value()); + var target = linkOutput.target(); + var validity = linkOutput.validity(); + var brandUuid = linkOutput.brandUuid(); + + return new UpdateLinkPresenter.LinkDto( + sourceAbsolute.toString(), + source.value(), + target.value(), + linkOutput.isExternal(), + validity.ordinal(), + linkOutput.visits(), + brandUuid != null ? brandUuid.toString() : null, + UpdateLinkPresenter.LinkDto.LinkCatalogDto.of(linkOutput), + UpdateLinkPresenter.LinkDto.LinkTagDto.of(linkOutput), + linkOutput.createdAt(), + linkOutput.updatedAt()); + } + + public record LinkDto( + String sourceAbsolute, + String source, + String target, + boolean isExternal, + int validity, + int visits, + @Nullable String brand, + UpdateLinkPresenter.LinkDto.@Nullable LinkCatalogDto catalog, + UpdateLinkPresenter.LinkDto.@Nullable LinkTagDto tag, + ZonedDateTime createdAt, + @Nullable ZonedDateTime updatedAt) { + public LinkDto { + if (source.isBlank()) { + throw new IllegalStateException("Source cannot be empty"); + } + if (target.isBlank()) { + throw new IllegalStateException("Target cannot be empty"); + } + if (brand != null && brand.isBlank()) { + throw new IllegalStateException("BrandSlug cannot be empty"); + } + } + + public record LinkTagDto(String uuid, String name, String color) { + public static UpdateLinkPresenter.LinkDto.@Nullable LinkTagDto of( + UpdateLink.Output.LinkOutput link) { + return link.tag() != null + ? new UpdateLinkPresenter.LinkDto.LinkTagDto( + link.tag().uuid().toString(), link.tag().name(), link.tag().color()) + : null; + } + } + + public record LinkCatalogDto(String slug, String name) { + public static UpdateLinkPresenter.LinkDto.@Nullable LinkCatalogDto of( + UpdateLink.Output.LinkOutput link) { + var catalog = link.catalog(); + + return link.catalog() != null + ? new UpdateLinkPresenter.LinkDto.LinkCatalogDto(catalog.slug().value(), catalog.name()) + : null; + } + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/VerifyLinkPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/VerifyLinkPresenter.java new file mode 100644 index 0000000..893bbca --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/VerifyLinkPresenter.java @@ -0,0 +1,39 @@ +package tech.pegase.z3.application.presenter.link; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.ws.rs.NotFoundException; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.presenter.link.VerifyLinkPresenter.LinkValidityDto; +import tech.pegase.z3.domain.usecase.links.VerifyLink; +import tech.pegase.z3.domain.usecase.links.VerifyLink.Output; + +@ApplicationScoped +public class VerifyLinkPresenter + implements Presenter> { + + @Override + public RestResponse present(Output output) { + return switch (output) { + case Output.TargetIsNotValid outputCase -> present(outputCase); + case Output.TargetIsValid outputCase -> present(outputCase); + case Output.NoSuchLink outputCase -> present(outputCase); + }; + } + + private RestResponse present(Output.TargetIsNotValid output) { + return RestResponse.ok( + new VerifyLinkPresenter.LinkValidityDto(output.linkTarget().value(), false)); + } + + private RestResponse present(Output.TargetIsValid output) { + return RestResponse.ok( + new VerifyLinkPresenter.LinkValidityDto(output.linkTarget().value(), true)); + } + + private RestResponse present(Output.NoSuchLink output) { + throw new NotFoundException(output.getClass().getSimpleName()); + } + + public record LinkValidityDto(String target, Boolean isValid) {} +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/package-info.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/package-info.java new file mode 100644 index 0000000..b37fd3d --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/link/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.application.presenter.link; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/reporting/GetReportingSubscriptionsPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/reporting/GetReportingSubscriptionsPresenter.java new file mode 100644 index 0000000..c5f4794 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/reporting/GetReportingSubscriptionsPresenter.java @@ -0,0 +1,47 @@ +package tech.pegase.z3.application.presenter.reporting; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.ws.rs.NotFoundException; +import java.util.Set; +import java.util.stream.Collectors; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.presenter.reporting.GetReportingSubscriptionsPresenter.ReportingSubscriptionDto; +import tech.pegase.z3.domain.entity.ReportingSubscription; +import tech.pegase.z3.domain.usecase.reporting.GetReportingSubscriptions; +import tech.pegase.z3.domain.usecase.reporting.GetReportingSubscriptions.Output; + +@ApplicationScoped +public class GetReportingSubscriptionsPresenter + implements Presenter< + GetReportingSubscriptions, + GetReportingSubscriptions.Output, + RestResponse>> { + + @Override + public RestResponse> present(Output output) { + return switch (output) { + case Output.ReportSubscriptionsForUser outputCase -> present(outputCase); + case Output.NoSuchUser outputCase -> present(outputCase); + }; + } + + private RestResponse> present( + Output.ReportSubscriptionsForUser outputCase) { + return RestResponse.ok( + outputCase.subscriptions().stream() + .map(ReportingSubscriptionDto::of) + .collect(Collectors.toSet())); + } + + private RestResponse> present(Output.NoSuchUser ignored) { + throw new NotFoundException(); + } + + public record ReportingSubscriptionDto(String user, String brand) { + public static ReportingSubscriptionDto of(ReportingSubscription subscription) { + return new ReportingSubscriptionDto( + subscription.getUser().toString(), subscription.getBrand().toString()); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/reporting/UpdateUserReportingSubscriptionsPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/reporting/UpdateUserReportingSubscriptionsPresenter.java new file mode 100644 index 0000000..e10b376 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/reporting/UpdateUserReportingSubscriptionsPresenter.java @@ -0,0 +1,68 @@ +package tech.pegase.z3.application.presenter.reporting; + +import jakarta.enterprise.context.ApplicationScoped; +import java.util.Set; +import java.util.UUID; +import java.util.stream.Collectors; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.exception.ValidationException; +import tech.pegase.z3.application.exception.ValidationException.ValidationError; +import tech.pegase.z3.domain.usecase.reporting.UpdateUserReportingSubscriptions; +import tech.pegase.z3.domain.usecase.reporting.UpdateUserReportingSubscriptions.Output; + +@ApplicationScoped +public class UpdateUserReportingSubscriptionsPresenter + implements Presenter< + UpdateUserReportingSubscriptions, + UpdateUserReportingSubscriptions.Output, + RestResponse> { + + @Override + public RestResponse present(Output output) { + return switch (output) { + case Output.SubscriptionsUpdated outputCase -> present(outputCase); + case Output.NoSuchUser outputCase -> present(outputCase); + case Output.TheseBrandsDoNotExist outputCase -> present(outputCase); + case Output.UserDoNotBelongToTheseBrands outputCase -> present(outputCase); + }; + } + + private RestResponse present( + Output.SubscriptionsUpdated ignored) { + return RestResponse.ok(MessageDto.of("Souscriptions mises à jour")); + } + + private RestResponse present( + Output.UserDoNotBelongToTheseBrands ignored) { + throw new ValidationException( + Set.of( + ValidationError.of( + "brands", + "L'utilisateur n'appartient pas à ces enseignes : " + + ignored.brandsUuids().stream() + .map(UUID::toString) + .collect(Collectors.joining())))); + } + + private RestResponse present( + Output.NoSuchUser ignored) { + throw new ValidationException( + Set.of(ValidationError.of("user", "Cet utilisateur n'existe pas"))); + } + + private RestResponse present( + Output.TheseBrandsDoNotExist output) { + throw new ValidationException( + Set.of( + ValidationError.of( + "brands", + output.brandsUuids().stream().map(UUID::toString).collect(Collectors.joining())))); + } + + public record MessageDto(String message) { + public static UpdateUserReportingSubscriptionsPresenter.MessageDto of(String value) { + return new UpdateUserReportingSubscriptionsPresenter.MessageDto(value); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/GetGlobalStatisticsPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/GetGlobalStatisticsPresenter.java new file mode 100644 index 0000000..8b7d791 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/GetGlobalStatisticsPresenter.java @@ -0,0 +1,40 @@ +package tech.pegase.z3.application.presenter.statistics; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.ws.rs.NotFoundException; +import java.util.List; +import java.util.stream.Collectors; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.presenter.statistics.GetGlobalStatisticsPresenter.GlobalStatistic; +import tech.pegase.z3.domain.usecase.statistics.GetGlobalStatistics; +import tech.pegase.z3.domain.usecase.statistics.GetGlobalStatistics.Output; + +@ApplicationScoped +public class GetGlobalStatisticsPresenter + implements Presenter>> { + + @Override + public RestResponse> present(Output output) { + return switch (output) { + case Output.GeneralStatistics outputCase -> present(outputCase); + case Output.NoSuchBrand outputCase -> present(outputCase); + }; + } + + private RestResponse> present(Output.GeneralStatistics outputCase) { + + return RestResponse.ok( + outputCase.statistics().stream().map(GlobalStatistic::of).collect(Collectors.toList())); + } + + private RestResponse> present(Output.NoSuchBrand ignoredOutputCase) { + throw new NotFoundException("Aucune enseigne trouvée"); + } + + public record GlobalStatistic(String key, String statistic, Long value) { + public static GlobalStatistic of(Output.GlobalStatistic statistic) { + return new GlobalStatistic(statistic.type(), statistic.statistic(), statistic.value()); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/GetLinksStatisticsPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/GetLinksStatisticsPresenter.java new file mode 100644 index 0000000..9429835 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/GetLinksStatisticsPresenter.java @@ -0,0 +1,44 @@ +package tech.pegase.z3.application.presenter.statistics; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.ws.rs.NotFoundException; +import java.util.Map; +import java.util.stream.Collectors; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.presenter.statistics.GetLinksStatisticsPresenter.StatisticLine; +import tech.pegase.z3.domain.usecase.statistics.GetLinksStatistics; +import tech.pegase.z3.domain.usecase.statistics.GetLinksStatistics.Output; + +@ApplicationScoped +public class GetLinksStatisticsPresenter + implements Presenter>> { + + @Override + public RestResponse> present(Output output) { + return switch (output) { + case Output.Statistics outputCase -> present(outputCase); + case Output.NoSuchBrand outputCase -> present(outputCase); + }; + } + + private RestResponse> present(Output.Statistics outputCase) { + + return RestResponse.ok( + outputCase.visitsPerEntity().entrySet().stream() + .collect( + Collectors.toMap( + key -> key.getKey().toString(), value -> StatisticLine.of(value.getValue())))); + } + + private RestResponse> present(Output.NoSuchBrand ignored) { + throw new NotFoundException("Aucune enseigne trouvée"); + } + + public record StatisticLine(String uuid, String name, Integer totalVisits) { + public static StatisticLine of(Output.StatisticLine statisticLine) { + return new StatisticLine( + statisticLine.uuid().toString(), statisticLine.name(), statisticLine.totalVisits()); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/InvalidLinksPerWeekPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/InvalidLinksPerWeekPresenter.java new file mode 100644 index 0000000..c1afd8e --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/InvalidLinksPerWeekPresenter.java @@ -0,0 +1,48 @@ +package tech.pegase.z3.application.presenter.statistics; + +import jakarta.enterprise.context.ApplicationScoped; +import java.time.ZonedDateTime; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import org.jboss.resteasy.reactive.RestResponse; +import org.jboss.resteasy.reactive.RestResponse.Status; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.presenter.statistics.InvalidLinksPerWeekPresenter.WeekInvalidLinks; +import tech.pegase.z3.statistics.domain.usecase.statistics.GetInvalidLinksCountsPerWeek; +import tech.pegase.z3.statistics.domain.usecase.statistics.GetInvalidLinksCountsPerWeek.Output; +import tech.pegase.z3.statistics.domain.valueobject.statistics.StatisticLinePerInterval; + +@ApplicationScoped +public class InvalidLinksPerWeekPresenter + implements Presenter< + GetInvalidLinksCountsPerWeek, + GetInvalidLinksCountsPerWeek.Output, + RestResponse>>> { + + @Override + public RestResponse>> present(Output output) { + return switch (output) { + case Output.GetCounts outputCase -> present(outputCase); + }; + } + + RestResponse>> present(Output.GetCounts outputCase) { + var statisticLines = outputCase.counts(); + var groupedStatistics = groupStatistics(statisticLines); + + return RestResponse.status(Status.OK, groupedStatistics); + } + + private Map> groupStatistics( + List brandInvalidLinksPerWeek) { + return brandInvalidLinksPerWeek.stream() + .collect( + Collectors.groupingBy( + StatisticLinePerInterval::value, + Collectors.mapping( + s -> new WeekInvalidLinks(s.interval(), s.count()), Collectors.toList()))); + } + + public record WeekInvalidLinks(ZonedDateTime weekOfYear, Integer count) {} +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/MostFrequentReferrersPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/MostFrequentReferrersPresenter.java new file mode 100644 index 0000000..5b34096 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/MostFrequentReferrersPresenter.java @@ -0,0 +1,41 @@ +package tech.pegase.z3.application.presenter.statistics; + +import jakarta.enterprise.context.ApplicationScoped; +import java.util.List; +import java.util.stream.Collectors; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.presenter.statistics.MostFrequentReferrersPresenter.TopReferrerLine; +import tech.pegase.z3.statistics.domain.usecase.statistics.MostFrequentReferrers; +import tech.pegase.z3.statistics.domain.usecase.statistics.MostFrequentReferrers.Output; +import tech.pegase.z3.statistics.domain.valueobject.statistics.StatisticLineWithEntity; + +@ApplicationScoped +public class MostFrequentReferrersPresenter + implements Presenter< + MostFrequentReferrers, MostFrequentReferrers.Output, RestResponse>> { + + @Override + public RestResponse> present(Output output) { + return switch (output) { + case Output.TopList outputCase -> present(outputCase); + }; + } + + private RestResponse> present(Output.TopList output) { + var outputList = + output.count().stream().map(this::outputLineMapper).collect(Collectors.toList()); + + return RestResponse.ok(outputList); + } + + private TopReferrerLine outputLineMapper(StatisticLineWithEntity statisticLine) { + var referrer = statisticLine.value(); + var brand = statisticLine.entity(); + var count = statisticLine.count(); + + return new TopReferrerLine(referrer, brand, count); + } + + public record TopReferrerLine(String referrer, String brand, Integer count) {} +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/MostVisitedSourcePresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/MostVisitedSourcePresenter.java new file mode 100644 index 0000000..cfed9ff --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/MostVisitedSourcePresenter.java @@ -0,0 +1,41 @@ +package tech.pegase.z3.application.presenter.statistics; + +import jakarta.enterprise.context.ApplicationScoped; +import java.util.List; +import java.util.stream.Collectors; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.presenter.statistics.MostVisitedSourcePresenter.TopSourceLine; +import tech.pegase.z3.statistics.domain.usecase.statistics.MostVisitedSource; +import tech.pegase.z3.statistics.domain.usecase.statistics.MostVisitedSource.Output; +import tech.pegase.z3.statistics.domain.valueobject.statistics.StatisticLineWithEntity; + +@ApplicationScoped +public class MostVisitedSourcePresenter + implements Presenter< + MostVisitedSource, MostVisitedSource.Output, RestResponse>> { + + @Override + public RestResponse> present(Output output) { + return switch (output) { + case Output.TopList outputCase -> present(outputCase); + }; + } + + RestResponse> present(Output.TopList output) { + var outputList = + output.count().stream().map(this::outputLineMapper).collect(Collectors.toList()); + + return RestResponse.ok(outputList); + } + + private TopSourceLine outputLineMapper(StatisticLineWithEntity statisticLine) { + var source = statisticLine.value(); + var brand = statisticLine.entity(); + var count = statisticLine.count(); + + return new TopSourceLine(source, brand, count); + } + + public record TopSourceLine(String source, String brand, Integer count) {} +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/UniqueVisitorsByBrandPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/UniqueVisitorsByBrandPresenter.java new file mode 100644 index 0000000..2225e78 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/UniqueVisitorsByBrandPresenter.java @@ -0,0 +1,64 @@ +package tech.pegase.z3.application.presenter.statistics; + +import jakarta.enterprise.context.ApplicationScoped; +import java.time.ZonedDateTime; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import org.jboss.resteasy.reactive.RestResponse; +import org.jboss.resteasy.reactive.RestResponse.Status; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.presenter.statistics.UniqueVisitorsByBrandPresenter.BrandUniqueVisit; +import tech.pegase.z3.statistics.domain.usecase.statistics.UniqueVisitorsByBrand; +import tech.pegase.z3.statistics.domain.usecase.statistics.UniqueVisitorsByBrand.Output; +import tech.pegase.z3.statistics.domain.valueobject.statistics.StatisticLinePerInterval; + +@ApplicationScoped +public class UniqueVisitorsByBrandPresenter + implements Presenter< + UniqueVisitorsByBrand, Output, RestResponse>>> { + + @Override + public RestResponse>> present(Output output) { + return switch (output) { + case Output.CountsForAll outputCase -> present(outputCase); + }; + } + + private RestResponse>> present( + Output.CountsForAll outputCase) { + var statisticLines = outputCase.counts(); + var groupedStatistics = groupStatistics(statisticLines); + + return RestResponse.status(Status.OK, groupedStatistics); + } + + private Map> groupStatistics( + List brandVisitsPerDay) { + Map> brandStatistics = new HashMap<>(); + + brandVisitsPerDay.forEach( + statistic -> { + var brandName = statistic.value(); + var interval = statistic.interval(); + var count = statistic.count(); + var brandUniqueVisit = new BrandUniqueVisit(interval, count); + List visitsPerDayOfYear; + + // Get or create a new list foreach brands + if (brandStatistics.containsKey(brandName)) { + visitsPerDayOfYear = brandStatistics.get(brandName); + } else { + visitsPerDayOfYear = new LinkedList<>(); + brandStatistics.put(brandName, visitsPerDayOfYear); + } + + visitsPerDayOfYear.add(brandUniqueVisit); + }); + + return brandStatistics; + } + + public record BrandUniqueVisit(ZonedDateTime dayOfYear, Integer count) {} +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/UniqueVisitorsPresenterByCatalog.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/UniqueVisitorsPresenterByCatalog.java new file mode 100644 index 0000000..6eaaaec --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/statistics/UniqueVisitorsPresenterByCatalog.java @@ -0,0 +1,64 @@ +package tech.pegase.z3.application.presenter.statistics; + +import jakarta.enterprise.context.ApplicationScoped; +import java.time.ZonedDateTime; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import org.jboss.resteasy.reactive.RestResponse; +import org.jboss.resteasy.reactive.RestResponse.Status; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.presenter.statistics.UniqueVisitorsPresenterByCatalog.CatalogUniqueVisit; +import tech.pegase.z3.statistics.domain.usecase.statistics.UniqueVisitorsByCatalog; +import tech.pegase.z3.statistics.domain.usecase.statistics.UniqueVisitorsByCatalog.Output; +import tech.pegase.z3.statistics.domain.valueobject.statistics.StatisticLinePerInterval; + +@ApplicationScoped +public class UniqueVisitorsPresenterByCatalog + implements Presenter< + UniqueVisitorsByCatalog, Output, RestResponse>>> { + + @Override + public RestResponse>> present(Output output) { + return switch (output) { + case Output.CountsForAll outputCase -> present(outputCase); + }; + } + + private RestResponse>> present( + Output.CountsForAll outputCase) { + var statisticLines = outputCase.counts(); + var groupedStatistics = groupStatistics(statisticLines); + + return RestResponse.status(Status.OK, groupedStatistics); + } + + private Map> groupStatistics( + List catalogVisitsPerDay) { + Map> catalogStatistics = new HashMap<>(); + + catalogVisitsPerDay.forEach( + statistic -> { + var catalogName = statistic.value(); + var interval = statistic.interval(); + var count = statistic.count(); + var catalogUniqueVisit = new CatalogUniqueVisit(interval, count); + List visitsPerDayOfYear; + + // Get or create a new list foreach catalogs + if (catalogStatistics.containsKey(catalogName)) { + visitsPerDayOfYear = catalogStatistics.get(catalogName); + } else { + visitsPerDayOfYear = new LinkedList<>(); + catalogStatistics.put(catalogName, visitsPerDayOfYear); + } + + visitsPerDayOfYear.add(catalogUniqueVisit); + }); + + return catalogStatistics; + } + + public record CatalogUniqueVisit(ZonedDateTime dayOfYear, Integer count) {} +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/CreateTagPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/CreateTagPresenter.java new file mode 100644 index 0000000..fbabe2f --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/CreateTagPresenter.java @@ -0,0 +1,39 @@ +package tech.pegase.z3.application.presenter.tag; + +import jakarta.enterprise.context.ApplicationScoped; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.exception.ValidationException; +import tech.pegase.z3.domain.usecase.tags.CreateTag; + +@ApplicationScoped +public class CreateTagPresenter + implements Presenter> { + @Override + public RestResponse present(CreateTag.Output output) { + return switch (output) { + case CreateTag.Output.Created outputCase -> present(outputCase); + case CreateTag.Output.NotCreated outputCase -> present(outputCase); + }; + } + + private RestResponse present(CreateTag.Output.Created outputCase) { + return RestResponse.ok(CreateTagPresenter.TagDto.of(outputCase.value())); + } + + private RestResponse present(CreateTag.Output.NotCreated outputCase) { + throw ValidationException.of(outputCase.reasons().invalidFields()); + } + + public record TagDto(String uuid, String name, String color) { + public TagDto { + if (name.isBlank()) { + throw new IllegalStateException("name cannot be empty"); + } + } + + public static TagDto of(CreateTag.Output.TagOutput tag) { + return new TagDto(tag.uuid().toString(), tag.name(), tag.color().toString()); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/GetTagPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/GetTagPresenter.java new file mode 100644 index 0000000..e97e479 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/GetTagPresenter.java @@ -0,0 +1,39 @@ +package tech.pegase.z3.application.presenter.tag; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.ws.rs.NotFoundException; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.domain.usecase.tags.GetTag; + +@ApplicationScoped +public class GetTagPresenter + implements Presenter> { + @Override + public RestResponse present(GetTag.Output output) { + return switch (output) { + case GetTag.Output.Found outputCase -> present(outputCase); + case GetTag.Output.NoSuchTag outputCase -> present(outputCase); + }; + } + + private RestResponse present(GetTag.Output.Found outputCase) { + return RestResponse.ok(GetTagPresenter.TagDto.of(outputCase.tag())); + } + + private RestResponse present(GetTag.Output.NoSuchTag outputCase) { + throw new NotFoundException(outputCase.getClass().getSimpleName()); + } + + public record TagDto(String uuid, String name, String color) { + public TagDto { + if (name.isBlank()) { + throw new IllegalStateException("name cannot be empty"); + } + } + + public static GetTagPresenter.TagDto of(GetTag.Output.TagOutput tag) { + return new GetTagPresenter.TagDto(tag.uuid().toString(), tag.name(), tag.color().toString()); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/ListTagsPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/ListTagsPresenter.java new file mode 100644 index 0000000..d9a23c3 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/ListTagsPresenter.java @@ -0,0 +1,37 @@ +package tech.pegase.z3.application.presenter.tag; + +import jakarta.enterprise.context.ApplicationScoped; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.dto.PaginatedDto; +import tech.pegase.z3.domain.usecase.tags.ListTags; + +@ApplicationScoped +public class ListTagsPresenter + implements Presenter< + ListTags, ListTags.Output, RestResponse>> { + @Override + public RestResponse> present(ListTags.Output output) { + return switch (output) { + case ListTags.Output.PaginatedTags outputCase -> present(outputCase); + }; + } + + private RestResponse> present( + ListTags.Output.PaginatedTags outputCase) { + return RestResponse.ok(PaginatedDto.of(outputCase.tagList(), ListTagsPresenter.TagDto::of)); + } + + public record TagDto(String uuid, String name, String color) { + public TagDto { + if (name.isBlank()) { + throw new IllegalStateException("name cannot be empty"); + } + } + + public static ListTagsPresenter.TagDto of(ListTags.Output.TagOutput tag) { + return new ListTagsPresenter.TagDto( + tag.uuid().toString(), tag.name(), tag.color().toString()); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/RemoveTagPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/RemoveTagPresenter.java new file mode 100644 index 0000000..2ff0fc0 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/RemoveTagPresenter.java @@ -0,0 +1,29 @@ +package tech.pegase.z3.application.presenter.tag; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.ws.rs.NotFoundException; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.dto.MessageDto; +import tech.pegase.z3.domain.usecase.tags.RemoveTag; +import tech.pegase.z3.domain.usecase.tags.RemoveTag.Output.NoSuchTag; + +@ApplicationScoped +public class RemoveTagPresenter + implements Presenter> { + @Override + public RestResponse present(RemoveTag.Output output) { + return switch (output) { + case RemoveTag.Output.Removed outputCase -> present(outputCase); + case NoSuchTag outputCase -> present(outputCase); + }; + } + + private RestResponse present(RemoveTag.Output.Removed ignoredOutputCase) { + return RestResponse.ok(MessageDto.of("A été supprimé")); + } + + private RestResponse present(NoSuchTag outputCase) { + throw new NotFoundException(outputCase.getClass().getSimpleName()); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/UpdateTagPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/UpdateTagPresenter.java new file mode 100644 index 0000000..24a071d --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/UpdateTagPresenter.java @@ -0,0 +1,40 @@ +package tech.pegase.z3.application.presenter.tag; + +import jakarta.enterprise.context.ApplicationScoped; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.exception.ValidationException; +import tech.pegase.z3.domain.usecase.tags.UpdateTag; + +@ApplicationScoped +public class UpdateTagPresenter + implements Presenter> { + @Override + public RestResponse present(UpdateTag.Output output) { + return switch (output) { + case UpdateTag.Output.Updated outputCase -> present(outputCase); + case UpdateTag.Output.NotUpdated outputCase -> present(outputCase); + }; + } + + private RestResponse present(UpdateTag.Output.Updated outputCase) { + return RestResponse.ok(TagDto.of(outputCase.value())); + } + + private RestResponse present(UpdateTag.Output.NotUpdated outputCase) { + throw ValidationException.of(outputCase.reasons().invalidFields()); + } + + public record TagDto(String uuid, String name, String color) { + public TagDto { + if (name.isBlank()) { + throw new IllegalStateException("name cannot be empty"); + } + } + + public static UpdateTagPresenter.TagDto of(UpdateTag.Output.TagOutput tag) { + return new UpdateTagPresenter.TagDto( + tag.uuid().toString(), tag.name(), tag.color().toString()); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/package-info.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/package-info.java new file mode 100644 index 0000000..72e7da1 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/tag/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.application.presenter.tag; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/user/CreateUserPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/user/CreateUserPresenter.java new file mode 100644 index 0000000..77cba47 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/user/CreateUserPresenter.java @@ -0,0 +1,79 @@ +package tech.pegase.z3.application.presenter.user; + +import jakarta.enterprise.context.ApplicationScoped; +import java.util.Set; +import java.util.UUID; +import java.util.stream.Collectors; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.exception.AuthorizationException; +import tech.pegase.z3.application.exception.ServerErrorException; +import tech.pegase.z3.application.exception.ValidationException; +import tech.pegase.z3.application.presenter.user.CreateUserPresenter.UserDto; +import tech.pegase.z3.domain.usecase.users.CreateUser; +import tech.pegase.z3.domain.usecase.users.CreateUser.Output; + +@ApplicationScoped +public class CreateUserPresenter implements Presenter> { + @Override + public RestResponse present(Output output) { + return switch (output) { + case Output.Created outputCase -> present(outputCase); + case Output.Forbidden outputCase -> present(outputCase); + case Output.NotCreated outputCase -> present(outputCase); + case Output.MessageCannotBeSent outputCase -> present(outputCase); + }; + } + + private RestResponse present(Output.Created outputCase) { + return RestResponse.ok(UserDto.of(outputCase.value())); + } + + private RestResponse present(Output.Forbidden outputCase) { + throw AuthorizationException.of(outputCase.reason()); + } + + private RestResponse present(Output.NotCreated outputCase) { + throw ValidationException.of(outputCase.reasons().invalidFields()); + } + + private RestResponse present(Output.MessageCannotBeSent outputCase) { + throw new ServerErrorException(outputCase.getClass().getSimpleName(), 502); + } + + public record UserDto( + String uuid, + String firstName, + String lastName, + String email, + String role, + Set brands) { + public UserDto { + if (uuid.isBlank()) { + throw new IllegalStateException("uuid cannot be empty"); + } + if (firstName.isBlank()) { + throw new IllegalStateException("firstName cannot be empty"); + } + if (lastName.isBlank()) { + throw new IllegalStateException("lastName cannot be empty"); + } + if (email.isBlank()) { + throw new IllegalStateException("email cannot be empty"); + } + if (role.isBlank()) { + throw new IllegalStateException("role cannot be empty"); + } + } + + public static UserDto of(Output.UserOutput user) { + return new UserDto( + user.uuid().toString(), + user.firstName(), + user.lastName(), + user.email().value(), + user.role().value().toString(), + user.brandsUuids().stream().map(UUID::toString).collect(Collectors.toSet())); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/user/GetUserPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/user/GetUserPresenter.java new file mode 100644 index 0000000..da9ea3e --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/user/GetUserPresenter.java @@ -0,0 +1,66 @@ +package tech.pegase.z3.application.presenter.user; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.ws.rs.NotFoundException; +import java.util.Set; +import java.util.UUID; +import java.util.stream.Collectors; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.domain.usecase.users.GetUser; + +@ApplicationScoped +public class GetUserPresenter + implements Presenter> { + @Override + public RestResponse present(GetUser.Output output) { + return switch (output) { + case GetUser.Output.Found outputCase -> present(outputCase); + case GetUser.Output.NoSuchUser outputCase -> present(outputCase); + }; + } + + private RestResponse present(GetUser.Output.Found outputCase) { + return RestResponse.ok(UserDto.of(outputCase.user())); + } + + private RestResponse present(GetUser.Output.NoSuchUser outputCase) { + throw new NotFoundException(outputCase.getClass().getSimpleName()); + } + + public record UserDto( + String uuid, + String firstName, + String lastName, + String email, + String role, + Set brands) { + public UserDto { + if (uuid.isBlank()) { + throw new IllegalStateException("uuid cannot be empty"); + } + if (firstName.isBlank()) { + throw new IllegalStateException("firstName cannot be empty"); + } + if (lastName.isBlank()) { + throw new IllegalStateException("lastName cannot be empty"); + } + if (email.isBlank()) { + throw new IllegalStateException("email cannot be empty"); + } + if (role.isBlank()) { + throw new IllegalStateException("role cannot be empty"); + } + } + + public static UserDto of(GetUser.Output.UserOutput user) { + return new UserDto( + user.uuid().toString(), + user.firstName(), + user.lastName(), + user.email().value(), + user.role().value().toString(), + user.brandsUuids().stream().map(UUID::toString).collect(Collectors.toSet())); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/user/ListUsersPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/user/ListUsersPresenter.java new file mode 100644 index 0000000..d5585e4 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/user/ListUsersPresenter.java @@ -0,0 +1,52 @@ +package tech.pegase.z3.application.presenter.user; + +import jakarta.enterprise.context.ApplicationScoped; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.dto.PaginatedDto; +import tech.pegase.z3.domain.usecase.users.ListUsers; + +@ApplicationScoped +public class ListUsersPresenter + implements Presenter< + ListUsers, ListUsers.Output, RestResponse>> { + @Override + public RestResponse> present(ListUsers.Output output) { + return switch (output) { + case ListUsers.Output.PaginatedUsers outputCase -> present(outputCase); + }; + } + + private RestResponse> present(ListUsers.Output.PaginatedUsers outputCase) { + return RestResponse.ok(PaginatedDto.of(outputCase.userList(), UserDto::of)); + } + + public record UserDto(String uuid, String firstName, String lastName, String email, String role) { + public UserDto { + if (uuid.isBlank()) { + throw new IllegalStateException("uuid cannot be empty"); + } + if (firstName.isBlank()) { + throw new IllegalStateException("firstName cannot be empty"); + } + if (lastName.isBlank()) { + throw new IllegalStateException("lastName cannot be empty"); + } + if (email.isBlank()) { + throw new IllegalStateException("email cannot be empty"); + } + if (role.isBlank()) { + throw new IllegalStateException("role cannot be empty"); + } + } + + public static UserDto of(ListUsers.Output.UserOutput user) { + return new UserDto( + user.uuid().toString(), + user.firstName(), + user.lastName(), + user.email().value(), + user.role().value().toString()); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/user/RemoveUserPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/user/RemoveUserPresenter.java new file mode 100644 index 0000000..7dc21a3 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/user/RemoveUserPresenter.java @@ -0,0 +1,35 @@ +package tech.pegase.z3.application.presenter.user; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.ws.rs.ForbiddenException; +import jakarta.ws.rs.NotFoundException; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.dto.MessageDto; +import tech.pegase.z3.domain.usecase.users.RemoveUser; +import tech.pegase.z3.domain.usecase.users.RemoveUser.Output.ForbiddenAction; + +@ApplicationScoped +public class RemoveUserPresenter + implements Presenter> { + @Override + public RestResponse present(RemoveUser.Output output) { + return switch (output) { + case RemoveUser.Output.Removed outputCase -> present(outputCase); + case RemoveUser.Output.NotSuchUser outputCase -> present(outputCase); + case ForbiddenAction outputCase -> present(outputCase); + }; + } + + private RestResponse present(RemoveUser.Output.Removed ignored) { + return RestResponse.ok(MessageDto.of("A été supprimé")); + } + + private RestResponse present(RemoveUser.Output.NotSuchUser outputCase) { + throw new NotFoundException(outputCase.getClass().getSimpleName()); + } + + private RestResponse present(ForbiddenAction outputCase) { + throw new ForbiddenException(outputCase.getClass().getSimpleName()); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/user/ResetUserPasswordPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/user/ResetUserPasswordPresenter.java new file mode 100644 index 0000000..916bae8 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/user/ResetUserPasswordPresenter.java @@ -0,0 +1,44 @@ +package tech.pegase.z3.application.presenter.user; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.ws.rs.NotFoundException; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.exception.ServerErrorException; +import tech.pegase.z3.domain.usecase.users.ResetUserPassword; +import tech.pegase.z3.domain.usecase.users.ResetUserPassword.Output; +import tech.pegase.z3.domain.usecase.users.ResetUserPassword.Output.MessageSent; + +@ApplicationScoped +public class ResetUserPasswordPresenter + implements Presenter< + ResetUserPassword, + ResetUserPassword.Output, + RestResponse> { + @Override + public RestResponse present(ResetUserPassword.Output output) { + return switch (output) { + case MessageSent outputCase -> present(outputCase); + case ResetUserPassword.Output.NotSuchUser outputCase -> present(outputCase); + case ResetUserPassword.Output.MessageCannotBeSent outputCase -> present(outputCase); + }; + } + + private RestResponse present(Output.MessageSent ignoredOutputCase) { + return RestResponse.ok(MessageDto.of("Message envoyé")); + } + + private RestResponse present(Output.NotSuchUser outputCase) { + throw new NotFoundException(outputCase.getClass().getSimpleName()); + } + + private RestResponse present(Output.MessageCannotBeSent outputCase) { + throw new ServerErrorException(outputCase.getClass().getSimpleName(), 502); + } + + public record MessageDto(String value) { + public static MessageDto of(String message) { + return new MessageDto(message); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/user/UpdateUserPresenter.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/user/UpdateUserPresenter.java new file mode 100644 index 0000000..7849923 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/user/UpdateUserPresenter.java @@ -0,0 +1,72 @@ +package tech.pegase.z3.application.presenter.user; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.ws.rs.NotFoundException; +import java.util.Set; +import java.util.UUID; +import java.util.stream.Collectors; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.happy.core.Presenter; +import tech.pegase.z3.application.exception.ValidationException; +import tech.pegase.z3.domain.usecase.users.UpdateUser; + +@ApplicationScoped +public class UpdateUserPresenter + implements Presenter> { + @Override + public RestResponse present(UpdateUser.Output output) { + return switch (output) { + case UpdateUser.Output.Updated outputCase -> present(outputCase); + case UpdateUser.Output.NoSuchUser outputCase -> present(outputCase); + case UpdateUser.Output.NotUpdated outputCase -> present(outputCase); + }; + } + + private RestResponse present(UpdateUser.Output.Updated outputCase) { + return RestResponse.ok(UserDto.of(outputCase.value())); + } + + private RestResponse present(UpdateUser.Output.NoSuchUser outputCase) { + throw new NotFoundException(outputCase.getClass().getSimpleName()); + } + + private RestResponse present(UpdateUser.Output.NotUpdated outputCase) { + throw ValidationException.of(outputCase.reasons().invalidFields()); + } + + public record UserDto( + String uuid, + String firstName, + String lastName, + String email, + String role, + Set brands) { + public UserDto { + if (uuid.isBlank()) { + throw new IllegalStateException("uuid cannot be empty"); + } + if (firstName.isBlank()) { + throw new IllegalStateException("firstName cannot be empty"); + } + if (lastName.isBlank()) { + throw new IllegalStateException("lastName cannot be empty"); + } + if (email.isBlank()) { + throw new IllegalStateException("email cannot be empty"); + } + if (role.isBlank()) { + throw new IllegalStateException("role cannot be empty"); + } + } + + public static UpdateUserPresenter.UserDto of(UpdateUser.Output.UserOutput user) { + return new UpdateUserPresenter.UserDto( + user.uuid().toString(), + user.firstName(), + user.lastName(), + user.email().value(), + user.role().value().toString(), + user.brandsUuids().stream().map(UUID::toString).collect(Collectors.toSet())); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/presenter/user/package-info.java b/z3-application/src/main/java/tech/pegase/z3/application/presenter/user/package-info.java new file mode 100644 index 0000000..a4d3593 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/presenter/user/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.application.presenter.user; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-application/src/main/java/tech/pegase/z3/application/producer/UserContextProducer.java b/z3-application/src/main/java/tech/pegase/z3/application/producer/UserContextProducer.java new file mode 100644 index 0000000..9cf65cc --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/producer/UserContextProducer.java @@ -0,0 +1,50 @@ +package tech.pegase.z3.application.producer; + +import io.quarkus.narayana.jta.QuarkusTransaction; +import io.quarkus.narayana.jta.TransactionRunnerOptions; +import io.quarkus.narayana.jta.TransactionSemantics; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.context.RequestScoped; +import jakarta.inject.Inject; +import jakarta.ws.rs.Produces; +import java.util.UUID; +import org.eclipse.microprofile.jwt.Claim; +import org.eclipse.microprofile.jwt.Claims; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.application.context.UserContext; +import tech.pegase.z3.application.context.UserContextNull; +import tech.pegase.z3.application.presenter.auth.UserContextPresenter; +import tech.pegase.z3.domain.usecase.users.GetUser; + +/** + * Quarkus transaction is needed only here because classic use case executor need UserContext to be + * injected. + */ +@NullMarked +@ApplicationScoped +public class UserContextProducer { + private final TransactionRunnerOptions useCaseExecutor; + private final GetUser getUserUseCase; + private final UserContextPresenter userContextPresenter; + + @Inject + public UserContextProducer(GetUser getUserUseCase, UserContextPresenter userContextPresenter) { + this.getUserUseCase = getUserUseCase; + this.useCaseExecutor = QuarkusTransaction.runner(TransactionSemantics.REQUIRE_NEW); + this.userContextPresenter = userContextPresenter; + } + + @RequestScoped + @Produces + public @Nullable UserContext currentUser(@Nullable @Claim(standard = Claims.sub) String userId) { + if (userId == null) { + return new UserContextNull(); + } + + var input = new GetUser.Input.ForId(UUID.fromString(userId)); + var output = useCaseExecutor.call(() -> getUserUseCase.run(input)); + + return userContextPresenter.present(output); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/provider/JwtContextFilter.java b/z3-application/src/main/java/tech/pegase/z3/application/provider/JwtContextFilter.java new file mode 100644 index 0000000..07ae600 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/provider/JwtContextFilter.java @@ -0,0 +1,51 @@ +package tech.pegase.z3.application.provider; + +import io.quarkus.security.AuthenticationFailedException; +import jakarta.ws.rs.container.ContainerRequestContext; +import jakarta.ws.rs.container.ContainerRequestFilter; +import jakarta.ws.rs.ext.Provider; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.application.context.UserContext; +import tech.pegase.z3.application.provider.exception.ErrorJsonExceptionMapper; + +/** This is used. */ +@Provider +public class JwtContextFilter implements ContainerRequestFilter { + private final UserContext userContext; + private final ErrorJsonExceptionMapper errorJsonExceptionMapper; + + public JwtContextFilter( + UserContext userContext, ErrorJsonExceptionMapper errorJsonExceptionMapper) { + this.userContext = userContext; + this.errorJsonExceptionMapper = errorJsonExceptionMapper; + } + + @Override + public void filter(ContainerRequestContext ctx) { + var jwtUserId = jwtUserId(ctx); + var contextUserId = userContextId(userContext); + + // ? JWT TOKEN GIVEN ? + if (jwtUserId == null) { + // ! No, then just continue + return; + } + + // ? Does the JWT identified user matches our user context ? + if (!jwtUserId.equals(contextUserId)) { + ctx.abortWith( + errorJsonExceptionMapper.toResponse( + new AuthenticationFailedException("Jwt token does not match any user"))); + } + } + + private @Nullable String jwtUserId(ContainerRequestContext requestContext) { + var securityContext = requestContext.getSecurityContext(); + var principal = securityContext.getUserPrincipal(); + return principal != null ? principal.getName() : null; + } + + private @Nullable String userContextId(UserContext userContext) { + return userContext.getId() != null ? userContext.getId().toString() : null; + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/AuthenticationExceptionMapper.java b/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/AuthenticationExceptionMapper.java new file mode 100644 index 0000000..0d4943d --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/AuthenticationExceptionMapper.java @@ -0,0 +1,35 @@ +package tech.pegase.z3.application.provider.exception; + +import io.quarkus.security.AuthenticationFailedException; +import jakarta.annotation.Priority; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.Response.Status; +import jakarta.ws.rs.ext.ExceptionMapper; +import jakarta.ws.rs.ext.Provider; +import org.jboss.logging.Logger; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.z3.application.dto.MessageDto; + +/** + * Catch authentication Exceptions see GH issue. + */ +@Provider +@Priority(1) +public class AuthenticationExceptionMapper + implements ExceptionMapper { + private static final Logger logger = Logger.getLogger(AuthenticationExceptionMapper.class); + + @Override + public Response toResponse(AuthenticationFailedException e) { + final var message = "Unauthenticated"; + logger.debug(message); + try (var response = RestResponse.status(Status.UNAUTHORIZED, MessageDto.of(message))) { + return response.toResponse(); + } catch (Error err) { + logger.fatalf(err.getMessage(), err); + return Response.status(Status.INTERNAL_SERVER_ERROR.getStatusCode(), "Unhandled Server error") + .build(); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/AutorisationExceptionMapper.java b/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/AutorisationExceptionMapper.java new file mode 100644 index 0000000..ea94a8d --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/AutorisationExceptionMapper.java @@ -0,0 +1,28 @@ +package tech.pegase.z3.application.provider.exception; + +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.Response.Status; +import jakarta.ws.rs.ext.ExceptionMapper; +import jakarta.ws.rs.ext.Provider; +import org.jboss.logging.Logger; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.z3.application.dto.MessageDto; +import tech.pegase.z3.application.exception.AuthorizationException; + +@Provider +public class AutorisationExceptionMapper implements ExceptionMapper { + private static final Logger logger = Logger.getLogger(AutorisationExceptionMapper.class); + + @Override + public Response toResponse(AuthorizationException e) { + var message = e.getMessage(); + logger.debug(message); + try (var response = RestResponse.status(Status.FORBIDDEN, MessageDto.of(message))) { + return response.toResponse(); + } catch (Error err) { + logger.fatalf(err.getMessage(), err); + return Response.status(Status.INTERNAL_SERVER_ERROR.getStatusCode(), "Unhandled Server error") + .build(); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/ErrorJsonExceptionMapper.java b/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/ErrorJsonExceptionMapper.java new file mode 100644 index 0000000..18ba58e --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/ErrorJsonExceptionMapper.java @@ -0,0 +1,73 @@ +package tech.pegase.z3.application.provider.exception; + +import io.quarkus.security.AuthenticationFailedException; +import jakarta.ws.rs.WebApplicationException; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.Response.Status; +import jakarta.ws.rs.ext.ExceptionMapper; +import jakarta.ws.rs.ext.Provider; +import java.util.Map; +import java.util.stream.Collectors; +import org.jboss.logging.Logger; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.z3.application.dto.MessageDto; +import tech.pegase.z3.application.exception.ValidationException; +import tech.pegase.z3.application.exception.ValidationException.ValidationError; + +@Provider +public class ErrorJsonExceptionMapper implements ExceptionMapper { + private static final Logger logger = Logger.getLogger(ErrorJsonExceptionMapper.class); + + @Override + public Response toResponse(Exception e) { + logger.debug(e.getMessage()); + + if (e instanceof ValidationException) { + return mapValidationExceptionToResponse((ValidationException) e); + } + + try (var mappedResponse = mapExceptionToResponse(e)) { + return mappedResponse.toResponse(); + } + } + + private Response mapValidationExceptionToResponse(ValidationException e) { + try (var restResponse = + RestResponse.status( + Status.BAD_REQUEST, + Map.of( + "errors", + e.getErrors().stream() + .collect( + Collectors.toMap(ValidationError::field, ValidationError::message))))) { + var customResponse = Response.fromResponse(restResponse.toResponse()); + customResponse.status(422); + return customResponse.build(); + } + } + + private RestResponse mapExceptionToResponse(Exception exception) { + var message = MessageDto.of(exception.getMessage()); + + return switch (exception) { + // * 401 + case AuthenticationFailedException ignored -> + RestResponse.status(Status.UNAUTHORIZED, message); + + // * 400 + case IllegalStateException ignored -> RestResponse.status(Status.BAD_REQUEST, message); + case IllegalArgumentException ignored -> RestResponse.status(Status.BAD_REQUEST, message); + + // ? Any ? + case WebApplicationException e -> + RestResponse.status(Status.fromStatusCode(e.getResponse().getStatus()), message); + + // ! 500 + default -> { + /* Use 500 (Internal Server Error) for all other. */ + logger.fatalf(exception, "Unhandled Server error"); + yield RestResponse.status(Status.INTERNAL_SERVER_ERROR, MessageDto.of("Erreur serveur")); + } + }; + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/ForbiddenExceptionMapper.java b/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/ForbiddenExceptionMapper.java new file mode 100644 index 0000000..3188e72 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/ForbiddenExceptionMapper.java @@ -0,0 +1,34 @@ +package tech.pegase.z3.application.provider.exception; + +import io.quarkus.security.ForbiddenException; +import jakarta.annotation.Nullable; +import jakarta.annotation.Priority; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.Response.Status; +import jakarta.ws.rs.ext.ExceptionMapper; +import jakarta.ws.rs.ext.Provider; +import org.jboss.logging.Logger; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.z3.application.dto.MessageDto; + +@Provider +// override the build-int mapper(which has 5001 prio) +@Priority(1) +public class ForbiddenExceptionMapper implements ExceptionMapper { + private static final Logger logger = Logger.getLogger(AutorisationExceptionMapper.class); + + @Override + public Response toResponse(ForbiddenException e) { + @Nullable var message = e.getMessage(); + logger.debug(message); + try (var response = + RestResponse.status( + Status.FORBIDDEN, MessageDto.of(message != null ? message : "Unauthorized"))) { + return response.toResponse(); + } catch (Error err) { + logger.fatalf(err.getMessage(), err); + return Response.status(Status.INTERNAL_SERVER_ERROR.getStatusCode(), "Unhandled Server error") + .build(); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/InvalidFormatExceptionMapper.java b/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/InvalidFormatExceptionMapper.java new file mode 100644 index 0000000..68ebf64 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/InvalidFormatExceptionMapper.java @@ -0,0 +1,54 @@ +package tech.pegase.z3.application.provider.exception; + +import com.fasterxml.jackson.databind.exc.InvalidFormatException; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.Response.Status; +import jakarta.ws.rs.ext.ExceptionMapper; +import jakarta.ws.rs.ext.Provider; +import java.util.Map; +import org.apache.commons.collections4.map.HashedMap; +import org.jboss.logging.Logger; +import org.jboss.resteasy.reactive.RestResponse; + +/// Handle Json to Request Mapper Exceptions +@Provider +@SuppressWarnings("unused") +public class InvalidFormatExceptionMapper implements ExceptionMapper { + private static final Logger logger = Logger.getLogger(InvalidFormatExceptionMapper.class); + private static final Integer statusCode = 422; + + @Override + public Response toResponse(InvalidFormatException e) { + var message = e.getOriginalMessage(); + + var targetType = e.getTargetType(); + var fieldName = e.getPath().getLast().getFieldName(); + var providedValue = e.getValue(); + + try (var restResponse = + RestResponse.status(Status.FORBIDDEN, mapExceptionToValidationErrors(e))) { + var customResponse = Response.fromResponse(restResponse.toResponse()); + customResponse.status(statusCode); + return customResponse.build(); + } catch (Error err) { + logger.fatalf(err.getMessage(), err); + return Response.status(Status.INTERNAL_SERVER_ERROR.getStatusCode(), "Unhandled Server error") + .build(); + } + } + + private ValidationErrors mapExceptionToValidationErrors(InvalidFormatException e) { + Map errors = new HashedMap<>(); + var targetType = e.getTargetType().getSimpleName().toLowerCase(); + var fieldName = e.getPath().getLast().getFieldName(); + var providedValue = e.getValue().toString(); + + errors.put( + fieldName, + "The value has to be a %s value given is '%s'".formatted(targetType, providedValue)); + + return new ValidationErrors(errors); + } + + private record ValidationErrors(Map errors) {} +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/JsonProcessingExceptionMapper.java b/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/JsonProcessingExceptionMapper.java new file mode 100644 index 0000000..55515fe --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/JsonProcessingExceptionMapper.java @@ -0,0 +1,29 @@ +package tech.pegase.z3.application.provider.exception; + +import com.fasterxml.jackson.core.JsonProcessingException; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.Response.Status; +import jakarta.ws.rs.ext.ExceptionMapper; +import jakarta.ws.rs.ext.Provider; +import org.jboss.logging.Logger; +import org.jboss.resteasy.reactive.RestResponse; +import tech.pegase.z3.application.dto.MessageDto; + +/// Handle Invalid Json format on request +@Provider +public class JsonProcessingExceptionMapper implements ExceptionMapper { + private static final Logger logger = Logger.getLogger(JsonProcessingExceptionMapper.class); + + @Override + public Response toResponse(JsonProcessingException e) { + var message = e.getMessage(); + logger.debug(message); + try (var response = RestResponse.status(Status.BAD_REQUEST, MessageDto.of(message))) { + return response.toResponse(); + } catch (Error err) { + logger.fatalf(err.getMessage(), err); + return Response.status(Status.INTERNAL_SERVER_ERROR.getStatusCode(), "Unhandled Server error") + .build(); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/ValidationExceptionMapper.java b/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/ValidationExceptionMapper.java new file mode 100644 index 0000000..e02d4fe --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/ValidationExceptionMapper.java @@ -0,0 +1,109 @@ +package tech.pegase.z3.application.provider.exception; + +import io.quarkus.hibernate.validator.runtime.jaxrs.ResteasyReactiveViolationException; +import io.quarkus.hibernate.validator.runtime.jaxrs.ResteasyReactiveViolationExceptionMapper; +import io.quarkus.hibernate.validator.runtime.jaxrs.ValidatorMediaTypeUtil; +import io.quarkus.hibernate.validator.runtime.jaxrs.ViolationReport; +import io.quarkus.hibernate.validator.runtime.jaxrs.ViolationReport.Violation; +import jakarta.validation.ConstraintViolationException; +import jakarta.validation.ValidationException; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.Response.Status; +import jakarta.ws.rs.ext.ExceptionMapper; +import jakarta.ws.rs.ext.Provider; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import org.apache.commons.collections4.map.HashedMap; +import org.jboss.logging.Logger; +import org.jboss.resteasy.reactive.common.util.ServerMediaType; +import org.jboss.resteasy.reactive.server.core.CurrentRequestManager; +import org.jboss.resteasy.reactive.server.core.ResteasyReactiveRequestContext; + +/// Handle Jakarta Validation errors +@Provider +public class ValidationExceptionMapper extends ResteasyReactiveViolationExceptionMapper + implements ExceptionMapper { + private static final Logger logger = Logger.getLogger(ValidationExceptionMapper.class); + private static final String VALIDATION_HEADER = "validation-exception"; + private static final List SUPPORTED_MEDIA_TYPES = + List.of(MediaType.valueOf(MediaType.APPLICATION_JSON)); + private static final Integer statusCode = 422; + + @Override + public Response toResponse(ValidationException e) { + logger.debug("Could not validate request"); + + // Allow parent to make verifications. + try (var ignored = super.toResponse(e)) { + + // Customize response with validation errors + var resteasyViolationException = (ResteasyReactiveViolationException) e; + return buildViolationReportResponse(resteasyViolationException); + } + } + + private Response buildViolationReportResponse(ConstraintViolationException cve) { + var builder = Response.status(statusCode); + var rrContext = CurrentRequestManager.get(); + + // Check standard media types. + var mediaType = + ValidatorMediaTypeUtil.getAcceptMediaType( + rrContext.getHttpHeaders().getAcceptableMediaTypes(), serverMediaTypes(rrContext)); + + if (mediaType == null) { + mediaType = MediaType.APPLICATION_JSON_TYPE; + } + + builder.header(VALIDATION_HEADER, "true"); + + List violationsInReport = new ArrayList<>(cve.getConstraintViolations().size()); + + for (var cv : cve.getConstraintViolations()) { + violationsInReport.add( + new ViolationReport.Violation(cv.getPropertyPath().toString(), cv.getMessage())); + } + + var violationReport = + new ViolationReport(cve.getMessage(), Status.BAD_REQUEST, violationsInReport); + + violationReport.setStatus(statusCode); + builder.entity(violationReportToValidationErrors(violationReport)); + builder.type(mediaType); + + return builder.build(); + } + + private ValidationErrors violationReportToValidationErrors(ViolationReport violationReport) { + Map violations = new HashedMap<>(); + + for (var violation : violationReport.getViolations()) { + var field = violation.getField().substring(violation.getField().lastIndexOf(".") + 1); + violations.compute( + field, + (k, previousError) -> + previousError != null + ? previousError + ", " + violation.getMessage() + : violation.getMessage()); + } + + return new ValidationErrors(violations); + } + + private List serverMediaTypes(ResteasyReactiveRequestContext context) { + ServerMediaType serverMediaType; + if (context.getTarget() == null) { + return SUPPORTED_MEDIA_TYPES; + } + serverMediaType = context.getTarget().getProduces(); + if (serverMediaType == null) { + return SUPPORTED_MEDIA_TYPES; + } + return Arrays.asList(serverMediaType.getSortedMediaTypes()); + } + + private record ValidationErrors(Map errors) {} +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/package-info.java b/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/package-info.java new file mode 100644 index 0000000..341e6a1 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/provider/exception/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.application.provider.exception; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-application/src/main/java/tech/pegase/z3/application/provider/package-info.java b/z3-application/src/main/java/tech/pegase/z3/application/provider/package-info.java new file mode 100644 index 0000000..7627f28 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/provider/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.application.provider; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/Request.java b/z3-application/src/main/java/tech/pegase/z3/application/request/Request.java new file mode 100644 index 0000000..4d03383 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/Request.java @@ -0,0 +1,49 @@ +package tech.pegase.z3.application.request; + +import java.util.function.Function; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.application.exception.ValidationException; +import tech.pegase.z3.application.exception.ValidationException.ValidationError; + +@NullMarked +public interface Request { + /** Validate a field or throw ValidationException. */ + static @Nullable ToT validate( + String fieldName, + @Nullable FromT from, + Function<@Nullable FromT, @Nullable ToT> validator) + throws ValidationException { + try { + return validator.apply(from); + } catch (IllegalStateException e) { + throw ValidationException.of(ValidationError.of(fieldName, e.getMessage())); + } + } + + /** Validate a field or throw ValidationException. */ + static ToT validateNonNullable( + String fieldName, + FromT from, + Function validator) + throws ValidationException { + try { + return validator.apply(from); + } catch (IllegalStateException e) { + throw ValidationException.of(ValidationError.of(fieldName, e.getMessage())); + } + } + + /** Validate a field or throw ValidationException. */ + static , ToT extends Enum, FromT> @Nullable ToT validateEnum( + String fieldName, + @Nullable FromT from, + Function<@Nullable FromT, @Nullable ToT> validator) + throws ValidationException { + try { + return validator.apply(from); + } catch (IllegalStateException e) { + throw ValidationException.of(ValidationError.of(fieldName, e.getMessage())); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/auth/AuthRequest.java b/z3-application/src/main/java/tech/pegase/z3/application/request/auth/AuthRequest.java new file mode 100644 index 0000000..57cf81d --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/auth/AuthRequest.java @@ -0,0 +1,23 @@ +package tech.pegase.z3.application.request.auth; + +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import tech.pegase.z3.application.request.Request; + +public class AuthRequest implements Request { + @NotNull @NotEmpty private final String login; + @NotNull @NotEmpty private final String password; + + private AuthRequest(String login, String password) { + this.login = login; + this.password = password; + } + + public String getLogin() { + return login.trim(); + } + + public String getPassword() { + return password.trim(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/auth/ChangePasswordRequest.java b/z3-application/src/main/java/tech/pegase/z3/application/request/auth/ChangePasswordRequest.java new file mode 100644 index 0000000..caef504 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/auth/ChangePasswordRequest.java @@ -0,0 +1,31 @@ +package tech.pegase.z3.application.request.auth; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import java.util.Objects; +import tech.pegase.z3.application.request.Request; +import tech.pegase.z3.domain.valueobject.Password; + +public record ChangePasswordRequest( + @NotNull + @NotEmpty + String password, + + @NotNull + @NotEmpty + @JsonProperty("new-password") + String newPassword + +) implements Request { + + public Password getPassword() { + return Objects.requireNonNull(Request.validate("password", password, + password -> password != null ? Password.of(password) : null)); + } + + public Password getNewPassword() { + return Objects.requireNonNull(Request.validate("newPassword", newPassword, + newPassword -> newPassword != null ? Password.of(newPassword) : null)); + } +} \ No newline at end of file diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/brand/CreateBrandRequest.java b/z3-application/src/main/java/tech/pegase/z3/application/request/brand/CreateBrandRequest.java new file mode 100644 index 0000000..4d84218 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/brand/CreateBrandRequest.java @@ -0,0 +1,37 @@ +package tech.pegase.z3.application.request.brand; + +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import java.util.Set; +import java.util.stream.Collectors; +import tech.pegase.z3.application.exception.ValidationException; +import tech.pegase.z3.application.exception.ValidationException.ValidationError; +import tech.pegase.z3.application.request.Request; +import tech.pegase.z3.domain.valueobject.Fqdn; + + +public record CreateBrandRequest( + @NotEmpty + @Size(min = 1, max = 255) + String name, + + @NotNull + Set fqdns + +) implements Request { + + public String getName() { + return name; + } + + public Set getFqdns() { + try { + return fqdns.stream() + .map(Fqdn::new) + .collect(Collectors.toSet()); + } catch (IllegalStateException e) { + throw ValidationException.of(ValidationError.of("fqdns", e.getMessage())); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/brand/PaginatedBrandListRequest.java b/z3-application/src/main/java/tech/pegase/z3/application/request/brand/PaginatedBrandListRequest.java new file mode 100644 index 0000000..051bfdc --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/brand/PaginatedBrandListRequest.java @@ -0,0 +1,33 @@ +package tech.pegase.z3.application.request.brand; + +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.QueryParam; +import tech.pegase.z3.application.request.Request; + +public class PaginatedBrandListRequest implements Request { + + @QueryParam("page") + @jakarta.annotation.Nullable + @Min(1) + @DefaultValue("1") + Integer page; + + @QueryParam("perPage") + @jakarta.annotation.Nullable + @Min(1) + @Max(50) + @DefaultValue("1") + Integer perPage; + + protected PaginatedBrandListRequest() {} + + public Integer getPage() { + return page == null ? 1 : page; + } + + public Integer getPerPage() { + return perPage == null ? 15 : perPage; + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/brand/UpdateBrandRequest.java b/z3-application/src/main/java/tech/pegase/z3/application/request/brand/UpdateBrandRequest.java new file mode 100644 index 0000000..f96dcce --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/brand/UpdateBrandRequest.java @@ -0,0 +1,38 @@ +package tech.pegase.z3.application.request.brand; + +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import java.util.Set; +import java.util.stream.Collectors; +import tech.pegase.z3.application.exception.ValidationException; +import tech.pegase.z3.application.exception.ValidationException.ValidationError; +import tech.pegase.z3.application.request.Request; +import tech.pegase.z3.domain.valueobject.Fqdn; + +public record UpdateBrandRequest( + + @NotEmpty + @Size(min = 1, max = 255) + String name, + + @NotNull + Set fqdns + +) implements Request { + + public String getName() { + return name; + } + + public Set getFqdns() { + try { + return fqdns.stream() + .map(Fqdn::new) + .collect(Collectors.toSet()); + } catch (IllegalStateException e) { + throw ValidationException.of(ValidationError.of("fqdns", e.getMessage())); + } + } + +} \ No newline at end of file diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/brand/package-info.java b/z3-application/src/main/java/tech/pegase/z3/application/request/brand/package-info.java new file mode 100644 index 0000000..da6ed71 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/brand/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.application.request.brand; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/catalog/CreateCatalogRequest.java b/z3-application/src/main/java/tech/pegase/z3/application/request/catalog/CreateCatalogRequest.java new file mode 100644 index 0000000..dc3bf63 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/catalog/CreateCatalogRequest.java @@ -0,0 +1,28 @@ +package tech.pegase.z3.application.request.catalog; + +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import java.util.UUID; +import tech.pegase.z3.application.request.Request; + +public record CreateCatalogRequest( + + @NotEmpty + @Size(min = 1, max = 255) + String name, + + @NotNull + UUID brand + +) implements Request { + + public String getName() { + return name.trim(); + } + + + public UUID getBrand() { + return brand; + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/catalog/PaginatedCatalogListRequest.java b/z3-application/src/main/java/tech/pegase/z3/application/request/catalog/PaginatedCatalogListRequest.java new file mode 100644 index 0000000..f6db1f5 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/catalog/PaginatedCatalogListRequest.java @@ -0,0 +1,44 @@ +package tech.pegase.z3.application.request.catalog; + +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.QueryParam; +import java.util.UUID; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.application.request.Request; + +public class PaginatedCatalogListRequest implements Request { + + @QueryParam("page") + @jakarta.annotation.Nullable + @Min(1) + @DefaultValue("1") + Integer page; + + @QueryParam("perPage") + @jakarta.annotation.Nullable + @Min(1) + @Max(50) + @DefaultValue("1") + Integer perPage; + + @QueryParam("brand") + @jakarta.annotation.Nullable + @Nullable + UUID brand; + + protected PaginatedCatalogListRequest() {} + + public Integer getPage() { + return page == null ? 1 : page; + } + + public Integer getPerPage() { + return perPage == null ? 15 : perPage; + } + + public @Nullable UUID getBrand() { + return brand; + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/catalog/UpdateCatalogRequest.java b/z3-application/src/main/java/tech/pegase/z3/application/request/catalog/UpdateCatalogRequest.java new file mode 100644 index 0000000..6597dad --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/catalog/UpdateCatalogRequest.java @@ -0,0 +1,24 @@ +package tech.pegase.z3.application.request.catalog; + +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.Size; +import tech.pegase.z3.application.request.Request; +import tech.pegase.z3.domain.usecase.catalogs.UpdateCatalog; + +public record UpdateCatalogRequest( + + @NotEmpty + @Size(min = 1, max = 255) + String name + +) implements Request { + + public static UpdateCatalogRequest of(UpdateCatalog.Output.CatalogOutput catalog) { + return new UpdateCatalogRequest( + catalog.name()); + } + + public String getName() { + return name.trim(); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/catalog/package-info.java b/z3-application/src/main/java/tech/pegase/z3/application/request/catalog/package-info.java new file mode 100644 index 0000000..3e6a1de --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/catalog/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.application.request.catalog; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/link/CreateLinkRequest.java b/z3-application/src/main/java/tech/pegase/z3/application/request/link/CreateLinkRequest.java new file mode 100644 index 0000000..1a591a1 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/link/CreateLinkRequest.java @@ -0,0 +1,65 @@ +package tech.pegase.z3.application.request.link; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import java.util.Objects; +import java.util.UUID; +import org.jspecify.annotations.NonNull; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.application.request.Request; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.shared.valueobject.Source; + +public record CreateLinkRequest( + + @jakarta.annotation.Nullable + @Nullable + @Size(min = 1, max = 255) + String source, + + @NotNull + @Size(min = 1, max = 350) + String target, + + @jakarta.annotation.Nullable + @Nullable + UUID tag, + + @jakarta.annotation.Nullable + @Nullable + UUID catalog, + + @jakarta.annotation.Nullable + @Nullable + UUID brand, + + @NotNull + @JsonProperty(value = "is_external") + Boolean isExternal + +) implements Request { + + public @Nullable Source getSource() { + return Request.validate("source", source, value -> + value != null ? Source.of(value.trim()) : null); + } + + public @NonNull Target getTarget() { + return Objects.requireNonNull( + Request.validate("target", target, value -> + value != null ? Target.of(value.trim()) : null)); + } + + public @Nullable UUID getBrand() { + return brand; + } + + public @Nullable UUID getTag() { + return tag; + } + + public @Nullable UUID getCatalog() { + return catalog; + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/link/PaginatedLinkListRequest.java b/z3-application/src/main/java/tech/pegase/z3/application/request/link/PaginatedLinkListRequest.java new file mode 100644 index 0000000..d69a520 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/link/PaginatedLinkListRequest.java @@ -0,0 +1,111 @@ +package tech.pegase.z3.application.request.link; + +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.QueryParam; +import java.util.HashMap; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.application.request.Request; +import tech.pegase.z3.domain.valueobject.concepts.Ordering; +import tech.pegase.z3.domain.valueobject.concepts.Searching; +import tech.pegase.z3.domain.valueobject.filterings.LinkFiltering; +import tech.pegase.z3.domain.valueobject.orderings.LinkOrdering; +import tech.pegase.z3.domain.valueobject.searchings.LinkSearching; + +public class PaginatedLinkListRequest implements Request { + + @QueryParam("page") + @jakarta.annotation.Nullable + @Min(1) + @DefaultValue("1") + Integer page; + + @QueryParam("perPage") + @jakarta.annotation.Nullable + @Nullable + @Min(1) + @Max(50) + @DefaultValue("1") + Integer perPage; + + @QueryParam("orderBy") + @jakarta.annotation.Nullable + @Nullable + String orderBy; + + @QueryParam("direction") + @jakarta.annotation.Nullable + @Nullable + String direction; + + @QueryParam("searchOn") + @jakarta.annotation.Nullable + @Nullable + String searchOn; + + @QueryParam("keywords") + @jakarta.annotation.Nullable + @Nullable + String keywords; + + @QueryParam("brand") + @jakarta.annotation.Nullable + @Nullable + String brand; + + @QueryParam("tag") + @jakarta.annotation.Nullable + @Nullable + String tag; + + @QueryParam("catalog") + @jakarta.annotation.Nullable + @Nullable + String catalog; + + protected PaginatedLinkListRequest() {} + + public Integer getPage() { + return page == null ? 1 : page; + } + + public Integer getPerPage() { + return perPage == null ? 15 : perPage; + } + + public LinkOrdering.@Nullable Field getOrderBy() { + return Request.validateEnum("orderBy", orderBy, + value -> value != null ? LinkOrdering.Field.of(value.toUpperCase()) : null + ); + } + + public LinkOrdering.@Nullable Direction getDirection() { + return Request.validateEnum("direction", direction, + value -> value != null ? Ordering.Direction.of(value.toUpperCase()) : null); + } + + public LinkSearching.@Nullable Field getSearchOn() { + return Request.validateEnum("searchOn", searchOn, + value -> value != null ? LinkSearching.Field.of(value.toUpperCase()) : null); + } + + public LinkSearching.@Nullable SearchValue getKeywords() { + return Request.validate("keywords", keywords, + value -> value != null ? Searching.SearchValue.of(value) : null); + } + + public LinkFiltering getFilters() { + var filters = new HashMap(); + + filters.put("BRAND", brand); + if (tag != null && !tag.isEmpty()) { + filters.put("TAG", tag); + } + if (catalog != null && !catalog.isEmpty()) { + filters.put("CATALOG", catalog); + } + + return LinkFiltering.of(filters); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/link/RedirectLinkRequest.java b/z3-application/src/main/java/tech/pegase/z3/application/request/link/RedirectLinkRequest.java new file mode 100644 index 0000000..5e3dd98 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/link/RedirectLinkRequest.java @@ -0,0 +1,168 @@ +package tech.pegase.z3.application.request.link; + +import inet.ipaddr.AddressStringException; +import inet.ipaddr.IPAddressString; +import jakarta.ws.rs.QueryParam; +import java.net.InetAddress; +import java.net.URI; +import java.util.Objects; +import java.util.Set; +import java.util.stream.Stream; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.application.exception.ValidationException; +import tech.pegase.z3.application.exception.ValidationException.ValidationError; +import tech.pegase.z3.application.request.Request; +import tech.pegase.z3.statistics.domain.valueobject.Fingerprint; +import tech.pegase.z3.statistics.domain.valueobject.Locale; +import tech.pegase.z3.statistics.domain.valueobject.ScreenProperties; + +public record RedirectLinkRequest( + + @jakarta.annotation.Nullable + @Nullable + @QueryParam("ip-address") + String ipAddress, + + @jakarta.annotation.Nullable + @Nullable + @QueryParam("dnt") + Boolean doNotTrack, + + @jakarta.annotation.Nullable + @Nullable + @QueryParam("fingerprint") + String fingerprint, + + @jakarta.annotation.Nullable + @Nullable + @QueryParam("lang") + String lang, + + @jakarta.annotation.Nullable + @Nullable + @QueryParam("region") + String region, + + @jakarta.annotation.Nullable + @Nullable + @QueryParam("referrer") + String referrer, + + @jakarta.annotation.Nullable + @Nullable + @QueryParam("user-agent") + String userAgent, + + @jakarta.annotation.Nullable + @Nullable + @QueryParam("screen-width") + Integer screenWidth, + + @jakarta.annotation.Nullable + @Nullable + @QueryParam("screen-height") + Integer screenHeight, + + @jakarta.annotation.Nullable + @Nullable + @QueryParam("screen-dpi") + Integer screenDpi + +) implements Request { + + public @Nullable InetAddress getIpAddress() { + return Request.validate("ip-address", ipAddress, this::toInetAddress); + } + + public @Nullable Boolean getDoNotTrack() { + return doNotTrack; + } + + public @Nullable Locale getLocale() { + var langIsNull = lang == null; + var regionIsNull = region == null; + var allAreNull = Stream.of(lang, region).allMatch(Objects::isNull); + + if (!allAreNull & (langIsNull | regionIsNull)) { + throw new ValidationException(Set.of( + ValidationError.of("lang", "is required with region"), + ValidationError.of("region", "is required with lang") + )); + } + + if (allAreNull) { + return null; + } + + return new Locale(lang, region); + } + + public @Nullable URI getReferrerUri() { + try { + if (referrer == null) { + return null; + } + + return URI.create(referrer); + } catch (Exception e) { + throw new ValidationException(Set.of( + ValidationError.of("referrer", "is not a valid referrer") + )); + } + } + + public @Nullable String getUserAgent() { + return userAgent; + } + + public @Nullable ScreenProperties getScreenProperties() { + var screenHeightIsNull = screenHeight == null; + var screenWidthIsNull = screenWidth == null; + var screenDpiIsNull = screenDpi == null; + var allAreNull = Stream.of(screenHeight, screenWidth, screenDpi) + .allMatch(Objects::isNull); + + if (!allAreNull & (screenHeightIsNull | screenWidthIsNull | screenDpiIsNull)) { + throw new ValidationException(Set.of( + ValidationError.of("screen-height", "is required with screen width and screen dpi"), + ValidationError.of("screen-width", "is required with screen height and screen dpi"), + ValidationError.of("screen-dpi", "is required with screen height and screen width") + )); + } + + if (allAreNull) { + return null; + } + + return new ScreenProperties(screenHeight, screenWidth, screenDpi); + } + + public @Nullable Fingerprint getFingerprint() { + try { + if (fingerprint == null) { + return null; + } + + return new Fingerprint(fingerprint); + } catch (IllegalStateException e) { + throw new ValidationException(Set.of( + ValidationError.of("fingerprint", "is not a valid fingerprint") + )); + } + } + + private @Nullable InetAddress toInetAddress(@Nullable String ipLiteral) { + try { + if (ipLiteral == null) { + return null; + } + + var ipAddressString = new IPAddressString(ipLiteral); + var ipAddress = ipAddressString.toAddress(); + + return ipAddress.toInetAddress(); + } catch (AddressStringException e) { + throw new IllegalStateException("Not a valid IP address: " + ipLiteral); + } + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/link/UpdateLinkRequest.java b/z3-application/src/main/java/tech/pegase/z3/application/request/link/UpdateLinkRequest.java new file mode 100644 index 0000000..f3ba0af --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/link/UpdateLinkRequest.java @@ -0,0 +1,51 @@ +package tech.pegase.z3.application.request.link; + +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import java.util.Objects; +import java.util.UUID; +import org.jspecify.annotations.NonNull; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.application.request.Request; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.domain.valueobject.Target; + +public record UpdateLinkRequest( + @NotNull + @Size(min = 1, max = 350) + String target, + + @NotNull + @JsonProperty(value = "is_external") + Boolean isExternal, + + @jakarta.annotation.Nullable + @Nullable + UUID tag, + + @jakarta.annotation.Nullable + @Nullable + String catalog + +) implements Request { + + public Boolean isExternal() { + return isExternal; + } + + public @NonNull Target getTarget() { + return Objects.requireNonNull( + Request.validate("target", target, value -> + value != null ? Target.of(value.trim()) : null)); + } + + public @Nullable UUID getTag() { + return tag; + } + + public @Nullable Slug getCatalog() { + return Request.validate("catalog", catalog, + value -> value != null ? Slug.of(value.trim()) : null); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/link/package-info.java b/z3-application/src/main/java/tech/pegase/z3/application/request/link/package-info.java new file mode 100644 index 0000000..bd7e4f2 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/link/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.application.request.link; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/reporting/UpdateUserReportingSubscriptionsRequest.java b/z3-application/src/main/java/tech/pegase/z3/application/request/reporting/UpdateUserReportingSubscriptionsRequest.java new file mode 100644 index 0000000..0e99053 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/reporting/UpdateUserReportingSubscriptionsRequest.java @@ -0,0 +1,19 @@ +package tech.pegase.z3.application.request.reporting; + +import jakarta.validation.constraints.NotNull; +import java.util.Set; +import java.util.UUID; +import org.jspecify.annotations.NullMarked; +import tech.pegase.z3.application.request.Request; + +@NullMarked +public record UpdateUserReportingSubscriptionsRequest( + + @NotNull + Set brands + +) implements Request { + public Set getBrands() { + return brands; + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/tag/CreateTagRequest.java b/z3-application/src/main/java/tech/pegase/z3/application/request/tag/CreateTagRequest.java new file mode 100644 index 0000000..015bf86 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/tag/CreateTagRequest.java @@ -0,0 +1,28 @@ +package tech.pegase.z3.application.request.tag; + +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.Size; +import java.util.Objects; +import tech.pegase.z3.application.request.Request; +import tech.pegase.z3.domain.valueobject.Color; + +public record CreateTagRequest( + + @NotEmpty + @Size(min = 1, max = 255) + String name, + + @NotEmpty + String color + +) implements Request { + + public String getName() { + return name.trim(); + } + + public Color getColor() { + return Objects.requireNonNull(Request.validate("color", color, + hexColor -> hexColor != null ? Color.of(hexColor.trim()) : null)); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/tag/PaginatedTagListRequest.java b/z3-application/src/main/java/tech/pegase/z3/application/request/tag/PaginatedTagListRequest.java new file mode 100644 index 0000000..b0467dc --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/tag/PaginatedTagListRequest.java @@ -0,0 +1,33 @@ +package tech.pegase.z3.application.request.tag; + +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.QueryParam; +import tech.pegase.z3.application.request.Request; + +public class PaginatedTagListRequest implements Request { + + @QueryParam("page") + @jakarta.annotation.Nullable + @Min(1) + @DefaultValue("1") + Integer page; + + @QueryParam("perPage") + @jakarta.annotation.Nullable + @Min(1) + @Max(50) + @DefaultValue("1") + Integer perPage; + + protected PaginatedTagListRequest() {} + + public Integer getPage() { + return page == null ? 1 : page; + } + + public Integer getPerPage() { + return perPage == null ? 1 : perPage; + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/tag/UpdateTagRequest.java b/z3-application/src/main/java/tech/pegase/z3/application/request/tag/UpdateTagRequest.java new file mode 100644 index 0000000..ce81e25 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/tag/UpdateTagRequest.java @@ -0,0 +1,28 @@ +package tech.pegase.z3.application.request.tag; + +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.Size; +import java.util.Objects; +import tech.pegase.z3.application.request.Request; +import tech.pegase.z3.domain.valueobject.Color; + +public record UpdateTagRequest( + + @NotEmpty + @Size(min = 1, max = 255) + String name, + + @NotEmpty + String color + +) implements Request { + + public String getName() { + return name.trim(); + } + + public Color getColor() { + return Objects.requireNonNull(Request.validate("color", color, + hexColor -> hexColor != null ? Color.of(hexColor.trim()) : null)); + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/tag/package-info.java b/z3-application/src/main/java/tech/pegase/z3/application/request/tag/package-info.java new file mode 100644 index 0000000..2ccf959 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/tag/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.application.request.tag; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/user/CreateUserRequest.java b/z3-application/src/main/java/tech/pegase/z3/application/request/user/CreateUserRequest.java new file mode 100644 index 0000000..562b181 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/user/CreateUserRequest.java @@ -0,0 +1,67 @@ +package tech.pegase.z3.application.request.user; + +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import java.util.Objects; +import java.util.Set; +import java.util.UUID; +import tech.pegase.z3.application.request.Request; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.domain.valueobject.Login; +import tech.pegase.z3.domain.valueobject.Role; +import tech.pegase.z3.domain.valueobject.Role.AccessLevel; + +public record CreateUserRequest( + + @NotEmpty + @Size(min = 1, max = 255) + String firstName, + + @NotEmpty + @Size(min = 1, max = 255) + String lastName, + + @NotEmpty + @Size(min = 1, max = 255) + String email, + + @NotEmpty + String role, + + @NotEmpty + @Size(min = 1, max = 255) + String login, + + @NotNull + Set brands + +) implements Request { + + public String getFirstName() { + return firstName.trim(); + } + + public String getLastName() { + return lastName.trim(); + } + + public Email getEmail() { + return Objects.requireNonNull(Request.validate("email", email, + email -> email != null ? Email.of(email.trim()) : null)); + } + + public Role getRole() { + return Objects.requireNonNull(Request.validate("role", role, + role -> role != null ? Role.of(AccessLevel.valueOf(role)) : null)); + } + + public Login getLogin() { + return Objects.requireNonNull(Request.validate("login", login, + login -> login != null ? Login.of(login.trim()) : null)); + } + + public Set getBrands() { + return brands; + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/user/PaginatedUserListRequest.java b/z3-application/src/main/java/tech/pegase/z3/application/request/user/PaginatedUserListRequest.java new file mode 100644 index 0000000..f0027da --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/user/PaginatedUserListRequest.java @@ -0,0 +1,33 @@ +package tech.pegase.z3.application.request.user; + +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.QueryParam; +import tech.pegase.z3.application.request.Request; + +public class PaginatedUserListRequest implements Request { + + @QueryParam("page") + @jakarta.annotation.Nullable + @Min(1) + @DefaultValue("1") + Integer page; + + @QueryParam("perPage") + @jakarta.annotation.Nullable + @Min(1) + @Max(50) + @DefaultValue("1") + Integer perPage; + + protected PaginatedUserListRequest() {} + + public Integer getPage() { + return page == null ? 1 : page; + } + + public Integer getPerPage() { + return perPage == null ? 15 : perPage; + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/request/user/UpdateUserRequest.java b/z3-application/src/main/java/tech/pegase/z3/application/request/user/UpdateUserRequest.java new file mode 100644 index 0000000..8003ed6 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/request/user/UpdateUserRequest.java @@ -0,0 +1,47 @@ +package tech.pegase.z3.application.request.user; + +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import java.util.Objects; +import java.util.Set; +import java.util.UUID; +import tech.pegase.z3.application.request.Request; +import tech.pegase.z3.domain.valueobject.Email; + +public record UpdateUserRequest( + + @NotEmpty + @Size(min = 1, max = 255) + String firstName, + + @NotEmpty + @Size(min = 1, max = 255) + String lastName, + + @NotEmpty + @Size(min = 1, max = 255) + String email, + + @NotNull + Set brands + +) implements Request { + + public String getFirstName() { + return firstName.trim(); + } + + public String getLastName() { + return lastName.trim(); + } + + public Email getEmail() { + return Objects.requireNonNull(Request.validate("email", email, + email -> email != null ? Email.of(email) : null)); + } + + public Set getBrands() { + return brands; + } +} diff --git a/z3-application/src/main/java/tech/pegase/z3/application/scheduler/ReportingSubscriptionScheduler.java b/z3-application/src/main/java/tech/pegase/z3/application/scheduler/ReportingSubscriptionScheduler.java new file mode 100644 index 0000000..19f8331 --- /dev/null +++ b/z3-application/src/main/java/tech/pegase/z3/application/scheduler/ReportingSubscriptionScheduler.java @@ -0,0 +1,53 @@ +package tech.pegase.z3.application.scheduler; + +import io.quarkus.scheduler.Scheduled; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import org.eclipse.microprofile.config.inject.ConfigProperty; +import org.jboss.logging.Logger; +import tech.pegase.happy.core.Presenter; +import tech.pegase.happy.core.usecase.UseCaseExecutor; +import tech.pegase.z3.domain.usecase.reporting.SendReports; +import tech.pegase.z3.domain.usecase.reporting.SendReports.Input; +import tech.pegase.z3.domain.usecase.reporting.SendReports.Output; +import tech.pegase.z3.domain.usecase.reporting.SendReports.Output.ReportsFailedFor; + +@ApplicationScoped +public class ReportingSubscriptionScheduler { + private static final Logger logger = Logger.getLogger(ReportingSubscriptionScheduler.class); + private final UseCaseExecutor useCaseExecutor; + private final SendReports sendReports; + private final String from; + + @Inject + public ReportingSubscriptionScheduler( + UseCaseExecutor executor, + SendReports useCase, + @ConfigProperty(name = "quarkus.mailer.from") String from) { + this.useCaseExecutor = executor; + this.sendReports = useCase; + this.from = from; + } + + @Scheduled(cron = "{z3.cron.sendInvalidLinksReports}") + void sendInvalidLinksReports() { + logger.info("Sending InvalidLinksReports"); + + var output = + useCaseExecutor + .forUseCase(sendReports) + .withParameter(new Input.SendReportsForInvalidLinks(from)) + .withPresenter((Presenter) output1 -> output1) + .run(); + + if (output instanceof Output.ReportsFailedFor) { + logger.info("Some reports failed :"); + ((ReportsFailedFor) output) + .reasonsPerUser() + .forEach((user, reason) -> logger.info("User '%s' -> %s".formatted(user, reason))); + return; + } + + logger.info("Ended sending reports with success"); + } +} diff --git a/z3-application/src/main/resources/application.properties b/z3-application/src/main/resources/application.properties new file mode 100644 index 0000000..91425b0 --- /dev/null +++ b/z3-application/src/main/resources/application.properties @@ -0,0 +1,132 @@ +# -- APPLICATION CONFIG +## - LOGGING +z3.logging.level=${APP_LOG_LEVEL:INFO} +# EXPORT +z3.export.resolver-fqdn=${APP_RESOLVER_FQDN} +## - DB +z3.db.kind=${APP_DB_KIND} +z3.db.username=${APP_DB_USERNAME} +z3.db.password=${APP_DB_PASSWORD} +z3.db.jdbc.url=${APP_DB_JDBC_URL} +## - JWT +z3.jwt.issuer=${APP_JWT_ISSUER} +z3.jwt.public-key=${APP_JWT_PUBLIC_KEY} +z3.jwt.private-key=${APP_JWT_PRIVATE_KEY} +## - UPLOAD +z3.upload.max-size=${APP_MAX_UPLOAD_SIZE:100M} +## - MAIL +z3.mail.auth-methods=${APP_MAIL_AUTH_METHOD:DIGEST-MD5 CRAM-SHA256 CRAM-SHA1 CRAM-MD5 PLAIN LOGIN} +z3.mail.from=${APP_MAIL_FROM} +z3.mail.host=${APP_MAIL_HOST} +z3.mail.port=${APP_MAIL_PORT} +z3.mail.start-tls=${APP_MAIL_START_TLS} +z3.mail.tls=${APP_MAIL_TLS} +z3.mail.username=${APP_MAIL_USERNAME} +z3.mail.password=${APP_MAIL_PASSWORD} +z3.mail.mock=${APP_MAIL_DEV_SIMULATE:true} +# - ENCRYPTION - RUNTIME +z3.infra.aes.key=${AES_KEY} +z3.infra.aes.salt=${AES_SALT} +z3.infra.aes.key-length=${AES_KEY_LENGTH} +# - ENCRYPTION - TESTS +%test.z3.infra.aes.key="password" +%test.z3.infra.aes.salt="salt" +%test.z3.infra.aes.key-length=256 + +# - ACCOUNT CREATION +z3.app.create-user-on-start=${APP_CREATE_USER_ON_START:} + +# - SCHEDULING +# By default, the syntax used for cron expressions is based on Quartz +# - https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html +# You can change the syntax using the following property: +# quarkus.scheduler.cron-type=unix +z3.cron.sendInvalidLinksReports=${APP_REPORT_INVALID_LINKS:0 0 0 * * ? *} + +# -- PRIVATE VARS + +# LOGGING - RUNTIME +quarkus.log.min-level=${z3.logging.level} + +# LOGGING - TEST +%test.quarkus.log.min-level=DEBUG + + +# DATABASE - RUNTIME +quarkus.datasource.db-kind=postgresql +quarkus.datasource.username=${z3.db.username} +quarkus.datasource.password=${z3.db.password} +quarkus.datasource.jdbc.url=${z3.db.jdbc.url} +quarkus.hibernate-orm.database.generation=validate +quarkus.hibernate-orm.jdbc.statement-batch-size=50 +quarkus.hibernate-orm.packages=tech.pegase.z3.domain,tech.pegase.z3.shared.valueobject,tech.pegase.z3.statistics.domain,tech.pegase.happy.core,com.blazebit.persistence.impl.function.entity +quarkus.flyway.active=true +quarkus.flyway.migrate-at-start=true +quarkus.flyway.default-schema=z3-backend +quarkus.hibernate-orm.database.default-schema=z3-backend +# To force quoting the any reserved key word on sql queries; +# https://www.baeldung.com/spring-boot-h2-jdbcsqlsyntaxerrorexception-expected-identifier +spring.jpa.properties.hibernate.globally_quoted_identifiers=true +%dev.quarkus.hibernate-orm.log.sql=true + +# DATABASE - TESTS +%test.quarkus.datasource.db-kind=h2 +%test.quarkus.datasource.username=hibernate +%test.quarkus.datasource.password=hibernate +%test.quarkus.datasource.jdbc.url=jdbc:h2:mem:default;DB_CLOSE_ON_EXIT=FALSE;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;INIT=CREATE SCHEMA IF NOT EXISTS "z3-backend"\\;SET SCHEMA "z3-backend"; +%test.quarkus.hibernate-orm.database.generation=none +%test.quarkus.hibernate-orm.jdbc.statement-batch-size=50 +%test.quarkus.hibernate-orm.packages=tech.pegase.z3.domain,tech.pegase.happy.core,com.blazebit.persistence.impl.function.entity +%test.quarkus.flyway.active=true +%test.quarkus.flyway.migrate-at-start=true +%test.quarkus.flyway.default-schema=z3-backend +%test.quarkus.hibernate-orm.database.default-schema=z3-backend +%test.quarkus.hibernate-orm.database.generation.create-schemas=false +# To force quoting the any reserved key word on sql queries; +# https://www.baeldung.com/spring-boot-h2-jdbcsqlsyntaxerrorexception-expected-identifier +%test.spring.jpa.properties.hibernate.globally_quoted_identifiers=true + +## MAIL - RUNTIME +quarkus.mailer.auth-methods=${z3.mail.auth-methods} +quarkus.mailer.from=${z3.mail.from} +quarkus.mailer.host=${z3.mail.host} +quarkus.mailer.port=${z3.mail.port} +quarkus.mailer.start-tls=${z3.mail.start-tls} +quarkus.mailer.tls=${z3.mail.tls} +quarkus.mailer.username=${z3.mail.username} +quarkus.mailer.password=${z3.mail.password} +quarkus.mailer.mock=${z3.mail.mock} +## MAIL - TESTS +%test.quarkus.mailer.auth-methods=DIGEST-MD5 CRAM-SHA256 CRAM-SHA1 CRAM-MD5 PLAIN LOGIN +%test.quarkus.mailer.from=z3@test.net +%test.quarkus.mailer.host=localhost +%test.quarkus.mailer.port=485 +%test.quarkus.mailer.start-tls=DISABLED +%test.quarkus.mailer.tls=false +%test.quarkus.mailer.username= +%test.quarkus.mailer.password= +%test.quarkus.mailer.mock=true + +# SECURITY - JWT - RUNTIME +quarkus.smallrye-jwt.enabled=true +mp.jwt.verify.issuer=${z3.jwt.issuer} +mp.jwt.verify.publickey.location=${z3.jwt.public-key} +smallrye.jwt.sign.key.location=${z3.jwt.private-key} +quarkus.native.resources.includes=dev_private_key.pem,dev_public_key.pem,GeoLite2-Country.mmdb +# SECURITY - JWT - DEV +%dev.mp.jwt.verify.issuer=http://localhost:8080/issuer +%dev.mp.jwt.verify.publickey.location=dev_public_key.pem +%dev.smallrye.jwt.sign.key.location=dev_private_key.pem +# SECURITY - JWT - TESTS +%test.mp.jwt.verify.issuer=http://localhost:8080/issuer +%test.mp.jwt.verify.publickey.location=dev_public_key.pem +%test.smallrye.jwt.sign.key.location=dev_private_key.pem + +# SECURITY - UPLOAD +quarkus.http.limits.max-body-size=${z3.upload.max-size} + +# protocol negotiation to enable HTTP2 +quarkus.tls.alpn=true + +# i18n +quarkus.default-locale="fr-FR" diff --git a/z3-application/src/main/resources/db/migration/R__data_for_test.sql b/z3-application/src/main/resources/db/migration/R__data_for_test.sql new file mode 100644 index 0000000..f0498b7 --- /dev/null +++ b/z3-application/src/main/resources/db/migration/R__data_for_test.sql @@ -0,0 +1,46 @@ +-- ResolveLinkTest +DELETE +FROM "z3-backend"."links" +WHERE "source" = '123456789'; + +DELETE +FROM "z3-backend"."domain_names" +WHERE "fqdn" = 'resolve-example.net'; + +DELETE +FROM "z3-backend"."domain_names" +WHERE "fqdn" = 'another-example.net'; + +DELETE +FROM "z3-backend"."brands" +WHERE "uuid" = '0ff77213-812c-40f5-9b08-b818cc9a9727'; +DELETE +FROM "z3-backend"."brands" +WHERE "uuid" = '0ff77213-812c-40f5-9b08-b818cc9a9729'; + +INSERT INTO "z3-backend"."brands" ("uuid", "slug", "name") +VALUES ('0ff77213-812c-40f5-9b08-b818cc9a9727', 'resolve-link-test', 'Resolve Link Test'); +INSERT INTO "z3-backend"."brands" ("uuid", "slug", "name") +VALUES ('0ff77213-812c-40f5-9b08-b818cc9a9729', 'another-brand-test', 'Another Brand Test'); + +INSERT INTO "z3-backend"."domain_names" ("fqdn", "brand_uuid") +VALUES ('resolve-example.net', '0ff77213-812c-40f5-9b08-b818cc9a9727'); +INSERT INTO "z3-backend"."domain_names" ("fqdn", "brand_uuid") +VALUES ('another-example.net', '0ff77213-812c-40f5-9b08-b818cc9a9729'); + +INSERT INTO "z3-backend"."links" ("created_at", "brand_uuid", "tag_uuid", "catalog_uuid", + "is_external", "is_valid", "visits", "source", "target") +VALUES ('2020-08-02 10:00:00', '0ff77213-812c-40f5-9b08-b818cc9a9727', NULL, NULL, FALSE, 0, 0, + '123456789', + 'https://example.com'); + +-- CreateLinkTest + +INSERT INTO "z3-backend"."brands" + ("uuid", "slug", "name") +SELECT '0ff77213-812c-40f5-9b08-b818cc9a9720', 'new-brand', 'New Brand' +WHERE NOT EXISTS (SELECT "uuid" + FROM "z3-backend"."brands" + WHERE "uuid" = '0ff77213-812c-40f5-9b08-b818cc9a9720'); + + diff --git a/z3-application/src/main/resources/db/migration/R_data_for_test.sql.conf b/z3-application/src/main/resources/db/migration/R_data_for_test.sql.conf new file mode 100644 index 0000000..dfe5de2 --- /dev/null +++ b/z3-application/src/main/resources/db/migration/R_data_for_test.sql.conf @@ -0,0 +1 @@ +shouldExecute=${environment}==test \ No newline at end of file diff --git a/z3-application/src/main/resources/db/migration/V1.0.0__init.sql b/z3-application/src/main/resources/db/migration/V1.0.0__init.sql new file mode 100644 index 0000000..0d1d77f --- /dev/null +++ b/z3-application/src/main/resources/db/migration/V1.0.0__init.sql @@ -0,0 +1,141 @@ +CREATE SCHEMA IF NOT EXISTS "z3-backend"; + +-- CREATE TABLES + +-- TABLE - BRANDS +CREATE TABLE "z3-backend"."brands" +( + "uuid" UUID NOT NULL, + "slug" VARCHAR(255) NOT NULL, + "name" VARCHAR(255) NOT NULL, + CONSTRAINT "brands_slug_unique" UNIQUE ("slug"), + CONSTRAINT "brands_pk" PRIMARY KEY ("uuid") +); + +COMMENT ON TABLE "z3-backend"."brands" IS 'Les enseignes du groupe'; +COMMENT ON COLUMN "z3-backend"."brands"."slug" IS 'Le slug de l´enseigne pour la navigation'; +COMMENT ON COLUMN "z3-backend"."brands"."name" IS 'Le nom de l´enseigne'; + + +-- TABLE - CATALOGS +CREATE TABLE "z3-backend"."catalogs" +( + "uuid" UUID NOT NULL, + "slug" VARCHAR(255) NOT NULL, + "name" VARCHAR(255) NOT NULL, + "brand_uuid" UUID NOT NULL, + + CONSTRAINT "catalogs_pk" PRIMARY KEY ("uuid"), + CONSTRAINT "catalogs_slug_unique" UNIQUE ("slug"), + CONSTRAINT "catalogs_brands_uuid_fk" FOREIGN KEY ("brand_uuid") + REFERENCES "z3-backend"."brands" ("uuid") + ON UPDATE RESTRICT ON DELETE RESTRICT +); + +CREATE INDEX "catalogs_brands_id_fk" ON "z3-backend"."catalogs" ("brand_uuid"); + +COMMENT ON TABLE "z3-backend"."catalogs" IS 'Les catalogues qui peuvent référencer des liens'; +COMMENT ON COLUMN "z3-backend"."catalogs"."slug" IS 'Le slug du catalogue pour la navigation'; +COMMENT ON COLUMN "z3-backend"."catalogs"."name" IS 'Le nom du catalogue'; +COMMENT ON COLUMN "z3-backend"."catalogs"."brand_uuid" IS 'Brand uuid foreign key'; + + +-- TABLE - TAGS +CREATE TABLE "z3-backend"."tags" +( + "uuid" UUID NOT NULL, + "name" VARCHAR(255) NOT NULL, + "color" INTEGER NOT NULL, + CONSTRAINT "tags_name_unique" UNIQUE ("name"), + CONSTRAINT "tags_pk" PRIMARY KEY ("uuid") +); + +COMMENT ON TABLE "z3-backend"."tags" IS 'Les étiquettes pour caractériser des liens'; +COMMENT ON COLUMN "z3-backend"."tags"."name" IS 'The tag name'; +COMMENT ON COLUMN "z3-backend"."tags"."color" IS 'The tag color that represents an hex html color'; + + +-- TABLE - LINKS +CREATE TABLE "z3-backend"."links" +( + "source" VARCHAR(255) NOT NULL, + "target" VARCHAR(350) NOT NULL, + "visits" INTEGER NOT NULL, + "is_external" BOOLEAN NOT NULL, + "is_valid" BOOLEAN NOT NULL, + "brand_uuid" UUID DEFAULT NULL, + "tag_uuid" UUID DEFAULT NULL, + "catalog_uuid" UUID DEFAULT NULL, + "created_at" TIMESTAMP WITHOUT TIME ZONE, + "updated_at" TIMESTAMP WITHOUT TIME ZONE, + CONSTRAINT "links_pk" PRIMARY KEY ("source"), + CONSTRAINT "links_brands_uuid_fk" FOREIGN KEY ("brand_uuid") + REFERENCES "z3-backend"."brands" ("uuid") + ON UPDATE RESTRICT ON DELETE RESTRICT, + CONSTRAINT "links_tags_uuid_fk" FOREIGN KEY ("tag_uuid") + REFERENCES "z3-backend"."tags" ("uuid") + ON UPDATE RESTRICT ON DELETE RESTRICT, + CONSTRAINT "links_catalogs_uuid_fk" FOREIGN KEY ("catalog_uuid") + REFERENCES "z3-backend"."catalogs" ("uuid") + ON UPDATE RESTRICT ON DELETE RESTRICT +); + +CREATE INDEX "links_brands_id_fk" ON "z3-backend"."links" ("brand_uuid"); +CREATE INDEX "links_tags_id_fk" ON "z3-backend"."links" ("tag_uuid"); +CREATE INDEX "links_catalogs_id_fk" ON "z3-backend"."links" ("catalog_uuid"); + +COMMENT ON TABLE "z3-backend"."links" IS 'Les liens de redirections'; +COMMENT ON COLUMN "z3-backend"."links"."source" IS 'Le lien source'; +COMMENT ON COLUMN "z3-backend"."links"."target" IS 'Le lien cible'; +COMMENT ON COLUMN "z3-backend"."links"."visits" IS 'The times a web user has been redirected using this link'; +COMMENT ON COLUMN "z3-backend"."links"."is_valid" IS 'Le lien cible est valide'; +COMMENT ON COLUMN "z3-backend"."links"."is_external" IS 'Le lien est externe au groupe Mirwault et ne redirige pas sur un de ses services'; +COMMENT ON COLUMN "z3-backend"."links"."brand_uuid" IS 'La marque à laquelle ce lien est associé'; +COMMENT ON COLUMN "z3-backend"."links"."tag_uuid" IS 'Le tag associé au lien'; +COMMENT ON COLUMN "z3-backend"."links"."catalog_uuid" IS 'Le catalogue associé au lien'; +COMMENT ON COLUMN "z3-backend"."links"."created_at" IS 'La date et heure de création du lien'; +COMMENT ON COLUMN "z3-backend"."links"."updated_at" IS 'La date et heure de mise à jour du lien'; + + +-- TABLE - CREDENTIALS +CREATE TABLE "z3-backend"."credentials" +( + "uuid" UUID NOT NULL, + "login" VARCHAR(255) NOT NULL, + "password" VARCHAR(255) NOT NULL, + + CONSTRAINT "credentials_pk" PRIMARY KEY ("uuid"), + CONSTRAINT "credentials_login_unique" UNIQUE ("login") +); + +COMMENT ON TABLE "z3-backend"."credentials" IS 'Identifiants, le champ password doit être hashé'; +COMMENT ON COLUMN "z3-backend"."credentials"."uuid" IS 'Unique identifier'; +COMMENT ON COLUMN "z3-backend"."credentials"."login" IS 'Pour CreateCatalogPresenter´authentifier'; +COMMENT ON COLUMN "z3-backend"."credentials"."password" IS 'Pour CreateCatalogPresenter´authentifier'; + +-- TABLE - USERS +CREATE TABLE "z3-backend"."users" +( + "uuid" UUID NOT NULL, + "first_name" VARCHAR(255) NOT NULL, + "last_name" VARCHAR(255) NOT NULL, + "email" VARCHAR(255) NOT NULL, + "role" SMALLINT NOT NULL, + "credential_uuid" UUID NOT NULL, + + CONSTRAINT "users_pk" PRIMARY KEY ("uuid"), + CONSTRAINT "users_email_unique" UNIQUE ("email"), + CONSTRAINT "users_credentials_uuid_fk" FOREIGN KEY ("credential_uuid") + REFERENCES "z3-backend"."credentials" ("uuid") + ON UPDATE RESTRICT ON DELETE RESTRICT +); + +CREATE INDEX "users_credentials_id_fk" ON "z3-backend"."users" ("credential_uuid"); + +COMMENT ON TABLE "z3-backend"."users" IS 'Utilisateurs pouvant manipuler les entités, tous les champs doivent être cryptés'; +COMMENT ON COLUMN "z3-backend"."users"."uuid" IS 'Unique identifier pour réferencer les utilisateurs'; +COMMENT ON COLUMN "z3-backend"."users"."first_name" IS 'Prénom de l''utilisateur'; +COMMENT ON COLUMN "z3-backend"."users"."last_name" IS 'Nom de l''utilisateur'; +COMMENT ON COLUMN "z3-backend"."users"."email" IS 'Email de l''utilisateur'; +COMMENT ON COLUMN "z3-backend"."users"."role" IS 'Le role de l''utilisateur'; +COMMENT ON COLUMN "z3-backend"."users"."credential_uuid" IS 'Credential uuid foreign key'; \ No newline at end of file diff --git a/z3-application/src/main/resources/db/migration/V1.0.1__user_brand.sql b/z3-application/src/main/resources/db/migration/V1.0.1__user_brand.sql new file mode 100644 index 0000000..51dd625 --- /dev/null +++ b/z3-application/src/main/resources/db/migration/V1.0.1__user_brand.sql @@ -0,0 +1,25 @@ +CREATE SCHEMA IF NOT EXISTS "z3-backend"; + +-- CREATE TABLES + +-- TABLE - CATALOGS +CREATE TABLE "z3-backend"."user_brand" +( + "user_uuid" UUID NOT NULL, + "brand_uuid" UUID NOT NULL, + + CONSTRAINT "user_brand_unique" UNIQUE ("user_uuid", "brand_uuid"), + CONSTRAINT "user_brand_user_uuid_fk" FOREIGN KEY ("user_uuid") + REFERENCES "z3-backend"."users" ("uuid") + ON UPDATE RESTRICT ON DELETE RESTRICT, + CONSTRAINT "user_brand_brand_uuid_fk" FOREIGN KEY ("brand_uuid") + REFERENCES "z3-backend"."brands" ("uuid") + ON UPDATE RESTRICT ON DELETE RESTRICT +); + +CREATE INDEX "user_brand_user_uuid_fk" ON "z3-backend"."user_brand" ("user_uuid"); +CREATE INDEX "user_brand_brand_uuid_fk" ON "z3-backend"."user_brand" ("brand_uuid"); + +COMMENT ON TABLE "z3-backend"."user_brand" IS 'Les enseignes accessible au utilisateurs non admin'; +COMMENT ON COLUMN "z3-backend"."user_brand"."user_uuid" IS 'L´utilisateur concerné'; +COMMENT ON COLUMN "z3-backend"."user_brand"."brand_uuid" IS 'L´enseigne concernée'; \ No newline at end of file diff --git a/z3-application/src/main/resources/db/migration/V1.0.3__user_reporting_subscription.sql b/z3-application/src/main/resources/db/migration/V1.0.3__user_reporting_subscription.sql new file mode 100644 index 0000000..5f63425 --- /dev/null +++ b/z3-application/src/main/resources/db/migration/V1.0.3__user_reporting_subscription.sql @@ -0,0 +1,23 @@ +-- TABLE - CATALOGS +CREATE TABLE "z3-backend"."user_reporting_subscriptions" +( + "uuid" UUID NOT NULL, + "user_uuid" UUID NOT NULL, + "brand_uuid" UUID NOT NULL, + + CONSTRAINT "user_reporting_subscriptions_pk" PRIMARY KEY ("uuid"), + CONSTRAINT "user_reporting_subscriptions_unique" UNIQUE ("user_uuid", "brand_uuid"), + CONSTRAINT "user_reporting_subscriptions_user_uuid_fk" FOREIGN KEY ("user_uuid") + REFERENCES "z3-backend"."users" ("uuid") + ON UPDATE RESTRICT ON DELETE RESTRICT, + CONSTRAINT "user_reporting_subscriptions_brand_uuid_fk" FOREIGN KEY ("brand_uuid") + REFERENCES "z3-backend"."brands" ("uuid") + ON UPDATE RESTRICT ON DELETE RESTRICT +); + +CREATE INDEX "user_reporting_subscriptions_user_uuid_fk" ON "z3-backend"."user_brand" ("user_uuid"); +CREATE INDEX "user_reporting_subscriptions_brand_uuid_fk" ON "z3-backend"."user_brand" ("brand_uuid"); + +COMMENT ON TABLE "z3-backend"."user_reporting_subscriptions" IS 'Les souscriptions utilisateurs au rapport de liens pour une enseigne'; +COMMENT ON COLUMN "z3-backend"."user_reporting_subscriptions"."user_uuid" IS 'L´utilisateur concerné'; +COMMENT ON COLUMN "z3-backend"."user_reporting_subscriptions"."brand_uuid" IS 'L´enseigne concernée'; \ No newline at end of file diff --git a/z3-application/src/main/resources/db/migration/V1.0.4__change_Is_valid_on_links.sql b/z3-application/src/main/resources/db/migration/V1.0.4__change_Is_valid_on_links.sql new file mode 100644 index 0000000..9f6028f --- /dev/null +++ b/z3-application/src/main/resources/db/migration/V1.0.4__change_Is_valid_on_links.sql @@ -0,0 +1,4 @@ +ALTER TABLE "z3-backend"."links" + ALTER COLUMN "is_valid" TYPE smallint USING "is_valid"::bool::int::smallint; + +COMMENT ON COLUMN "z3-backend"."links"."is_valid" IS 'Enum LinkValidity, validité du lien'; diff --git a/z3-application/src/main/resources/db/migration/V1.0.5__domain_names.sql b/z3-application/src/main/resources/db/migration/V1.0.5__domain_names.sql new file mode 100644 index 0000000..c59989c --- /dev/null +++ b/z3-application/src/main/resources/db/migration/V1.0.5__domain_names.sql @@ -0,0 +1,15 @@ +-- TABLE - DOMAIN-NAMES +CREATE TABLE "z3-backend"."domain_names" +( + "fqdn" VARCHAR(255) NOT NULL, + "brand_uuid" UUID NOT NULL, + + CONSTRAINT "domain_names_fqdn_unique" UNIQUE ("fqdn"), + CONSTRAINT "domain_names_brand_uuid_fk" FOREIGN KEY ("brand_uuid") + REFERENCES "z3-backend"."brands" ("uuid") + ON UPDATE RESTRICT ON DELETE RESTRICT +); + +COMMENT ON TABLE "z3-backend"."domain_names" IS 'Les noms de domaines complets pouvant être associés à des enseignes'; +COMMENT ON COLUMN "z3-backend"."domain_names"."fqdn" IS 'Un nom de domain complet devant être unique'; +COMMENT ON COLUMN "z3-backend"."domain_names"."brand_uuid" IS 'L´enseigne concernée'; diff --git a/z3-application/src/main/resources/db/migration/V1.1.0__create_link_statistics.sql b/z3-application/src/main/resources/db/migration/V1.1.0__create_link_statistics.sql new file mode 100644 index 0000000..4ffb737 --- /dev/null +++ b/z3-application/src/main/resources/db/migration/V1.1.0__create_link_statistics.sql @@ -0,0 +1,52 @@ +CREATE SCHEMA IF NOT EXISTS "z3-statistics"; + +--- TABLE LINKS STATISTICS --- + +CREATE TABLE "z3-statistics"."link_statistics" +( + "uuid" UUID NOT NULL, + "source" VARCHAR(255) NOT NULL, + "brand" VARCHAR(255), + "catalog" VARCHAR(255), + "was_valid" BOOLEAN NOT NULL, + "user_type" SMALLINT NOT NULL, + "do_not_track" BOOLEAN NOT NULL, + "fingerprint" VARCHAR(255), + "country" SMALLINT, + "lang" VARCHAR(4), + "region" VARCHAR(4), + "referrer_host" VARCHAR(255), + "referrer_path" VARCHAR(255), + "browser_class" VARCHAR(255), + "browser_name" VARCHAR(255), + "browser_version" VARCHAR(255), + "screen_height" INTEGER, + "screen_width" INTEGER, + "screen_dpi" INTEGER, + "os_class" VARCHAR(255), + "os_name" VARCHAR(255), + "os_version" VARCHAR(255), + "visited_at" TIMESTAMP WITHOUT TIME ZONE NOT NULL, + + CONSTRAINT "link_statistics_pk" PRIMARY KEY ("uuid") +); + +CREATE INDEX "link_statistics_fingerprint" ON "z3-statistics"."link_statistics" ("fingerprint"); + +CREATE INDEX "link_statistics_source" ON "z3-statistics"."link_statistics" ("source"); +CREATE INDEX "link_statistics_brand" ON "z3-statistics"."link_statistics" ("brand"); +CREATE INDEX "link_statistics_catalog" ON "z3-statistics"."link_statistics" ("catalog"); + +CREATE INDEX "link_statistics_lang" ON "z3-statistics"."link_statistics" ("lang"); +CREATE INDEX "link_statistics_region" ON "z3-statistics"."link_statistics" ("region"); + +CREATE INDEX "link_statistics_referrer_host" ON "z3-statistics"."link_statistics" ("referrer_host"); + +CREATE INDEX "link_statistics_browser_class" ON "z3-statistics"."link_statistics" ("browser_class"); +CREATE INDEX "link_statistics_browser_name" ON "z3-statistics"."link_statistics" ("browser_name"); +CREATE INDEX "link_statistics_browser_version" ON "z3-statistics"."link_statistics" ("browser_version"); + +CREATE INDEX "link_statistics_os_class" ON "z3-statistics"."link_statistics" ("os_class"); +CREATE INDEX "link_statistics_os_name" ON "z3-statistics"."link_statistics" ("os_name"); +CREATE INDEX "link_statistics_os_version" ON "z3-statistics"."link_statistics" ("os_version"); + diff --git a/z3-application/src/main/resources/templates/links-import-template.csv b/z3-application/src/main/resources/templates/links-import-template.csv new file mode 100644 index 0000000..0ec68fe --- /dev/null +++ b/z3-application/src/main/resources/templates/links-import-template.csv @@ -0,0 +1,2 @@ +"source","url","isExternal" +"eb55c6a897691d16b3ac41ec1c313b3b95d65444","https://distorted-vibrissae.com","false" \ No newline at end of file diff --git a/z3-application/src/test/java/tech/pegase/z3/application/api/v1/RootResourceTest.java b/z3-application/src/test/java/tech/pegase/z3/application/api/v1/RootResourceTest.java new file mode 100644 index 0000000..3bdc403 --- /dev/null +++ b/z3-application/src/test/java/tech/pegase/z3/application/api/v1/RootResourceTest.java @@ -0,0 +1,18 @@ +package tech.pegase.z3.application.api.v1; + +import static io.restassured.RestAssured.given; +import static org.hamcrest.CoreMatchers.is; + +import io.quarkus.test.junit.QuarkusTest; +import org.jspecify.annotations.NullMarked; +import org.junit.jupiter.api.Test; + +@NullMarked +@QuarkusTest +class RootResourceTest { + + @Test + void testRoot() { + given().when().get("/").then().statusCode(200).body(is("Z3 App running")); + } +} diff --git a/z3-application/src/test/java/tech/pegase/z3/application/api/v1/link/RedirectLinkOutputTest.java b/z3-application/src/test/java/tech/pegase/z3/application/api/v1/link/RedirectLinkOutputTest.java new file mode 100644 index 0000000..21a2c99 --- /dev/null +++ b/z3-application/src/test/java/tech/pegase/z3/application/api/v1/link/RedirectLinkOutputTest.java @@ -0,0 +1,209 @@ +package tech.pegase.z3.application.api.v1.link; + +import static org.hamcrest.CoreMatchers.equalTo; + +import io.quarkus.test.TestTransaction; +import io.quarkus.test.junit.QuarkusMock; +import io.quarkus.test.junit.QuarkusTest; +import io.restassured.RestAssured; +import io.restassured.http.ContentType; +import jakarta.ws.rs.core.Response.Status; +import java.time.ZonedDateTime; +import org.jspecify.annotations.NullMarked; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.application.events.LinkRedirectionEventListener; +import tech.pegase.z3.application.presenter.link.GetLinkPresenter.LinkDto; +import tech.pegase.z3.domain.valueobject.LinkValidity; + +@NullMarked +@QuarkusTest +public class RedirectLinkOutputTest { + @BeforeAll + public static void setup() { + var redirectionEventListener = Mockito.mock(LinkRedirectionEventListener.class); + QuarkusMock.installMockForType(redirectionEventListener, LinkRedirectionEventListener.class); + Mockito.doNothing().when(redirectionEventListener).consumeRedirect(Mockito.any()); + } + + @Test + @TestTransaction + public void canResolveAnExistingLinkAndRedirectToUrlWithDefaultFqdn() { + // Arrange + var linkDto = + new LinkDto( + "https://resolver/123456789", + "123456789", + "https://example.com", + true, + LinkValidity.unknown().ordinal(), + 0, + null, + null, + null, + ZonedDateTime.now(), + ZonedDateTime.now()); + + // Act and Assert + RestAssured.given() + .redirects() + .follow(false) + .pathParam("source", linkDto.source()) + .queryParam("ip-address", "92.183.117.37") + .queryParam("dnt", true) + .when() + .get("/{source}") + .then() + .statusCode(Status.MOVED_PERMANENTLY.getStatusCode()) + .assertThat() + .header("Location", equalTo(linkDto.target())) + .header("Cache-Control", equalTo("no-store, no-cache, must-revalidate")) + .onFailMessage("Resolving an existing link with the resolver Fqdn should succeed any way."); + } + + @Test + @TestTransaction + public void canResolveAnExistingLinkAndRedirectToUrlWithGoodFqdn() { + // Arrange + var linkBrandFqdn = "resolve-example.net"; + var source = "123456789"; + var linkDto = + new LinkDto( + "https://" + linkBrandFqdn + "/" + source, + source, + "https://example.com", + true, + LinkValidity.unknown().ordinal(), + 0, + null, + null, + null, + ZonedDateTime.now(), + ZonedDateTime.now()); + + // Act and Assert + RestAssured.given() + .redirects() + .follow(false) + .pathParam("source", linkDto.source()) + .queryParam("ip-address", "92.183.117.37") + .queryParam("dnt", true) + .param("host", linkBrandFqdn) + .when() + .get("/{source}") + .then() + .statusCode(Status.MOVED_PERMANENTLY.getStatusCode()) + .assertThat() + .header("Location", equalTo(linkDto.target())) + .header("Cache-Control", equalTo("no-store, no-cache, must-revalidate")) + .onFailMessage("Resolving an exisiting link with its brand Fqdn should succeed."); + } + + @Test + @TestTransaction + public void cannotResolveNonExistingLink() { + // Arrange + var linkResource = + new LinkDto( + "https://resolver/123456789", + "does_not_exists_for_sure", + "https://example.com", + true, + LinkValidity.unknown().ordinal(), + 0, + null, + null, + null, + ZonedDateTime.now(), + ZonedDateTime.now()); + + // Act and Assert + RestAssured.given() + .contentType(ContentType.JSON) + .body(linkResource) + .pathParam("source", linkResource.source()) + .queryParam("ip-address", "92.183.117.37") + .queryParam("dnt", true) + .when() + .get("/{source}") + .then() + .statusCode(Status.NOT_FOUND.getStatusCode()) + .assertThat() + .header("Cache-Control", equalTo("no-store, no-cache, must-revalidate")) + .onFailMessage("Resolving to a non existing link should respond not found"); + } + + @Test + public void cannotResolveLinkWithBrandUsingNonExistingFqdn() { + // Arrange + + var linkBrandFqdn = "do-not-exists.net"; + var source = "123456789"; + var linkDto = + new LinkDto( + "https://" + linkBrandFqdn + "/" + source, + source, + "https://example.com", + true, + LinkValidity.unknown().ordinal(), + 0, + null, + null, + null, + ZonedDateTime.now(), + ZonedDateTime.now()); + + // Act and Assert + RestAssured.given() + .redirects() + .follow(false) + .pathParam("source", linkDto.source()) + .queryParam("ip-address", "92.183.117.37") + .queryParam("dnt", true) + .param("host", linkBrandFqdn) + .when() + .get("/{source}") + .then() + .statusCode(Status.BAD_REQUEST.getStatusCode()) + .assertThat() + .header("Cache-Control", equalTo("no-store, no-cache, must-revalidate")) + .onFailMessage("Resolving an existing link with a non existing Fqdn should fail."); + } + + @Test + public void cannotResolveLinkWithBrandUsingAnotherFqdn() { + // Arrange + var linkBrandFqdn = "another-example.net"; + var source = "123456789"; + var linkDto = + new LinkDto( + "https://" + linkBrandFqdn + "/" + source, + "123456789", + "https://example.com", + true, + LinkValidity.unknown().ordinal(), + 0, + null, + null, + null, + ZonedDateTime.now(), + ZonedDateTime.now()); + + // Act and Assert + RestAssured.given() + .redirects() + .follow(false) + .pathParam("source", linkDto.source()) + .queryParam("ip-address", "92.183.117.37") + .queryParam("dnt", true) + .param("host", linkBrandFqdn) + .when() + .get("/{source}") + .then() + .statusCode(Status.BAD_REQUEST.getStatusCode()) + .assertThat() + .header("Cache-Control", equalTo("no-store, no-cache, must-revalidate")) + .onFailMessage("Resolving an existing link with any other existing Fqdn should fail."); + } +} diff --git a/z3-cli/.env.example b/z3-cli/.env.example new file mode 100644 index 0000000..526a597 --- /dev/null +++ b/z3-cli/.env.example @@ -0,0 +1,10 @@ +# DATABASE +APP_DB_KIND= +APP_DB_USERNAME= +APP_DB_PASSWORD= +APP_DB_JDBC_URL= + +# ENCRYPTION +AES_KEY= +AES_SALT= +AES_KEY_LENGTH= \ No newline at end of file diff --git a/z3-cli/pom.xml b/z3-cli/pom.xml new file mode 100644 index 0000000..3c12086 --- /dev/null +++ b/z3-cli/pom.xml @@ -0,0 +1,131 @@ + + + z3-cli + + + + + quarkus-maven-plugin + + + + build + generate-code + generate-code-tests + native-image-agent + + + + true + ${quarkus.platform.group-id} + ${quarkus.platform.version} + + + maven-compiler-plugin + + + -parameters + + + ${maven-compiler-plugin.version} + + + maven-surefire-plugin + + + -XX:+EnableDynamicAgentLoading -Xshare:off + + + org.jboss.logmanager.LogManager + ${maven.home} + ${project.build.directory}/coverage-reports/jacoco.exec + + ${project.build.directory}/coverage-jacoco + + true + + + ${surefire-plugin.version} + + + maven-failsafe-plugin + + + org.jboss.logmanager.LogManager + ${maven.home} + ${project.build.directory}/${project.build.finalName}-runner + + + + + + + integration-test + verify + + + + ${failsafe-plugin.version} + + + + + + + z3-domain + tech.pegase.z3 + ${z3.version} + + + z3-infrastructure + tech.pegase.z3 + ${z3.version} + + + z3-shared + tech.pegase.z3 + ${z3.version} + + + quarkus-flyway + io.quarkus + + + quarkus-junit5-mockito + io.quarkus + test + + + quarkus-jacoco + io.quarkus + test + + + quarkus-arc + io.quarkus + + + datafaker + net.datafaker + ${net-datafaker.version} + + + + + 4.0.0 + + + z3 + tech.pegase.z3 + 1.1.0-SNAPSHOT + + + + 22 + 22 + UTF-8 + + + \ No newline at end of file diff --git a/z3-cli/src/main/java/tech/pegase/z3/cli/CommandRunner.java b/z3-cli/src/main/java/tech/pegase/z3/cli/CommandRunner.java new file mode 100644 index 0000000..361b804 --- /dev/null +++ b/z3-cli/src/main/java/tech/pegase/z3/cli/CommandRunner.java @@ -0,0 +1,63 @@ +package tech.pegase.z3.cli; + +import io.quarkus.runtime.Quarkus; +import io.quarkus.runtime.QuarkusApplication; +import jakarta.enterprise.context.ApplicationScoped; +import java.util.Arrays; +import org.jboss.logging.Logger; +import org.jspecify.annotations.NullMarked; +import tech.pegase.z3.cli.seeders.SeederRunner; + +@NullMarked +@ApplicationScoped +public class CommandRunner implements QuarkusApplication { + private static final Logger logger = Logger.getLogger(CommandRunner.class); + private final SeederRunner seederRunner; + private final SeederConfig seederConfig; + + CommandRunner(SeederRunner seederRunner, SeederConfig seederConfig) { + this.seederRunner = seederRunner; + this.seederConfig = seederConfig; + } + + @Override + public int run(String... args) { + logger.debug("Running command: " + Arrays.toString(args)); + try { + if (args.length == 0) { + System.out.println("Usage: java -jar z3-cli.jar "); + Quarkus.asyncExit(-1); + return 0; + } + selectCommand(args); + } catch (Exception e) { + logger.error(e.getMessage(), e); + System.out.println(e.getMessage()); + Quarkus.asyncExit(-1); + } + Quarkus.waitForExit(); + return 0; + } + + private void selectCommand(String... args) { + switch (args[0]) { + case "migrate": + logger.debug("Migrating " + Arrays.toString(args)); + Quarkus.asyncExit(); + break; + case "seed": + logger.debug("Seeding " + Arrays.toString(args)); + seed(Arrays.copyOfRange(args, 1, args.length)); + Quarkus.asyncExit(); + break; + default: + System.out.println("Unknown command: " + args[0]); + Quarkus.asyncExit(-1); + } + } + + private void seed(String... args) { + var dropPrevious = args.length == 0 || args[0].equals("seed"); + seederRunner.run(seederConfig.getConfigs(dropPrevious)); + } +} diff --git a/z3-cli/src/main/java/tech/pegase/z3/cli/Main.java b/z3-cli/src/main/java/tech/pegase/z3/cli/Main.java new file mode 100644 index 0000000..a7765b7 --- /dev/null +++ b/z3-cli/src/main/java/tech/pegase/z3/cli/Main.java @@ -0,0 +1,12 @@ +package tech.pegase.z3.cli; + +import io.quarkus.runtime.Quarkus; +import io.quarkus.runtime.annotations.QuarkusMain; + +@QuarkusMain +public class Main { + + public static void main(String... args) { + Quarkus.run(CommandRunner.class, args); + } +} diff --git a/z3-cli/src/main/java/tech/pegase/z3/cli/SeederConfig.java b/z3-cli/src/main/java/tech/pegase/z3/cli/SeederConfig.java new file mode 100644 index 0000000..3dc7822 --- /dev/null +++ b/z3-cli/src/main/java/tech/pegase/z3/cli/SeederConfig.java @@ -0,0 +1,22 @@ +package tech.pegase.z3.cli; + +import jakarta.enterprise.context.ApplicationScoped; +import java.util.List; +import org.jspecify.annotations.NullMarked; +import tech.pegase.z3.cli.params.SeederParam; +import tech.pegase.z3.cli.seeders.SeederFactory; +import tech.pegase.z3.cli.seeders.UserSeeder; + +@NullMarked +@ApplicationScoped +public class SeederConfig { + private final SeederFactory seederFactory; + + SeederConfig(SeederFactory seederFactory) { + this.seederFactory = seederFactory; + } + + public List getConfigs(boolean dropPrevious) { + return List.of(SeederParam.of(seederFactory.create(UserSeeder.class), dropPrevious)); + } +} diff --git a/z3-cli/src/main/java/tech/pegase/z3/cli/params/SeederParam.java b/z3-cli/src/main/java/tech/pegase/z3/cli/params/SeederParam.java new file mode 100644 index 0000000..950b091 --- /dev/null +++ b/z3-cli/src/main/java/tech/pegase/z3/cli/params/SeederParam.java @@ -0,0 +1,11 @@ +package tech.pegase.z3.cli.params; + +import org.jspecify.annotations.NullMarked; +import tech.pegase.z3.cli.seeders.Seeder; + +@NullMarked +public record SeederParam(Seeder seeder, boolean dropPrevious) { + public static SeederParam of(Seeder seeder, boolean dropPrevious) { + return new SeederParam(seeder, dropPrevious); + } +} diff --git a/z3-cli/src/main/java/tech/pegase/z3/cli/seeders/Seeder.java b/z3-cli/src/main/java/tech/pegase/z3/cli/seeders/Seeder.java new file mode 100644 index 0000000..1298741 --- /dev/null +++ b/z3-cli/src/main/java/tech/pegase/z3/cli/seeders/Seeder.java @@ -0,0 +1,5 @@ +package tech.pegase.z3.cli.seeders; + +public interface Seeder { + void seed(); +} diff --git a/z3-cli/src/main/java/tech/pegase/z3/cli/seeders/SeederFactory.java b/z3-cli/src/main/java/tech/pegase/z3/cli/seeders/SeederFactory.java new file mode 100644 index 0000000..9f86850 --- /dev/null +++ b/z3-cli/src/main/java/tech/pegase/z3/cli/seeders/SeederFactory.java @@ -0,0 +1,35 @@ +package tech.pegase.z3.cli.seeders; + +import jakarta.enterprise.context.ApplicationScoped; +import tech.pegase.z3.domain.port.repository.CredentialRepository; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.port.service.HashProvider; +import tech.pegase.z3.domain.port.service.Slugifyier; + +@ApplicationScoped +public class SeederFactory { + private final CredentialRepository credentialRepository; + private final UserRepository userRepository; + private final HashProvider hashProvider; + private final Slugifyier slugifyier; + + SeederFactory( + CredentialRepository credentialRepository, + UserRepository userRepository, + HashProvider hashProvider, + Slugifyier slugifyier) { + this.credentialRepository = credentialRepository; + this.userRepository = userRepository; + this.hashProvider = hashProvider; + this.slugifyier = slugifyier; + } + + public Seeder create(Class type) { + + if (type.equals(UserSeeder.class)) { + return new UserSeeder(credentialRepository, userRepository, hashProvider, slugifyier); + } + + throw new RuntimeException("Unhandled class " + type); + } +} diff --git a/z3-cli/src/main/java/tech/pegase/z3/cli/seeders/SeederRunner.java b/z3-cli/src/main/java/tech/pegase/z3/cli/seeders/SeederRunner.java new file mode 100644 index 0000000..2dd11dd --- /dev/null +++ b/z3-cli/src/main/java/tech/pegase/z3/cli/seeders/SeederRunner.java @@ -0,0 +1,33 @@ +package tech.pegase.z3.cli.seeders; + +import io.quarkus.narayana.jta.QuarkusTransaction; +import io.quarkus.narayana.jta.TransactionSemantics; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.transaction.Transactional; +import java.util.List; +import org.jboss.logging.Logger; +import tech.pegase.z3.cli.params.SeederParam; + +@ApplicationScoped +public class SeederRunner { + private static final Logger logger = Logger.getLogger(SeederRunner.class); + + @Transactional + public void run(List seederParams) { + for (var seederParam : seederParams) { + try { + seed(seederParam.seeder()); + } catch (Exception e) { + var message = "Failed to run seeder: " + seederParam.seeder().getClass(); + logger.error(message, e); + System.err.println(message); + System.exit(1); + } + } + } + + private void seed(Seeder seeder) { + logger.info("Running seeder: " + seeder.getClass().getSimpleName()); + QuarkusTransaction.runner(TransactionSemantics.REQUIRE_NEW).run(seeder::seed); + } +} diff --git a/z3-cli/src/main/java/tech/pegase/z3/cli/seeders/UserSeeder.java b/z3-cli/src/main/java/tech/pegase/z3/cli/seeders/UserSeeder.java new file mode 100644 index 0000000..c85877d --- /dev/null +++ b/z3-cli/src/main/java/tech/pegase/z3/cli/seeders/UserSeeder.java @@ -0,0 +1,60 @@ +package tech.pegase.z3.cli.seeders; + +import java.util.Locale; +import java.util.Random; +import net.datafaker.Faker; +import tech.pegase.z3.domain.entity.Credential; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.CredentialRepository; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.port.service.HashProvider; +import tech.pegase.z3.domain.port.service.Slugifyier; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.domain.valueobject.Login; +import tech.pegase.z3.domain.valueobject.Role; +import tech.pegase.z3.domain.valueobject.hashes.PasswordHash; + +public class UserSeeder implements Seeder { + private final CredentialRepository credentialRepository; + private final UserRepository userRepository; + private final HashProvider hashProvider; + private final Slugifyier slugifyier; + private final Faker faker; + + public UserSeeder( + CredentialRepository credentialRepository, + UserRepository userRepository, + HashProvider hashProvider, + Slugifyier slugifyier) { + this.credentialRepository = credentialRepository; + this.userRepository = userRepository; + this.hashProvider = hashProvider; + this.slugifyier = slugifyier; + this.faker = new Faker(Locale.of("en-US")); + } + + @Override + public void seed() { + for (var i = 0; i < 15; i++) { + var credential = getRandomCredential(); + credentialRepository.persist(credential); + userRepository.persist(getRandomUser(credential)); + } + } + + private Credential getRandomCredential() { + return new Credential( + Login.of(slugifyier.slugify(faker.name().name()).value()), + hashProvider.hash(PasswordHash.class, "password")); + } + + private User getRandomUser(Credential credential) { + var accessLevels = Role.AccessLevel.values(); + return new User( + faker.name().firstName(), + faker.name().lastName(), + Email.of(faker.internet().emailAddress()), + Role.of(accessLevels[new Random().nextInt(accessLevels.length)]), + credential.getUuid()); + } +} diff --git a/z3-cli/src/main/java/tech/pegase/z3/cli/seeders/package-info.java b/z3-cli/src/main/java/tech/pegase/z3/cli/seeders/package-info.java new file mode 100644 index 0000000..3a78bb3 --- /dev/null +++ b/z3-cli/src/main/java/tech/pegase/z3/cli/seeders/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.cli.seeders; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-cli/src/main/resources/application.properties b/z3-cli/src/main/resources/application.properties new file mode 100644 index 0000000..aee8b4b --- /dev/null +++ b/z3-cli/src/main/resources/application.properties @@ -0,0 +1,14 @@ +quarkus.datasource.db-kind=postgresql +quarkus.datasource.username=${APP_DB_USERNAME} +quarkus.datasource.password=${APP_DB_PASSWORD} +quarkus.datasource.jdbc.url=${APP_DB_JDBC_URL} +quarkus.hibernate-orm.database.generation=none +quarkus.hibernate-orm.jdbc.statement-batch-size=50 +quarkus.hibernate-orm.packages=tech.pegase.z3.domain,tech.pegase.z3.shared.valueobject,tech.pegase.z3.statistics.domain,tech.pegase.happy.core,com.blazebit.persistence.impl.function.entity +quarkus.flyway.active=false +quarkus.flyway.migrate-at-start=false +quarkus.flyway.default-schema=z3-backend +quarkus.hibernate-orm.database.default-schema=z3-backend + +# LOGGING +quarkus.log.category."tech.pegase.z3.cli".level=DEBUG \ No newline at end of file diff --git a/z3-domain/pom.xml b/z3-domain/pom.xml new file mode 100644 index 0000000..88d05b2 --- /dev/null +++ b/z3-domain/pom.xml @@ -0,0 +1,145 @@ + + + z3-domain + + + + + jacoco-maven-plugin + + + **/port/repository/*.class + **/port/service/*.class + + + + + + + + true + ${project.build.directory}/coverage-reports/jacoco-ut.exec + surefire.jacoco.args + + + prepare-agent + + pre-unit-test + + + + + + ${project.build.directory}/coverage-reports/jacoco-ut.exec + ${project.build.directory}/coverage-jacoco/unit-tests + + + + report + + post-unit-test + test + + + + + + ${project.build.directory}/coverage-reports/jacoco-ut.exec + + + BUNDLE + + + LINE + 1.00 + COVEREDRATIO + + + + + + + check + + jacoco-check-ut + verify + + + + org.jacoco + ${jacoco.version} + + + maven-surefire-plugin + + + -XX:+EnableDynamicAgentLoading -Xmx1024m -Xshare:off + ${surefire.jacoco.args} -XX:+EnableDynamicAgentLoading -Xmx1024m -Xshare:off + + + + **/*IT.java + + + org.jboss.logmanager.LogManager + ${maven.home} + + + ${surefire-plugin.version} + + + + + + + z3-shared + tech.pegase.z3 + ${z3.version} + + + quarkus-hibernate-orm + io.quarkus + + + quarkus-jdbc-postgresql + io.quarkus + + + quarkus-jdbc-h2 + io.quarkus + test + + + quarkus-junit5-mockito + io.quarkus + test + + + quarkus-jacoco + io.quarkus + test + + + commons-validator + commons-validator + ${commons-validator.version} + + + + 4.0.0 + + + + z3 + tech.pegase.z3 + 1.1.0-SNAPSHOT + + + + 22 + 22 + UTF-8 + + \ No newline at end of file diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/entity/Brand.java b/z3-domain/src/main/java/tech/pegase/z3/domain/entity/Brand.java new file mode 100644 index 0000000..67dff6e --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/entity/Brand.java @@ -0,0 +1,104 @@ +package tech.pegase.z3.domain.entity; + +import jakarta.persistence.AttributeOverride; +import jakarta.persistence.CollectionTable; +import jakarta.persistence.Column; +import jakarta.persistence.ElementCollection; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.Table; +import jakarta.persistence.UniqueConstraint; +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; +import java.util.function.Predicate; +import tech.pegase.happy.core.AggregateRoot; +import tech.pegase.z3.domain.exception.CannotAssignFqdnException; +import tech.pegase.z3.domain.valueobject.Fqdn; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.shared.annotations.ExcludeFromJacocoGeneratedReport; + +@Entity +@Table(schema = "z3-backend", name = "brands") +public class Brand implements AggregateRoot { + @jakarta.persistence.Id + @Column(name = "uuid", columnDefinition = "uuid", updatable = false) + private final UUID uuid; + + @ElementCollection(fetch = FetchType.EAGER) + @CollectionTable( + name = "domain_names", + joinColumns = @JoinColumn(name = "brand_uuid", nullable = false), + uniqueConstraints = {@UniqueConstraint(columnNames = {"fqdn"})}) + @AttributeOverride(name = "value", column = @Column(name = "fqdn")) + private final Set fqdns; + + @AttributeOverride(name = "value", column = @Column(name = "slug")) + private Slug slug; + + @Column(name = "name") + private String name; + + public Brand(Slug slug, String name) { + this.uuid = UUID.randomUUID(); + this.slug = slug; + this.name = name; + this.fqdns = new HashSet<>(); + } + + /// Required by Hibernate + @SuppressWarnings("DataFlowIssue") + @ExcludeFromJacocoGeneratedReport + public Brand() { + this.uuid = null; + this.slug = null; + this.name = null; + this.fqdns = null; + } + + @Override + public Id getId() { + return new Id<>(getUuid()); + } + + public UUID getUuid() { + return uuid; + } + + public Slug getSlug() { + return slug; + } + + public void setSlug(Slug slug) { + this.slug = slug; + } + + public String getName() { + return name; + } + + public void setName(String name) throws IllegalStateException { + if (name.isBlank()) { + throw new IllegalStateException("Name cannot be empty"); + } + this.name = name; + } + + public Set getFqdns() { + return fqdns; + } + + public void clearFqdns() { + this.fqdns.clear(); + } + + public void assignFqdn(Fqdn fqdn, Predicate canAssignFqdnToBrand) + throws CannotAssignFqdnException { + if (!canAssignFqdnToBrand.test(fqdn)) { + throw new CannotAssignFqdnException(fqdn); + } + + this.fqdns.add(fqdn); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/entity/Catalog.java b/z3-domain/src/main/java/tech/pegase/z3/domain/entity/Catalog.java new file mode 100644 index 0000000..4b2b4ea --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/entity/Catalog.java @@ -0,0 +1,76 @@ +package tech.pegase.z3.domain.entity; + +import jakarta.persistence.AttributeOverride; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; +import java.util.UUID; +import tech.pegase.happy.core.AggregateRoot; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.shared.annotations.ExcludeFromJacocoGeneratedReport; + +@Entity +@Table(schema = "z3-backend", name = "catalogs") +public class Catalog implements AggregateRoot { + @jakarta.persistence.Id + @Column(name = "uuid", columnDefinition = "uuid", updatable = false) + private final UUID uuid; + + @AttributeOverride(name = "value", column = @Column(name = "slug")) + private Slug slug; + + @Column(name = "name") + private String name; + + @Column(name = "brand_uuid", columnDefinition = "uuid", updatable = false) + private UUID brand; + + public Catalog(Slug slug, String name, UUID brand) { + this.uuid = UUID.randomUUID(); + this.slug = slug; + this.brand = brand; + this.setName(name); + } + + /// Required by Hibernate + @SuppressWarnings("DataFlowIssue") + @ExcludeFromJacocoGeneratedReport + protected Catalog() { + this.uuid = null; + this.slug = null; + this.name = null; + this.brand = null; + } + + @Override + public Id getId() { + return new Id<>(getUuid()); + } + + public UUID getUuid() { + return uuid; + } + + public Slug getSlug() { + return slug; + } + + public void setSlug(Slug slug) { + this.slug = slug; + } + + public String getName() { + return name; + } + + public void setName(String name) throws IllegalStateException { + if (name.isBlank()) { + throw new IllegalStateException("Name cannot be empty"); + } + this.name = name; + } + + public UUID getBrandUuid() { + return brand; + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/entity/Credential.java b/z3-domain/src/main/java/tech/pegase/z3/domain/entity/Credential.java new file mode 100644 index 0000000..3b25def --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/entity/Credential.java @@ -0,0 +1,68 @@ +package tech.pegase.z3.domain.entity; + +import jakarta.persistence.AttributeOverride; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; +import java.util.UUID; +import tech.pegase.happy.core.AggregateRoot; +import tech.pegase.z3.domain.valueobject.Login; +import tech.pegase.z3.domain.valueobject.hashes.PasswordHash; +import tech.pegase.z3.shared.annotations.ExcludeFromJacocoGeneratedReport; + +@Entity +@Table(schema = "z3-backend", name = "credentials") +public class Credential implements AggregateRoot { + @jakarta.persistence.Id + @Column(name = "uuid", columnDefinition = "uuid", updatable = false) + private final UUID uuid; + + @Embedded + @AttributeOverride(name = "value", column = @Column(name = "login")) + private Login login; + + @Embedded + @AttributeOverride(name = "value", column = @Column(name = "password")) + private PasswordHash password; + + public Credential(Login login, PasswordHash password) { + this.uuid = UUID.randomUUID(); + this.login = login; + this.setPassword(password); + } + + /// Required by Hibernate + @SuppressWarnings("DataFlowIssue") + @ExcludeFromJacocoGeneratedReport + protected Credential() { + this.uuid = null; + this.login = null; + this.password = null; + } + + @Override + public Id getId() { + return new Id<>(uuid); + } + + public UUID getUuid() { + return uuid; + } + + public PasswordHash getPassword() { + return password; + } + + public void setPassword(PasswordHash password) { + this.password = password; + } + + public Login getLogin() { + return login; + } + + public void setLogin(Login login) { + this.login = login; + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/entity/Link.java b/z3-domain/src/main/java/tech/pegase/z3/domain/entity/Link.java new file mode 100644 index 0000000..0aa9c19 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/entity/Link.java @@ -0,0 +1,175 @@ +package tech.pegase.z3.domain.entity; + +import jakarta.persistence.AttributeOverride; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.EmbeddedId; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; +import java.time.ZonedDateTime; +import java.util.UUID; +import org.jspecify.annotations.Nullable; +import tech.pegase.happy.core.AggregateRoot; +import tech.pegase.z3.domain.valueobject.LinkValidity; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.shared.annotations.ExcludeFromJacocoGeneratedReport; +import tech.pegase.z3.shared.valueobject.Source; + +@Entity +@Table(schema = "z3-backend", name = "links") +public class Link implements AggregateRoot { + @EmbeddedId + @AttributeOverride( + name = "value", + column = @Column(name = "source", columnDefinition = "value", nullable = false)) + private final Source source; + + @Nullable + @Column(name = "brand_uuid", columnDefinition = "uuid", updatable = false) + private final UUID brand; + + @Column(name = "created_at", nullable = false, updatable = false) + private final ZonedDateTime createdAt; + + @Nullable + @Column(name = "updated_at") + private ZonedDateTime updatedAt; + + @Nullable + @Column(name = "catalog_uuid", columnDefinition = "uuid") + private UUID catalog; + + @Column(name = "is_external", nullable = false) + private boolean isExternal; + + @Column(name = "visits", nullable = false) + private Integer visits; + + @Embedded + @AttributeOverride( + name = "value", + column = @Column(name = "target", columnDefinition = "value", nullable = false)) + private Target target; + + @Embedded + @AttributeOverride( + name = "value", + column = @Column(name = "is_valid", columnDefinition = "value", nullable = false)) + private LinkValidity validity; + + @Nullable + @Column(name = "tag_uuid", columnDefinition = "uuid") + private UUID tag; + + public Link( + Source source, + Target target, + boolean isExternal, + @Nullable UUID brandUuid, + @Nullable UUID tagUuid, + @Nullable UUID catalogUuid) { + this.source = source; + this.brand = brandUuid; + this.catalog = catalogUuid; + this.tag = tagUuid; + this.isExternal = isExternal; + this.target = target; + this.validity = LinkValidity.unknown(); + this.createdAt = ZonedDateTime.now(); + this.updatedAt = null; + this.visits = 0; + } + + /// Required by Hibernate + @SuppressWarnings("DataFlowIssue") + @ExcludeFromJacocoGeneratedReport + protected Link() { + this.source = null; + this.target = null; + this.createdAt = null; + this.updatedAt = null; + this.validity = null; + this.isExternal = false; + this.brand = null; + this.catalog = null; + this.tag = null; + this.visits = 0; + } + + public void incVisits() { + visits += 1; + } + + public int getVisits() { + return visits; + } + + @Override + public Id getId() { + return new Id<>(getSource()); + } + + public Source getSource() { + return source; + } + + public Target getTarget() { + return target; + } + + public void setTarget(Target target) { + this.target = target; + } + + public LinkValidity getValidity() { + return this.validity; + } + + public void setValidity(LinkValidity validity) { + this.validity = validity; + } + + public ZonedDateTime getCreatedAt() { + return createdAt; + } + + public @Nullable UUID getTag() { + return this.tag; + } + + public void setTag(@Nullable UUID tag) { + this.tag = tag; + } + + public @Nullable UUID getCatalog() { + return catalog; + } + + public void setCatalog(@Nullable UUID catalog) { + this.catalog = catalog; + } + + public void removeTag() { + this.tag = null; + } + + public void setIsExternal(boolean isExternal) { + this.isExternal = isExternal; + } + + public boolean isExternal() { + return isExternal; + } + + public @Nullable UUID getBrand() { + return brand; + } + + public @Nullable ZonedDateTime getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(ZonedDateTime updatedAt) { + this.updatedAt = updatedAt; + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/entity/ReportingSubscription.java b/z3-domain/src/main/java/tech/pegase/z3/domain/entity/ReportingSubscription.java new file mode 100644 index 0000000..3bc83e2 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/entity/ReportingSubscription.java @@ -0,0 +1,54 @@ +package tech.pegase.z3.domain.entity; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; +import java.util.UUID; +import tech.pegase.happy.core.AggregateRoot; +import tech.pegase.z3.shared.annotations.ExcludeFromJacocoGeneratedReport; + +@Entity +@Table(schema = "z3-backend", name = "user_reporting_subscriptions") +public class ReportingSubscription implements AggregateRoot { + @jakarta.persistence.Id + @Column(name = "uuid", columnDefinition = "uuid", updatable = false) + private final UUID uuid; + + @Column(name = "user_uuid", columnDefinition = "uuid", updatable = false) + private UUID user; + + @Column(name = "brand_uuid", columnDefinition = "uuid", updatable = false) + private UUID brand; + + public ReportingSubscription(UUID user, UUID brand) { + this.uuid = UUID.randomUUID(); + this.user = user; + this.brand = brand; + } + + /// Required by Hibernate + @SuppressWarnings("DataFlowIssue") + @ExcludeFromJacocoGeneratedReport + protected ReportingSubscription() { + this.uuid = null; + this.user = null; + this.brand = null; + } + + @Override + public Id getId() { + return new Id<>(getUuid()); + } + + public UUID getUuid() { + return uuid; + } + + public UUID getUser() { + return user; + } + + public UUID getBrand() { + return brand; + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/entity/Tag.java b/z3-domain/src/main/java/tech/pegase/z3/domain/entity/Tag.java new file mode 100644 index 0000000..23514e4 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/entity/Tag.java @@ -0,0 +1,69 @@ +package tech.pegase.z3.domain.entity; + +import jakarta.persistence.AttributeOverride; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; +import java.util.UUID; +import tech.pegase.happy.core.AggregateRoot; +import tech.pegase.z3.domain.valueobject.Color; +import tech.pegase.z3.shared.annotations.ExcludeFromJacocoGeneratedReport; + +@Entity +@Table(schema = "z3-backend", name = "tags") +public class Tag implements AggregateRoot { + @jakarta.persistence.Id + @Column(name = "uuid", columnDefinition = "uuid", updatable = false) + private final UUID uuid; + + @Column(name = "name") + private String name; + + @Embedded + @AttributeOverride(name = "value", column = @Column(name = "color")) + private Color color; + + public Tag(String name, Color color) { + this.uuid = UUID.randomUUID(); + this.setName(name); + this.setColor(color); + } + + /// Required by Hibernate + @SuppressWarnings("DataFlowIssue") + @ExcludeFromJacocoGeneratedReport + protected Tag() { + this.uuid = null; + this.name = null; + this.color = null; + } + + @Override + public Id getId() { + return new Id<>(getUuid()); + } + + public UUID getUuid() { + return uuid; + } + + public String getName() { + return name; + } + + public void setName(String name) throws IllegalStateException { + if (name.isBlank()) { + throw new IllegalStateException("Name cannot be empty"); + } + this.name = name; + } + + public Color getColor() { + return color; + } + + public void setColor(Color color) { + this.color = color; + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/entity/User.java b/z3-domain/src/main/java/tech/pegase/z3/domain/entity/User.java new file mode 100644 index 0000000..cfc8657 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/entity/User.java @@ -0,0 +1,138 @@ +package tech.pegase.z3.domain.entity; + +import jakarta.persistence.AttributeOverride; +import jakarta.persistence.CollectionTable; +import jakarta.persistence.Column; +import jakarta.persistence.Convert; +import jakarta.persistence.ElementCollection; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.Table; +import jakarta.persistence.UniqueConstraint; +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; +import tech.pegase.happy.core.AggregateRoot; +import tech.pegase.z3.domain.entity.converters.StringCryptoConverter; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.domain.valueobject.Role; +import tech.pegase.z3.shared.annotations.ExcludeFromJacocoGeneratedReport; + +/** NOTE: All fields are encrypted. */ +@Entity +@Table(schema = "z3-backend", name = "users") +public class User implements AggregateRoot { + @jakarta.persistence.Id + @Column(name = "uuid", columnDefinition = "uuid", updatable = false) + private final UUID uuid; + + @Convert(converter = StringCryptoConverter.class) + @Column(name = "first_name") + private String firstName; + + @Convert(converter = StringCryptoConverter.class) + @Column(name = "last_name") + private String lastName; + + @Embedded + @AttributeOverride(name = "value", column = @Column(name = "email")) + private Email email; + + @Embedded + @AttributeOverride(name = "value", column = @Column(name = "role")) + private Role role; + + @ElementCollection(fetch = FetchType.EAGER) + @CollectionTable( + name = "user_brand", + joinColumns = @JoinColumn(name = "user_uuid"), + uniqueConstraints = {@UniqueConstraint(columnNames = {"user_uuid", "brand_uuid"})}) + @Column(name = "brand_uuid") + private Set brands; + + @Column(name = "credential_uuid", columnDefinition = "uuid", updatable = false) + private UUID credentialUuid; + + public User(String firstName, String lastName, Email email, Role role, UUID credentialUuid) { + this.uuid = UUID.randomUUID(); + setFirstName(firstName); + setLastName(lastName); + setEmail(email); + setRole(role); + this.credentialUuid = credentialUuid; + this.brands = new HashSet<>(); + } + + /// Required by Hibernate + @SuppressWarnings("DataFlowIssue") + @ExcludeFromJacocoGeneratedReport + protected User() { + this.uuid = null; + this.firstName = null; + this.lastName = null; + this.email = null; + this.role = null; + this.credentialUuid = null; + } + + @Override + public Id getId() { + return new Id<>(uuid); + } + + public UUID getUuid() { + return uuid; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) throws IllegalStateException { + if (firstName.isBlank()) { + throw new IllegalStateException("First name cannot be empty"); + } + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) throws IllegalStateException { + if (lastName.isBlank()) { + throw new IllegalStateException("Last name cannot be empty"); + } + this.lastName = lastName; + } + + public Email getEmail() { + return email; + } + + public void setEmail(Email email) { + this.email = email; + } + + public Role getRole() { + return role; + } + + public void setRole(Role role) { + this.role = role; + } + + public UUID getCredentialUuid() { + return this.credentialUuid; + } + + public Set getBrands() { + return brands; + } + + public void setBrands(Set brands) { + this.brands = brands; + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/entity/converters/StringCryptoConverter.java b/z3-domain/src/main/java/tech/pegase/z3/domain/entity/converters/StringCryptoConverter.java new file mode 100644 index 0000000..a9ba59b --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/entity/converters/StringCryptoConverter.java @@ -0,0 +1,41 @@ +package tech.pegase.z3.domain.entity.converters; + +import io.quarkus.runtime.Startup; +import jakarta.annotation.PostConstruct; +import jakarta.inject.Inject; +import jakarta.inject.Singleton; +import jakarta.persistence.AttributeConverter; +import jakarta.persistence.Converter; +import tech.pegase.z3.domain.port.service.EncryptionProvider; +import tech.pegase.z3.domain.port.service.EncryptionProvider.CryptException; + +@Singleton +@Converter +@Startup +public class StringCryptoConverter implements AttributeConverter { + private static EncryptionProvider staticEncryptionProvider; + @Inject EncryptionProvider encryptionProvider; + + @PostConstruct + public void init() { + staticEncryptionProvider = this.encryptionProvider; + } + + @Override + public String convertToDatabaseColumn(String value) { + try { + return encryptionProvider.encrypt(value); + } catch (CryptException e) { + throw new RuntimeException("Failed to convert field to encrypted database value", e); + } + } + + @Override + public String convertToEntityAttribute(String dbValue) { + try { + return encryptionProvider.decrypt(dbValue); + } catch (CryptException e) { + throw new RuntimeException("Failed to convert field from encrypted database value", e); + } + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/entity/package-info.java b/z3-domain/src/main/java/tech/pegase/z3/domain/entity/package-info.java new file mode 100644 index 0000000..8f807dd --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/entity/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.domain.entity; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/exception/CannotAssignFqdnException.java b/z3-domain/src/main/java/tech/pegase/z3/domain/exception/CannotAssignFqdnException.java new file mode 100644 index 0000000..be72987 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/exception/CannotAssignFqdnException.java @@ -0,0 +1,16 @@ +package tech.pegase.z3.domain.exception; + +import tech.pegase.z3.domain.valueobject.Fqdn; + +public class CannotAssignFqdnException extends RuntimeException { + private final Fqdn fqdn; + + public CannotAssignFqdnException(Fqdn fqdn) { + super("Cannot assign fqdn " + fqdn.getValue()); + this.fqdn = fqdn; + } + + public Fqdn getFqdn() { + return fqdn; + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/BrandRepository.java b/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/BrandRepository.java new file mode 100644 index 0000000..4202ee6 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/BrandRepository.java @@ -0,0 +1,34 @@ +package tech.pegase.z3.domain.port.repository; + +import java.util.Optional; +import java.util.UUID; +import tech.pegase.happy.core.DomainEntity; +import tech.pegase.happy.core.Repository; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.valueobject.Fqdn; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +public interface BrandRepository extends Repository { + void persist(Brand brand); + + void update(Brand brand); + + boolean exists(UUID uuid); + + boolean exists(Slug slug); + + Optional findByUuid(UUID uuid); + + Optional findBySlug(Slug slug); + + Optional findByFqdn(Fqdn fqdn); + + PaginatedData findAll(Pagination pagination); + + @Override + default Optional find(DomainEntity.Id id) { + return findByUuid(id.value()); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/CatalogRepository.java b/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/CatalogRepository.java new file mode 100644 index 0000000..e476d11 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/CatalogRepository.java @@ -0,0 +1,37 @@ +package tech.pegase.z3.domain.port.repository; + +import java.util.Optional; +import java.util.UUID; +import tech.pegase.happy.core.DomainEntity; +import tech.pegase.happy.core.Repository; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +public interface CatalogRepository extends Repository { + void persist(Catalog catalog); + + void update(Catalog catalog); + + boolean exists(UUID uuid); + + boolean exists(Slug slug); + + boolean remove(UUID uuid); + + boolean remove(Slug slug); + + Optional findByUuid(UUID uuid); + + Optional findBySlug(Slug slug); + + PaginatedData findAll(Pagination pagination); + + PaginatedData findAllForBrand(UUID brandUuid, Pagination pagination); + + @Override + default Optional find(DomainEntity.Id id) { + return findByUuid(id.value()); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/CredentialRepository.java b/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/CredentialRepository.java new file mode 100644 index 0000000..43b6a33 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/CredentialRepository.java @@ -0,0 +1,27 @@ +package tech.pegase.z3.domain.port.repository; + +import java.util.Optional; +import java.util.UUID; +import tech.pegase.happy.core.DomainEntity; +import tech.pegase.happy.core.Repository; +import tech.pegase.z3.domain.entity.Credential; +import tech.pegase.z3.domain.valueobject.Login; + +public interface CredentialRepository extends Repository { + void persist(Credential credential); + + void update(Credential credential); + + boolean exists(UUID uuid); + + boolean remove(UUID uuid); + + Optional findById(UUID uuid); + + Optional findByLogin(Login login); + + @Override + default Optional find(DomainEntity.Id id) { + return findById(id.value()); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/LinkRepository.java b/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/LinkRepository.java new file mode 100644 index 0000000..cf3aaff --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/LinkRepository.java @@ -0,0 +1,83 @@ +package tech.pegase.z3.domain.port.repository; + +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.UUID; +import org.jspecify.annotations.Nullable; +import tech.pegase.happy.core.DomainEntity; +import tech.pegase.happy.core.Repository; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.valueobject.filterings.LinkFiltering; +import tech.pegase.z3.domain.valueobject.orderings.LinkOrdering; +import tech.pegase.z3.domain.valueobject.searchings.LinkSearching; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; +import tech.pegase.z3.shared.valueobject.Source; + +public interface LinkRepository extends Repository { + void persist(Link link); + + void update(Link link); + + default void updateOrPersist(Link link) { + update(link); + } + + boolean exists(Source source); + + Optional findBySource(Source source); + + PaginatedData findAllForBrand(Pagination pagination, @Nullable UUID brandUuid); + + PaginatedData findAllForTag(Pagination pagination, @Nullable UUID tagUuid); + + PaginatedData findAllForCatalog(Pagination pagination, @Nullable UUID catalogUuid); + + PaginatedData findAll(Pagination pagination, LinkFiltering filters); + + default PaginatedData findAll(Pagination pagination) { + return findAll(pagination, LinkFiltering.of(Map.of())); + } + + PaginatedData findAll(Pagination pagination, LinkFiltering filters, LinkOrdering ordering); + + default PaginatedData findAll( + Pagination pagination, LinkFiltering filters, LinkSearching... searching) { + return findAll(pagination, filters, List.of(searching)); + } + + PaginatedData findAll( + Pagination pagination, LinkFiltering filters, List searching); + + default PaginatedData findAll( + Pagination pagination, + LinkFiltering filters, + LinkOrdering ordering, + LinkSearching... searching) { + return findAll(pagination, filters, ordering, List.of(searching)); + } + + PaginatedData findAll( + Pagination pagination, + LinkFiltering filters, + LinkOrdering ordering, + List searching); + + @Override + default Optional find(DomainEntity.Id id) { + return findBySource(id.value()); + } + + Long countTotalVisits(@Nullable UUID brandUuid); + + Long countTotalVisits(); + + Long countTotalExternal(@Nullable UUID brandUuid); + + Long countTotalExternal(); + + Long countTotalInvalids(@Nullable UUID brandUuid); + + Long countTotalInvalids(); +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/ReportingSubscriptionRepository.java b/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/ReportingSubscriptionRepository.java new file mode 100644 index 0000000..7b31983 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/ReportingSubscriptionRepository.java @@ -0,0 +1,16 @@ +package tech.pegase.z3.domain.port.repository; + +import java.util.Set; +import java.util.UUID; +import tech.pegase.happy.core.Repository; +import tech.pegase.z3.domain.entity.ReportingSubscription; + +public interface ReportingSubscriptionRepository extends Repository { + Set getAllSubscriptions(); + + Set getAllSubscriptions(UUID userUuid); + + void removeAllUserSubscriptions(UUID userUuid); + + void setSubscriptions(Set subscriptions); +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/TagRepository.java b/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/TagRepository.java new file mode 100644 index 0000000..9dfd112 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/TagRepository.java @@ -0,0 +1,30 @@ +package tech.pegase.z3.domain.port.repository; + +import java.util.Optional; +import java.util.UUID; +import tech.pegase.happy.core.DomainEntity; +import tech.pegase.happy.core.Repository; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +public interface TagRepository extends Repository { + void persist(Tag tag); + + void update(Tag tag); + + boolean exists(UUID uuid); + + boolean remove(UUID uuid); + + Optional findByUuid(UUID uuid); + + Optional findByName(String name); + + PaginatedData findAll(Pagination pagination); + + @Override + default Optional find(DomainEntity.Id id) { + return findByUuid(id.value()); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/UserRepository.java b/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/UserRepository.java new file mode 100644 index 0000000..02f610c --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/UserRepository.java @@ -0,0 +1,33 @@ +package tech.pegase.z3.domain.port.repository; + +import java.util.Optional; +import java.util.UUID; +import tech.pegase.happy.core.DomainEntity; +import tech.pegase.happy.core.Repository; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +public interface UserRepository extends Repository { + void persist(User user); + + void update(User user); + + boolean exists(UUID uuid); + + boolean exists(Email email); + + boolean remove(UUID uuid); + + Optional findByUuid(UUID uuid); + + Optional findByCredentialUuid(UUID credentialUuid); + + PaginatedData findAll(Pagination pagination); + + @Override + default Optional find(DomainEntity.Id id) { + return findByUuid(id.value()); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/package-info.java b/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/package-info.java new file mode 100644 index 0000000..ae5dcb1 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/port/repository/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.domain.port.repository; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/CsvEditor.java b/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/CsvEditor.java new file mode 100644 index 0000000..3c7e23c --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/CsvEditor.java @@ -0,0 +1,9 @@ +package tech.pegase.z3.domain.port.service; + +import java.io.InputStream; +import java.util.function.Function; +import tech.pegase.z3.domain.valueobject.Target; + +public interface CsvEditor { + InputStream doMagic(InputStream csvFile, Function getShortUrlFor); +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/EncryptionProvider.java b/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/EncryptionProvider.java new file mode 100644 index 0000000..bc3e02b --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/EncryptionProvider.java @@ -0,0 +1,13 @@ +package tech.pegase.z3.domain.port.service; + +public interface EncryptionProvider { + String encrypt(String plainText) throws CryptException; + + String decrypt(String cipherText) throws CryptException; + + class CryptException extends Exception { + public CryptException(String message, Throwable cause) { + super(message, cause); + } + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/HashProvider.java b/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/HashProvider.java new file mode 100644 index 0000000..dce0828 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/HashProvider.java @@ -0,0 +1,15 @@ +package tech.pegase.z3.domain.port.service; + +import tech.pegase.z3.domain.valueobject.concepts.Hash; + +public interface HashProvider { + + /** Produce a Hash. */ + H hash(Class type, String value); + + /** Check is the hash is valid for this provider. */ + boolean check(Hash hash); + + /** Check if hash equals the value. */ + boolean areEquals(Hash hash, String value); +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/JwtGenerator.java b/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/JwtGenerator.java new file mode 100644 index 0000000..979dcf1 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/JwtGenerator.java @@ -0,0 +1,8 @@ +package tech.pegase.z3.domain.port.service; + +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.valueobject.JwtToken; + +public interface JwtGenerator { + JwtToken generateJwt(User user); +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/MessageSender.java b/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/MessageSender.java new file mode 100644 index 0000000..bb99f3b --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/MessageSender.java @@ -0,0 +1,13 @@ +package tech.pegase.z3.domain.port.service; + +import tech.pegase.z3.domain.valueobject.Message; + +public interface MessageSender { + Status send(Message message); + + sealed interface Status { + record Success() implements MessageSender.Status {} + + record Failed() implements MessageSender.Status {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/PasswordGenerator.java b/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/PasswordGenerator.java new file mode 100644 index 0000000..e177442 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/PasswordGenerator.java @@ -0,0 +1,5 @@ +package tech.pegase.z3.domain.port.service; + +public interface PasswordGenerator { + String generatePassword(int length); +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/RandomSourceGenerator.java b/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/RandomSourceGenerator.java new file mode 100644 index 0000000..8b29825 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/RandomSourceGenerator.java @@ -0,0 +1,7 @@ +package tech.pegase.z3.domain.port.service; + +import tech.pegase.z3.shared.valueobject.Source; + +public interface RandomSourceGenerator { + Source generate(); +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/Slugifyier.java b/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/Slugifyier.java new file mode 100644 index 0000000..f63cf0c --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/Slugifyier.java @@ -0,0 +1,7 @@ +package tech.pegase.z3.domain.port.service; + +import tech.pegase.z3.domain.valueobject.Slug; + +public interface Slugifyier { + Slug slugify(String value) throws IllegalArgumentException; +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/UrlChecker.java b/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/UrlChecker.java new file mode 100644 index 0000000..8b435dd --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/UrlChecker.java @@ -0,0 +1,12 @@ +package tech.pegase.z3.domain.port.service; + +import io.smallrye.mutiny.Uni; +import java.net.URL; + +public interface UrlChecker { + default Uni verify(URL url) { + return verify(url, false); + } + + Uni verify(URL url, boolean assertIsHttps); +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/package-info.java b/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/package-info.java new file mode 100644 index 0000000..110d04d --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/port/service/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.domain.port.service; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/service/DomainNameService.java b/z3-domain/src/main/java/tech/pegase/z3/domain/service/DomainNameService.java new file mode 100644 index 0000000..1618bb4 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/service/DomainNameService.java @@ -0,0 +1,8 @@ +package tech.pegase.z3.domain.service; + +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.valueobject.Fqdn; + +public interface DomainNameService { + Boolean canFqdnBeAssignedToBrand(Fqdn fqdn, Brand brand); +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/service/DomainNameServiceImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/service/DomainNameServiceImpl.java new file mode 100644 index 0000000..9b58871 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/service/DomainNameServiceImpl.java @@ -0,0 +1,29 @@ +package tech.pegase.z3.domain.service; + +import jakarta.enterprise.context.ApplicationScoped; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.valueobject.Fqdn; + +@ApplicationScoped +public class DomainNameServiceImpl implements DomainNameService { + private final BrandRepository brandRepository; + + DomainNameServiceImpl(BrandRepository brandRepository) { + this.brandRepository = brandRepository; + } + + @Override + public Boolean canFqdnBeAssignedToBrand(Fqdn fqdn, Brand brand) { + var fqdnBrand = brandRepository.findByFqdn(fqdn).orElse(null); + + // * Ok if the FQDN is not already assigned. + if (fqdnBrand == null) { + return true; + } + + // * OK if the FQDN is already associated with the brand + // ! NOK if another brand already owns the FQDN + return brand.getUuid().equals(fqdnBrand.getUuid()); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/service/VerifyLinkService.java b/z3-domain/src/main/java/tech/pegase/z3/domain/service/VerifyLinkService.java new file mode 100644 index 0000000..f11c51c --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/service/VerifyLinkService.java @@ -0,0 +1,7 @@ +package tech.pegase.z3.domain.service; + +import tech.pegase.z3.domain.entity.Link; + +public interface VerifyLinkService { + void verifyAndPersistValidity(Link link); +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/service/VerifyLinkServiceImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/service/VerifyLinkServiceImpl.java new file mode 100644 index 0000000..7935f51 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/service/VerifyLinkServiceImpl.java @@ -0,0 +1,53 @@ +package tech.pegase.z3.domain.service; + +import io.smallrye.mutiny.TimeoutException; +import io.smallrye.mutiny.Uni; +import jakarta.enterprise.context.ApplicationScoped; +import java.time.Duration; +import java.util.concurrent.CompletionException; +import org.jboss.logging.Logger; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.port.service.UrlChecker; +import tech.pegase.z3.domain.valueobject.LinkValidity; + +@ApplicationScoped +public class VerifyLinkServiceImpl implements VerifyLinkService { + private static final long resolveLinkTimeoutInSeconds = 6; + // Not final to silence log in tests + private static Logger logger = Logger.getLogger(VerifyLinkServiceImpl.class.getName()); + private final LinkRepository linkRepository; + private final UrlChecker urlChecker; + + VerifyLinkServiceImpl(LinkRepository linkRepository, UrlChecker urlChecker) { + this.linkRepository = linkRepository; + this.urlChecker = urlChecker; + } + + @Override + public void verifyAndPersistValidity(Link link) { + try { + var target = link.getTarget(); + var linkValidity = + urlChecker + .verify(target.toUrl()) + .chain(Uni.createFrom()::item) + .await() + .atMost(Duration.ofSeconds(resolveLinkTimeoutInSeconds)) + ? LinkValidity.valid() + : LinkValidity.invalid(); + + link.setValidity(linkValidity); + logger.debug("Link '%s' is valid".formatted(link.getSource())); + } catch (TimeoutException e) { + var message = "Timed out verifying link: '%s'".formatted(link.getSource()); + logger.debug(message); + link.setValidity(LinkValidity.invalid()); + } catch (CompletionException e) { + var message = "Failed to verify link: '%s'".formatted(link.getSource()); + logger.warn(message, e); + } finally { + linkRepository.update(link); + } + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/service/package-info.java b/z3-domain/src/main/java/tech/pegase/z3/domain/service/package-info.java new file mode 100644 index 0000000..de7ff5f --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/service/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.domain.service; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/auth/AuthenticateUser.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/auth/AuthenticateUser.java new file mode 100644 index 0000000..565a360 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/auth/AuthenticateUser.java @@ -0,0 +1,17 @@ +package tech.pegase.z3.domain.usecase.auth; + +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.JwtToken; + +public interface AuthenticateUser extends UseCase { + sealed interface Input { + record Authenticate(String login, String password) implements AuthenticateUser.Input {} + } + + sealed interface Output { + record Valid(JwtToken token) implements AuthenticateUser.Output {} + + record Invalid() implements AuthenticateUser.Output, Failure {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/auth/AuthenticateUserImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/auth/AuthenticateUserImpl.java new file mode 100644 index 0000000..c806c66 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/auth/AuthenticateUserImpl.java @@ -0,0 +1,64 @@ +package tech.pegase.z3.domain.usecase.auth; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.CredentialRepository; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.port.service.HashProvider; +import tech.pegase.z3.domain.port.service.JwtGenerator; +import tech.pegase.z3.domain.valueobject.Login; + +@ApplicationScoped +public class AuthenticateUserImpl implements AuthenticateUser { + private final JwtGenerator jwtGenerator; + private final UserRepository userRepository; + private final CredentialRepository credentialRepository; + private final HashProvider hashProvider; + + @Inject + public AuthenticateUserImpl( + UserRepository userRepository, + CredentialRepository credentialRepository, + JwtGenerator jwtGenerator, + HashProvider hashProvider) { + this.userRepository = userRepository; + this.credentialRepository = credentialRepository; + this.jwtGenerator = jwtGenerator; + this.hashProvider = hashProvider; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.Authenticate inputCase -> run(inputCase); + }; + } + + private Output run(Input.Authenticate inputCase) { + try { + var login = inputCase.login(); + var password = inputCase.password(); + var credential = credentialRepository.findByLogin(Login.of(login)).orElse(null); + User user; + + if (credential == null) { + throw new IllegalStateException("Credentials not found"); + } + + user = userRepository.findByCredentialUuid(credential.getUuid()).orElse(null); + + if (user == null) { + throw new IllegalStateException("User not found"); + } + + if (!hashProvider.areEquals(credential.getPassword(), password)) { + throw new IllegalStateException("Passwords do not match"); + } + + return new Output.Valid(jwtGenerator.generateJwt(user)); + } catch (IllegalStateException e) { + return new Output.Invalid(); + } + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/auth/package-info.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/auth/package-info.java new file mode 100644 index 0000000..e92df9b --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/auth/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.domain.usecase.auth; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/CreateBrand.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/CreateBrand.java new file mode 100644 index 0000000..5de5de2 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/CreateBrand.java @@ -0,0 +1,24 @@ +package tech.pegase.z3.domain.usecase.brands; + +import java.util.Set; +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.Fqdn; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; +import tech.pegase.z3.shared.lib.ReadOnlySet; + +public interface CreateBrand extends UseCase { + sealed interface Input { + record With(String name, Set fqdns) implements Input {} + } + + sealed interface Output { + record Created(BrandOutput brand) implements CreateBrand.Output {} + + record NotCreated(InvalidFields reasons) implements CreateBrand.Output, Failure {} + + record BrandOutput(UUID uuid, Slug slug, String name, ReadOnlySet fqdnSet) {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/CreateBrandImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/CreateBrandImpl.java new file mode 100644 index 0000000..f426e9d --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/CreateBrandImpl.java @@ -0,0 +1,101 @@ +package tech.pegase.z3.domain.usecase.brands; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import java.util.HashSet; +import java.util.function.Predicate; +import java.util.stream.Collectors; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.exception.CannotAssignFqdnException; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.service.Slugifyier; +import tech.pegase.z3.domain.service.DomainNameService; +import tech.pegase.z3.domain.usecase.brands.CreateBrand.Output.BrandOutput; +import tech.pegase.z3.domain.valueobject.Fqdn; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.domain.valueobject.errors.InvalidField; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; +import tech.pegase.z3.shared.lib.ReadOnlySet; + +@ApplicationScoped +public class CreateBrandImpl implements CreateBrand { + private final Slugifyier slugifyierService; + private final BrandRepository brandRepository; + private final DomainNameService domainNameService; + + @Inject + CreateBrandImpl( + Slugifyier slugifyierService, + BrandRepository brandRepository, + DomainNameService domainNameService) { + this.slugifyierService = slugifyierService; + this.brandRepository = brandRepository; + this.domainNameService = domainNameService; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.With inputCase -> run(inputCase); + }; + } + + public Output run(Input.With inputCase) { + Slug slug; + Brand brand; + + var name = inputCase.name(); + var fqdnSet = inputCase.fqdns(); + + if (name.isBlank()) { + return new Output.NotCreated(InvalidFields.of(InvalidField.of("name", "ne peut être vide"))); + } + + try { + slug = this.slugifyierService.slugify(name); + } catch (IllegalArgumentException e) { + return new Output.NotCreated( + InvalidFields.of(InvalidField.of("name", "ne peut être simplifié"))); + } + + if (brandRepository.findBySlug(slug).isPresent()) { + return new Output.NotCreated(InvalidFields.of(InvalidField.of("name", "existe déjà"))); + } + + brand = new Brand(slug, name); + + Predicate assignFqdnPredicate = + fqdn -> domainNameService.canFqdnBeAssignedToBrand(fqdn, brand); + + var alreadyUsedFqdns = new HashSet(); + + for (var fqdn : fqdnSet) { + try { + brand.assignFqdn(fqdn, assignFqdnPredicate); + } catch (CannotAssignFqdnException e) { + var invalidFqdn = e.getFqdn(); + alreadyUsedFqdns.add(invalidFqdn.getValue()); + } + } + + if (!alreadyUsedFqdns.isEmpty()) { + return new Output.NotCreated( + InvalidFields.of( + InvalidField.of( + "fqdns", + "Les noms de domaines suivants sont déja utilisés : " + + String.join(", ", alreadyUsedFqdns)))); + } + + brandRepository.persist(brand); + + var brandOutput = + new BrandOutput( + brand.getUuid(), + brand.getSlug(), + brand.getName(), + new ReadOnlySet<>(fqdnSet.stream().map(Fqdn::getValue).collect(Collectors.toSet()))); + + return new Output.Created(brandOutput); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/GetBrand.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/GetBrand.java new file mode 100644 index 0000000..0cff8b1 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/GetBrand.java @@ -0,0 +1,23 @@ +package tech.pegase.z3.domain.usecase.brands; + +import java.util.Set; +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.Slug; + +public interface GetBrand extends UseCase { + sealed interface Input { + record ForSlug(Slug slug) implements GetBrand.Input {} + + record ForUuid(UUID uuid) implements GetBrand.Input {} + } + + sealed interface Output { + record Found(BrandOutput brand) implements GetBrand.Output {} + + record NoSuchBrand() implements GetBrand.Output, Failure {} + + record BrandOutput(UUID uuid, Slug slug, String name, Set fqdnSet) {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/GetBrandImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/GetBrandImpl.java new file mode 100644 index 0000000..1dc8430 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/GetBrandImpl.java @@ -0,0 +1,60 @@ +package tech.pegase.z3.domain.usecase.brands; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import java.util.Optional; +import java.util.function.Supplier; +import java.util.stream.Collectors; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.valueobject.Fqdn; + +@ApplicationScoped +public class GetBrandImpl implements GetBrand { + final BrandRepository brandRepository; + + @Inject + GetBrandImpl(BrandRepository brandRepository) { + this.brandRepository = brandRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.ForUuid inputCase -> run(inputCase); + case Input.ForSlug inputCase -> run(inputCase); + }; + } + + private Output run(Input.ForUuid inputCase) { + var brandUuid = inputCase.uuid(); + + return findBrand(() -> brandRepository.findByUuid(brandUuid)); + } + + private Output run(Input.ForSlug inputCase) { + var brandSlug = inputCase.slug(); + + return findBrand(() -> brandRepository.findBySlug(brandSlug)); + } + + private Output findBrand(Supplier> brandSupplier) { + Brand brand; + var optionalBrand = brandSupplier.get(); + + if (optionalBrand.isEmpty()) { + return new Output.NoSuchBrand(); + } + + brand = optionalBrand.get(); + + var brandOutput = + new Output.BrandOutput( + brand.getUuid(), + brand.getSlug(), + brand.getName(), + brand.getFqdns().stream().map(Fqdn::getValue).collect(Collectors.toSet())); + + return new Output.Found(brandOutput); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/ListBrands.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/ListBrands.java new file mode 100644 index 0000000..87c99be --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/ListBrands.java @@ -0,0 +1,20 @@ +package tech.pegase.z3.domain.usecase.brands; + +import java.util.Set; +import java.util.UUID; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +public interface ListBrands extends UseCase { + sealed interface Input { + record WithPagination(Pagination pagination) implements ListBrands.Input {} + } + + sealed interface Output { + record PaginatedBrands(PaginatedData brandList) implements ListBrands.Output {} + + record BrandOutput(UUID uuid, Slug slug, String name, Set fqdnSet) {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/ListBrandsImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/ListBrandsImpl.java new file mode 100644 index 0000000..47bd1b4 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/ListBrandsImpl.java @@ -0,0 +1,41 @@ +package tech.pegase.z3.domain.usecase.brands; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import java.util.stream.Collectors; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.usecase.brands.ListBrands.Output.BrandOutput; +import tech.pegase.z3.domain.valueobject.Fqdn; + +@ApplicationScoped +public class ListBrandsImpl implements ListBrands { + final BrandRepository brandRepository; + + @Inject + public ListBrandsImpl(BrandRepository brandRepository) { + this.brandRepository = brandRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.WithPagination inputCase -> run(inputCase); + }; + } + + private Output run(Input.WithPagination inputCase) { + var paginatedLinkDto = + this.brandRepository.findAll(inputCase.pagination()).map(this::brandToBrandOutput); + + return new Output.PaginatedBrands(paginatedLinkDto); + } + + private Output.BrandOutput brandToBrandOutput(Brand brand) { + return new BrandOutput( + brand.getUuid(), + brand.getSlug(), + brand.getName(), + brand.getFqdns().stream().map(Fqdn::getValue).collect(Collectors.toSet())); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/UpdateBrand.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/UpdateBrand.java new file mode 100644 index 0000000..a117ac4 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/UpdateBrand.java @@ -0,0 +1,25 @@ +package tech.pegase.z3.domain.usecase.brands; + +import java.util.Set; +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.Fqdn; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; + +public interface UpdateBrand extends UseCase { + sealed interface Input { + record ForSlug(Slug slug, String name, Set fqdns) implements Input {} + } + + sealed interface Output { + record Updated(BrandOutput brand) implements UpdateBrand.Output {} + + record NoSuchBrand() implements UpdateBrand.Output, Failure {} + + record NotUpdated(InvalidFields reasons) implements UpdateBrand.Output, Failure {} + + record BrandOutput(UUID uuid, Slug slug, String name, Set fqdns) {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/UpdateBrandImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/UpdateBrandImpl.java new file mode 100644 index 0000000..3a79a01 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/UpdateBrandImpl.java @@ -0,0 +1,117 @@ +package tech.pegase.z3.domain.usecase.brands; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import java.util.HashSet; +import java.util.UUID; +import java.util.function.Predicate; +import java.util.stream.Collectors; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.exception.CannotAssignFqdnException; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.service.Slugifyier; +import tech.pegase.z3.domain.service.DomainNameService; +import tech.pegase.z3.domain.usecase.brands.UpdateBrand.Input.ForSlug; +import tech.pegase.z3.domain.usecase.brands.UpdateBrand.Output.BrandOutput; +import tech.pegase.z3.domain.valueobject.Fqdn; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.domain.valueobject.errors.InvalidField; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; + +@ApplicationScoped +public class UpdateBrandImpl implements UpdateBrand { + private final Slugifyier slugifyierService; + private final BrandRepository brandRepository; + private final DomainNameService domainNameService; + + @Inject + UpdateBrandImpl( + Slugifyier slugifyierService, + BrandRepository brandRepository, + DomainNameService domainNameService) { + this.slugifyierService = slugifyierService; + this.brandRepository = brandRepository; + this.domainNameService = domainNameService; + } + + @Override + public Output run(Input input) { + return switch (input) { + case ForSlug inputCase -> run(inputCase); + }; + } + + private Output run(ForSlug inputCase) { + Slug newSlug; + Brand brand; + + var brandSlug = inputCase.slug(); + var name = inputCase.name(); + var fqdnSet = inputCase.fqdns(); + + if (name.isEmpty()) { + return new Output.NotUpdated(InvalidFields.of(InvalidField.of("name", "ne peut être vide"))); + } + + brand = this.brandRepository.findBySlug(brandSlug).orElse(null); + + if (brand == null) { + return new Output.NoSuchBrand(); + } + + try { + newSlug = this.slugifyierService.slugify(name); + } catch (IllegalArgumentException e) { + return new Output.NotUpdated( + InvalidFields.of(InvalidField.of("name", "ne peut être simplifié"))); + } + + if (brandSlugAlreadyExists(newSlug, brand.getUuid())) { + return new Output.NotUpdated(InvalidFields.of(InvalidField.of("name", "est déjà utilisé"))); + } + + brand.setName(name); + brand.setSlug(newSlug); + + brand.clearFqdns(); + + Predicate assignFqdnPredicate = + fqdn -> domainNameService.canFqdnBeAssignedToBrand(fqdn, brand); + + var alreadyUsedFqdns = new HashSet(); + + for (var fqdn : fqdnSet) { + try { + brand.assignFqdn(fqdn, assignFqdnPredicate); + } catch (CannotAssignFqdnException e) { + var invalidFqdn = e.getFqdn(); + alreadyUsedFqdns.add(invalidFqdn.getValue()); + } + } + + if (!alreadyUsedFqdns.isEmpty()) { + return new Output.NotUpdated( + InvalidFields.of( + InvalidField.of( + "fqdns", + "Les noms de domaines suivants sont déja utilisés : " + + String.join(", ", alreadyUsedFqdns)))); + } + + brandRepository.update(brand); + + var brandOutput = + new BrandOutput( + brand.getUuid(), + brand.getSlug(), + brand.getName(), + brand.getFqdns().stream().map(Fqdn::getValue).collect(Collectors.toSet())); + + return new Output.Updated(brandOutput); + } + + private boolean brandSlugAlreadyExists(Slug newSlug, UUID current) { + var matchingBrand = brandRepository.findBySlug(newSlug); + return matchingBrand.isPresent() && !matchingBrand.get().getUuid().equals(current); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/package-info.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/package-info.java new file mode 100644 index 0000000..0d29585 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/brands/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.domain.usecase.brands; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/CreateCatalog.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/CreateCatalog.java new file mode 100644 index 0000000..ca1c4af --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/CreateCatalog.java @@ -0,0 +1,21 @@ +package tech.pegase.z3.domain.usecase.catalogs; + +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; + +public interface CreateCatalog extends UseCase { + sealed interface Input { + record With(String name, UUID brandUuid) implements Input {} + } + + sealed interface Output { + record Created(CatalogOutput value) implements Output {} + + record NotCreated(InvalidFields reasons) implements Output, Failure {} + + record CatalogOutput(UUID uuid, Slug slug, String name, UUID brandUuid) {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/CreateCatalogImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/CreateCatalogImpl.java new file mode 100644 index 0000000..3ea8a29 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/CreateCatalogImpl.java @@ -0,0 +1,69 @@ +package tech.pegase.z3.domain.usecase.catalogs; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.port.service.Slugifyier; +import tech.pegase.z3.domain.usecase.catalogs.CreateCatalog.Output.CatalogOutput; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.domain.valueobject.errors.InvalidField; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; + +@ApplicationScoped +public class CreateCatalogImpl implements CreateCatalog { + private final Slugifyier slugifyierService; + private final CatalogRepository catalogRepository; + private final BrandRepository brandRepository; + + @Inject + CreateCatalogImpl( + Slugifyier slugifyierService, + CatalogRepository catalogRepository, + BrandRepository brandRepository) { + this.slugifyierService = slugifyierService; + this.catalogRepository = catalogRepository; + this.brandRepository = brandRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.With inputCase -> run(inputCase); + }; + } + + private Output run(Input.With inputCase) { + Slug slug; + var name = inputCase.name(); + var brandUuid = inputCase.brandUuid(); + + if (name.isBlank()) { + return new Output.NotCreated(InvalidFields.of(InvalidField.of("name", "ne peut être vide"))); + } + + try { + slug = this.slugifyierService.slugify(name); + } catch (IllegalArgumentException e) { + return new Output.NotCreated( + InvalidFields.of(InvalidField.of("name", "ne peut être simplifié"))); + } + + if (catalogRepository.exists(slug)) { + return new Output.NotCreated(InvalidFields.of(InvalidField.of("name", "existe déjà"))); + } + if (!brandRepository.exists(brandUuid)) { + return new Output.NotCreated(InvalidFields.of(InvalidField.of("brand", "n'existe pas"))); + } + + var catalog = new Catalog(slug, name, brandUuid); + catalogRepository.persist(catalog); + + var catalogOutput = + new CatalogOutput( + catalog.getUuid(), catalog.getSlug(), catalog.getName(), catalog.getBrandUuid()); + + return new Output.Created(catalogOutput); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/GetCatalog.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/GetCatalog.java new file mode 100644 index 0000000..3f1c9bd --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/GetCatalog.java @@ -0,0 +1,20 @@ +package tech.pegase.z3.domain.usecase.catalogs; + +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.Slug; + +public interface GetCatalog extends UseCase { + sealed interface Input { + record ForSlug(Slug slug) implements Input {} + } + + sealed interface Output { + record Found(CatalogOutput catalog) implements Output {} + + record NoSuchCatalog() implements Output, Failure {} + + record CatalogOutput(UUID uuid, Slug slug, String name, UUID brandUuid) {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/GetCatalogImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/GetCatalogImpl.java new file mode 100644 index 0000000..4917ecb --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/GetCatalogImpl.java @@ -0,0 +1,40 @@ +package tech.pegase.z3.domain.usecase.catalogs; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.usecase.catalogs.GetCatalog.Input.ForSlug; +import tech.pegase.z3.domain.usecase.catalogs.GetCatalog.Output.CatalogOutput; +import tech.pegase.z3.domain.usecase.catalogs.GetCatalog.Output.NoSuchCatalog; + +@ApplicationScoped +public class GetCatalogImpl implements GetCatalog { + final CatalogRepository catalogRepository; + + @Inject + GetCatalogImpl(CatalogRepository catalogRepository) { + this.catalogRepository = catalogRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case ForSlug inputCase -> run(inputCase); + }; + } + + private Output run(ForSlug inputCase) { + var catalogSlug = inputCase.slug(); + var catalog = this.catalogRepository.findBySlug(catalogSlug).orElse(null); + + if (catalog == null) { + return new NoSuchCatalog(); + } + + var catalogOutput = + new CatalogOutput( + catalog.getUuid(), catalog.getSlug(), catalog.getName(), catalog.getBrandUuid()); + + return new Output.Found(catalogOutput); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/ListCatalogs.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/ListCatalogs.java new file mode 100644 index 0000000..7520bb2 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/ListCatalogs.java @@ -0,0 +1,21 @@ +package tech.pegase.z3.domain.usecase.catalogs; + +import java.util.UUID; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +public interface ListCatalogs extends UseCase { + sealed interface Input { + record WithPagination(Pagination pagination) implements Input {} + + record WithPaginationForBrand(UUID brand, Pagination pagination) implements Input {} + } + + sealed interface Output { + record PaginatedCatalogs(PaginatedData catalogList) implements Output {} + + record CatalogOutput(UUID uuid, Slug slug, String name, UUID brandUuid) {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/ListCatalogsImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/ListCatalogsImpl.java new file mode 100644 index 0000000..7e96214 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/ListCatalogsImpl.java @@ -0,0 +1,46 @@ +package tech.pegase.z3.domain.usecase.catalogs; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.usecase.catalogs.ListCatalogs.Input.WithPagination; +import tech.pegase.z3.domain.usecase.catalogs.ListCatalogs.Input.WithPaginationForBrand; +import tech.pegase.z3.domain.usecase.catalogs.ListCatalogs.Output.CatalogOutput; +import tech.pegase.z3.domain.usecase.catalogs.ListCatalogs.Output.PaginatedCatalogs; + +@ApplicationScoped +public class ListCatalogsImpl implements ListCatalogs { + private final CatalogRepository catalogRepository; + + @Inject + public ListCatalogsImpl(CatalogRepository catalogRepository) { + this.catalogRepository = catalogRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case WithPagination caseInput -> run(caseInput); + case WithPaginationForBrand caseInput -> run(caseInput); + }; + } + + private Output run(WithPagination input) { + var paginatedCatalogOutputs = catalogRepository.findAll(input.pagination()).map(this::toOutput); + + return new PaginatedCatalogs(paginatedCatalogOutputs); + } + + private Output run(WithPaginationForBrand input) { + var paginatedCatalogOutputs = + catalogRepository.findAllForBrand(input.brand(), input.pagination()).map(this::toOutput); + + return new PaginatedCatalogs(paginatedCatalogOutputs); + } + + private CatalogOutput toOutput(Catalog catalog) { + return new CatalogOutput( + catalog.getUuid(), catalog.getSlug(), catalog.getName(), catalog.getBrandUuid()); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/RemoveCatalog.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/RemoveCatalog.java new file mode 100644 index 0000000..3b43ec2 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/RemoveCatalog.java @@ -0,0 +1,17 @@ +package tech.pegase.z3.domain.usecase.catalogs; + +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.Slug; + +public interface RemoveCatalog extends UseCase { + sealed interface Input { + record ForSlug(Slug slug) implements Input {} + } + + sealed interface Output { + record Removed() implements Output {} + + record NoSuchCatalog() implements Output, Failure {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/RemoveCatalogImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/RemoveCatalogImpl.java new file mode 100644 index 0000000..90d7f3c --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/RemoveCatalogImpl.java @@ -0,0 +1,64 @@ +package tech.pegase.z3.domain.usecase.catalogs; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import java.util.UUID; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.usecase.catalogs.RemoveCatalog.Input.ForSlug; +import tech.pegase.z3.domain.usecase.catalogs.RemoveCatalog.Output.Removed; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +@ApplicationScoped +public class RemoveCatalogImpl implements RemoveCatalog { + private final CatalogRepository catalogRepository; + private final LinkRepository linkRepository; + + @Inject + RemoveCatalogImpl(CatalogRepository catalogRepository, LinkRepository linkRepository) { + this.catalogRepository = catalogRepository; + this.linkRepository = linkRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case ForSlug inputCase -> run(inputCase); + }; + } + + private Output run(ForSlug inputCase) { + var slug = inputCase.slug(); + var catalog = catalogRepository.findBySlug(slug).orElse(null); + + if (catalog == null) { + return new Output.NoSuchCatalog(); + } + + removeCatalogFromLinks(catalog.getUuid()); + + // Delete is an idempotent action. + catalogRepository.remove(slug); + return new Removed(); + } + + private void removeCatalogFromLinks(UUID catalogUuid) { + var i = 0; + final var perPage = 50; + PaginatedData paginatedLinks; + + do { + paginatedLinks = + linkRepository.findAllForCatalog(Pagination.fromOffsetAndLimit(i, perPage), catalogUuid); + paginatedLinks.items().forEach(this::removeCatalogFromLink); + i += 50; + } while (!paginatedLinks.items().isEmpty()); + } + + private void removeCatalogFromLink(Link link) { + link.setCatalog(null); + linkRepository.update(link); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/UpdateCatalog.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/UpdateCatalog.java new file mode 100644 index 0000000..65d234d --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/UpdateCatalog.java @@ -0,0 +1,23 @@ +package tech.pegase.z3.domain.usecase.catalogs; + +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; + +public interface UpdateCatalog extends UseCase { + sealed interface Input { + record ForSlug(Slug slug, String name) implements Input {} + } + + sealed interface Output { + record Updated(CatalogOutput value) implements Output {} + + record NotUpdated(InvalidFields reasons) implements Output, Failure {} + + record NoSuchCatalog() implements Output, Failure {} + + record CatalogOutput(UUID uuid, Slug slug, String name, UUID brandUuid) {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/UpdateCatalogImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/UpdateCatalogImpl.java new file mode 100644 index 0000000..fd9d76d --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/UpdateCatalogImpl.java @@ -0,0 +1,75 @@ +package tech.pegase.z3.domain.usecase.catalogs; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.port.service.Slugifyier; +import tech.pegase.z3.domain.usecase.catalogs.UpdateCatalog.Input.ForSlug; +import tech.pegase.z3.domain.usecase.catalogs.UpdateCatalog.Output.CatalogOutput; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.domain.valueobject.errors.InvalidField; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; + +@ApplicationScoped +public class UpdateCatalogImpl implements UpdateCatalog { + private final Slugifyier slugifyierService; + private final CatalogRepository catalogRepository; + + @Inject + UpdateCatalogImpl(Slugifyier slugifyierService, CatalogRepository catalogRepository) { + this.slugifyierService = slugifyierService; + this.catalogRepository = catalogRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case ForSlug inputCase -> run(inputCase); + }; + } + + private Output run(ForSlug inputCase) { + var slug = inputCase.slug(); + var name = inputCase.name(); + + if (name.isBlank()) { + return new Output.NotUpdated(InvalidFields.of(InvalidField.of("name", "ne peut être vide"))); + } + + // Find the catalogUuid we need to update + var catalog = catalogRepository.findBySlug(slug).orElse(null); + + if (catalog == null) { + return new Output.NoSuchCatalog(); + } + + // Generate new slug + Slug newSlug; + try { + newSlug = this.slugifyierService.slugify(name); + } catch (IllegalArgumentException e) { + return new Output.NotUpdated( + InvalidFields.of(InvalidField.of("name", "ne peut être simplifié"))); + } + + // Verify is new slug already exists + if (catalogRepository.exists(newSlug)) { + return new Output.NotUpdated(InvalidFields.of(InvalidField.of("name", "existe déjà"))); + } + + catalog.setName(name); + catalog.setSlug(newSlug); + + catalogRepository.update(catalog); + + var catalogOutput = toOutput(catalog); + + return new Output.Updated(catalogOutput); + } + + private CatalogOutput toOutput(Catalog catalog) { + return new CatalogOutput( + catalog.getUuid(), catalog.getSlug(), catalog.getName(), catalog.getBrandUuid()); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/package-info.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/package-info.java new file mode 100644 index 0000000..7aaf2cb --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/catalogs/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.domain.usecase.catalogs; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/CreateLink.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/CreateLink.java new file mode 100644 index 0000000..a1d6ad1 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/CreateLink.java @@ -0,0 +1,49 @@ +package tech.pegase.z3.domain.usecase.links; + +import java.time.ZonedDateTime; +import java.util.UUID; +import org.jspecify.annotations.Nullable; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.LinkValidity; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; +import tech.pegase.z3.shared.valueobject.Source; + +public interface CreateLink extends UseCase { + sealed interface Input { + record WithUrl(CommonLinkInput values) implements Input {} + + record WithSourceAndUrl(Source source, CommonLinkInput values) implements Input {} + + record CommonLinkInput( + Target target, + boolean isExternal, + @Nullable UUID brandUuid, + @Nullable UUID tagUuid, + @Nullable UUID catalogUuid) {} + } + + sealed interface Output { + record Created(LinkOutput link) implements Output {} + + record NotCreated(InvalidFields reasons) implements Output, Failure {} + + record LinkOutput( + Source source, + Target target, + boolean isExternal, + LinkValidity validity, + int visits, + @Nullable UUID brandUuid, + @Nullable LinkTag tag, + @Nullable LinkCatalog catalog, + ZonedDateTime createdAt, + @Nullable ZonedDateTime updatedAt) { + public record LinkTag(UUID uuid, String name, String color) {} + + public record LinkCatalog(Slug slug, String name) {} + } + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/CreateLinkImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/CreateLinkImpl.java new file mode 100644 index 0000000..8e40ca2 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/CreateLinkImpl.java @@ -0,0 +1,159 @@ +package tech.pegase.z3.domain.usecase.links; + +import jakarta.enterprise.context.ApplicationScoped; +import java.util.Optional; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.port.service.RandomSourceGenerator; +import tech.pegase.z3.domain.service.VerifyLinkService; +import tech.pegase.z3.domain.usecase.links.CreateLink.Input.CommonLinkInput; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.domain.valueobject.errors.InvalidField; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; +import tech.pegase.z3.shared.valueobject.Source; + +@ApplicationScoped +public class CreateLinkImpl implements CreateLink { + private final RandomSourceGenerator randomSourceGenerator; + private final LinkRepository linkRepository; + private final BrandRepository brandRepository; + private final CatalogRepository catalogRepository; + private final TagRepository tagRepository; + private final VerifyLinkService verifyLinkService; + + public CreateLinkImpl( + RandomSourceGenerator randomSourceGenerator, + LinkRepository linkRepository, + BrandRepository brandRepository, + CatalogRepository catalogRepository, + TagRepository tagRepository, + VerifyLinkService verifyLinkService) { + this.randomSourceGenerator = randomSourceGenerator; + this.linkRepository = linkRepository; + this.brandRepository = brandRepository; + this.catalogRepository = catalogRepository; + this.tagRepository = tagRepository; + this.verifyLinkService = verifyLinkService; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.WithUrl inputCase -> run(inputCase); + case Input.WithSourceAndUrl inputCase -> run(inputCase); + }; + } + + private Output run(Input.WithUrl withUrl) { + var source = tryToGenerateSource(); + var values = withUrl.values(); + + if (source == null) { + return new Output.NotCreated( + InvalidFields.of(InvalidField.of("source", "n'a pas pu être generé"))); + } + + return createNewLink(source, values); + } + + private Output run(Input.WithSourceAndUrl withSourceAndUrl) { + var source = withSourceAndUrl.source(); + var values = withSourceAndUrl.values(); + + return createNewLink(source, values); + } + + private Output createNewLink(Source source, CommonLinkInput values) { + var target = values.target(); + var isExternal = values.isExternal(); + var brandUuid = values.brandUuid(); + var catalogUuid = values.catalogUuid(); + var tagUuid = values.tagUuid(); + + var catalog = + (catalogUuid != null + ? catalogRepository.findByUuid(catalogUuid) + : Optional.empty()) + .orElse(null); + var tag = + (tagUuid != null ? tagRepository.findByUuid(tagUuid) : Optional.empty()).orElse(null); + + if (brandUuid != null && !this.brandRepository.exists(brandUuid)) { + return new Output.NotCreated(InvalidFields.of(InvalidField.of("brand", "n'existe pas"))); + } + if (catalogUuid != null && catalog == null) { + return new Output.NotCreated(InvalidFields.of(InvalidField.of("catalog", "n'existe pas"))); + } + if (tagUuid != null && tag == null) { + return new Output.NotCreated(InvalidFields.of(InvalidField.of("tag", "n'existe pas"))); + } + if (linkRepository.exists(source)) { + return new Output.NotCreated(InvalidFields.of(InvalidField.of("source", "existe déjà"))); + } + + var link = new Link(source, target, isExternal, brandUuid, tagUuid, catalogUuid); + + linkRepository.persist(link); + verifyLinkService.verifyAndPersistValidity(link); + + var linkOutput = getLinkOutputFrom(link, tag, catalog); + + return new Output.Created(linkOutput); + } + + private Output.LinkOutput getLinkOutputFrom( + Link link, @Nullable Tag tag, @Nullable Catalog catalog) { + var linkTag = linkTagFrom(tag); + var linkCatalog = linkCatalogFrom(catalog); + + return new Output.LinkOutput( + Source.of(link.getSource().value()), + Target.of(link.getTarget().value()), + link.isExternal(), + link.getValidity(), + link.getVisits(), + link.getBrand(), + linkTag, + linkCatalog, + link.getCreatedAt(), + link.getUpdatedAt()); + } + + private Output.LinkOutput.@Nullable LinkCatalog linkCatalogFrom(@Nullable Catalog catalog) { + if (catalog == null) { + return null; + } + + return new Output.LinkOutput.LinkCatalog(catalog.getSlug(), catalog.getName()); + } + + private Output.LinkOutput.@Nullable LinkTag linkTagFrom(@Nullable Tag tag) { + if (tag == null) { + return null; + } + + return new Output.LinkOutput.LinkTag(tag.getUuid(), tag.getName(), tag.getColor().toString()); + } + + private @Nullable Source tryToGenerateSource() { + var maxTries = 10; + Source newSource; + Source source = null; + + do { + newSource = randomSourceGenerator.generate(); + if (!linkRepository.exists(newSource)) { + maxTries = 0; + source = newSource; + } + } while (--maxTries > 0); + + return source; + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ExportLinks.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ExportLinks.java new file mode 100644 index 0000000..80765c6 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ExportLinks.java @@ -0,0 +1,48 @@ +package tech.pegase.z3.domain.usecase.links; + +import java.util.List; +import org.jspecify.annotations.Nullable; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.Fqdn; +import tech.pegase.z3.domain.valueobject.LinkValidity; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.shared.valueobject.Source; + +public interface ExportLinks extends UseCase { + sealed interface Input { + + record PageForNonBranded(Pagination pagination) implements Input {} + + record PageForBrand(Slug brandSlug, Pagination pagination) implements Input {} + + record PageForCatalog(Slug catalogSlug, Pagination pagination) implements Input {} + + record Pagination(int page, int perPage) { + public Pagination { + if (page < 0) { + throw new IllegalStateException("Page must be a integer greater than 0"); + } + if (perPage < 1) { + throw new IllegalStateException("Per page must be a integer greater than 1"); + } + } + } + } + + sealed interface Output { + record Page(List rows) implements Output {} + + record NoMoreToExport() implements Output {} + + record Failed(String reason) implements Output, Failure {} + + record LinkOutput( + @Nullable Fqdn host, + Source source, + Target target, + boolean isExternal, + LinkValidity validity) {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ExportLinksImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ExportLinksImpl.java new file mode 100644 index 0000000..88cde8b --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ExportLinksImpl.java @@ -0,0 +1,155 @@ +package tech.pegase.z3.domain.usecase.links; + +import jakarta.enterprise.context.ApplicationScoped; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.UUID; +import org.jboss.logging.Logger; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.usecase.links.ExportLinks.Output.LinkOutput; +import tech.pegase.z3.domain.valueobject.Fqdn; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +@ApplicationScoped +public class ExportLinksImpl implements ExportLinks { + private static final Logger logger = Logger.getLogger(ExportLinksImpl.class.getName()); + private final LinkRepository linkRepository; + private final BrandRepository brandRepository; + private final CatalogRepository catalogRepository; + + public ExportLinksImpl( + LinkRepository linkRepository, + BrandRepository brandRepository, + CatalogRepository catalogRepository) { + this.linkRepository = linkRepository; + this.brandRepository = brandRepository; + this.catalogRepository = catalogRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.PageForBrand inputCase -> run(inputCase); + case Input.PageForCatalog inputCase -> run(inputCase); + case Input.PageForNonBranded inputCase -> run(inputCase); + }; + } + + private Output run(Input.PageForBrand inputCase) { + var brandSlug = inputCase.brandSlug(); + var pagination = inputCase.pagination(); + var brand = brandRepository.findBySlug(brandSlug).orElse(null); + + if (brand == null) { + logger.debug("Brand not found: %s".formatted(brandSlug)); + return new Output.Failed("Brand slug '%s' does not exists".formatted(brandSlug)); + } + + var pageContent = + generatePageContentForBrand(brand.getUuid(), pagination.page(), pagination.perPage()); + + if (pageContent.isEmpty()) { + logger.debug("No more pages to export"); + return new Output.NoMoreToExport(); + } + + return new Output.Page(pageContent); + } + + private Output run(Input.PageForCatalog inputCase) { + var catalogSlug = inputCase.catalogSlug(); + var pagination = inputCase.pagination(); + var catalog = catalogRepository.findBySlug(catalogSlug).orElse(null); + + if (catalog == null) { + logger.debug("Catalog not found: %s".formatted(catalogSlug)); + return new Output.Failed("Catalog uuid '%s' does not exists".formatted(catalogSlug)); + } + + var pageContent = + generatePageContentForCatalog(catalog.getUuid(), pagination.page(), pagination.perPage()); + + if (pageContent.isEmpty()) { + logger.debug("No more pages to export"); + return new Output.NoMoreToExport(); + } + + return new Output.Page(pageContent); + } + + private Output run(Input.PageForNonBranded inputCase) { + var pagination = inputCase.pagination(); + var pageContent = generatePageContentForBrand(null, pagination.page(), pagination.perPage()); + + if (pageContent.isEmpty()) { + logger.debug("No more pages to export"); + return new Output.NoMoreToExport(); + } + + return new Output.Page(pageContent); + } + + private List paginatedLinksToOutput( + @Nullable Fqdn host, PaginatedData paginatedLinks) { + List output = new ArrayList<>(); + if (paginatedLinks.items().isEmpty()) { + return output; + } + + for (var link : paginatedLinks.items()) { + var linkOutput = + new LinkOutput( + host, link.getSource(), link.getTarget(), link.isExternal(), link.getValidity()); + + output.add(linkOutput); + } + + return output; + } + + private List generatePageContentForBrand( + @Nullable UUID brandUuid, int page, int perPage) { + + var fqdn = getBrandFirstFqdn(brandUuid); + var paginatedLinks = + linkRepository.findAllForBrand( + Pagination.fromOffsetAndLimit(page * perPage, perPage), brandUuid); + + return paginatedLinksToOutput(fqdn, paginatedLinks); + } + + private List generatePageContentForCatalog( + @Nullable UUID catalogUuid, int page, int perPage) { + + var brandUuid = getBrandUuidFromCatalogUuid(catalogUuid); + var fqdn = getBrandFirstFqdn(brandUuid); + var paginatedLinks = + linkRepository.findAllForCatalog( + Pagination.fromOffsetAndLimit(page * perPage, perPage), catalogUuid); + + return paginatedLinksToOutput(fqdn, paginatedLinks); + } + + private @Nullable UUID getBrandUuidFromCatalogUuid(@Nullable UUID catalogUuid) { + return Optional.ofNullable(catalogUuid) + .map(catalogRepository::findByUuid) + .flatMap(optionalCatalog -> optionalCatalog) + .map(Catalog::getBrandUuid) + .orElse(null); + } + + private @Nullable Fqdn getBrandFirstFqdn(@Nullable UUID brandUuid) { + return Optional.ofNullable(brandUuid) + .map(brandRepository::findByUuid) + .flatMap(optionalBrand -> optionalBrand) + .flatMap(brand -> brand.getFqdns().stream().findFirst()) + .orElse(null); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/GetLink.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/GetLink.java new file mode 100644 index 0000000..1056aaa --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/GetLink.java @@ -0,0 +1,40 @@ +package tech.pegase.z3.domain.usecase.links; + +import java.time.ZonedDateTime; +import java.util.UUID; +import org.jspecify.annotations.Nullable; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.LinkValidity; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.shared.valueobject.Source; + +public interface GetLink extends UseCase { + sealed interface Input { + record ForSource(Source source) implements GetLink.Input {} + } + + sealed interface Output { + record Found(LinkOutput link) implements GetLink.Output {} + + record NoSuchSource() implements GetLink.Output, Failure {} + + record LinkOutput( + Source source, + Target target, + boolean isExternal, + LinkValidity validity, + int visits, + @Nullable UUID brandUuid, + LinkOutput.@Nullable LinkTag tag, + LinkOutput.@Nullable LinkCatalog catalog, + ZonedDateTime createdAt, + @Nullable ZonedDateTime updatedAt) { + + public record LinkTag(UUID uuid, String name, String color) {} + + public record LinkCatalog(Slug slug, String name) {} + } + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/GetLinkImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/GetLinkImpl.java new file mode 100644 index 0000000..456f42e --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/GetLinkImpl.java @@ -0,0 +1,101 @@ +package tech.pegase.z3.domain.usecase.links; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.usecase.links.GetLink.Input.ForSource; +import tech.pegase.z3.domain.usecase.links.GetLink.Output.LinkOutput; +import tech.pegase.z3.domain.usecase.links.GetLink.Output.NoSuchSource; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.shared.valueobject.Source; + +@ApplicationScoped +public class GetLinkImpl implements GetLink { + private final LinkRepository linkRepository; + private final CatalogRepository catalogRepository; + private final TagRepository tagRepository; + + @Inject + public GetLinkImpl( + LinkRepository linkRepository, + CatalogRepository catalogRepository, + TagRepository tagRepository) { + this.linkRepository = linkRepository; + this.catalogRepository = catalogRepository; + this.tagRepository = tagRepository; + } + + public Output.LinkOutput linkOutputFrom(Link link, @Nullable Tag tag, @Nullable Catalog catalog) { + var linkTag = linkTagOf(tag); + var linkCatalog = linkCatalogOf(catalog); + + return new Output.LinkOutput( + Source.of(link.getSource().value()), + Target.of(link.getTarget().value()), + link.isExternal(), + link.getValidity(), + link.getVisits(), + link.getBrand(), + linkTag, + linkCatalog, + link.getCreatedAt(), + link.getUpdatedAt()); + } + + @Override + public GetLink.Output run(GetLink.Input input) { + return switch (input) { + case ForSource inputCase -> run(inputCase); + }; + } + + private Output run(ForSource inputCase) { + var source = inputCase.source(); + var link = linkRepository.findBySource(source).orElse(null); + Tag tag; + Catalog catalog; + + if (link == null) { + return new NoSuchSource(); + } + + tag = link.getTag() != null ? tagRepository.findByUuid(link.getTag()).orElseThrow() : null; + catalog = + link.getCatalog() != null + ? catalogRepository.findByUuid(link.getCatalog()).orElseThrow() + : null; + + var linkOutput = linkOutputFrom(link, tag, catalog); + + return new Output.Found(linkOutput); + } + + Output.LinkOutput.@Nullable LinkCatalog linkCatalogOf(@Nullable Catalog catalog) { + if (catalog == null) { + return null; + } + + var slug = catalog.getSlug(); + var name = catalog.getName(); + + return new LinkOutput.LinkCatalog(slug, name); + } + + Output.LinkOutput.@Nullable LinkTag linkTagOf(@Nullable Tag tag) { + if (tag == null) { + return null; + } + + var uuid = tag.getUuid(); + var name = tag.getName(); + var color = tag.getColor(); + + return new LinkOutput.LinkTag(uuid, name, color.toString()); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ImportLinks.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ImportLinks.java new file mode 100644 index 0000000..a798836 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ImportLinks.java @@ -0,0 +1,31 @@ +package tech.pegase.z3.domain.usecase.links; + +import jakarta.annotation.Nullable; +import java.util.List; +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; + +public interface ImportLinks extends UseCase { + sealed interface Input { + record ImportForBrand(UUID brandUuid, @Nullable UUID tagUuid, List lines) + implements Input {} + + record ImportForCatalog(UUID catalogUuid, @Nullable UUID tagUuid, List lines) + implements Input {} + + record ImportLine(String source, String url, boolean isExternal) {} + } + + sealed interface Output { + record ImportResults(List failedImports, Integer importedLinks) + implements Output { + public record FailedImport( + int line, String reason, String source, String target, boolean isExternal) {} + } + + record NoSuchBrand() implements Output, Failure {} + + record NoSuchCatalog() implements Output, Failure {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ImportLinksImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ImportLinksImpl.java new file mode 100644 index 0000000..3a42f05 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ImportLinksImpl.java @@ -0,0 +1,191 @@ +package tech.pegase.z3.domain.usecase.links; + +import jakarta.enterprise.context.ApplicationScoped; +import java.time.ZonedDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.UUID; +import org.jboss.logging.Logger; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.port.service.RandomSourceGenerator; +import tech.pegase.z3.domain.port.service.Slugifyier; +import tech.pegase.z3.domain.usecase.links.ImportLinks.Input.ImportLine; +import tech.pegase.z3.domain.usecase.links.ImportLinks.Output.ImportResults; +import tech.pegase.z3.domain.usecase.links.ImportLinks.Output.NoSuchBrand; +import tech.pegase.z3.domain.usecase.links.ImportLinks.Output.NoSuchCatalog; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.shared.valueobject.Source; + +@ApplicationScoped +public class ImportLinksImpl implements ImportLinks { + private static final Logger logger = Logger.getLogger(ImportLinksImpl.class); + private final RandomSourceGenerator randomSourceGenerator; + private final BrandRepository brandRepository; + private final CatalogRepository catalogRepository; + private final LinkRepository linkRepository; + private final TagRepository tagRepository; + private final Slugifyier slugifyier; + + public ImportLinksImpl( + RandomSourceGenerator randomSourceGenerator, + Slugifyier slugifyier, + LinkRepository linkRepository, + TagRepository tagRepository, + BrandRepository brandRepository, + CatalogRepository catalogRepository) { + this.randomSourceGenerator = randomSourceGenerator; + this.linkRepository = linkRepository; + this.tagRepository = tagRepository; + this.slugifyier = slugifyier; + this.brandRepository = brandRepository; + this.catalogRepository = catalogRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.ImportForBrand inputCase -> run(inputCase); + case Input.ImportForCatalog inputCase -> run(inputCase); + }; + } + + private Output run(Input.ImportForCatalog inputCase) { + List failedImports = new ArrayList<>(); + Map importedSources = new HashMap<>(); + + var catalogUuid = inputCase.catalogUuid(); + var catalog = catalogRepository.findByUuid(catalogUuid).orElse(null); + + if (catalog == null) { + return new NoSuchCatalog(); + } + + var brandUuid = catalog.getBrandUuid(); + var tagUuid = + Optional.ofNullable(inputCase.tagUuid()).filter(tagRepository::exists).orElse(null); + + var i = 1; + for (var line : inputCase.lines()) { + try { + var source = toSource(line.source()); + var target = toTarget(line.url()); + var isExternal = line.isExternal(); + + if (importedSources.containsKey(source)) { + var previousSourceLine = importedSources.get(source); + throw new IllegalStateException( + "Le lien '%s' est déjà présent à la ligne %d et ne sera donc pas importé" + .formatted(source.value(), previousSourceLine)); + } + + importLine(source, target, isExternal, brandUuid, tagUuid, catalogUuid); + + importedSources.put(source, i); + } catch (IllegalStateException e) { + var failedImport = failedImportFrom(i, e.getMessage(), line); + + failedImports.add(failedImport); + logger.debug(e.getMessage(), e); + } finally { + i++; + } + } + + return new ImportResults(failedImports, i - 1 - failedImports.size()); + } + + private Output run(Input.ImportForBrand inputCase) { + List failedImports = new ArrayList<>(); + Map importedSources = new HashMap<>(); + + var brandUuid = inputCase.brandUuid(); + var tagUuid = + Optional.ofNullable(inputCase.tagUuid()).filter(tagRepository::exists).orElse(null); + + if (!brandRepository.exists(brandUuid)) { + return new NoSuchBrand(); + } + + var i = 1; + for (var line : inputCase.lines()) { + try { + var source = toSource(line.source()); + var target = toTarget(line.url()); + var isExternal = line.isExternal(); + + if (importedSources.containsKey(source)) { + var previousSourceLine = importedSources.get(source); + throw new IllegalStateException( + "Le lien '%s' est déjà présent à la ligne %d et ne sera donc pas importé" + .formatted(source.value(), previousSourceLine)); + } + + importLine(source, target, isExternal, brandUuid, tagUuid, null); + + importedSources.put(source, i); + } catch (IllegalStateException e) { + var failedImport = failedImportFrom(i, e.getMessage(), line); + + failedImports.add(failedImport); + logger.debug(e.getMessage(), e); + } finally { + i++; + } + } + + return new ImportResults(failedImports, i - 1 - failedImports.size()); + } + + public Output.ImportResults.FailedImport failedImportFrom( + int line, String reason, ImportLine importLine) { + return new Output.ImportResults.FailedImport( + line, reason, importLine.source(), importLine.url(), importLine.isExternal()); + } + + private void importLine( + Source source, + Target target, + Boolean isExternal, + UUID brandUuid, + @Nullable UUID tagUuid, + @Nullable UUID catalogUuid) + throws IllegalStateException { + + var link = linkRepository.findBySource(source).orElse(null); + + if (link != null && !brandUuid.equals(link.getBrand())) { + throw new IllegalStateException("Ne peut écraser le lien d'une autre enseigne"); + } + + if (link == null) { + link = new Link(source, target, isExternal, brandUuid, tagUuid, catalogUuid); + } else { + link.setTarget(target); + link.setIsExternal(isExternal); + link.setTag(tagUuid); + link.setCatalog(catalogUuid); + link.setUpdatedAt(ZonedDateTime.now()); + } + + linkRepository.updateOrPersist(link); + } + + private Source toSource(String value) { + return Source.of( + !value.isBlank() + ? slugifyier.slugify(value).value() + : randomSourceGenerator.generate().value()); + } + + private Target toTarget(String value) { + return Target.of(value); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ListLinks.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ListLinks.java new file mode 100644 index 0000000..aa07508 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ListLinks.java @@ -0,0 +1,50 @@ +package tech.pegase.z3.domain.usecase.links; + +import java.time.ZonedDateTime; +import java.util.UUID; +import org.jspecify.annotations.Nullable; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.LinkValidity; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.domain.valueobject.filterings.LinkFiltering; +import tech.pegase.z3.domain.valueobject.orderings.LinkOrdering; +import tech.pegase.z3.domain.valueobject.searchings.LinkSearching; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; +import tech.pegase.z3.shared.valueobject.Source; + +public interface ListLinks extends UseCase { + sealed interface Input { + record WithPaginationSorted(Pagination pagination, LinkFiltering filters, LinkOrdering ordering) + implements Input {} + + record WithPaginationAndSearchingAllSorted( + Pagination pagination, + LinkFiltering filters, + LinkOrdering ordering, + LinkSearching searching) + implements Input {} + } + + sealed interface Output { + record PaginatedLinks(PaginatedData linkList) implements Output {} + + record LinkOutput( + Source source, + Target target, + boolean isExternal, + LinkValidity validity, + int visits, + @Nullable UUID brandUuid, + LinkOutput.@Nullable LinkTag tag, + LinkOutput.@Nullable LinkCatalog catalog, + ZonedDateTime createdAt, + @Nullable ZonedDateTime updatedAt) { + + public record LinkTag(UUID uuid, String name, String color) {} + + public record LinkCatalog(Slug slug, String name) {} + } + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ListLinksImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ListLinksImpl.java new file mode 100644 index 0000000..3e119c8 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/ListLinksImpl.java @@ -0,0 +1,124 @@ +package tech.pegase.z3.domain.usecase.links; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import java.util.Optional; +import java.util.UUID; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.usecase.links.ListLinks.Input.WithPaginationAndSearchingAllSorted; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.domain.valueobject.searchings.LinkSearching; +import tech.pegase.z3.shared.valueobject.Source; + +@ApplicationScoped +public class ListLinksImpl implements ListLinks { + private final LinkRepository linkRepository; + private final CatalogRepository catalogRepository; + private final TagRepository tagRepository; + + @Inject + ListLinksImpl( + LinkRepository linkRepository, + CatalogRepository catalogRepository, + TagRepository tagRepository) { + this.linkRepository = linkRepository; + this.catalogRepository = catalogRepository; + this.tagRepository = tagRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.WithPaginationSorted inputCase -> run(inputCase); + case WithPaginationAndSearchingAllSorted inputCase -> run(inputCase); + }; + } + + private Output run(Input.WithPaginationSorted input) { + var pagination = input.pagination(); + var filters = input.filters(); + var ordering = input.ordering(); + + var paginatedLinkOutputs = + linkRepository.findAll(pagination, filters, ordering).map(this::linkMapper); + + return new Output.PaginatedLinks(paginatedLinkOutputs); + } + + private Output run(WithPaginationAndSearchingAllSorted input) { + var pagination = input.pagination(); + var filters = input.filters(); + var ordering = input.ordering(); + + var searching = input.searching(); + var linkSearching = LinkSearching.of(searching.field(), searching.value()); + + var paginatedLinkOutputs = + linkRepository.findAll(pagination, filters, ordering, linkSearching).map(this::linkMapper); + + return new Output.PaginatedLinks(paginatedLinkOutputs); + } + + private Output.LinkOutput.@Nullable LinkTag linkTagFrom(@Nullable Tag tag) { + if (tag == null) { + return null; + } + + var uuid = tag.getUuid(); + var name = tag.getName(); + var color = tag.getColor(); + + return new Output.LinkOutput.LinkTag(uuid, name, color.toString()); + } + + private Output.LinkOutput.@Nullable LinkCatalog linkCatalogFrom(@Nullable Catalog catalog) { + if (catalog == null) { + return null; + } + + var slug = catalog.getSlug(); + var name = catalog.getName(); + + return new Output.LinkOutput.LinkCatalog(slug, name); + } + + private Output.LinkOutput linkOutputFrom( + Link link, @Nullable Tag tag, @Nullable Catalog catalog) { + var linkTag = linkTagFrom(tag); + var linkCatalog = linkCatalogFrom(catalog); + + return new Output.LinkOutput( + Source.of(link.getSource().value()), + Target.of(link.getTarget().value()), + link.isExternal(), + link.getValidity(), + link.getVisits(), + link.getBrand(), + linkTag, + linkCatalog, + link.getCreatedAt(), + link.getUpdatedAt()); + } + + private Output.LinkOutput linkMapper(Link link) { + var tag = getTag(link.getTag()); + var catalog = getCatalog(link.getCatalog()); + + return linkOutputFrom(link, tag, catalog); + } + + private @Nullable Tag getTag(@Nullable UUID uuid) { + return (uuid != null ? tagRepository.findByUuid(uuid) : Optional.empty()).orElse(null); + } + + private @Nullable Catalog getCatalog(@Nullable UUID uuid) { + return (uuid != null ? catalogRepository.findByUuid(uuid) : Optional.empty()) + .orElse(null); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/RedirectLink.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/RedirectLink.java new file mode 100644 index 0000000..6767846 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/RedirectLink.java @@ -0,0 +1,23 @@ +package tech.pegase.z3.domain.usecase.links; + +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.Fqdn; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.shared.valueobject.Source; + +public interface RedirectLink extends UseCase { + sealed interface Input { + record ResolveWith(Fqdn defaultFqdn, Fqdn actualFqdn, Source source) implements Input {} + } + + sealed interface Output { + record Found(LinkOutput link) implements Output {} + + record WrongFqdn() implements Output, Failure {} + + record NoSuchSource() implements Output, Failure {} + + record LinkOutput(Source source, Target target) {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/RedirectLinkImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/RedirectLinkImpl.java new file mode 100644 index 0000000..771198d --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/RedirectLinkImpl.java @@ -0,0 +1,82 @@ +package tech.pegase.z3.domain.usecase.links; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import java.util.Optional; +import org.jboss.logging.Logger; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.service.VerifyLinkService; + +@ApplicationScoped +public class RedirectLinkImpl implements RedirectLink { + private final Logger logger = Logger.getLogger(RedirectLinkImpl.class); + private final LinkRepository linkRepository; + private final BrandRepository brandRepository; + private final VerifyLinkService verifyLinkService; + + @Inject + public RedirectLinkImpl( + LinkRepository linkRepository, + BrandRepository brandRepository, + VerifyLinkService verifyLinkService) { + this.linkRepository = linkRepository; + this.brandRepository = brandRepository; + this.verifyLinkService = verifyLinkService; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.ResolveWith inputCase -> run(inputCase); + }; + } + + private Output run(Input.ResolveWith resolveWith) { + var source = resolveWith.source(); + var defaultFqdn = resolveWith.defaultFqdn(); + var actualFqdn = resolveWith.actualFqdn(); + var link = linkRepository.findBySource(source).orElse(null); + Brand brand; + + if (link == null) { + return new Output.NoSuchSource(); + } + + brand = Optional.ofNullable(link.getBrand()).flatMap(brandRepository::findByUuid).orElse(null); + + if (brand != null + && !defaultFqdn.equals(actualFqdn) + && !brand.getFqdns().contains(actualFqdn)) { + logger.debug( + "Current request Fqdn '%s' does not match any of the resolved link brand '%s' fqdns" + .formatted(actualFqdn.getValue(), brand.getName())); + return new Output.WrongFqdn(); + } + + if (brand == null && !defaultFqdn.equals(actualFqdn)) { + logger.debug( + "Current request Fqdn '%s' does not match the default fqdn '%s'" + .formatted(actualFqdn.getValue(), defaultFqdn.getValue())); + return new Output.WrongFqdn(); + } + + link.incVisits(); + linkRepository.update(link); + + verifyLinkService.verifyAndPersistValidity(link); + + var linkOutput = linkOutputFrom(link); + + return new Output.Found(linkOutput); + } + + Output.LinkOutput linkOutputFrom(Link link) { + var source = link.getSource(); + var target = link.getTarget(); + + return new Output.LinkOutput(source, target); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/UpdateLink.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/UpdateLink.java new file mode 100644 index 0000000..4926b7f --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/UpdateLink.java @@ -0,0 +1,49 @@ +package tech.pegase.z3.domain.usecase.links; + +import java.time.ZonedDateTime; +import java.util.UUID; +import org.jspecify.annotations.Nullable; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.LinkValidity; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; +import tech.pegase.z3.shared.valueobject.Source; + +public interface UpdateLink extends UseCase { + sealed interface Input { + record ForSource( + Source source, + Target target, + boolean isExternal, + @Nullable UUID tagUuid, + @Nullable Slug catalogSlug) + implements Input {} + } + + sealed interface Output { + record Updated(LinkOutput link) implements Output {} + + record NotUpdated(InvalidFields reasons) implements Output, Failure {} + + record NoSuchSource() implements Output, Failure {} + + record LinkOutput( + Source source, + Target target, + boolean isExternal, + LinkValidity validity, + int visits, + ZonedDateTime createdAt, + @Nullable ZonedDateTime updatedAt, + @Nullable UUID brandUuid, + LinkOutput.@Nullable LinkTag tag, + LinkOutput.@Nullable LinkCatalog catalog) { + + public record LinkTag(UUID uuid, String name, String color) {} + + public record LinkCatalog(Slug slug, String name) {} + } + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/UpdateLinkImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/UpdateLinkImpl.java new file mode 100644 index 0000000..d4e73cd --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/UpdateLinkImpl.java @@ -0,0 +1,126 @@ +package tech.pegase.z3.domain.usecase.links; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import java.time.ZonedDateTime; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.service.VerifyLinkService; +import tech.pegase.z3.domain.usecase.links.UpdateLink.Input.ForSource; +import tech.pegase.z3.domain.usecase.links.UpdateLink.Output.LinkOutput; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.domain.valueobject.errors.InvalidField; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; +import tech.pegase.z3.shared.valueobject.Source; + +@ApplicationScoped +public class UpdateLinkImpl implements UpdateLink { + private final LinkRepository linkRepository; + private final TagRepository tagRepository; + private final CatalogRepository catalogRepository; + private final VerifyLinkService verifyLinkService; + + @Inject + public UpdateLinkImpl( + LinkRepository linkRepository, + TagRepository tagRepository, + CatalogRepository catalogRepository, + VerifyLinkService verifyLinkService) { + this.linkRepository = linkRepository; + this.tagRepository = tagRepository; + this.catalogRepository = catalogRepository; + this.verifyLinkService = verifyLinkService; + } + + private Output.LinkOutput linkOutputFrom( + Link link, @Nullable Tag tag, @Nullable Catalog catalog) { + var linkCatalog = linkCatalogFrom(catalog); + var linkTag = linkTagFrom(tag); + + return new LinkOutput( + Source.of(link.getSource().value()), + Target.of(link.getTarget().value()), + link.isExternal(), + link.getValidity(), + link.getVisits(), + link.getCreatedAt(), + link.getUpdatedAt(), + link.getBrand(), + linkTag, + linkCatalog); + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.ForSource inputCase -> run(inputCase); + }; + } + + private Output run(ForSource forSource) { + var url = forSource.target(); + var isExternalSlug = forSource.isExternal(); + var tagUuid = forSource.tagUuid(); + var catalogSlug = forSource.catalogSlug(); + + var link = linkRepository.findBySource(forSource.source()).orElse(null); + Tag tag; + Catalog catalog; + + if (link == null) { + return new Output.NoSuchSource(); + } + + tag = tagUuid != null ? tagRepository.findByUuid(tagUuid).orElse(null) : null; + catalog = catalogSlug != null ? catalogRepository.findBySlug(catalogSlug).orElse(null) : null; + + if (tagUuid != null && tag == null) { + return new Output.NotUpdated(InvalidFields.of(InvalidField.of("tag", "n'existe pas"))); + } + if (catalogSlug != null && catalog == null) { + return new Output.NotUpdated(InvalidFields.of(InvalidField.of("catalog", "n'existe pas"))); + } + + link.setTarget(url); + link.setIsExternal(isExternalSlug); + link.setTag(tagUuid); + link.setCatalog(catalog != null ? catalog.getUuid() : null); + link.setUpdatedAt(ZonedDateTime.now()); + + linkRepository.update(link); + + verifyLinkService.verifyAndPersistValidity(link); + + var linkOutput = linkOutputFrom(link, tag, catalog); + + return new Output.Updated(linkOutput); + } + + private Output.LinkOutput.@Nullable LinkCatalog linkCatalogFrom(@Nullable Catalog catalog) { + if (catalog == null) { + return null; + } + + var slug = catalog.getSlug(); + var name = catalog.getName(); + + return new Output.LinkOutput.LinkCatalog(slug, name); + } + + private Output.LinkOutput.@Nullable LinkTag linkTagFrom(@Nullable Tag tag) { + if (tag == null) { + return null; + } + + var uuid = tag.getUuid(); + var name = tag.getName(); + var color = tag.getColor(); + + return new Output.LinkOutput.LinkTag(uuid, name, color.toString()); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/VerifyLink.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/VerifyLink.java new file mode 100644 index 0000000..fe2627c --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/VerifyLink.java @@ -0,0 +1,20 @@ +package tech.pegase.z3.domain.usecase.links; + +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.shared.valueobject.Source; + +public interface VerifyLink extends UseCase { + sealed interface Input { + record Verify(Source linkSource) implements Input {} + } + + sealed interface Output { + record TargetIsValid(Target linkTarget) implements Output {} + + record TargetIsNotValid(Target linkTarget) implements Output {} + + record NoSuchLink() implements Output, Failure {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/VerifyLinkImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/VerifyLinkImpl.java new file mode 100644 index 0000000..76004e7 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/VerifyLinkImpl.java @@ -0,0 +1,40 @@ +package tech.pegase.z3.domain.usecase.links; + +import jakarta.enterprise.context.ApplicationScoped; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.service.VerifyLinkService; +import tech.pegase.z3.domain.valueobject.LinkValidity; + +@ApplicationScoped +public class VerifyLinkImpl implements VerifyLink { + private final LinkRepository linkRepository; + private final VerifyLinkService verifyLinkService; + + VerifyLinkImpl(LinkRepository linkRepository, VerifyLinkService verifyLinkService) { + this.linkRepository = linkRepository; + this.verifyLinkService = verifyLinkService; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.Verify inputCase -> run(inputCase); + }; + } + + private Output run(Input.Verify inputCase) { + var link = linkRepository.findBySource(inputCase.linkSource()).orElse(null); + + if (link == null) { + return new Output.NoSuchLink(); + } + + verifyLinkService.verifyAndPersistValidity(link); + + if (link.getValidity().equals(LinkValidity.invalid())) { + return new Output.TargetIsNotValid(link.getTarget()); + } + + return new Output.TargetIsValid(link.getTarget()); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/package-info.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/package-info.java new file mode 100644 index 0000000..25e9c1c --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/links/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.domain.usecase.links; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/GetReportingSubscriptions.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/GetReportingSubscriptions.java new file mode 100644 index 0000000..b98eb83 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/GetReportingSubscriptions.java @@ -0,0 +1,20 @@ +package tech.pegase.z3.domain.usecase.reporting; + +import java.util.Set; +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.entity.ReportingSubscription; + +public interface GetReportingSubscriptions + extends UseCase { + sealed interface Input { + record GetSubscriptionsForUser(UUID userUuid) implements Input {} + } + + sealed interface Output { + record ReportSubscriptionsForUser(Set subscriptions) implements Output {} + + record NoSuchUser() implements Output, Failure {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/GetReportingSubscriptionsImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/GetReportingSubscriptionsImpl.java new file mode 100644 index 0000000..a615917 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/GetReportingSubscriptionsImpl.java @@ -0,0 +1,37 @@ +package tech.pegase.z3.domain.usecase.reporting; + +import jakarta.enterprise.context.ApplicationScoped; +import tech.pegase.z3.domain.port.repository.ReportingSubscriptionRepository; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.usecase.reporting.GetReportingSubscriptions.Input.GetSubscriptionsForUser; + +@ApplicationScoped +public class GetReportingSubscriptionsImpl implements GetReportingSubscriptions { + private final ReportingSubscriptionRepository reportingSubscriptionRepository; + private final UserRepository userRepository; + + GetReportingSubscriptionsImpl( + ReportingSubscriptionRepository reportingSubscriptionRepository, + UserRepository userRepository) { + this.reportingSubscriptionRepository = reportingSubscriptionRepository; + this.userRepository = userRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.GetSubscriptionsForUser inputCase -> run(inputCase); + }; + } + + private Output run(GetSubscriptionsForUser getSubscriptionsForUser) { + var user = userRepository.findByUuid(getSubscriptionsForUser.userUuid()).orElse(null); + + if (user == null) { + return new Output.NoSuchUser(); + } + + return new Output.ReportSubscriptionsForUser( + reportingSubscriptionRepository.getAllSubscriptions(user.getUuid())); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/SendReports.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/SendReports.java new file mode 100644 index 0000000..025a6dc --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/SendReports.java @@ -0,0 +1,18 @@ +package tech.pegase.z3.domain.usecase.reporting; + +import java.util.Map; +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; + +public interface SendReports extends UseCase { + sealed interface Input { + record SendReportsForInvalidLinks(String sender) implements Input {} + } + + sealed interface Output { + record ReportsFailedFor(Map reasonsPerUser) implements Output, Failure {} + + record AllReportSentWithSuccess() implements Output {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/SendReportsImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/SendReportsImpl.java new file mode 100644 index 0000000..77cdc55 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/SendReportsImpl.java @@ -0,0 +1,234 @@ +package tech.pegase.z3.domain.usecase.reporting; + +import jakarta.enterprise.context.ApplicationScoped; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Set; +import java.util.UUID; +import java.util.stream.Collectors; +import java.util.stream.Stream; +import org.jboss.logging.Logger; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.entity.ReportingSubscription; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.port.repository.ReportingSubscriptionRepository; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.port.service.MessageSender; +import tech.pegase.z3.domain.port.service.MessageSender.Status; +import tech.pegase.z3.domain.valueobject.Message; +import tech.pegase.z3.domain.valueobject.SubscriptionReport; +import tech.pegase.z3.domain.valueobject.filterings.LinkFiltering; +import tech.pegase.z3.domain.valueobject.filterings.LinkFiltering.Field; +import tech.pegase.z3.domain.valueobject.filterings.LinkFiltering.Value; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +@ApplicationScoped +public class SendReportsImpl implements SendReports { + private static Logger logger = Logger.getLogger(SendReportsImpl.class.getName()); + private final ReportingSubscriptionRepository reportingSubscriptionRepository; + private final LinkRepository linkRepository; + private final UserRepository userRepository; + private final BrandRepository brandRepository; + private final MessageSender messageSender; + + SendReportsImpl( + ReportingSubscriptionRepository reportingSubscriptionRepository, + LinkRepository linkRepository, + UserRepository userRepository, + BrandRepository brandRepository, + MessageSender messageSender) { + this.reportingSubscriptionRepository = reportingSubscriptionRepository; + this.linkRepository = linkRepository; + this.userRepository = userRepository; + this.brandRepository = brandRepository; + this.messageSender = messageSender; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.SendReportsForInvalidLinks inputCase -> run(inputCase); + }; + } + + private Output run(Input.SendReportsForInvalidLinks inputCase) { + var sender = inputCase.sender(); + var reportingSubscriptionsByBrandsMap = getReportingSubscriptionsByBrands(); + var failedReportsMap = new HashMap(); + var subscriptionReportsList = + new ArrayList(reportingSubscriptionsByBrandsMap.size()); + + reportingSubscriptionsByBrandsMap + .entrySet() + .forEach( + entry -> + generateSubscriptionReportsForEntry( + entry, subscriptionReportsList, failedReportsMap)); + + subscriptionReportsList.stream() + .collect(Collectors.groupingBy(SubscriptionReport::user)) + .entrySet() + .forEach(entry -> sendAggregatedReportsToUser(sender, entry, failedReportsMap)); + + if (!failedReportsMap.isEmpty()) { + logger.debug("Some reports have failed"); + return new Output.ReportsFailedFor(failedReportsMap); + } + + logger.debug("All reports send with success"); + return new Output.AllReportSentWithSuccess(); + } + + private void sendAggregatedReportsToUser( + String from, + Map.Entry> entry, + Map failedReports) { + var user = entry.getKey(); + var reportsList = entry.getValue(); + + var message = aggregateReportsToMessage(reportsList, from); + var sentStatus = + messageSender.send( + new Message( + user.getEmail(), + "[%s] Rapport journalier de %s" + .formatted(LocalDate.now().format(DateTimeFormatter.ISO_LOCAL_DATE), from), + message)); + + if (sentStatus instanceof Status.Failed) { + var errorMessage = "Failed sending report to user '%s'".formatted(user.getUuid()); + logger.warn(errorMessage); + failedReports.put(user.getUuid(), errorMessage); + return; + } + + logger.debug("Message sent to user '%s'".formatted(user.getUuid())); + } + + private String aggregateReportsToMessage(List reports, String from) { + var messageBuilder = new StringBuilder(); + var reportList = new ArrayList(); + + messageBuilder.append( + "Bonjour,\n\nVeuillez trouver ci-dessous le rapport de liens invalides du '%s' (%s)\n\n" + .formatted(LocalDate.now().format(DateTimeFormatter.ISO_LOCAL_DATE), from)); + + messageBuilder.append("\n\n --- Début du rapport --- \n\n"); + + reports.forEach(report -> reportList.add(reportToMessage(report))); + messageBuilder.append(String.join("\n\n----------------------------\n\n", reportList)); + + messageBuilder.append("\n\n --- Fin du rapport, bonne journée --- \n\n"); + + return messageBuilder.toString(); + } + + private String reportToMessage(SubscriptionReport report) { + var reportMessageBuilder = new StringBuilder(); + reportMessageBuilder.append( + "Rapport pour les liens de l'enseigne '%s'".formatted(report.brand().getName())); + reportMessageBuilder.append("\n\n"); + reportMessageBuilder.append("Liste des liens invalides :\n"); + + report.invalidLinks().stream() + .sorted(Comparator.comparing(Link::getSource)) + .forEach(link -> reportMessageBuilder.append("%s\n".formatted(linkToString(link)))); + + return reportMessageBuilder.toString(); + } + + private String linkToString(Link link) { + var sourceParts = + Arrays.stream(link.getSource().value().split("(?<=\\G.{30})")) + .map(v -> padRight(v, 30, ' ')) + .toArray(String[]::new); + var multiLineSourceStr = String.join("\n", sourceParts); + return "%s\t\t%s".formatted(multiLineSourceStr, link.getTarget().value()); + } + + private void generateSubscriptionReportsForEntry( + Map.Entry> entry, + List subscriptionReports, + Map failedReports) { + var currentBrandUuid = entry.getKey(); + var userUuidSet = + entry.getValue().stream() + .collect(Collectors.groupingBy(ReportingSubscription::getUser)) + .keySet(); + var invalidLinks = getInvalidLinksForBrand(currentBrandUuid); + + if (invalidLinks.isEmpty()) { + return; + } + + userUuidSet.forEach( + userUuid -> { + try { + subscriptionReports.add( + getNewSubscriptionReportForUserAndBrand(userUuid, currentBrandUuid, invalidLinks)); + } catch (NoSuchElementException e) { + var message = + "Failed to get user or brand to generate the report for user '%s' and brand '%s'" + .formatted(userUuid, currentBrandUuid); + logger.warn(message, e); + failedReports.put(userUuid, message); + } + }); + } + + private SubscriptionReport getNewSubscriptionReportForUserAndBrand( + UUID userUuid, UUID brandUuid, Set invalidLinks) throws NoSuchElementException { + var user = userRepository.findByUuid(userUuid).orElseThrow(); + var brand = brandRepository.findByUuid(brandUuid).orElseThrow(); + return new SubscriptionReport(invalidLinks, brand, user); + } + + private Set getInvalidLinksForBrand(UUID brandUuid) { + List brandLinks = new ArrayList<>(); + var i = 0; + final var perPage = 50; + PaginatedData paginatedLinks; + do { + paginatedLinks = + linkRepository.findAll( + Pagination.fromOffsetAndLimit(i, perPage), + LinkFiltering.ofMap( + Map.of( + Field.BRAND, Value.of(brandUuid), + Field.IS_EXTERNAL, Value.of("false")))); + i += 50; + brandLinks = + Stream.of(brandLinks, paginatedLinks.items()) + .flatMap(Collection::stream) + .collect(Collectors.toList()); + } while (!paginatedLinks.items().isEmpty()); + + return new HashSet<>(brandLinks); + } + + private Map> getReportingSubscriptionsByBrands() { + return reportingSubscriptionRepository.getAllSubscriptions().stream() + .collect(Collectors.groupingBy(ReportingSubscription::getBrand)); + } + + String padRight(String input, int length, Character padStr) { + if (input.length() >= length) { + return input; + } + + var padLength = length - input.length(); + return input + String.valueOf(padStr).repeat(padLength); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/UpdateUserReportingSubscriptions.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/UpdateUserReportingSubscriptions.java new file mode 100644 index 0000000..e1f789b --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/UpdateUserReportingSubscriptions.java @@ -0,0 +1,24 @@ +package tech.pegase.z3.domain.usecase.reporting; + +import java.util.Set; +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; + +public interface UpdateUserReportingSubscriptions + extends UseCase< + UpdateUserReportingSubscriptions.Input, UpdateUserReportingSubscriptions.Output> { + sealed interface Input { + record UpdateSubscriptionForUser(UUID userUuid, Set brandsUuids) implements Input {} + } + + sealed interface Output { + record SubscriptionsUpdated() implements Output {} + + record NoSuchUser() implements Output, Failure {} + + record TheseBrandsDoNotExist(Set brandsUuids) implements Output, Failure {} + + record UserDoNotBelongToTheseBrands(Set brandsUuids) implements Output, Failure {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/UpdateUserReportingSubscriptionsImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/UpdateUserReportingSubscriptionsImpl.java new file mode 100644 index 0000000..4d7b72c --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/UpdateUserReportingSubscriptionsImpl.java @@ -0,0 +1,93 @@ +package tech.pegase.z3.domain.usecase.reporting; + +import jakarta.enterprise.context.ApplicationScoped; +import java.util.Set; +import java.util.UUID; +import java.util.stream.Collectors; +import tech.pegase.z3.domain.entity.ReportingSubscription; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.ReportingSubscriptionRepository; +import tech.pegase.z3.domain.port.repository.UserRepository; + +@ApplicationScoped +public class UpdateUserReportingSubscriptionsImpl implements UpdateUserReportingSubscriptions { + private final UserRepository userRepository; + private final BrandRepository brandRepository; + private final ReportingSubscriptionRepository reportingSubscriptionRepository; + + public UpdateUserReportingSubscriptionsImpl( + UserRepository userRepository, + BrandRepository brandRepository, + ReportingSubscriptionRepository reportingSubscriptionRepository) { + this.userRepository = userRepository; + this.brandRepository = brandRepository; + this.reportingSubscriptionRepository = reportingSubscriptionRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.UpdateSubscriptionForUser inputCase -> run(inputCase); + }; + } + + private Output run(Input.UpdateSubscriptionForUser inputCase) { + var user = userRepository.findByUuid(inputCase.userUuid()).orElse(null); + var existingBrandsUuids = getBrandsUuidsThatActuallyExists(inputCase.brandsUuids()); + var nonExistingBrands = + getBrandUuidsThatDoesNotExists(inputCase.brandsUuids(), existingBrandsUuids); + + if (user == null) { + return new Output.NoSuchUser(); + } + + if (!nonExistingBrands.isEmpty()) { + return new Output.TheseBrandsDoNotExist(nonExistingBrands); + } + + var nonUserAssociatedBrandsUuids = + getBrandsUuidsThatAreNotAssociatedWithThisUser(user, existingBrandsUuids); + + if (!nonUserAssociatedBrandsUuids.isEmpty()) { + return new Output.UserDoNotBelongToTheseBrands(nonUserAssociatedBrandsUuids); + } + + reportingSubscriptionRepository.removeAllUserSubscriptions(user.getUuid()); + reportingSubscriptionRepository.setSubscriptions( + makeReportingSubscriptions(user, existingBrandsUuids)); + + return new Output.SubscriptionsUpdated(); + } + + private Set getBrandsUuidsThatActuallyExists(Set brandsUuidsToLookFor) { + return brandsUuidsToLookFor.stream() + .filter(brandRepository::exists) + .collect(Collectors.toSet()); + } + + private Set getBrandUuidsThatDoesNotExists( + Set brandUuids, Set existingBrandsUuids) { + return brandUuids.stream() + .filter(brandUuid -> existingBrandsUuids.stream().noneMatch(brandUuid::equals)) + .collect(Collectors.toSet()); + } + + private Set makeReportingSubscriptions(User user, Set brandsUuids) { + return brandsUuids.stream() + .map(brandUuid -> brandToReportingSubscription(user.getUuid(), brandUuid)) + .collect(Collectors.toSet()); + } + + private ReportingSubscription brandToReportingSubscription(UUID userUuid, UUID brandUuid) { + return new ReportingSubscription(userUuid, brandUuid); + } + + private Set getBrandsUuidsThatAreNotAssociatedWithThisUser( + User user, Set brandsUuids) { + return brandsUuids.stream() + .filter( + exisitingBrandUuid -> user.getBrands().stream().noneMatch(exisitingBrandUuid::equals)) + .collect(Collectors.toSet()); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/package-info.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/package-info.java new file mode 100644 index 0000000..5bf4fb4 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/reporting/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.domain.usecase.reporting; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/statistics/GetGlobalStatistics.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/statistics/GetGlobalStatistics.java new file mode 100644 index 0000000..0f0a087 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/statistics/GetGlobalStatistics.java @@ -0,0 +1,44 @@ +package tech.pegase.z3.domain.usecase.statistics; + +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.shared.lib.ReadOnlyList; + +public interface GetGlobalStatistics + extends UseCase { + sealed interface Input { + record GetStatistics() implements Input {} + + record GetStatisticsForBrand(UUID brandUuid) implements Input {} + } + + sealed interface Output { + record GeneralStatistics(ReadOnlyList statistics) implements Output {} + + record NoSuchBrand() implements Output, Failure {} + + record GlobalStatistic(String type, String statistic, Long value) { + + public enum StatisticType { + TOTAL_INVALID_LINKS_FOR_ALL("total_invalid_links_for_all"), + TOTAL_INVALID_LINKS_FOR_BRAND("total_invalid_links_for_brand"), + TOTAL_VISITS_FOR_ALL("total_visits_for_all"), + TOTAL_VISITS_FOR_BRAND("total_visits_for_brand"), + TOTAL_EXTERNAL_VISITS_FOR_ALL("total_external_visits_for_all"), + TOTAL_EXTERNAL_VISITS_FOR_BRAND("total_external_visits_for_brand"), + TOTAL_BRAND_LESS_VISITS("total_brand_less_visits"); + + private final String value; + + StatisticType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + } + } + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/statistics/GetGlobalStatisticsImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/statistics/GetGlobalStatisticsImpl.java new file mode 100644 index 0000000..05b5ef9 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/statistics/GetGlobalStatisticsImpl.java @@ -0,0 +1,118 @@ +package tech.pegase.z3.domain.usecase.statistics; + +import jakarta.enterprise.context.ApplicationScoped; +import java.util.List; +import java.util.UUID; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.usecase.statistics.GetGlobalStatistics.Input.GetStatistics; +import tech.pegase.z3.domain.usecase.statistics.GetGlobalStatistics.Input.GetStatisticsForBrand; +import tech.pegase.z3.domain.usecase.statistics.GetGlobalStatistics.Output.GlobalStatistic; +import tech.pegase.z3.domain.usecase.statistics.GetGlobalStatistics.Output.GlobalStatistic.StatisticType; +import tech.pegase.z3.shared.lib.ReadOnlyList; + +@ApplicationScoped +public class GetGlobalStatisticsImpl implements GetGlobalStatistics { + private final LinkRepository linkRepository; + private final BrandRepository brandRepository; + + public GetGlobalStatisticsImpl(LinkRepository linkRepository, BrandRepository brandRepository) { + this.linkRepository = linkRepository; + this.brandRepository = brandRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case GetStatistics inputCase -> run(inputCase); + case GetStatisticsForBrand inputCase -> run(inputCase); + }; + } + + private Output run(GetStatistics ignored) { + var globalStatistics = + new ReadOnlyList<>( + List.of( + countTotalVisits(null), + countInvalidLinks(null), + countBrandLessLinks(), + countExternalLinks(null))); + + return new Output.GeneralStatistics(globalStatistics); + } + + private Output run(GetStatisticsForBrand inputCase) { + var brandUuid = inputCase.brandUuid(); + + if (!brandRepository.exists(brandUuid)) { + return new Output.NoSuchBrand(); + } + + var globalStatistics = + new ReadOnlyList<>( + List.of( + countTotalVisits(brandUuid), + countInvalidLinks(brandUuid), + countExternalLinks(brandUuid))); + + return new Output.GeneralStatistics(globalStatistics); + } + + // STATISTICS METHODS + + private GlobalStatistic countBrandLessLinks() { + var label = "Visites sur des liens sans enseigne"; + var totalVisitsFor = linkRepository.countTotalVisits(null); + + return globalStatisticFrom(StatisticType.TOTAL_BRAND_LESS_VISITS, label, totalVisitsFor); + } + + private GlobalStatistic countExternalLinks(@Nullable UUID brandUuid) { + var forBrand = brandUuid != null; + var label = + forBrand + ? "Visites sur les liens externes de l'enseigne" + : "Visites sur tous les liens externes"; + var key = + forBrand + ? StatisticType.TOTAL_EXTERNAL_VISITS_FOR_BRAND + : StatisticType.TOTAL_EXTERNAL_VISITS_FOR_ALL; + var totalVisitsFor = + forBrand + ? linkRepository.countTotalExternal(brandUuid) + : linkRepository.countTotalExternal(); + + return globalStatisticFrom(key, label, totalVisitsFor); + } + + private GlobalStatistic countTotalVisits(@Nullable UUID brandUuid) { + var forBrand = brandUuid != null; + var label = forBrand ? "Visites sur les liens de l'enseigne" : "Visites sur tous les liens"; + var key = forBrand ? StatisticType.TOTAL_VISITS_FOR_BRAND : StatisticType.TOTAL_VISITS_FOR_ALL; + var totalVisitsFor = + forBrand ? linkRepository.countTotalVisits(brandUuid) : linkRepository.countTotalVisits(); + + return globalStatisticFrom(key, label, totalVisitsFor); + } + + private GlobalStatistic countInvalidLinks(@Nullable UUID brandUuid) { + var forBrand = brandUuid != null; + var label = + forBrand ? "Liens invalide pour cette enseigne" : "Liens invalides de toutes enseignes"; + var key = + forBrand + ? StatisticType.TOTAL_INVALID_LINKS_FOR_BRAND + : StatisticType.TOTAL_INVALID_LINKS_FOR_ALL; + var totalVisitsFor = + forBrand + ? linkRepository.countTotalInvalids(brandUuid) + : linkRepository.countTotalInvalids(); + + return globalStatisticFrom(key, label, totalVisitsFor); + } + + private GlobalStatistic globalStatisticFrom(StatisticType type, String statistic, Long value) { + return new GlobalStatistic(type.getValue(), statistic, value); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/statistics/GetLinksStatistics.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/statistics/GetLinksStatistics.java new file mode 100644 index 0000000..aad44d8 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/statistics/GetLinksStatistics.java @@ -0,0 +1,25 @@ +package tech.pegase.z3.domain.usecase.statistics; + +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.shared.lib.ReadOnlyMap; + +public interface GetLinksStatistics + extends UseCase { + sealed interface Input { + record ForBrands() implements Input {} + + record ForCatalogs(UUID ofBrandUuid) implements Input {} + + record ForTags(UUID ofBrandUuid) implements Input {} + } + + sealed interface Output { + record Statistics(ReadOnlyMap visitsPerEntity) implements Output {} + + record StatisticLine(UUID uuid, String name, Integer totalVisits) {} + + record NoSuchBrand() implements Output, Failure {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/statistics/GetLinksStatisticsImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/statistics/GetLinksStatisticsImpl.java new file mode 100644 index 0000000..579f996 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/statistics/GetLinksStatisticsImpl.java @@ -0,0 +1,187 @@ +package tech.pegase.z3.domain.usecase.statistics; + +import jakarta.enterprise.context.ApplicationScoped; +import java.util.AbstractMap.SimpleEntry; +import java.util.HashMap; +import java.util.Map; +import java.util.Map.Entry; +import java.util.UUID; +import java.util.function.Function; +import java.util.stream.Collectors; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.usecase.statistics.GetLinksStatistics.Input.ForBrands; +import tech.pegase.z3.domain.usecase.statistics.GetLinksStatistics.Input.ForCatalogs; +import tech.pegase.z3.domain.usecase.statistics.GetLinksStatistics.Input.ForTags; +import tech.pegase.z3.domain.usecase.statistics.GetLinksStatistics.Output.StatisticLine; +import tech.pegase.z3.domain.valueobject.filterings.LinkFiltering; +import tech.pegase.z3.domain.valueobject.filterings.LinkFiltering.Field; +import tech.pegase.z3.shared.lib.ReadOnlyMap; +import tech.pegase.z3.shared.pagination.Pagination; + +@ApplicationScoped +public class GetLinksStatisticsImpl implements GetLinksStatistics { + private final LinkRepository linkRepository; + private final BrandRepository brandRepository; + private final CatalogRepository catalogRepository; + private final TagRepository tagRepository; + + public GetLinksStatisticsImpl( + LinkRepository linkRepository, + BrandRepository brandRepository, + CatalogRepository catalogRepository, + TagRepository tagRepository) { + this.linkRepository = linkRepository; + this.brandRepository = brandRepository; + this.catalogRepository = catalogRepository; + this.tagRepository = tagRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case ForBrands inputCase -> run(inputCase); + case ForCatalogs inputCase -> run(inputCase); + case ForTags inputCase -> run(inputCase); + }; + } + + private Output run(ForBrands ignored) { + return new Output.Statistics(getStatisticsFor(Field.BRAND, null)); + } + + private Output run(ForCatalogs inputCase) { + var brandUuid = inputCase.ofBrandUuid(); + + if (!brandExists(brandUuid)) { + return new Output.NoSuchBrand(); + } + + return new Output.Statistics(getStatisticsFor(Field.CATALOG, brandUuid)); + } + + private Output run(ForTags inputCase) { + var brandUuid = inputCase.ofBrandUuid(); + + if (!brandExists(brandUuid)) { + return new Output.NoSuchBrand(); + } + + return new Output.Statistics(getStatisticsFor(Field.TAG, brandUuid)); + } + + private boolean brandExists(UUID brandUuid) { + return brandRepository.exists(brandUuid); + } + + private ReadOnlyMap getStatisticsFor( + LinkFiltering.Field type, @Nullable UUID brandUuid) { + var totalStatistics = countTotalStatisticsFor(type, brandUuid); + + return new ReadOnlyMap<>(mapEntitiesToStatisticsFor(totalStatistics)); + } + + private Map mapEntitiesToStatisticsFor( + Map statistics) { + return statistics.entrySet().stream() + .map(this::statisticsMapper) + .collect(Collectors.toMap(StatisticLine::uuid, Function.identity())); + } + + private StatisticLine statisticsMapper(Entry entry) { + var foreignUuid = entry.getKey(); + var countOf = entry.getValue(); + + return new Output.StatisticLine(foreignUuid, countOf.name(), countOf.visits()); + } + + private Map countTotalStatisticsFor( + LinkFiltering.Field type, @Nullable UUID brandUuid) { + Map totalLinkCounts = new HashMap<>(); + Map paginatedLinksCount; + + var page = 1; + do { + paginatedLinksCount = countLinksOnPageFor(page++, type, brandUuid); + paginatedLinksCount.forEach((key, value) -> totalLinkCounts.merge(key, value, Integer::sum)); + } while (!paginatedLinksCount.isEmpty()); + + return totalLinkCounts.entrySet().stream() + .>mapMulti( + ((uuidIntegerEntry, consumer) -> { + var foreignUuid = uuidIntegerEntry.getKey(); + var count = uuidIntegerEntry.getValue(); + var name = getNameOf(type, foreignUuid); + + consumer.accept( + new SimpleEntry<>(foreignUuid, new CountOf(foreignUuid, name, count))); + })) + .collect(Collectors.toMap(Entry::getKey, Entry::getValue)); + } + + private Map countLinksOnPageFor( + int page, LinkFiltering.Field type, @Nullable UUID brandUuid) { + Map linkCounts = new HashMap<>(); + + var linkFiltering = + LinkFiltering.of(brandUuid != null ? Map.of("BRAND", brandUuid.toString()) : Map.of()); + + linkRepository + .findAll(Pagination.fromPageNumberAndPageSize(page, 50), linkFiltering) + .items() + .forEach( + link -> { + UUID foreignUuid = null; + + if (type.equals(LinkFiltering.Field.BRAND)) { + foreignUuid = link.getBrand(); + } + if (type.equals(LinkFiltering.Field.CATALOG)) { + foreignUuid = link.getCatalog(); + } + if (type.equals(LinkFiltering.Field.TAG)) { + foreignUuid = link.getTag(); + } + + if (foreignUuid != null) { + linkCounts.merge(foreignUuid, link.getVisits(), Integer::sum); + } + }); + + return linkCounts; + } + + private String getNameOf(LinkFiltering.Field type, @Nullable UUID foreignUuid) { + String name = null; + + if (type.equals(LinkFiltering.Field.TAG)) { + name = tagRepository.findByUuid(foreignUuid).map(Tag::getName).orElse(name); + } + if (type.equals(LinkFiltering.Field.CATALOG)) { + name = catalogRepository.findByUuid(foreignUuid).map(Catalog::getName).orElse(name); + } + if (name == null) { + name = + brandRepository.findByUuid(foreignUuid).map(Brand::getName).orElse("entité non résolue"); + } + + return name; + } + + record CountOf(UUID uuid, String name, Integer visits) { + CountOf { + if (name.isBlank()) { + throw new IllegalStateException("name cannot be blank"); + } + if (visits < 0) { + throw new IllegalStateException("visits cannot be negative"); + } + } + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/statistics/package-info.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/statistics/package-info.java new file mode 100644 index 0000000..b9e9529 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/statistics/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.domain.usecase.statistics; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/CreateTag.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/CreateTag.java new file mode 100644 index 0000000..1a940fa --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/CreateTag.java @@ -0,0 +1,21 @@ +package tech.pegase.z3.domain.usecase.tags; + +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.Color; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; + +public interface CreateTag extends UseCase { + sealed interface Input { + record With(String name, Color color) implements Input {} + } + + sealed interface Output { + record Created(TagOutput value) implements Output {} + + record NotCreated(InvalidFields reasons) implements Output, Failure {} + + record TagOutput(UUID uuid, String name, Color color) {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/CreateTagImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/CreateTagImpl.java new file mode 100644 index 0000000..df4ba58 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/CreateTagImpl.java @@ -0,0 +1,58 @@ +package tech.pegase.z3.domain.usecase.tags; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import java.util.Objects; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.usecase.tags.CreateTag.Output.TagOutput; +import tech.pegase.z3.domain.valueobject.errors.InvalidField; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; + +@ApplicationScoped +public class CreateTagImpl implements CreateTag { + private final TagRepository tagRepository; + + @Inject + CreateTagImpl(TagRepository tagRepository) { + this.tagRepository = tagRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.With inputCase -> run(inputCase); + }; + } + + private Output run(Input.With inputCase) { + var name = inputCase.name(); + var color = inputCase.color(); + + Objects.requireNonNull(name, "name cannot be null"); + Objects.requireNonNull(color, "color cannot be null"); + + if (name.isBlank()) { + return new Output.NotCreated(InvalidFields.of(InvalidField.of("name", "ne peut être vide"))); + } + + if (tagRepository.findByName(name).isPresent()) { + return new Output.NotCreated(InvalidFields.of(InvalidField.of("name", "est déjà utilisé"))); + } + + var tag = new Tag(name, color); + tagRepository.persist(tag); + + var tagOutput = tagOutputOf(tag); + + return new Output.Created(tagOutput); + } + + private TagOutput tagOutputOf(Tag tag) { + var uuid = tag.getUuid(); + var name = tag.getName(); + var color = tag.getColor(); + + return new TagOutput(uuid, name, color); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/GetTag.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/GetTag.java new file mode 100644 index 0000000..c525f67 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/GetTag.java @@ -0,0 +1,20 @@ +package tech.pegase.z3.domain.usecase.tags; + +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.Color; + +public interface GetTag extends UseCase { + sealed interface Input { + record ForId(UUID uuid) implements Input {} + } + + sealed interface Output { + record Found(TagOutput tag) implements Output {} + + record NoSuchTag() implements Output, Failure {} + + record TagOutput(UUID uuid, String name, Color color) {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/GetTagImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/GetTagImpl.java new file mode 100644 index 0000000..f4201dd --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/GetTagImpl.java @@ -0,0 +1,47 @@ +package tech.pegase.z3.domain.usecase.tags; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.usecase.tags.GetTag.Input.ForId; +import tech.pegase.z3.domain.usecase.tags.GetTag.Output.NoSuchTag; + +@ApplicationScoped +public class GetTagImpl implements GetTag { + private final TagRepository tagRepository; + + @Inject + GetTagImpl(TagRepository tagRepository) { + this.tagRepository = tagRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case ForId inputCase -> run(inputCase); + }; + } + + private Output run(ForId inputCase) { + var tagUuid = inputCase.uuid(); + var optionalTag = this.tagRepository.findByUuid(tagUuid); + + if (optionalTag.isPresent()) { + var tag = optionalTag.get(); + var tagOutput = tagOutputOf(tag); + + return new Output.Found(tagOutput); + } + + return new NoSuchTag(); + } + + private Output.TagOutput tagOutputOf(Tag tag) { + var uuid = tag.getUuid(); + var name = tag.getName(); + var color = tag.getColor(); + + return new Output.TagOutput(uuid, name, color); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/ListTags.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/ListTags.java new file mode 100644 index 0000000..8c98832 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/ListTags.java @@ -0,0 +1,19 @@ +package tech.pegase.z3.domain.usecase.tags; + +import java.util.UUID; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.Color; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +public interface ListTags extends UseCase { + sealed interface Input { + record WithPagination(Pagination pagination) implements Input {} + } + + sealed interface Output { + record PaginatedTags(PaginatedData tagList) implements Output {} + + record TagOutput(UUID uuid, String name, Color color) {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/ListTagsImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/ListTagsImpl.java new file mode 100644 index 0000000..f0f2e44 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/ListTagsImpl.java @@ -0,0 +1,39 @@ +package tech.pegase.z3.domain.usecase.tags; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.usecase.tags.ListTags.Input.WithPagination; +import tech.pegase.z3.domain.usecase.tags.ListTags.Output.PaginatedTags; + +@ApplicationScoped +public class ListTagsImpl implements ListTags { + private final TagRepository tagRepository; + + @Inject + public ListTagsImpl(TagRepository tagRepository) { + this.tagRepository = tagRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case WithPagination caseInput -> run(caseInput); + }; + } + + private ListTags.Output run(ListTags.Input.WithPagination input) { + var paginatedTagOutputs = tagRepository.findAll(input.pagination()).map(this::tagOutputOf); + + return new PaginatedTags(paginatedTagOutputs); + } + + private Output.TagOutput tagOutputOf(Tag tag) { + var uuid = tag.getUuid(); + var name = tag.getName(); + var color = tag.getColor(); + + return new Output.TagOutput(uuid, name, color); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/RemoveTag.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/RemoveTag.java new file mode 100644 index 0000000..6b9402a --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/RemoveTag.java @@ -0,0 +1,17 @@ +package tech.pegase.z3.domain.usecase.tags; + +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; + +public interface RemoveTag extends UseCase { + sealed interface Input { + record WhereUuid(UUID uuid) implements Input {} + } + + sealed interface Output { + record Removed() implements Output {} + + record NoSuchTag() implements Output, Failure {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/RemoveTagImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/RemoveTagImpl.java new file mode 100644 index 0000000..d774576 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/RemoveTagImpl.java @@ -0,0 +1,62 @@ +package tech.pegase.z3.domain.usecase.tags; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import java.util.UUID; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.usecase.tags.RemoveTag.Input.WhereUuid; +import tech.pegase.z3.domain.usecase.tags.RemoveTag.Output.Removed; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +@ApplicationScoped +public class RemoveTagImpl implements RemoveTag { + TagRepository tagRepository; + LinkRepository linkRepository; + + @Inject + RemoveTagImpl(TagRepository tagRepository, LinkRepository linkRepository) { + this.tagRepository = tagRepository; + this.linkRepository = linkRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case WhereUuid inputCase -> run(inputCase); + }; + } + + private Output run(WhereUuid inputCase) { + var uuid = inputCase.uuid(); + + if (!tagRepository.exists(uuid)) { + return new RemoveTag.Output.NoSuchTag(); + } + + removeTagFromLinks(uuid); + + // Delete is an idempotent action. + tagRepository.remove(uuid); + return new Removed(); + } + + private void removeTagFromLinks(UUID tagUuid) { + var i = 0; + final var perPage = 50; + PaginatedData paginatedLinks; + do { + paginatedLinks = + linkRepository.findAllForTag(Pagination.fromOffsetAndLimit(i, perPage), tagUuid); + paginatedLinks.items().forEach(this::removeTagFromLink); + i += 50; + } while (!paginatedLinks.items().isEmpty()); + } + + private void removeTagFromLink(Link link) { + link.setTag(null); + linkRepository.update(link); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/UpdateTag.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/UpdateTag.java new file mode 100644 index 0000000..767db5f --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/UpdateTag.java @@ -0,0 +1,21 @@ +package tech.pegase.z3.domain.usecase.tags; + +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.Color; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; + +public interface UpdateTag extends UseCase { + sealed interface Input { + record WhereUuid(UUID uuid, String name, Color color) implements Input {} + } + + sealed interface Output { + record Updated(TagOutput value) implements Output {} + + record NotUpdated(InvalidFields reasons) implements Output, Failure {} + + record TagOutput(UUID uuid, String name, Color color) {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/UpdateTagImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/UpdateTagImpl.java new file mode 100644 index 0000000..3e12de2 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/UpdateTagImpl.java @@ -0,0 +1,76 @@ +package tech.pegase.z3.domain.usecase.tags; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import java.util.UUID; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.usecase.tags.UpdateTag.Input.WhereUuid; +import tech.pegase.z3.domain.valueobject.errors.InvalidField; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; + +@ApplicationScoped +public class UpdateTagImpl implements UpdateTag { + private final TagRepository tagRepository; + + @Inject + UpdateTagImpl(TagRepository tagRepository) { + this.tagRepository = tagRepository; + } + + @Override + public UpdateTag.Output run(UpdateTag.Input input) { + return switch (input) { + case WhereUuid inputCase -> run(inputCase); + }; + } + + private UpdateTag.Output run(WhereUuid inputCase) { + + var uuid = inputCase.uuid(); + var name = inputCase.name(); + var color = inputCase.color(); + + if (name.isBlank()) { + return new UpdateTag.Output.NotUpdated( + InvalidFields.of(InvalidField.of("name", "ne peut être vide"))); + } + + // Find the tagUuid we need to update + var optionalTag = tagRepository.findByUuid(uuid); + + if (optionalTag.isEmpty()) { + return new UpdateTag.Output.NotUpdated( + InvalidFields.of(InvalidField.of("tag", "n'existe pas"))); + } + + if (isTagNameAlreadyUsed(name, uuid)) { + return new UpdateTag.Output.NotUpdated( + InvalidFields.of(InvalidField.of("name", "est déjà utilisé"))); + } + + var tag = optionalTag.get(); + + tag.setName(name); + tag.setColor(color); + + tagRepository.update(tag); + + var tagOutput = tagOutputOf(tag); + + return new UpdateTag.Output.Updated(tagOutput); + } + + private Output.TagOutput tagOutputOf(Tag tag) { + var uuid = tag.getUuid(); + var name = tag.getName(); + var color = tag.getColor(); + + return new Output.TagOutput(uuid, name, color); + } + + private boolean isTagNameAlreadyUsed(String tagName, UUID currentTag) { + var anyMatchingTag = tagRepository.findByName(tagName); + return anyMatchingTag.isPresent() && !anyMatchingTag.get().getUuid().equals(currentTag); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/package-info.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/package-info.java new file mode 100644 index 0000000..b4ca0a6 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/tags/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.domain.usecase.tags; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ChangeUserPassword.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ChangeUserPassword.java new file mode 100644 index 0000000..46dbb0a --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ChangeUserPassword.java @@ -0,0 +1,22 @@ +package tech.pegase.z3.domain.usecase.users; + +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.Password; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; + +public interface ChangeUserPassword + extends UseCase { + sealed interface Input { + record WhereId(UUID uuid, Password password, Password newPassword) implements Input {} + } + + sealed interface Output { + record Changed() implements Output {} + + record NotChanged(InvalidFields reasons) implements Output, Failure {} + + record NoSuchUser() implements Output, Failure {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ChangeUserPasswordImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ChangeUserPasswordImpl.java new file mode 100644 index 0000000..d465ec7 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ChangeUserPasswordImpl.java @@ -0,0 +1,69 @@ +package tech.pegase.z3.domain.usecase.users; + +import jakarta.annotation.Nullable; +import jakarta.enterprise.context.ApplicationScoped; +import tech.pegase.z3.domain.entity.Credential; +import tech.pegase.z3.domain.port.repository.CredentialRepository; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.port.service.HashProvider; +import tech.pegase.z3.domain.usecase.users.ChangeUserPassword.Input.WhereId; +import tech.pegase.z3.domain.valueobject.errors.InvalidField; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; +import tech.pegase.z3.domain.valueobject.hashes.PasswordHash; + +@ApplicationScoped +public class ChangeUserPasswordImpl implements ChangeUserPassword { + private final UserRepository userRepository; + private final CredentialRepository credentialRepository; + private final HashProvider hashProvider; + + public ChangeUserPasswordImpl( + UserRepository userRepository, + CredentialRepository credentialRepository, + HashProvider hashProvider) { + this.userRepository = userRepository; + this.credentialRepository = credentialRepository; + this.hashProvider = hashProvider; + } + + @Override + public Output run(Input input) { + return switch (input) { + case WhereId inputCase -> run(inputCase); + }; + } + + private Output run(WhereId inputCase) { + var password = inputCase.password(); + var newPassword = inputCase.newPassword(); + @Nullable var user = userRepository.findByUuid(inputCase.uuid()).orElse(null); + @Nullable Credential credential; + + if (user == null) { + return new Output.NoSuchUser(); + } + + credential = credentialRepository.findById(user.getCredentialUuid()).orElse(null); + + if (credential == null) { + throw new IllegalStateException("Missing credentials for a user"); + } + + if (password.equals(newPassword)) { + return new Output.NotChanged( + InvalidFields.of( + InvalidField.of("new-password", "Ne peut être identique au mot de passe actuel"))); + } + + if (!hashProvider.areEquals(credential.getPassword(), password.value())) { + return new Output.NotChanged( + InvalidFields.of(InvalidField.of("password", "le mot de passe n'a pas pu être vérifié"))); + } + + credential.setPassword(hashProvider.hash(PasswordHash.class, newPassword.value())); + + credentialRepository.update(credential); + + return new Output.Changed(); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/CreateUser.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/CreateUser.java new file mode 100644 index 0000000..a6655d7 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/CreateUser.java @@ -0,0 +1,51 @@ +package tech.pegase.z3.domain.usecase.users; + +import java.util.Set; +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.domain.valueobject.Login; +import tech.pegase.z3.domain.valueobject.Role; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; + +public interface CreateUser extends UseCase { + sealed interface Input { + record NewUserBy( + UUID askingUserUuid, + String firstName, + String lastName, + Email email, + Role role, + Login login, + Set brandsUuids) + implements Input {} + + record NewUser( + String firstName, + String lastName, + Email email, + Role role, + Login login, + Set brandsUuids) + implements Input {} + } + + sealed interface Output { + record Created(UserOutput value) implements Output {} + + record Forbidden(String reason) implements Output, Failure {} + + record MessageCannotBeSent() implements Output, Failure {} + + record NotCreated(InvalidFields reasons) implements Output, Failure {} + + record UserOutput( + UUID uuid, + String firstName, + String lastName, + Email email, + Role role, + Set brandsUuids) {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/CreateUserImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/CreateUserImpl.java new file mode 100644 index 0000000..9878b03 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/CreateUserImpl.java @@ -0,0 +1,184 @@ +package tech.pegase.z3.domain.usecase.users; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import java.util.Optional; +import java.util.Set; +import java.util.UUID; +import tech.pegase.z3.domain.entity.Credential; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.CredentialRepository; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.port.service.HashProvider; +import tech.pegase.z3.domain.port.service.MessageSender; +import tech.pegase.z3.domain.port.service.PasswordGenerator; +import tech.pegase.z3.domain.usecase.users.CreateUser.Output.UserOutput; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.domain.valueobject.Login; +import tech.pegase.z3.domain.valueobject.Message; +import tech.pegase.z3.domain.valueobject.Password; +import tech.pegase.z3.domain.valueobject.Role; +import tech.pegase.z3.domain.valueobject.errors.InvalidField; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; +import tech.pegase.z3.domain.valueobject.hashes.PasswordHash; + +@ApplicationScoped +public class CreateUserImpl implements CreateUser { + private final PasswordGenerator passwordGenerator; + private final MessageSender messageSender; + private final UserRepository userRepository; + private final BrandRepository brandRepository; + private final CredentialRepository credentialRepository; + private final HashProvider hashProvider; + + @Inject + public CreateUserImpl( + PasswordGenerator passwordGenerator, + MessageSender messageSender, + UserRepository userRepository, + BrandRepository brandRepository, + CredentialRepository credentialRepository, + HashProvider hashProvider) { + this.passwordGenerator = passwordGenerator; + this.messageSender = messageSender; + this.userRepository = userRepository; + this.brandRepository = brandRepository; + this.credentialRepository = credentialRepository; + this.hashProvider = hashProvider; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.NewUser inputCase -> run(inputCase); + case Input.NewUserBy inputCase -> run(inputCase); + }; + } + + private Output run(Input.NewUser inputCase) { + var email = inputCase.email(); + var role = inputCase.role(); + var firstName = inputCase.firstName(); + var lastName = inputCase.lastName(); + var login = inputCase.login(); + var password = Password.of(passwordGenerator.generatePassword(10)); + var brands = inputCase.brandsUuids(); + + return createUser(firstName, lastName, email, role, login, password, brands); + } + + private Output run(Input.NewUserBy inputCase) { + Optional authUser; + var askingUserUuid = inputCase.askingUserUuid(); + var email = inputCase.email(); + var role = inputCase.role(); + var firstName = inputCase.firstName(); + var lastName = inputCase.lastName(); + var login = inputCase.login(); + var password = Password.of(passwordGenerator.generatePassword(10)); + var brands = inputCase.brandsUuids(); + + authUser = userRepository.findByUuid(askingUserUuid); + + if (authUser.isEmpty()) { + return new Output.Forbidden("Asking user does not exist"); + } + + if (authUser.get().getRole().compareTo(role) > 0) { + return new Output.NotCreated( + InvalidFields.of( + InvalidField.of("role", "impossible de définir un rôle supérieur au votre"))); + } + + return createUser(firstName, lastName, email, role, login, password, brands); + } + + private Output createUser( + String firstName, + String lastName, + Email email, + Role role, + Login login, + Password password, + Set brandsUuids) { + + Credential credential; + + if (firstName.isBlank()) { + return new Output.NotCreated( + InvalidFields.of(InvalidField.of("firstName", "ne peut être vide"))); + } + if (lastName.isBlank()) { + return new Output.NotCreated( + InvalidFields.of(InvalidField.of("lastName", "ne peut être vide"))); + } + + if (userRepository.exists(email)) { + return new Output.NotCreated(InvalidFields.of(InvalidField.of("email", "existe déjà"))); + } + + if (credentialRepository.findByLogin(login).isPresent()) { + return new Output.NotCreated(InvalidFields.of(InvalidField.of("login", "existe déjà"))); + } + + var passwordHash = hashProvider.hash(PasswordHash.class, password.value()); + + var anyBrandIsMissing = + brandsUuids.stream() + .reduce(false, (v, k) -> v || !brandRepository.exists(k), Boolean::logicalOr); + if (anyBrandIsMissing) { + return new Output.NotCreated( + InvalidFields.of(InvalidField.of("brands", "une des enseignes n'existe pas"))); + } + + credential = new Credential(login, passwordHash); + + credentialRepository.persist(credential); + + var user = new User(firstName, lastName, email, role, credential.getUuid()); + user.setBrands(brandsUuids); + userRepository.persist(user); + + var messageIsSent = sendMessageToUser(email, login, password); + + if (messageIsSent instanceof MessageSender.Status.Failed) { + return new Output.MessageCannotBeSent(); + } + + var userOutput = userOutputOf(user); + + return new Output.Created(userOutput); + } + + private UserOutput userOutputOf(User user) { + var uuid = user.getUuid(); + var firstName = user.getFirstName(); + var lastName = user.getLastName(); + var email = user.getEmail(); + var role = user.getRole(); + var brands = user.getBrands(); + + return new UserOutput(uuid, firstName, lastName, email, role, brands); + } + + private MessageSender.Status sendMessageToUser(Email email, Login login, Password password) { + var message = + """ + Bonjour, + Votre compte viens d'être crée veuillez retrouver + les informations pertinentes pour vous connecter ci-dessous : + + login : %s + password : %s + + N´oubliez pas de modifier votre mot de passe lors de votre première connexion. + Pensez également a supprimer ce message (y compris de votre corbeille). + + Cordialement + """ + .formatted(login.value(), password.value()); + + return messageSender.send(Message.of(email, "Votre compte Z3 à été crée", message)); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/GetUser.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/GetUser.java new file mode 100644 index 0000000..6965571 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/GetUser.java @@ -0,0 +1,28 @@ +package tech.pegase.z3.domain.usecase.users; + +import java.util.Set; +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.domain.valueobject.Role; + +public interface GetUser extends UseCase { + sealed interface Input { + record ForId(UUID uuid) implements GetUser.Input {} + } + + sealed interface Output { + record Found(UserOutput user) implements GetUser.Output {} + + record NoSuchUser() implements GetUser.Output, Failure {} + + record UserOutput( + UUID uuid, + String firstName, + String lastName, + Email email, + Role role, + Set brandsUuids) {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/GetUserImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/GetUserImpl.java new file mode 100644 index 0000000..4897588 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/GetUserImpl.java @@ -0,0 +1,45 @@ +package tech.pegase.z3.domain.usecase.users; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.UserRepository; + +@ApplicationScoped +public class GetUserImpl implements GetUser { + + private final UserRepository userRepository; + + @Inject + public GetUserImpl(UserRepository userRepository) { + this.userRepository = userRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.ForId inputCase -> run(inputCase); + }; + } + + private Output run(Input.ForId inputCase) { + var id = inputCase.uuid(); + + return userRepository + .findByUuid(id) + .map(this::userOutputOf) + .map(Output.Found::new) + .orElseGet(Output.NoSuchUser::new); + } + + private Output.UserOutput userOutputOf(User user) { + var uuid = user.getUuid(); + var firstName = user.getFirstName(); + var lastName = user.getLastName(); + var email = user.getEmail(); + var role = user.getRole(); + var brands = user.getBrands(); + + return new Output.UserOutput(uuid, firstName, lastName, email, role, brands); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ListUsers.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ListUsers.java new file mode 100644 index 0000000..2a3403a --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ListUsers.java @@ -0,0 +1,20 @@ +package tech.pegase.z3.domain.usecase.users; + +import java.util.UUID; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.domain.valueobject.Role; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +public interface ListUsers extends UseCase { + sealed interface Input { + record WithPagination(Pagination pagination) implements Input {} + } + + sealed interface Output { + record PaginatedUsers(PaginatedData userList) implements Output {} + + record UserOutput(UUID uuid, String firstName, String lastName, Email email, Role role) {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ListUsersImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ListUsersImpl.java new file mode 100644 index 0000000..e5158ac --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ListUsersImpl.java @@ -0,0 +1,40 @@ +package tech.pegase.z3.domain.usecase.users; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.usecase.users.ListUsers.Output.PaginatedUsers; + +@ApplicationScoped +public class ListUsersImpl implements ListUsers { + private final UserRepository userRepository; + + @Inject + public ListUsersImpl(UserRepository userRepository) { + this.userRepository = userRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.WithPagination caseInput -> run(caseInput); + }; + } + + private Output run(Input.WithPagination input) { + var paginatedUserOutputs = userRepository.findAll(input.pagination()).map(this::userOutputOf); + + return new PaginatedUsers(paginatedUserOutputs); + } + + private Output.UserOutput userOutputOf(User user) { + var uuid = user.getUuid(); + var firstName = user.getFirstName(); + var lastName = user.getLastName(); + var email = user.getEmail(); + var role = user.getRole(); + + return new Output.UserOutput(uuid, firstName, lastName, email, role); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/RemoveUser.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/RemoveUser.java new file mode 100644 index 0000000..e99ce52 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/RemoveUser.java @@ -0,0 +1,19 @@ +package tech.pegase.z3.domain.usecase.users; + +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; + +public interface RemoveUser extends UseCase { + sealed interface Input { + record WhereUuid(UUID requestingUserUuid, UUID uuid) implements Input {} + } + + sealed interface Output { + record Removed() implements Output {} + + record NotSuchUser() implements Output, Failure {} + + record ForbiddenAction() implements Output, Failure {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/RemoveUserImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/RemoveUserImpl.java new file mode 100644 index 0000000..67d95be --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/RemoveUserImpl.java @@ -0,0 +1,56 @@ +package tech.pegase.z3.domain.usecase.users; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import java.util.Optional; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.CredentialRepository; +import tech.pegase.z3.domain.port.repository.UserRepository; + +@ApplicationScoped +public class RemoveUserImpl implements RemoveUser { + private final UserRepository userRepository; + private final CredentialRepository credentialRepository; + + @Inject + public RemoveUserImpl(UserRepository userRepository, CredentialRepository credentialRepository) { + this.userRepository = userRepository; + this.credentialRepository = credentialRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.WhereUuid inputCase -> run(inputCase); + }; + } + + private Output run(Input.WhereUuid inputCase) { + var requestingUserUuid = inputCase.requestingUserUuid(); + var uuid = inputCase.uuid(); + Optional optionalUser; + + var requestingUser = userRepository.findByUuid(requestingUserUuid); + + if (requestingUser.isEmpty()) { + return new Output.ForbiddenAction(); + } + + if (requestingUser.get().getUuid().equals(uuid)) { + return new Output.ForbiddenAction(); + } + + optionalUser = userRepository.findByUuid(uuid); + + if (optionalUser.isEmpty()) { + return new Output.NotSuchUser(); + } + + var userToRemove = optionalUser.get(); + + // Delete is an idempotent action. + userRepository.remove(userToRemove.getUuid()); + credentialRepository.remove(userToRemove.getCredentialUuid()); + return new Output.Removed(); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ResetUserPassword.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ResetUserPassword.java new file mode 100644 index 0000000..f25b747 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ResetUserPassword.java @@ -0,0 +1,20 @@ +package tech.pegase.z3.domain.usecase.users; + +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; + +public interface ResetUserPassword + extends UseCase { + sealed interface Input { + record ForUser(UUID uuid) implements Input {} + } + + sealed interface Output { + record MessageSent() implements Output {} + + record MessageCannotBeSent() implements Output, Failure {} + + record NotSuchUser() implements Output, Failure {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ResetUserPasswordImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ResetUserPasswordImpl.java new file mode 100644 index 0000000..5a7f7d7 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/ResetUserPasswordImpl.java @@ -0,0 +1,93 @@ +package tech.pegase.z3.domain.usecase.users; + +import jakarta.annotation.Nullable; +import jakarta.enterprise.context.ApplicationScoped; +import tech.pegase.z3.domain.entity.Credential; +import tech.pegase.z3.domain.port.repository.CredentialRepository; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.port.service.HashProvider; +import tech.pegase.z3.domain.port.service.MessageSender; +import tech.pegase.z3.domain.port.service.PasswordGenerator; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.domain.valueobject.Login; +import tech.pegase.z3.domain.valueobject.Message; +import tech.pegase.z3.domain.valueobject.Password; +import tech.pegase.z3.domain.valueobject.hashes.PasswordHash; + +@ApplicationScoped +public class ResetUserPasswordImpl implements ResetUserPassword { + private final PasswordGenerator passwordGenerator; + private final MessageSender messageSender; + private final HashProvider hashProvider; + private final CredentialRepository credentialRepository; + private final UserRepository userRepository; + + public ResetUserPasswordImpl( + PasswordGenerator passwordGenerator, + MessageSender messageSender, + CredentialRepository credentialRepository, + UserRepository userRepository, + HashProvider hashProvider) { + this.passwordGenerator = passwordGenerator; + this.messageSender = messageSender; + this.credentialRepository = credentialRepository; + this.userRepository = userRepository; + this.hashProvider = hashProvider; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.ForUser useCaseInput -> run(useCaseInput); + }; + } + + private Output run(Input.ForUser useCaseInput) { + var userUuid = useCaseInput.uuid(); + @Nullable var user = userRepository.findByUuid(userUuid).orElse(null); + @Nullable Credential credential; + Password newPassword; + + if (user == null) { + return new Output.NotSuchUser(); + } + + credential = credentialRepository.findById(user.getCredentialUuid()).orElse(null); + + if (credential == null) { + throw new IllegalStateException("A user has to be associated credentials"); + } + + newPassword = Password.of(passwordGenerator.generatePassword(10)); + credential.setPassword(hashProvider.hash(PasswordHash.class, newPassword.value())); + credentialRepository.update(credential); + + var messageIsSent = sendMessageToUser(user.getEmail(), credential.getLogin(), newPassword); + + if (messageIsSent instanceof MessageSender.Status.Failed) { + return new Output.MessageCannotBeSent(); + } + + return new Output.MessageSent(); + } + + private MessageSender.Status sendMessageToUser(Email email, Login login, Password password) { + var message = + """ + Bonjour, + Votre mot de passe viens d'être réinitialisé, veuillez retrouver + les informations pertinentes pour vous connecter ci-dessous : + + login : %s + password : %s + + N´oubliez pas de modifier votre mot de passe lors de votre connexion. + Pensez également a supprimer ce message (y compris de votre corbeille). + + Cordialement + """ + .formatted(login.value(), password.value()); + + return messageSender.send(Message.of(email, "Votre accès Z3 à été réinitialisé", message)); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/UpdateUser.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/UpdateUser.java new file mode 100644 index 0000000..5589121 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/UpdateUser.java @@ -0,0 +1,32 @@ +package tech.pegase.z3.domain.usecase.users; + +import java.util.Set; +import java.util.UUID; +import tech.pegase.happy.core.usecase.Failure; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.domain.valueobject.Role; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; + +public interface UpdateUser extends UseCase { + sealed interface Input { + record WhereId(UUID uuid, String firstName, String lastName, Email email, Set brandsUuids) + implements Input {} + } + + sealed interface Output { + record Updated(UserOutput value) implements Output {} + + record NotUpdated(InvalidFields reasons) implements Output, Failure {} + + record NoSuchUser() implements Output, Failure {} + + record UserOutput( + UUID uuid, + String firstName, + String lastName, + Email email, + Role role, + Set brandsUuids) {} + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/UpdateUserImpl.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/UpdateUserImpl.java new file mode 100644 index 0000000..b517eaa --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/UpdateUserImpl.java @@ -0,0 +1,85 @@ +package tech.pegase.z3.domain.usecase.users; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.valueobject.errors.InvalidField; +import tech.pegase.z3.domain.valueobject.errors.InvalidFields; + +@ApplicationScoped +public class UpdateUserImpl implements UpdateUser { + private final UserRepository userRepository; + private final BrandRepository brandRepository; + + @Inject + public UpdateUserImpl(UserRepository userRepository, BrandRepository brandRepository) { + this.userRepository = userRepository; + this.brandRepository = brandRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.WhereId inputCase -> run(inputCase); + }; + } + + private Output run(Input.WhereId inputCase) { + var id = inputCase.uuid(); + var firstName = inputCase.firstName(); + var lastName = inputCase.lastName(); + var email = inputCase.email(); + var brands = inputCase.brandsUuids(); + + if (firstName.isBlank()) { + return new Output.NotUpdated( + InvalidFields.of(InvalidField.of("firstName", "ne peut être vide"))); + } + + if (lastName.isBlank()) { + return new Output.NotUpdated( + InvalidFields.of(InvalidField.of("lastName", "ne peut être vide"))); + } + + var anyBrandIsMissing = + brands.stream() + .reduce(false, (v, k) -> v || !brandRepository.exists(k), Boolean::logicalOr); + if (anyBrandIsMissing) { + return new Output.NotUpdated( + InvalidFields.of(InvalidField.of("brands", "une des enseignes n'existe pas"))); + } + + // Find the userUuid we need to update + var optionalUser = userRepository.findByUuid(id); + + if (optionalUser.isEmpty()) { + return new Output.NoSuchUser(); + } + + var user = optionalUser.get(); + + user.setFirstName(firstName); + user.setLastName(lastName); + user.setEmail(email); + user.setBrands(brands); + + userRepository.persist(user); + + var userOutput = userOutputOf(user); + + return new Output.Updated(userOutput); + } + + private Output.UserOutput userOutputOf(User user) { + var uuid = user.getUuid(); + var firstName = user.getFirstName(); + var lastName = user.getLastName(); + var email = user.getEmail(); + var role = user.getRole(); + var brands = user.getBrands(); + + return new Output.UserOutput(uuid, firstName, lastName, email, role, brands); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/package-info.java b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/package-info.java new file mode 100644 index 0000000..758d185 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/usecase/users/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.domain.usecase.users; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Color.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Color.java new file mode 100644 index 0000000..feebb0e --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Color.java @@ -0,0 +1,50 @@ +package tech.pegase.z3.domain.valueobject; + +import jakarta.persistence.Embeddable; +import java.util.regex.Pattern; + +@Embeddable +public record Color(Integer value) { + + @SuppressWarnings("ConstantConditions") + public Color { + if (value == null) { + throw new IllegalStateException("Value cannot be null"); + } + if (value > 0xFFFFFF) { + throw new IllegalStateException("Color value '%s' out of range.".formatted(value)); + } + } + + public static Color of(Integer value) throws IllegalStateException { + return new Color(value); + } + + public static Color of(String hexColor) throws IllegalStateException { + assertHexColorCanBeParsed(hexColor); + return new Color(Integer.parseInt(hexColor.replaceFirst("#", ""), 16)); + } + + private static void assertHexColorCanBeParsed(String hexColor) throws IllegalStateException { + var hexColorPattern = Pattern.compile("(#)?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})"); + if (!hexColorPattern.matcher(hexColor).matches()) { + throw new IllegalStateException("Invalid hex color '%s'".formatted(hexColor)); + } + } + + @Override + public String toString() { + final var htmlColorLength = 7; + var stringBuilder = new StringBuilder(htmlColorLength); + + stringBuilder.append(Integer.toHexString(value)); + + while (stringBuilder.length() < htmlColorLength - 1) { + stringBuilder.insert(0, '0'); + } + + stringBuilder.insert(0, '#'); + + return stringBuilder.toString().toUpperCase(); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Email.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Email.java new file mode 100644 index 0000000..037641d --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Email.java @@ -0,0 +1,22 @@ +package tech.pegase.z3.domain.valueobject; + +import jakarta.persistence.Embeddable; +import org.apache.commons.validator.routines.EmailValidator; + +@Embeddable +public record Email(String value) { + + public Email { + if (!isValidEmail(value)) { + throw new IllegalStateException("Adresse e-mail incorrecte: '%s'".formatted(value)); + } + } + + public static Email of(String value) throws IllegalStateException { + return new Email(value); + } + + private boolean isValidEmail(String value) { + return EmailValidator.getInstance().isValid(value); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Fqdn.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Fqdn.java new file mode 100644 index 0000000..2ecf8bd --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Fqdn.java @@ -0,0 +1,98 @@ +package tech.pegase.z3.domain.valueobject; + +import jakarta.persistence.Embeddable; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.regex.Pattern; +import tech.pegase.z3.shared.annotations.ExcludeFromJacocoGeneratedReport; + +@Embeddable +public class Fqdn { + private String value; + + public Fqdn(String value) { + this.value = value; + valueToUri(value); + } + + /// Required by Hibernate + @SuppressWarnings("DataFlowIssue") + @ExcludeFromJacocoGeneratedReport + public Fqdn() { + this.value = null; + } + + public static Fqdn of(String value) throws IllegalStateException { + return new Fqdn(value); + } + + public String getValue() { + return value; + } + + public URI getFqdnUri() { + return valueToUri(value); + } + + private URI valueToUri(String value) throws IllegalStateException { + URI fqdnUri; + var failureMessage = "le fqdn doit être valide la valeur est '" + value + "'"; + try { + if (value == null || value.isBlank()) { + throw new IllegalStateException(failureMessage); + } + + fqdnUri = new URI("https://" + value); + if (!startsWithFqdn(value)) { + throw new IllegalStateException(failureMessage); + } + + var userInfo = fqdnUri.getUserInfo(); + var path = fqdnUri.getPath(); + var query = fqdnUri.getQuery(); + var fragment = fqdnUri.getFragment(); + var port = fqdnUri.getPort(); + if (userInfo != null + || (path != null && !path.isBlank()) + || port != -1 + || query != null + || fragment != null) { + throw new IllegalStateException(failureMessage); + } + var ignored = fqdnUri.toURL(); + + return fqdnUri; + } catch (URISyntaxException | IllegalArgumentException | MalformedURLException e) { + throw new IllegalStateException(failureMessage); + } + } + + private Boolean startsWithFqdn(String value) { + /* Regex to match a String that starts with a FQDN */ + final var regex = "^((?!-)[A-Za-z0-9-]{1,63}(? "valide"; + case INVALID -> "non valide"; + case UNKNOWN -> "non testé"; + }; + } + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Login.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Login.java new file mode 100644 index 0000000..bbfe281 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Login.java @@ -0,0 +1,20 @@ +package tech.pegase.z3.domain.valueobject; + +import jakarta.persistence.Embeddable; + +@Embeddable +public record Login(String value) { + @SuppressWarnings("ConstantConditions") + public Login { + if (value == null || value.isBlank()) { + throw new IllegalStateException("Login value cannot be null or empty"); + } + if (value.length() < 3) { + throw new IllegalStateException("Login value must be at least 3 characters"); + } + } + + public static Login of(String value) throws IllegalStateException { + return new Login(value); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Message.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Message.java new file mode 100644 index 0000000..44455d0 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Message.java @@ -0,0 +1,17 @@ +package tech.pegase.z3.domain.valueobject; + +public record Message(Email to, String subject, String message) { + @SuppressWarnings("ConstantConditions") + public Message { + if (subject == null || subject.isBlank()) { + throw new IllegalStateException("Subject value cannot be null or empty"); + } + if (message == null || message.isBlank()) { + throw new IllegalStateException("Message value cannot be null or empty"); + } + } + + public static Message of(Email to, String subject, String message) { + return new Message(to, subject, message); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Password.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Password.java new file mode 100644 index 0000000..0363a94 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Password.java @@ -0,0 +1,39 @@ +package tech.pegase.z3.domain.valueobject; + +public record Password(String value) { + @SuppressWarnings("ConstantConditions") + public Password { + if (value == null || value.isBlank()) { + throw new IllegalStateException("le mot de passe ne peut être vide"); + } + if (value.length() < 8) { + throw new IllegalStateException("le mot de passe doit contenir au moins 8 caractères"); + } + if (!value.matches(containsMixedCase())) { + throw new IllegalStateException( + "le mot de passe doit contenir des majuscules et des minuscules"); + } + if (!value.matches(containsNumber())) { + throw new IllegalStateException("le mot de passe doit contenir des nombres"); + } + if (!value.matches(containsSpecialChar())) { + throw new IllegalStateException("le mot de passe doit contenir des caractères spéciaux"); + } + } + + public static Password of(String value) throws IllegalStateException { + return new Password(value); + } + + private String containsMixedCase() { + return "(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9!-\\/:-@\\[-`\\{-~]{2,}"; + } + + private String containsNumber() { + return ".*[0-9]+.*"; + } + + private String containsSpecialChar() { + return ".*[!-\\/:-@\\[-`\\{-~]+.*"; + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Role.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Role.java new file mode 100644 index 0000000..ee8b088 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Role.java @@ -0,0 +1,21 @@ +package tech.pegase.z3.domain.valueobject; + +import jakarta.persistence.Embeddable; + +@Embeddable +public record Role(Role.AccessLevel value) implements Comparable { + + public static Role of(Role.AccessLevel value) throws IllegalStateException { + return new Role(value); + } + + @Override + public int compareTo(Role o) { + return value.compareTo(o.value()); + } + + public enum AccessLevel { + ADMINISTRATOR, + PUBLISHER + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Slug.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Slug.java new file mode 100644 index 0000000..ca270fc --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Slug.java @@ -0,0 +1,30 @@ +package tech.pegase.z3.domain.valueobject; + +import jakarta.persistence.Embeddable; +import java.util.regex.Pattern; + +@Embeddable +public record Slug(String value) { + + @SuppressWarnings("ConstantConditions") + public Slug { + if (value == null) { + throw new IllegalStateException("Value cannot be null"); + } + if (!isValidSlug(value)) { + throw new IllegalStateException("Invalid slug value '%s'".formatted(value)); + } + } + + public static Slug of(String value) throws IllegalStateException { + return new Slug(value); + } + + public static boolean isValidSlug(String value) { + if (value.isBlank()) { + return false; + } + var slugPattern = Pattern.compile("^[a-z0-9-]+$"); + return slugPattern.matcher(value).matches(); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/SubscriptionReport.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/SubscriptionReport.java new file mode 100644 index 0000000..f6644db --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/SubscriptionReport.java @@ -0,0 +1,20 @@ +package tech.pegase.z3.domain.valueobject; + +import java.util.Set; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.entity.User; + +public record SubscriptionReport(Set invalidLinks, Brand brand, User user) { + public SubscriptionReport { + var nonMatchingLinks = + invalidLinks.stream() + .anyMatch(v -> v.getBrand() == null || !v.getBrand().equals(brand.getUuid())); + if (nonMatchingLinks) { + throw new IllegalStateException("Some links do not match actual brandUuid"); + } + if (invalidLinks.isEmpty()) { + throw new IllegalStateException("Cannot create a report with no invalid links"); + } + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Target.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Target.java new file mode 100644 index 0000000..8f193b7 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/Target.java @@ -0,0 +1,59 @@ +package tech.pegase.z3.domain.valueobject; + +import jakarta.persistence.Embeddable; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; + +/** Has to be a valid http or https target. */ +@Embeddable +public record Target(String value) { + + @SuppressWarnings("ConstantConditions") + public Target { + if (value == null || value.isBlank()) { + throw new IllegalStateException("L'url ne peut être vide."); + } + assertIsValidUrl(value); + } + + public static Target of(String value) throws IllegalStateException { + return new Target(value); + } + + /** + * Assert target is valid using the recommended way by Java {@link java.net.URI + * parseServerAuthority}. + */ + private static URL getValidUrl(String url) throws IllegalStateException { + try { + var uri = new URI(url); + var parsedUrl = uri.parseServerAuthority().toURL(); + var scheme = parsedUrl.getProtocol(); + var userInfo = parsedUrl.getUserInfo(); + if (scheme == null || !scheme.equals("https")) { + throw new IllegalStateException( + "la cible n'utilise pas un protocole autorisé, une target avec https: est requise"); + } + if (userInfo != null && !userInfo.isBlank()) { + throw new IllegalStateException( + "Les informations utilisateur ne peuvent être acceptés dans une url"); + } + return parsedUrl; + } catch (URISyntaxException + | NullPointerException + | MalformedURLException + | IllegalArgumentException e) { + throw new IllegalStateException("la cible doit être une url valide"); + } + } + + public URL toUrl() { + return getValidUrl(value); + } + + private void assertIsValidUrl(String url) throws IllegalStateException { + getValidUrl(url); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/Filtering.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/Filtering.java new file mode 100644 index 0000000..68ad334 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/Filtering.java @@ -0,0 +1,10 @@ +package tech.pegase.z3.domain.valueobject.concepts; + +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.shared.lib.ReadOnlyMap; + +public interface Filtering< + K extends FilteringField, V extends FilteringFieldValue<@Nullable VT>, VT> { + + ReadOnlyMap getFilters(); +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/FilteringField.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/FilteringField.java new file mode 100644 index 0000000..3e8962e --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/FilteringField.java @@ -0,0 +1,6 @@ +package tech.pegase.z3.domain.valueobject.concepts; + +public interface FilteringField { + + String getFieldName(); +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/FilteringFieldValue.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/FilteringFieldValue.java new file mode 100644 index 0000000..56f40e5 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/FilteringFieldValue.java @@ -0,0 +1,9 @@ +package tech.pegase.z3.domain.valueobject.concepts; + +import org.jspecify.annotations.NullUnmarked; + +@NullUnmarked +public interface FilteringFieldValue { + + U getFieldValue(); +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/Hash.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/Hash.java new file mode 100644 index 0000000..b2459b1 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/Hash.java @@ -0,0 +1,6 @@ +package tech.pegase.z3.domain.valueobject.concepts; + +public interface Hash { + + String getValue(); +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/Ordering.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/Ordering.java new file mode 100644 index 0000000..8b11a6a --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/Ordering.java @@ -0,0 +1,39 @@ +package tech.pegase.z3.domain.valueobject.concepts; + +public interface Ordering { + + /** + * The field used to order. + * + * @return The field used to marshall + */ + U getField(); + + /** + * The field name on which the search should be made. + * + * @return The field name used to make a search + */ + String getFieldName(); + + /** + * The direction used to marshall, `NATURAL` means no ordering. + * + * @return The wanted direction + */ + Direction getDirection(); + + enum Direction { + NATURAL, + ASC, + DESC; + + public static Direction of(String value) { + try { + return Direction.valueOf(value); + } catch (IllegalArgumentException e) { + throw new IllegalStateException(e); + } + } + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/OrderingField.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/OrderingField.java new file mode 100644 index 0000000..c00e2e8 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/OrderingField.java @@ -0,0 +1,6 @@ +package tech.pegase.z3.domain.valueobject.concepts; + +public interface OrderingField { + + String getFieldName(); +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/Searching.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/Searching.java new file mode 100644 index 0000000..f958668 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/Searching.java @@ -0,0 +1,24 @@ +package tech.pegase.z3.domain.valueobject.concepts; + +public interface Searching { + + /** + * The field used to order. + * + * @return The field used to marshall + */ + U getField(); + + /** + * The keywords we should use to make a search. + * + * @return The keywords used to make a search + */ + String getSearchValue(); + + record SearchValue(String value) { + public static SearchValue of(String value) { + return new SearchValue(value); + } + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/SearchingField.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/SearchingField.java new file mode 100644 index 0000000..be61427 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/SearchingField.java @@ -0,0 +1,6 @@ +package tech.pegase.z3.domain.valueobject.concepts; + +public interface SearchingField { + + String getFieldName(); +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/package-info.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/package-info.java new file mode 100644 index 0000000..a674922 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/concepts/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.domain.valueobject.concepts; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/errors/InvalidField.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/errors/InvalidField.java new file mode 100644 index 0000000..63ee8e4 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/errors/InvalidField.java @@ -0,0 +1,7 @@ +package tech.pegase.z3.domain.valueobject.errors; + +public record InvalidField(String field, String reason) { + public static InvalidField of(String field, String reason) { + return new InvalidField(field, reason); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/errors/InvalidFields.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/errors/InvalidFields.java new file mode 100644 index 0000000..f253ca5 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/errors/InvalidFields.java @@ -0,0 +1,15 @@ +package tech.pegase.z3.domain.valueobject.errors; + +import java.util.Arrays; +import java.util.Set; +import java.util.stream.Collectors; + +public record InvalidFields(Set invalidFields) { + public static InvalidFields of(InvalidField... invalidFields) { + return of(Arrays.stream(invalidFields).collect(Collectors.toSet())); + } + + public static InvalidFields of(Set invalidFields) { + return new InvalidFields(invalidFields); + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/filterings/LinkFiltering.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/filterings/LinkFiltering.java new file mode 100644 index 0000000..a0520b5 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/filterings/LinkFiltering.java @@ -0,0 +1,77 @@ +package tech.pegase.z3.domain.valueobject.filterings; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.domain.valueobject.concepts.Filtering; +import tech.pegase.z3.domain.valueobject.concepts.FilteringField; +import tech.pegase.z3.domain.valueobject.concepts.FilteringFieldValue; +import tech.pegase.z3.shared.lib.ReadOnlyMap; + +@NullMarked +public record LinkFiltering(ReadOnlyMap readOnlyFilterMap) + implements Filtering { + + public static LinkFiltering of(Map filters) { + var map = new HashMap(); + filters.forEach((key, value) -> map.put(Field.of(key), value != null ? Value.of(value) : null)); + return new LinkFiltering(new ReadOnlyMap<>(map)); + } + + public static LinkFiltering ofMap(Map filters) { + return new LinkFiltering(new ReadOnlyMap<>(filters)); + } + + public static LinkFiltering empty() { + return new LinkFiltering(new ReadOnlyMap<>(Map.of())); + } + + @Override + public ReadOnlyMap getFilters() { + return readOnlyFilterMap; + } + + public enum Field implements FilteringField { + BRAND, + CATALOG, + TAG, + IS_EXTERNAL, + IS_VALID; + + public static Field of(String value) { + try { + return Field.valueOf(value); + } catch (IllegalArgumentException e) { + throw new IllegalStateException(e); + } + } + + @Override + public String getFieldName() { + return switch (this) { + case BRAND -> "brand"; + case CATALOG -> "catalog"; + case TAG -> "tag"; + case IS_EXTERNAL -> "isExternal"; + case IS_VALID -> "validity"; + }; + } + } + + public record Value(@Nullable String value) implements FilteringFieldValue { + public static Value of(@Nullable String value) { + return new Value(value); + } + + public static Value of(@Nullable UUID value) { + return new Value(value != null ? value.toString() : null); + } + + @Override + public @Nullable String getFieldValue() { + return value; + } + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/hashes/PasswordHash.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/hashes/PasswordHash.java new file mode 100644 index 0000000..f0e8daf --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/hashes/PasswordHash.java @@ -0,0 +1,32 @@ +package tech.pegase.z3.domain.valueobject.hashes; + +import jakarta.persistence.Embeddable; +import tech.pegase.z3.domain.valueobject.concepts.Hash; + +@Embeddable +public record PasswordHash(String value) implements Hash { + + @SuppressWarnings("ConstantConditions") + public PasswordHash { + if (value == null || value.isBlank()) { + throw new IllegalStateException("Password hash value cannot be blank"); + } + if (!value.matches(containsHashedValue())) { + throw new IllegalStateException( + "Password hash value may look like $...$...$... and be a hash"); + } + } + + public static PasswordHash of(String value) throws IllegalStateException { + return new PasswordHash(value); + } + + @Override + public String getValue() { + return value(); + } + + private String containsHashedValue() { + return "^\\$.+\\$.+\\$.+\\$?"; + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/hashes/package-info.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/hashes/package-info.java new file mode 100644 index 0000000..9d14288 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/hashes/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.domain.valueobject.hashes; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/orderings/LinkOrdering.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/orderings/LinkOrdering.java new file mode 100644 index 0000000..f65544a --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/orderings/LinkOrdering.java @@ -0,0 +1,56 @@ +package tech.pegase.z3.domain.valueobject.orderings; + +import org.jspecify.annotations.NullMarked; +import tech.pegase.z3.domain.valueobject.concepts.Ordering; +import tech.pegase.z3.domain.valueobject.concepts.OrderingField; + +@NullMarked +public record LinkOrdering(LinkOrdering.Field field, LinkOrdering.Direction direction) + implements Ordering { + + public static LinkOrdering of(LinkOrdering.Field field, LinkOrdering.Direction direction) { + return new LinkOrdering(field, direction); + } + + @Override + public LinkOrdering.Field getField() { + return field; + } + + @Override + public String getFieldName() { + return field.getFieldName(); + } + + @Override + public LinkOrdering.Direction getDirection() { + return direction; + } + + public enum Field implements OrderingField { + SOURCE, + VISITS, + IS_EXTERNAL, + VALIDITY, + CREATED_AT; + + public static Field of(String value) { + try { + return Field.valueOf(value); + } catch (IllegalArgumentException e) { + throw new IllegalStateException(e); + } + } + + @Override + public String getFieldName() { + return switch (this) { + case SOURCE -> "source"; + case VISITS -> "visits"; + case IS_EXTERNAL -> "isExternal"; + case VALIDITY -> "validity"; + case CREATED_AT -> "createdAt"; + }; + } + } +} diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/package-info.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/package-info.java new file mode 100644 index 0000000..26d8a33 --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.domain.valueobject; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/searchings/LinkSearching.java b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/searchings/LinkSearching.java new file mode 100644 index 0000000..b46a91d --- /dev/null +++ b/z3-domain/src/main/java/tech/pegase/z3/domain/valueobject/searchings/LinkSearching.java @@ -0,0 +1,45 @@ +package tech.pegase.z3.domain.valueobject.searchings; + +import org.jspecify.annotations.NullMarked; +import tech.pegase.z3.domain.valueobject.concepts.Searching; +import tech.pegase.z3.domain.valueobject.concepts.SearchingField; + +@NullMarked +public record LinkSearching(LinkSearching.Field field, LinkSearching.SearchValue value) + implements Searching { + + public static LinkSearching of(LinkSearching.Field field, LinkSearching.SearchValue value) { + return new LinkSearching(field, value); + } + + @Override + public LinkSearching.Field getField() { + return field; + } + + @Override + public String getSearchValue() { + return value.value(); + } + + public enum Field implements SearchingField { + SOURCE, + TARGET; + + public static Field of(String value) { + try { + return Field.valueOf(value); + } catch (IllegalArgumentException e) { + throw new IllegalStateException(e); + } + } + + @Override + public String getFieldName() { + return switch (this) { + case SOURCE -> "source.value"; + case TARGET -> "target.value"; + }; + } + } +} diff --git a/z3-domain/src/main/resources/META-INF/beans.xml b/z3-domain/src/main/resources/META-INF/beans.xml new file mode 100644 index 0000000..e69de29 diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/entity/BrandTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/entity/BrandTest.java new file mode 100644 index 0000000..1391ca5 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/entity/BrandTest.java @@ -0,0 +1,51 @@ +package tech.pegase.z3.domain.entity; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import tech.pegase.z3.domain.valueobject.Fqdn; +import tech.pegase.z3.domain.valueobject.Slug; + +public class BrandTest { + @Test + public void fieldsAreRequired() { + Assertions.assertDoesNotThrow(this::getFaked); + Assertions.assertThrows(IllegalStateException.class, () -> getFaked().setName("")); + } + + @Test + public void canGetId() { + // Arrange + var slug = Slug.of("slug"); + var brand = new Brand(Slug.of("slug"), "brand"); + + // Act + var output = brand.getSlug(); + + // Assert + Assertions.assertEquals(slug, output); + } + + @Test + public void canUseGettersAndSetters() { + // Assert + Assertions.assertDoesNotThrow( + () -> { + // Arrange + var brand = new Brand(Slug.of("slug"), "brand"); + + // Act + brand.getId(); + brand.getUuid(); + brand.getName(); + brand.getSlug(); + brand.setSlug(Slug.of("slug2")); + brand.setName("new brand"); + brand.assignFqdn(Fqdn.of("example.net"), fqdn -> true); + brand.getFqdns(); + }); + } + + private Brand getFaked() { + return new Brand(Slug.of("slug"), "name"); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/entity/CatalogTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/entity/CatalogTest.java new file mode 100644 index 0000000..e467af6 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/entity/CatalogTest.java @@ -0,0 +1,49 @@ +package tech.pegase.z3.domain.entity; + +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import tech.pegase.z3.domain.valueobject.Slug; + +public class CatalogTest { + @Test + public void fieldsAreRequired() { + Assertions.assertDoesNotThrow(this::getFaked); + Assertions.assertThrows(IllegalStateException.class, () -> getFaked().setName("")); + } + + @Test + public void canGetId() { + // Arrange + var slug = Slug.of("slug"); + var catalog = new Catalog(slug, "catalog", UUID.randomUUID()); + + // Act + var output = catalog.getSlug(); + + // Assert + Assertions.assertEquals(slug, output); + } + + @Test + public void canUseGettersAndSetters() { + // Assert + Assertions.assertDoesNotThrow( + () -> { + // Arrange + var catalog = new Catalog(Slug.of("slug"), "catalog", UUID.randomUUID()); + + // Act + catalog.getId(); + catalog.getBrandUuid(); + catalog.getName(); + catalog.getSlug(); + catalog.setSlug(Slug.of("slug2")); + catalog.setName("new catalog"); + }); + } + + private Catalog getFaked() { + return new Catalog(Slug.of("slug"), "name", UUID.randomUUID()); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/entity/CredentialTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/entity/CredentialTest.java new file mode 100644 index 0000000..8610ce0 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/entity/CredentialTest.java @@ -0,0 +1,56 @@ +package tech.pegase.z3.domain.entity; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import tech.pegase.z3.domain.valueobject.Login; +import tech.pegase.z3.domain.valueobject.hashes.PasswordHash; + +public class CredentialTest { + @Test + public void fieldsAreRequired() { + Assertions.assertDoesNotThrow(this::getFaked); + } + + @Test + public void canGetId() { + // Arrange + var login = getFakedLoginField(); + var reportingSubscription = new Credential(login, getFakedPasswordHashField()); + + // Act + var output = reportingSubscription.getLogin(); + + // Assert + Assertions.assertEquals(login, output); + } + + @Test + public void canUseGettersAndSetters() { + // Assert + Assertions.assertDoesNotThrow( + () -> { + // Arrange + var credential = getFaked(); + + // Act + credential.getId(); + credential.getUuid(); + credential.getLogin(); + credential.getPassword(); + credential.setPassword(getFakedPasswordHashField()); + credential.setLogin(Login.of("user.net")); + }); + } + + private Credential getFaked() { + return new Credential(getFakedLoginField(), getFakedPasswordHashField()); + } + + private Login getFakedLoginField() { + return Login.of("asdqwdqdqwdq"); + } + + private PasswordHash getFakedPasswordHashField() { + return PasswordHash.of("$argon2id$v=19$m=16,t=2,p=1$YXNkYXNkd3c$XdkPhIGM1WlYM65rZ4V9og"); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/entity/LinkTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/entity/LinkTest.java new file mode 100644 index 0000000..b3a0665 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/entity/LinkTest.java @@ -0,0 +1,86 @@ +package tech.pegase.z3.domain.entity; + +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import tech.pegase.z3.domain.valueobject.LinkValidity; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.shared.valueobject.Source; + +public class LinkTest { + @Test + public void fieldsAreRequired() { + Assertions.assertDoesNotThrow(this::getFaked); + } + + @Test + public void canGetId() { + // Arrange + var source = Source.of("source"); + var link = new Link(source, Target.of("https://example.com"), true, null, null, null); + + // Act + var output = link.getId(); + + // Assert + Assertions.assertEquals(source, output.value()); + } + + @Test + public void canIncrementVisits() { + // Arrange + var source = Source.of("source"); + var link = new Link(source, Target.of("https://example.com"), true, null, null, null); + var visits = link.getVisits(); + + // Act + link.incVisits(); + + // Assert + Assertions.assertEquals(0, visits); + Assertions.assertEquals(1, link.getVisits()); + } + + @Test + public void canCreateLinkWithItsExternalStatus() { + Assertions.assertDoesNotThrow( + () -> + new Link( + Source.of("source"), Target.of("https://example.com"), true, null, null, null)); + } + + @Test + public void canCreateLinkWithBrand() { + Assertions.assertDoesNotThrow( + () -> + new Link( + Source.of("source"), + Target.of("https://example.com"), + true, + UUID.randomUUID(), + UUID.randomUUID(), + UUID.randomUUID())); + } + + @Test + public void canSetAndGetLinkValidity() { + var link = getFaked(); + Assertions.assertEquals( + LinkValidity.unknown(), link.getValidity(), "Link should not be valid when created"); + Assertions.assertDoesNotThrow(() -> link.setValidity(LinkValidity.valid())); + Assertions.assertDoesNotThrow(() -> link.setTag(UUID.randomUUID())); + Assertions.assertDoesNotThrow(link::removeTag); + Assertions.assertEquals( + LinkValidity.valid(), link.getValidity(), "Link should be valid when set as valid"); + } + + private Link getFaked() { + return new Link( + Source.of("source"), + Target.of("https://example.com"), + true, + UUID.randomUUID(), + UUID.randomUUID(), + UUID.randomUUID()); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/entity/ReportingSubscriptionTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/entity/ReportingSubscriptionTest.java new file mode 100644 index 0000000..f1c6e7f --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/entity/ReportingSubscriptionTest.java @@ -0,0 +1,33 @@ +package tech.pegase.z3.domain.entity; + +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class ReportingSubscriptionTest { + @Test + public void fieldsAreRequired() { + Assertions.assertDoesNotThrow(this::getFaked); + Assertions.assertDoesNotThrow(() -> getFaked().getId()); + Assertions.assertDoesNotThrow(() -> getFaked().getUser()); + Assertions.assertDoesNotThrow(() -> getFaked().getBrand()); + } + + @Test + public void canGetId() { + // Arrange + var userUuid = UUID.randomUUID(); + var brandUuid = UUID.randomUUID(); + var reportingSubscription = new ReportingSubscription(userUuid, brandUuid); + + // Act + var output = reportingSubscription.getUser(); + + // Assert + Assertions.assertEquals(userUuid, output); + } + + private ReportingSubscription getFaked() { + return new ReportingSubscription(UUID.randomUUID(), UUID.randomUUID()); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/entity/TagTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/entity/TagTest.java new file mode 100644 index 0000000..b2965bb --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/entity/TagTest.java @@ -0,0 +1,31 @@ +package tech.pegase.z3.domain.entity; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import tech.pegase.z3.domain.valueobject.Color; + +public class TagTest { + @Test + public void fieldsAreRequired() { + Assertions.assertDoesNotThrow(this::getFaked); + Assertions.assertDoesNotThrow(() -> getFaked().getId()); + Assertions.assertThrows(IllegalStateException.class, () -> getFaked().setName("")); + } + + @Test + public void canGetId() { + // Arrange + var name = "tag"; + var tag = new Tag(name, Color.of("#fff")); + + // Act + var output = tag.getName(); + + // Assert + Assertions.assertEquals(name, output); + } + + private Tag getFaked() { + return new Tag("name", Color.of("#FFF")); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/entity/UserTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/entity/UserTest.java new file mode 100644 index 0000000..a55551a --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/entity/UserTest.java @@ -0,0 +1,122 @@ +package tech.pegase.z3.domain.entity; + +import java.util.Set; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.domain.valueobject.Role; +import tech.pegase.z3.domain.valueobject.Role.AccessLevel; + +public class UserTest { + @Test + public void fieldsAreRequired() { + Assertions.assertDoesNotThrow(this::getFaked); + Assertions.assertThrows( + IllegalStateException.class, + () -> + new User( + "", + getFakedStringField("lastName"), + getFakedEmailField("mail@example.net"), + Role.of(AccessLevel.PUBLISHER), + getFakedUuidField())); + Assertions.assertThrows( + IllegalStateException.class, + () -> + new User( + getFakedStringField("firstName"), + "", + getFakedEmailField("email@example.net"), + Role.of(AccessLevel.PUBLISHER), + getFakedUuidField())); + Assertions.assertThrows( + IllegalStateException.class, + () -> { + var user = getFaked(); + user.setFirstName(""); + }); + Assertions.assertThrows( + IllegalStateException.class, + () -> { + var user = getFaked(); + user.setLastName(""); + }); + } + + @Test + public void canGetId() { + // Arrange + var firstname = "firstname"; + var user = + new User( + firstname, + "lastname", + Email.of("user@example.net"), + Role.of(AccessLevel.PUBLISHER), + UUID.randomUUID()); + + // Act + var output = user.getFirstName(); + + // Assert + Assertions.assertEquals(firstname, output); + } + + @Test + public void canUseGettersAndSetters() { + // Assert + Assertions.assertDoesNotThrow( + () -> { + // Arrange + var user = + new User( + "firstname", + "lastname", + Email.of("user@example.net"), + Role.of(AccessLevel.PUBLISHER), + UUID.randomUUID()); + + // Act + user.getId(); + user.getUuid(); + user.getRole(); + user.getBrands(); + user.getEmail(); + user.getCredentialUuid(); + user.getFirstName(); + user.getLastName(); + user.setBrands(Set.of()); + user.setBrands(Set.of(UUID.randomUUID())); + user.setEmail(Email.of("user2@example.net")); + user.setRole(Role.of(AccessLevel.ADMINISTRATOR)); + user.setLastName("firstname2"); + user.setFirstName("lastname2"); + }); + } + + private User getFaked() { + return new User( + getFakedStringField("firstName"), + getFakedStringField("lastName"), + getFakedEmailField("mail@example.net"), + Role.of(AccessLevel.PUBLISHER), + getFakedUuidField()); + } + + private UUID getFakedUuidField() { + return UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); + } + + private Email getFakedEmailField(String value) { + return Email.of(value); + } + + private String getFakedStringField(String fieldName) { + return switch (fieldName) { + case "firstName" -> "firstName"; + case "lastName" -> "lastName"; + default -> throw new IllegalStateException("Unexpected value: '%s'".formatted(fieldName)); + }; + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/entity/converter/StringCryptoConverterTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/entity/converter/StringCryptoConverterTest.java new file mode 100644 index 0000000..874ef69 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/entity/converter/StringCryptoConverterTest.java @@ -0,0 +1,101 @@ +package tech.pegase.z3.domain.entity.converter; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.converters.StringCryptoConverter; +import tech.pegase.z3.domain.port.service.EncryptionProvider; +import tech.pegase.z3.domain.port.service.EncryptionProvider.CryptException; + +public class StringCryptoConverterTest { + private final StringCryptoConverter stringCryptoConverter; + private final EncryptionProvider encryptionProvider; + + StringCryptoConverterTest() throws NoSuchFieldException, IllegalAccessException { + this.stringCryptoConverter = new StringCryptoConverter(); + this.encryptionProvider = Mockito.mock(EncryptionProvider.class); + + var field = StringCryptoConverter.class.getDeclaredField("encryptionProvider"); + field.setAccessible(true); + field.set(stringCryptoConverter, encryptionProvider); + } + + @Test + public void canBeTested() throws NoSuchFieldException, IllegalAccessException { + // Arrange + var encryptionProviderField = + StringCryptoConverter.class.getDeclaredField("encryptionProvider"); + encryptionProviderField.setAccessible(true); + var encryptionProviderStaticField = + StringCryptoConverter.class.getDeclaredField("encryptionProvider"); + encryptionProviderStaticField.setAccessible(true); + + // Act + stringCryptoConverter.init(); + + // Assert + Assertions.assertNotNull(encryptionProviderField.get(stringCryptoConverter)); + Assertions.assertNotNull(encryptionProviderStaticField.get(stringCryptoConverter)); + } + + @Test + public void canConvertToDatabaseColumn() throws CryptException { + // Arrange + var fieldToConvert = "someValue"; + var fieldConverted = "encryptedValue"; + Mockito.when(encryptionProvider.encrypt(Mockito.any(String.class))).thenReturn(fieldConverted); + + // Act + var output = stringCryptoConverter.convertToDatabaseColumn(fieldToConvert); + + // Assert + Assertions.assertEquals(fieldConverted, output); + } + + @Test + public void canFailToConvertToDatabaseColumn() { + // ASSERT + Assertions.assertThrows( + RuntimeException.class, + () -> { + // Arrange + var fieldToConvert = "someValue"; + Mockito.doThrow(CryptException.class) + .when(encryptionProvider) + .encrypt(Mockito.any(String.class)); + + // Act + stringCryptoConverter.convertToDatabaseColumn(fieldToConvert); + }); + } + + @Test + public void canConvertToEntityAttribute() throws CryptException { + // Arrange + var fieldToConvert = "encryptedValue"; + var fieldConverted = "someValue"; + Mockito.when(encryptionProvider.decrypt(Mockito.any(String.class))).thenReturn(fieldConverted); + + // Act + var output = stringCryptoConverter.convertToEntityAttribute(fieldToConvert); + + // Assert + Assertions.assertEquals(fieldConverted, output); + } + + @Test + public void canFailToConvertToEntityAttribute() throws CryptException { + // ASSERT + Assertions.assertThrows( + RuntimeException.class, + () -> { + // ARRANGE + var fieldToConvert = "encryptedValue"; + Mockito.doThrow(CryptException.class) + .when(encryptionProvider) + .decrypt(Mockito.any(String.class)); + // ACT + stringCryptoConverter.convertToEntityAttribute(fieldToConvert); + }); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/service/DomainNameServiceTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/service/DomainNameServiceTest.java new file mode 100644 index 0000000..a322e9d --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/service/DomainNameServiceTest.java @@ -0,0 +1,89 @@ +package tech.pegase.z3.domain.service; + +import java.util.Optional; +import java.util.Set; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.valueobject.Fqdn; + +public class DomainNameServiceTest { + private final BrandRepository brandRepository; + private final DomainNameService domainNameService; + + DomainNameServiceTest() { + this.brandRepository = Mockito.mock(BrandRepository.class); + this.domainNameService = new DomainNameServiceImpl(brandRepository); + } + + @Test + public void fqdnCanBeAssignedToBrandWhenNotOwnedByAnyOne() { + // GIVEN + var brandUuid = UUID.randomUUID(); + var brandFqdn1 = Fqdn.of("example.com"); + var brand = Mockito.mock(Brand.class); + + Mockito.when(brand.getUuid()).thenReturn(brandUuid); + + Mockito.when(brandRepository.findByFqdn(brandFqdn1)).thenReturn(Optional.empty()); + + // WHEN + var output = domainNameService.canFqdnBeAssignedToBrand(brandFqdn1, brand); + + // THEN + Mockito.verify(brandRepository).findByFqdn(brandFqdn1); + + Assertions.assertTrue(output); + } + + @Test + public void fqdnCanBeAssignedToBrandWhenAlreadyOwnedByTheBrand() { + // GIVEN + var brandUuid = UUID.randomUUID(); + var brandFqdn1 = Fqdn.of("example.com"); + var brandFqdnSet = Set.of(brandFqdn1); + var brand = Mockito.mock(Brand.class); + + Mockito.when(brand.getUuid()).thenReturn(brandUuid); + Mockito.when(brand.getFqdns()).thenReturn(brandFqdnSet); + + Mockito.when(brandRepository.findByFqdn(brandFqdn1)).thenReturn(Optional.of(brand)); + + // WHEN + var output = domainNameService.canFqdnBeAssignedToBrand(brandFqdn1, brand); + + // THEN + Mockito.verify(brandRepository).findByFqdn(brandFqdn1); + + Assertions.assertTrue(output); + } + + @Test + public void fqdnCannotBeAssignedToBrandWhenAlreadyOwnedByAnotherBrand() { + // GIVEN + var brandUuid = UUID.randomUUID(); + var brandFqdn1 = Fqdn.of("example.com"); + var brandFqdnSet = Set.of(brandFqdn1); + var brand = Mockito.mock(Brand.class); + var anotherBrandUuid = UUID.randomUUID(); + var anotherBrand = Mockito.mock(Brand.class); + + Mockito.when(brand.getUuid()).thenReturn(brandUuid); + Mockito.when(brand.getFqdns()).thenReturn(brandFqdnSet); + + Mockito.when(anotherBrand.getUuid()).thenReturn(anotherBrandUuid); + + Mockito.when(brandRepository.findByFqdn(brandFqdn1)).thenReturn(Optional.of(anotherBrand)); + + // WHEN + var output = domainNameService.canFqdnBeAssignedToBrand(brandFqdn1, brand); + + // THEN + Mockito.verify(brandRepository).findByFqdn(brandFqdn1); + + Assertions.assertFalse(output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/service/VerifyLinkServiceTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/service/VerifyLinkServiceTest.java new file mode 100644 index 0000000..533ff98 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/service/VerifyLinkServiceTest.java @@ -0,0 +1,138 @@ +package tech.pegase.z3.domain.service; + +import io.smallrye.mutiny.TimeoutException; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.unchecked.Unchecked; +import java.net.URL; +import java.util.UUID; +import java.util.concurrent.CompletionException; +import org.apache.commons.lang3.reflect.FieldUtils; +import org.jboss.logging.Logger; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.port.service.UrlChecker; +import tech.pegase.z3.domain.valueobject.LinkValidity; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.shared.valueobject.Source; + +public class VerifyLinkServiceTest { + private final VerifyLinkService verifyLinkService; + private final LinkRepository linkRepository; + private final UrlChecker urlChecker; + private final Logger logger; + + public VerifyLinkServiceTest() throws Exception { + this.linkRepository = Mockito.mock(LinkRepository.class); + this.urlChecker = Mockito.mock(UrlChecker.class); + this.verifyLinkService = new VerifyLinkServiceImpl(linkRepository, urlChecker); + + // Mock logger and set it accessible for test in order to silent logger while testing + this.logger = Mockito.mock(Logger.class); + var field = FieldUtils.getDeclaredField(VerifyLinkServiceImpl.class, "logger", true); + field.trySetAccessible(); + FieldUtils.removeFinalModifier(field); + field.set(verifyLinkService, logger); + } + + @Test + public void canVerifyLink() { + // Arrange + var link = getNewLink(); + var verifyResult = Uni.createFrom().item(true); + Mockito.when(urlChecker.verify(Mockito.any(URL.class))).thenReturn(verifyResult); + Mockito.doNothing().when(linkRepository).update(Mockito.any(Link.class)); + Mockito.doNothing().when(logger).debug(Mockito.any(Link.class)); + + // Act + verifyLinkService.verifyAndPersistValidity(link); + + // Assert + Mockito.verify(urlChecker).verify(Mockito.any(URL.class)); + Mockito.verify(linkRepository).update(Mockito.any(Link.class)); + } + + @Test + public void canVerifyLinkWhenInvalidUrl() { + // Arrange + var link = getNewLink(); + var verifyResult = Uni.createFrom().item(false); + Mockito.when(urlChecker.verify(Mockito.any(URL.class))).thenReturn(verifyResult); + Mockito.doNothing().when(linkRepository).update(Mockito.any(Link.class)); + Mockito.doNothing().when(logger).debug(Mockito.any(Link.class)); + + // Act + verifyLinkService.verifyAndPersistValidity(link); + + // Assert + Mockito.verify(urlChecker).verify(Mockito.any(URL.class)); + Mockito.verify(linkRepository).update(Mockito.any(Link.class)); + } + + @Test + public void canHandleErrorOnVerifyLink() { + // Arrange + var link = getNewLink(); + var originalLinkValidity = link.getValidity(); + var verifyResult = + Uni.createFrom() + .item(true) + .chain( + Unchecked.function( + v -> { + throw new CompletionException("failed", new RuntimeException()); + })); + Mockito.when(urlChecker.verify(Mockito.any(URL.class))).thenReturn(verifyResult); + Mockito.doNothing().when(linkRepository).update(Mockito.any(Link.class)); + Mockito.doNothing().when(logger).warn(Mockito.any(String.class), Mockito.any(Throwable.class)); + + // Act + verifyLinkService.verifyAndPersistValidity(link); + + // Assert + Mockito.verify(urlChecker).verify(Mockito.any(URL.class)); + Mockito.verify(linkRepository).update(Mockito.any(Link.class)); + Assertions.assertEquals(originalLinkValidity, link.getValidity()); + } + + @Test + public void canHandleTimeoutErrorOnVerifyLink() { + // Arrange + var link = getNewLink(); + link.setValidity(LinkValidity.unknown()); + var verifyResult = + Uni.createFrom() + .item(true) + .chain( + Unchecked.function( + v -> { + throw new TimeoutException(); + })); + Mockito.when(urlChecker.verify(Mockito.any(URL.class))).thenReturn(verifyResult); + Mockito.doNothing().when(linkRepository).update(Mockito.any(Link.class)); + Mockito.doNothing().when(logger).warn(Mockito.any(String.class)); + + // Act + verifyLinkService.verifyAndPersistValidity(link); + + // Assert + Mockito.verify(urlChecker).verify(Mockito.any(URL.class)); + Mockito.verify(linkRepository).update(Mockito.any(Link.class)); + Assertions.assertEquals( + LinkValidity.invalid(), + link.getValidity(), + "Link should be invalid if a timeout occurs while checking"); + } + + private Link getNewLink() { + return new Link( + Source.of("a_new_link"), + Target.of("https://example.net"), + true, + UUID.randomUUID(), + UUID.randomUUID(), + UUID.randomUUID()); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/auth/AuthenticateUserTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/auth/AuthenticateUserTest.java new file mode 100644 index 0000000..0eec0d1 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/auth/AuthenticateUserTest.java @@ -0,0 +1,131 @@ +package tech.pegase.z3.domain.usecase.auth; + +import java.util.Optional; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Credential; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.CredentialRepository; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.port.service.HashProvider; +import tech.pegase.z3.domain.port.service.JwtGenerator; +import tech.pegase.z3.domain.usecase.auth.AuthenticateUser.Input; +import tech.pegase.z3.domain.usecase.auth.AuthenticateUser.Output; +import tech.pegase.z3.domain.valueobject.JwtToken; +import tech.pegase.z3.domain.valueobject.Login; +import tech.pegase.z3.domain.valueobject.hashes.PasswordHash; + +public class AuthenticateUserTest { + private final JwtGenerator jwtGenerator; + private final UserRepository userRepository; + private final CredentialRepository credentialRepository; + private final HashProvider hashProvider; + private final AuthenticateUser authenticateUser; + + AuthenticateUserTest() { + this.jwtGenerator = Mockito.mock(JwtGenerator.class); + this.userRepository = Mockito.mock(UserRepository.class); + this.credentialRepository = Mockito.mock(CredentialRepository.class); + this.hashProvider = Mockito.mock(HashProvider.class); + this.authenticateUser = + new AuthenticateUserImpl(userRepository, credentialRepository, jwtGenerator, hashProvider); + } + + @Test + public void canAuthenticateUser() { + // GIVEN + var login = "user.net"; + var password = "P4ssw0rd."; + var passwordHash = new PasswordHash("$pass$word$hash"); + var credentialUuid = UUID.randomUUID(); + var credential = Mockito.mock(Credential.class); + var user = Mockito.mock(User.class); + var jwtToken = new JwtToken("jwtToken"); + + Mockito.when(credential.getUuid()).thenReturn(credentialUuid); + Mockito.when(credential.getPassword()).thenReturn(passwordHash); + + Mockito.when(credentialRepository.findByLogin(Mockito.any(Login.class))) + .thenReturn(Optional.of(credential)); + Mockito.when(userRepository.findByCredentialUuid(Mockito.any(UUID.class))) + .thenReturn(Optional.of(user)); + Mockito.when(hashProvider.areEquals(passwordHash, password)).thenReturn(true); + Mockito.when(jwtGenerator.generateJwt(user)).thenReturn(jwtToken); + + // WHEN + var output = authenticateUser.run(new Input.Authenticate(login, password)); + + // THEN + Mockito.verify(jwtGenerator).generateJwt(user); + Assertions.assertInstanceOf(Output.Valid.class, output); + } + + @Test + public void cannotAuthenticateUserIfCredentialsIsNotFound() { + // GIVEN + var login = "user.net"; + var password = "P4ssw0rd."; + + Mockito.when(credentialRepository.findByLogin(Mockito.any(Login.class))) + .thenReturn(Optional.empty()); + + // WHEN + var output = authenticateUser.run(new Input.Authenticate(login, password)); + + // THEN + Mockito.verifyNoInteractions(jwtGenerator); + Assertions.assertInstanceOf(Output.Invalid.class, output); + } + + @Test + public void cannotAuthenticateIfUserIsNotFound() { + // GIVEN + var login = "user.net"; + var password = "P4ssw0rd."; + var passwordHash = new PasswordHash("$pass$word$hash"); + var credentialUuid = UUID.randomUUID(); + var credential = Mockito.mock(Credential.class); + + Mockito.when(credential.getUuid()).thenReturn(credentialUuid); + Mockito.when(credential.getPassword()).thenReturn(passwordHash); + + Mockito.when(credentialRepository.findByLogin(Mockito.any(Login.class))) + .thenReturn(Optional.of(credential)); + + // WHEN + var output = authenticateUser.run(new Input.Authenticate(login, password)); + + // THEN + Mockito.verifyNoInteractions(jwtGenerator); + Assertions.assertInstanceOf(Output.Invalid.class, output); + } + + @Test + public void cannotAuthenticateIfUserIfPasswordDoesNotMatch() { + // GIVEN + var login = "user.net"; + var password = "P4ssw0rd."; + var passwordHash = new PasswordHash("$pass$word$hash"); + var credentialUuid = UUID.randomUUID(); + var credential = Mockito.mock(Credential.class); + var user = Mockito.mock(User.class); + + Mockito.when(credential.getUuid()).thenReturn(credentialUuid); + Mockito.when(credential.getPassword()).thenReturn(passwordHash); + + Mockito.when(credentialRepository.findByLogin(Mockito.any(Login.class))) + .thenReturn(Optional.of(credential)); + Mockito.when(userRepository.findByCredentialUuid(Mockito.any(UUID.class))) + .thenReturn(Optional.of(user)); + Mockito.when(hashProvider.areEquals(passwordHash, password)).thenReturn(false); + + // WHEN + var output = authenticateUser.run(new Input.Authenticate(login, password)); + + // THEN + Mockito.verifyNoInteractions(jwtGenerator); + Assertions.assertInstanceOf(Output.Invalid.class, output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/brands/CreateBrandTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/brands/CreateBrandTest.java new file mode 100644 index 0000000..239ad35 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/brands/CreateBrandTest.java @@ -0,0 +1,176 @@ +package tech.pegase.z3.domain.usecase.brands; + +import io.quarkus.arc.impl.Reflections; +import java.lang.reflect.InvocationTargetException; +import java.util.Optional; +import java.util.Set; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.service.Slugifyier; +import tech.pegase.z3.domain.service.DomainNameService; +import tech.pegase.z3.domain.service.DomainNameServiceImpl; +import tech.pegase.z3.domain.usecase.brands.CreateBrand.Input; +import tech.pegase.z3.domain.usecase.brands.CreateBrand.Input.With; +import tech.pegase.z3.domain.valueobject.Fqdn; +import tech.pegase.z3.domain.valueobject.Slug; + +public class CreateBrandTest { + private BrandRepository brandRepository; + private Slugifyier slugifyierService; + private CreateBrand createBrandUseCase; + private DomainNameService domainNameService; + + @BeforeEach + public void setup() + throws IllegalAccessException, InvocationTargetException, InstantiationException { + brandRepository = Mockito.mock(BrandRepository.class); + slugifyierService = Mockito.mock(Slugifyier.class); + var domainNameServiceConstructor = + Reflections.findConstructor(DomainNameServiceImpl.class, BrandRepository.class); + domainNameServiceConstructor.setAccessible(true); + domainNameService = + Mockito.spy((DomainNameService) domainNameServiceConstructor.newInstance(brandRepository)); + + createBrandUseCase = new CreateBrandImpl(slugifyierService, brandRepository, domainNameService); + } + + @Test + public void testCreateBrandWithNameShouldSucceed() { + // Arrange + var slug = new Slug("my-catalog-2000"); + var name = "My Catalog 2000"; + var fqdn = Fqdn.of("example.net"); + var fqdnSet = Set.of(fqdn); + + Mockito.when(slugifyierService.slugify(Mockito.anyString())).thenReturn(slug); + Mockito.when( + domainNameService.canFqdnBeAssignedToBrand( + Mockito.any(Fqdn.class), Mockito.any(Brand.class))) + .thenReturn(true); + Mockito.when(brandRepository.findBySlug(slug)).thenReturn(Optional.empty()); + Mockito.doNothing().when(brandRepository).persist(Mockito.any(Brand.class)); + + // Act + var output = createBrandUseCase.run(new Input.With(name, fqdnSet)); + + // Assert + Mockito.verify(brandRepository, Mockito.times(1)).persist(Mockito.any(Brand.class)); + Mockito.verify(domainNameService) + .canFqdnBeAssignedToBrand(Mockito.any(Fqdn.class), Mockito.any(Brand.class)); + + Assertions.assertInstanceOf( + CreateBrand.Output.Created.class, output, "Given a name, a brand should be created"); + var createdOutput = (CreateBrand.Output.Created) output; + Assertions.assertEquals( + slug, + createdOutput.brand().slug(), + "Create brand use case should return the same slug as input"); + Assertions.assertEquals( + name, + createdOutput.brand().name(), + "Create brand use case should return the same name as input"); + } + + @Test + public void createBrandWithNameWhenSlugAlreadyExistsShouldFail() { + // Arrange + var slug = new Slug("my-catalog-2000"); + var name = "My Catalog 2000"; + var fqdnSet = Set.of(Fqdn.of("example.net")); + var brand = new Brand(slug, name); + + Mockito.when(slugifyierService.slugify(Mockito.anyString())).thenReturn(slug); + Mockito.when(brandRepository.findBySlug(Mockito.any(Slug.class))) + .thenReturn(Optional.of(brand)); + + // Act + var output = createBrandUseCase.run(new With(name, fqdnSet)); + + // Assert + Assertions.assertInstanceOf( + CreateBrand.Output.NotCreated.class, + output, + "Given a name, a brand should not be created when slug is already used"); + } + + @Test + public void createBrandWithEmptyNameShouldFail() { + // Arrange + var slug = new Slug("my-catalog-2000"); + var fqdnSet = Set.of(Fqdn.of("example.net")); + Mockito.when(slugifyierService.slugify(Mockito.anyString())).thenReturn(slug); + + // Act + var output = createBrandUseCase.run(new With("", fqdnSet)); + + // Assert + Assertions.assertInstanceOf( + CreateBrand.Output.NotCreated.class, + output, + "Given a name, a brand should not be created when given name is empty"); + } + + @Test + public void createBrandWithEmptySluggedNameShouldFail() { + // Arrange + var fqdnSet = Set.of(Fqdn.of("example.net")); + Mockito.when(slugifyierService.slugify(Mockito.anyString())) + .thenThrow(IllegalArgumentException.class); + + // Act + var output = createBrandUseCase.run(new With("--", fqdnSet)); + + // Assert + Assertions.assertInstanceOf( + CreateBrand.Output.NotCreated.class, + output, + "Given a name, a brand should not be created when slugged name is empty"); + } + + @Test + public void cannotCreateBrandWithAnAlreadyExistingDomainName() { + // GIVEN + var slug = new Slug("my-catalog-2000"); + var name = "My Catalog 2000"; + var fqdn = Fqdn.of("example.net"); + var fqdnSet = Set.of(fqdn); + + var existingBrandUuid = UUID.randomUUID(); + var existingBrandFqdnSet = Set.of(Fqdn.of("example.net")); + var existingBrand = Mockito.mock(Brand.class); + + Mockito.when(existingBrand.getUuid()).thenReturn(existingBrandUuid); + Mockito.when(existingBrand.getFqdns()).thenReturn(existingBrandFqdnSet); + + Mockito.when(slugifyierService.slugify(Mockito.anyString())).thenReturn(slug); + + Mockito.when(brandRepository.findBySlug(Mockito.any(Slug.class))).thenReturn(Optional.empty()); + Mockito.doNothing().when(brandRepository).persist(Mockito.any(Brand.class)); + Mockito.doNothing().when(brandRepository).persist(Mockito.any(Brand.class)); + Mockito.when(brandRepository.findByFqdn(fqdn)).thenReturn(Optional.of(existingBrand)); + + // WHEN + var output = createBrandUseCase.run(new Input.With(name, fqdnSet)); + + // THEN + Mockito.verify(domainNameService) + .canFqdnBeAssignedToBrand(Mockito.any(Fqdn.class), Mockito.any(Brand.class)); + + Assertions.assertInstanceOf( + CreateBrand.Output.NotCreated.class, + output, + "A Brand should not be created with an already existing domain name"); + var failureOutput = (CreateBrand.Output.NotCreated) output; + var failureReasons = failureOutput.reasons().invalidFields(); + var firstFailure = failureReasons.iterator().next(); + Assertions.assertEquals( + "Les noms de domaines suivants sont déja utilisés : example.net", + firstFailure.reason(), + "Cannot reuse domain names for other brands"); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/brands/GetBrandTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/brands/GetBrandTest.java new file mode 100644 index 0000000..05ee5f7 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/brands/GetBrandTest.java @@ -0,0 +1,123 @@ +package tech.pegase.z3.domain.usecase.brands; + +import java.util.Optional; +import java.util.Set; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.usecase.brands.GetBrand.Input; +import tech.pegase.z3.domain.usecase.brands.GetBrand.Output; +import tech.pegase.z3.domain.valueobject.Fqdn; +import tech.pegase.z3.domain.valueobject.Slug; + +public class GetBrandTest { + private BrandRepository brandRepository; + private GetBrandImpl getBrandUseCase; + + @BeforeEach + public void setup() { + brandRepository = Mockito.mock(BrandRepository.class); + getBrandUseCase = new GetBrandImpl(brandRepository); + } + + @Test + public void getBrandUsingSlugCanBeFound() { + // Arrange + var slug = new Slug("my-catalog-2000"); + var name = "My Brand 2000"; + var brand = new Brand(slug, name); + + var domainNameFqdn = Fqdn.of("example.net"); + brand.assignFqdn(domainNameFqdn, (fqdn -> true)); + + Mockito.when(brandRepository.findBySlug(slug)).thenReturn(Optional.of(brand)); + + // Act + var output = getBrandUseCase.run(new Input.ForSlug(slug)); + + // Assert + Mockito.verify(brandRepository).findBySlug(slug); + Assertions.assertInstanceOf( + Output.Found.class, output, "Given a slug, a brand should be found if it exists"); + var getBrandOutput = (Output.Found) output; + Assertions.assertEquals( + name, + getBrandOutput.brand().name(), + "Resolve brand should return the name matching the given slug"); + Assertions.assertEquals( + String.join(",", Set.of(domainNameFqdn.getValue())), + String.join(",", getBrandOutput.brand().fqdnSet()), + "Resolve brand should return the actualFqdn set matching the brand's actualFqdn"); + } + + @Test + public void getBrandUsingSlugCanBeMissing() { + // Arrange + var slug = new Slug("my-catalog-2000"); + + Mockito.when(brandRepository.findBySlug(slug)).thenReturn(Optional.empty()); + + // Act + var output = getBrandUseCase.run(new Input.ForSlug(slug)); + + // Assert + Mockito.verify(brandRepository).findBySlug(slug); + Assertions.assertInstanceOf( + Output.NoSuchBrand.class, + output, + "Given a slug, a brand should not be found if it does not exist"); + } + + @Test + public void getBrandUsingUuidCanBeFound() { + // Arrange + var slug = new Slug("my-catalog-2000"); + var name = "My Brand 2000"; + var brand = new Brand(slug, name); + var uuid = brand.getUuid(); + + var domainNameFqdn = Fqdn.of("example.net"); + brand.assignFqdn(domainNameFqdn, (fqdn -> true)); + + Mockito.when(brandRepository.findByUuid(uuid)).thenReturn(Optional.of(brand)); + + // Act + var output = getBrandUseCase.run(new Input.ForUuid(uuid)); + + // Assert + Mockito.verify(brandRepository).findByUuid(uuid); + Assertions.assertInstanceOf( + Output.Found.class, output, "Given an uuid, a brand should be found if it exists"); + var getBrandOutput = (Output.Found) output; + Assertions.assertEquals( + name, + getBrandOutput.brand().name(), + "Resolve brand should return the name matching the given uuid"); + Assertions.assertEquals( + String.join(",", Set.of(domainNameFqdn.getValue())), + String.join(",", getBrandOutput.brand().fqdnSet()), + "Resolve brand should return the actualFqdn set matching the brand's actualFqdn"); + } + + @Test + public void getBrandUsingUuidCanBeMissing() { + // Arrange + var uuid = UUID.randomUUID(); + + Mockito.when(brandRepository.findByUuid(uuid)).thenReturn(Optional.empty()); + + // Act + var output = getBrandUseCase.run(new Input.ForUuid(uuid)); + + // Assert + Mockito.verify(brandRepository).findByUuid(uuid); + Assertions.assertInstanceOf( + Output.NoSuchBrand.class, + output, + "Given an Uuid, a brand should not be found if it does not exist"); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/brands/ListBrandsTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/brands/ListBrandsTest.java new file mode 100644 index 0000000..2c1ffd8 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/brands/ListBrandsTest.java @@ -0,0 +1,56 @@ +package tech.pegase.z3.domain.usecase.brands; + +import java.util.List; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.usecase.brands.ListBrands.Output.PaginatedBrands; +import tech.pegase.z3.domain.valueobject.Fqdn; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +public class ListBrandsTest { + private BrandRepository brandRepository; + private ListBrands listBrandsUseCase; + + @BeforeEach + public void setup() { + brandRepository = Mockito.mock(BrandRepository.class); + listBrandsUseCase = new ListBrandsImpl(brandRepository); + } + + @Test + public void canGetBrandListWithPagination() { + // Arrange + var fqdn = Fqdn.of("example.net"); + + var brandWithoutDomainName = new Brand(new Slug("qwerty"), "qwerty"); + var brandWithDomainName = new Brand(new Slug("azerty"), "azerty"); + brandWithDomainName.assignFqdn(fqdn, (fqdnToAssign) -> true); + + var linkEntityList = List.of(brandWithoutDomainName, brandWithDomainName); + + var pagination = Pagination.fromPageNumberAndPageSize(1, 20); + var paginatedData = + PaginatedData.wrap(linkEntityList, 50, pagination.offset(), linkEntityList.size()); + + Mockito.when(brandRepository.findAll(Mockito.any(Pagination.class))).thenReturn(paginatedData); + + // Act + var output = listBrandsUseCase.run(new ListBrands.Input.WithPagination(pagination)); + + // Assert + Mockito.verify(brandRepository).findAll(pagination); + Assertions.assertInstanceOf( + PaginatedBrands.class, output, "List brands should output paginated brands"); + + var paginatedBrands = (PaginatedBrands) output; + var outputFirstItem = paginatedBrands.brandList().items().getFirst(); + Assertions.assertNotNull( + outputFirstItem, "List brands should contain the brand the repository outputs"); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/brands/UpdateBrandTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/brands/UpdateBrandTest.java new file mode 100644 index 0000000..8ce39e6 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/brands/UpdateBrandTest.java @@ -0,0 +1,192 @@ +package tech.pegase.z3.domain.usecase.brands; + +import io.quarkus.arc.impl.Reflections; +import java.lang.reflect.InvocationTargetException; +import java.util.Optional; +import java.util.Set; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.service.Slugifyier; +import tech.pegase.z3.domain.service.DomainNameService; +import tech.pegase.z3.domain.service.DomainNameServiceImpl; +import tech.pegase.z3.domain.usecase.brands.UpdateBrand.Input.ForSlug; +import tech.pegase.z3.domain.valueobject.Fqdn; +import tech.pegase.z3.domain.valueobject.Slug; + +public class UpdateBrandTest { + private Slugifyier slugifyierService; + private BrandRepository brandRepository; + private UpdateBrand updateBrandUseCase; + private DomainNameService domainNameService; + + @BeforeEach + public void setup() + throws InvocationTargetException, InstantiationException, IllegalAccessException { + brandRepository = Mockito.mock(BrandRepository.class); + slugifyierService = Mockito.mock(Slugifyier.class); + var domainNameServiceConstructor = + Reflections.findConstructor(DomainNameServiceImpl.class, BrandRepository.class); + domainNameServiceConstructor.setAccessible(true); + domainNameService = + Mockito.spy((DomainNameService) domainNameServiceConstructor.newInstance(brandRepository)); + updateBrandUseCase = new UpdateBrandImpl(slugifyierService, brandRepository, domainNameService); + } + + @Test + public void updateBrandForSlugShouldPersistWhenSlugExists() { + // Arrange + var slug = new Slug("my-catalog-2000"); + var name = "My Catalog 2000"; + var fqdnSet = Set.of(Fqdn.of("example.net")); + var brand = new Brand(slug, name); + + Mockito.when(brandRepository.findBySlug(Mockito.any(Slug.class))) + .thenReturn(Optional.of(brand)); + Mockito.when(slugifyierService.slugify(Mockito.any(String.class))).thenReturn(slug); + + // Act + var output = updateBrandUseCase.run(new ForSlug(slug, name, fqdnSet)); + + // Assert + Mockito.verify(brandRepository, Mockito.times(2)).findBySlug(Mockito.any(Slug.class)); + Mockito.verify(brandRepository, Mockito.times(1)).update(Mockito.any(Brand.class)); + Mockito.verify(slugifyierService).slugify(Mockito.any(String.class)); + Mockito.verify(domainNameService) + .canFqdnBeAssignedToBrand(Mockito.any(Fqdn.class), Mockito.any(Brand.class)); + + Assertions.assertInstanceOf( + UpdateBrand.Output.Updated.class, + output, + "Update brand use case should output the updated brand"); + + var updatedOutput = (UpdateBrand.Output.Updated) output; + Assertions.assertEquals( + name, + updatedOutput.brand().name(), + "Update brand use case should return the same name as in input"); + } + + @Test + public void updateBrandUsingSlugCanBeMissing() { + // Arrange + var slug = new Slug("my-catalog-2000"); + var name = "My Catalog 2000"; + var fqdnSet = Set.of(Fqdn.of("example.net")); + + Mockito.doAnswer(i -> Optional.empty()).when(brandRepository).findBySlug(slug); + + // Act + var output = updateBrandUseCase.run(new ForSlug(slug, name, fqdnSet)); + + // Assert + Mockito.verify(brandRepository).findBySlug(Mockito.any(Slug.class)); + Assertions.assertInstanceOf( + UpdateBrand.Output.NoSuchBrand.class, + output, + "Given a slug, a brand cannot be updated if it does not exist"); + } + + @Test + public void cannotUpdateBrandIfNameIsEmpty() { + // Arrange + var slug = new Slug("my-catalog-2000"); + var name = ""; + var fqdnSet = Set.of(Fqdn.of("example.net")); + + // Act + var output = updateBrandUseCase.run(new ForSlug(slug, name, fqdnSet)); + + // Assert + Mockito.verifyNoInteractions(brandRepository); + Assertions.assertInstanceOf(UpdateBrand.Output.NotUpdated.class, output); + } + + @Test + public void cannotUpdateBrandIfNameCannotBeSlugged() { + // Arrange + var slug = new Slug("my-catalog-2000"); + var fqdnSet = Set.of(Fqdn.of("example.net")); + var name = "___"; + var brand = new Brand(slug, name); + + Mockito.when(brandRepository.findBySlug(Mockito.any(Slug.class))) + .thenReturn(Optional.of(brand)); + Mockito.doThrow(IllegalArgumentException.class) + .when(slugifyierService) + .slugify(Mockito.any(String.class)); + + // Act + var output = updateBrandUseCase.run(new ForSlug(slug, name, fqdnSet)); + + // Assert + Mockito.verify(brandRepository).findBySlug(Mockito.any(Slug.class)); + Mockito.verifyNoMoreInteractions(brandRepository); + Assertions.assertInstanceOf(UpdateBrand.Output.NotUpdated.class, output); + } + + @Test + public void cannotUpdateBrandIfSlugIsAlreadyUsed() { + // Arrange + var slug = new Slug("my-catalog-2000"); + var name = "My Catalog 2000"; + var fqdnSet = Set.of(Fqdn.of("example.net")); + var brand = new Brand(slug, name); + var newSlug = Slug.of("new-slug"); + var anotherBrand = new Brand(newSlug, "My Brand 2000"); + + Mockito.when(brandRepository.findBySlug(slug)).thenReturn(Optional.of(brand)); + Mockito.when(slugifyierService.slugify(Mockito.any(String.class))).thenReturn(newSlug); + Mockito.when(brandRepository.findBySlug(newSlug)).thenReturn(Optional.of(anotherBrand)); + + // Act + var output = updateBrandUseCase.run(new ForSlug(slug, name, fqdnSet)); + + // Assert + Mockito.verify(brandRepository).findBySlug(slug); + Mockito.verify(brandRepository).findBySlug(newSlug); + Mockito.verifyNoMoreInteractions(brandRepository); + Assertions.assertInstanceOf(UpdateBrand.Output.NotUpdated.class, output); + } + + @Test + public void cannotUpdateBrandIfFqdnIsAlreadyUsed() { + // GIVEN + var slug = new Slug("my-catalog-2000"); + var name = "My Catalog 2000"; + var brand = new Brand(slug, name); + var fqdn = Fqdn.of("example.net"); + var fqdnSet = Set.of(fqdn); + + var existingBrandUuid = UUID.randomUUID(); + var existingBrandFqdnSet = Set.of(Fqdn.of("example.net")); + var existingBrand = Mockito.mock(Brand.class); + + Mockito.when(existingBrand.getUuid()).thenReturn(existingBrandUuid); + Mockito.when(existingBrand.getFqdns()).thenReturn(existingBrandFqdnSet); + + Mockito.when(brandRepository.findBySlug(Mockito.any(Slug.class))) + .thenReturn(Optional.of(brand)); + Mockito.when(slugifyierService.slugify(Mockito.any(String.class))).thenReturn(slug); + Mockito.when(brandRepository.findByFqdn(fqdn)).thenReturn(Optional.of(existingBrand)); + + // Act + var output = updateBrandUseCase.run(new ForSlug(slug, name, fqdnSet)); + + // Assert + Mockito.verify(brandRepository, Mockito.times(2)).findBySlug(Mockito.any(Slug.class)); + Mockito.verify(slugifyierService).slugify(Mockito.any(String.class)); + Mockito.verify(domainNameService) + .canFqdnBeAssignedToBrand(Mockito.any(Fqdn.class), Mockito.any(Brand.class)); + Mockito.verify(brandRepository, Mockito.never()).update(Mockito.any(Brand.class)); + + Assertions.assertInstanceOf( + UpdateBrand.Output.NotUpdated.class, + output, + "Cannot update a brand with a Fqdn that is already used"); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/catalogs/CreateCatalogTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/catalogs/CreateCatalogTest.java new file mode 100644 index 0000000..9c9c0fe --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/catalogs/CreateCatalogTest.java @@ -0,0 +1,118 @@ +package tech.pegase.z3.domain.usecase.catalogs; + +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.port.service.Slugifyier; +import tech.pegase.z3.domain.usecase.catalogs.CreateCatalog.Input; +import tech.pegase.z3.domain.usecase.catalogs.CreateCatalog.Output; +import tech.pegase.z3.domain.valueobject.Slug; + +public class CreateCatalogTest { + private final Slugifyier slugifyierService; + private final CatalogRepository catalogRepository; + private final BrandRepository brandRepository; + private final CreateCatalog createCatalog; + + CreateCatalogTest() { + this.brandRepository = Mockito.mock(BrandRepository.class); + this.slugifyierService = Mockito.mock(Slugifyier.class); + this.catalogRepository = Mockito.mock(CatalogRepository.class); + this.createCatalog = + new CreateCatalogImpl(slugifyierService, catalogRepository, brandRepository); + } + + @Test + public void canCreateCatalog() { + // GIVEN + var name = "catalog name"; + var brandUuid = UUID.randomUUID(); + var newCatalogSlug = Slug.of("catalog-name"); + + Mockito.when(slugifyierService.slugify(name)).thenReturn(newCatalogSlug); + Mockito.when(catalogRepository.exists(newCatalogSlug)).thenReturn(false); + Mockito.when(brandRepository.exists(brandUuid)).thenReturn(true); + Mockito.when(catalogRepository.exists(Mockito.any(UUID.class))).thenReturn(false); + Mockito.doNothing().when(catalogRepository).persist(Mockito.any(Catalog.class)); + + // WHEN + var output = createCatalog.run(new Input.With(name, brandUuid)); + + // THEN + Mockito.verify(catalogRepository).persist(Mockito.any(Catalog.class)); + Assertions.assertInstanceOf(Output.Created.class, output); + } + + @Test + public void cannotCreateCatalogWithEmptyName() { + // GIVEN + var name = ""; + var brandUuid = UUID.randomUUID(); + + // WHEN + var output = createCatalog.run(new Input.With(name, brandUuid)); + + // THEN + Mockito.verifyNoInteractions(catalogRepository); + Assertions.assertInstanceOf(Output.NotCreated.class, output); + } + + @Test + public void cannotCreateCatalogWithUnSluggableName() { + // GIVEN + var name = "___"; + var brandUuid = UUID.randomUUID(); + Mockito.doThrow(IllegalArgumentException.class).when(slugifyierService).slugify(name); + + // WHEN + var output = createCatalog.run(new Input.With(name, brandUuid)); + + // THEN + Mockito.verifyNoInteractions(catalogRepository); + Assertions.assertInstanceOf(Output.NotCreated.class, output); + } + + @Test + public void cannotCreateCatalogIfNameIsAlreadyUsed() { + // GIVEN + var name = "catalog name"; + var brandUuid = UUID.randomUUID(); + var newCatalogSlug = Slug.of("catalog-name"); + + Mockito.when(slugifyierService.slugify(name)).thenReturn(newCatalogSlug); + Mockito.when(catalogRepository.exists(newCatalogSlug)).thenReturn(true); + + // WHEN + var output = createCatalog.run(new Input.With(name, brandUuid)); + + // THEN + Mockito.verify(catalogRepository).exists(Mockito.any(Slug.class)); + Mockito.verifyNoMoreInteractions(catalogRepository); + Assertions.assertInstanceOf(Output.NotCreated.class, output); + } + + @Test + public void cannotCreateCatalogForNonExistingBrand() { + // GIVEN + var name = "catalog name"; + var brandUuid = UUID.randomUUID(); + var newCatalogSlug = Slug.of("catalog-name"); + + Mockito.when(slugifyierService.slugify(name)).thenReturn(newCatalogSlug); + Mockito.when(catalogRepository.exists(newCatalogSlug)).thenReturn(false); + Mockito.when(brandRepository.exists(brandUuid)).thenReturn(false); + + // WHEN + var output = createCatalog.run(new Input.With(name, brandUuid)); + + // THEN + Mockito.verify(brandRepository).exists(Mockito.any(UUID.class)); + Mockito.verify(catalogRepository).exists(Mockito.any(Slug.class)); + Mockito.verifyNoMoreInteractions(catalogRepository); + Assertions.assertInstanceOf(Output.NotCreated.class, output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/catalogs/GetCatalogTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/catalogs/GetCatalogTest.java new file mode 100644 index 0000000..3f8e833 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/catalogs/GetCatalogTest.java @@ -0,0 +1,50 @@ +package tech.pegase.z3.domain.usecase.catalogs; + +import java.util.Optional; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.usecase.catalogs.GetCatalog.Input; +import tech.pegase.z3.domain.usecase.catalogs.GetCatalog.Output; +import tech.pegase.z3.domain.valueobject.Slug; + +public class GetCatalogTest { + private final CatalogRepository catalogRepository; + private final GetCatalog getCatalog; + + GetCatalogTest() { + this.catalogRepository = Mockito.mock(CatalogRepository.class); + this.getCatalog = new GetCatalogImpl(catalogRepository); + } + + @Test + public void canGetCatalog() { + // GIVEN + var catalogSlug = Slug.of("catalog-slug"); + var catalog = Mockito.mock(Catalog.class); + + Mockito.when(catalogRepository.findBySlug(catalogSlug)).thenReturn(Optional.of(catalog)); + + // WHEN + var output = getCatalog.run(new Input.ForSlug(catalogSlug)); + + // THEN + Assertions.assertInstanceOf(Output.Found.class, output); + } + + @Test + public void cannotGetNonExistingCatalog() { + // GIVEN + var catalogSlug = Slug.of("catalog-slug"); + + Mockito.when(catalogRepository.findBySlug(catalogSlug)).thenReturn(Optional.empty()); + + // WHEN + var output = getCatalog.run(new Input.ForSlug(catalogSlug)); + + // THEN + Assertions.assertInstanceOf(Output.NoSuchCatalog.class, output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/catalogs/ListCatalogsTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/catalogs/ListCatalogsTest.java new file mode 100644 index 0000000..8d4e9e6 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/catalogs/ListCatalogsTest.java @@ -0,0 +1,88 @@ +package tech.pegase.z3.domain.usecase.catalogs; + +import java.util.List; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.usecase.catalogs.ListCatalogs.Output.PaginatedCatalogs; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +public class ListCatalogsTest { + private CatalogRepository catalogRepository; + private ListCatalogs listCatalogsUseCase; + + @BeforeEach + public void setup() { + catalogRepository = Mockito.mock(CatalogRepository.class); + listCatalogsUseCase = new ListCatalogsImpl(catalogRepository); + } + + @Test + public void canGetBrandListWithPagination() { + // Arrange + var pagination = Pagination.fromPageNumberAndPageSize(1, 20); + var paginatedData = getFakePaginatedData(pagination); + + Mockito.when(catalogRepository.findAll(Mockito.any(Pagination.class))) + .thenReturn(paginatedData); + + // Act + var output = listCatalogsUseCase.run(new ListCatalogs.Input.WithPagination(pagination)); + + // Assert + Mockito.verify(catalogRepository).findAll(Mockito.any(Pagination.class)); + Assertions.assertInstanceOf( + PaginatedCatalogs.class, output, "List catalogs should output paginated catalogs"); + + var paginatedCatalogs = (PaginatedCatalogs) output; + Assertions.assertNotNull(paginatedCatalogs.catalogList().items().getFirst()); + Assertions.assertEquals( + paginatedData.items().getFirst().getBrandUuid(), + paginatedCatalogs.catalogList().items().getFirst().brandUuid()); + } + + @Test + public void canGetBrandListWithPaginationForBrand() { + // Arrange + var brandUuid = UUID.randomUUID(); + var pagination = Pagination.fromPageNumberAndPageSize(1, 20); + var paginatedData = getFakePaginatedData(pagination); + + Mockito.when( + catalogRepository.findAllForBrand( + Mockito.any(UUID.class), Mockito.any(Pagination.class))) + .thenReturn(paginatedData); + + // Act + var output = + listCatalogsUseCase.run( + new ListCatalogs.Input.WithPaginationForBrand(brandUuid, pagination)); + + // Assert + Mockito.verify(catalogRepository) + .findAllForBrand(Mockito.any(UUID.class), Mockito.any(Pagination.class)); + Assertions.assertInstanceOf( + PaginatedCatalogs.class, output, "List catalogs should output paginated catalogs"); + + var paginatedCatalogs = (PaginatedCatalogs) output; + Assertions.assertNotNull(paginatedCatalogs.catalogList().items().getFirst()); + Assertions.assertEquals( + paginatedData.items().getFirst().getBrandUuid(), + paginatedCatalogs.catalogList().items().getFirst().brandUuid()); + } + + private PaginatedData getFakePaginatedData(Pagination pagination) { + var entityList = + List.of( + new Catalog(Slug.of("qwerty"), "qwerty", UUID.randomUUID()), + new Catalog(Slug.of("azerty"), "azerty", UUID.randomUUID()), + new Catalog(Slug.of("dvorak"), "dvorak", UUID.randomUUID())); + return PaginatedData.wrap(entityList, 50, pagination.offset(), entityList.size()); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/catalogs/RemoveCatalogTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/catalogs/RemoveCatalogTest.java new file mode 100644 index 0000000..ca0ff5d --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/catalogs/RemoveCatalogTest.java @@ -0,0 +1,76 @@ +package tech.pegase.z3.domain.usecase.catalogs; + +import java.util.List; +import java.util.Optional; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.usecase.catalogs.RemoveCatalog.Input; +import tech.pegase.z3.domain.usecase.catalogs.RemoveCatalog.Output; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +public class RemoveCatalogTest { + private final CatalogRepository catalogRepository; + private final LinkRepository linkRepository; + private final RemoveCatalog removeCatalog; + + RemoveCatalogTest() { + this.catalogRepository = Mockito.mock(CatalogRepository.class); + this.linkRepository = Mockito.mock(LinkRepository.class); + this.removeCatalog = new RemoveCatalogImpl(catalogRepository, linkRepository); + } + + @Test + public void canRemoveCatalog() { + // GIVEN + var slug = Slug.of("slug"); + var catalogUuid = UUID.randomUUID(); + var catalog = Mockito.mock(Catalog.class); + var link = Mockito.mock(Link.class); + var paginatedLinks = PaginatedData.wrap(List.of(link), 50, 0, 1); + + Mockito.when(catalog.getUuid()).thenReturn(catalogUuid); + + Mockito.when(catalogRepository.findBySlug(slug)).thenReturn(Optional.of(catalog)); + Mockito.when( + linkRepository.findAllForCatalog( + Mockito.any(Pagination.class), Mockito.any(UUID.class))) + .thenReturn(paginatedLinks) + .thenReturn(PaginatedData.empty()); + Mockito.doNothing().when(linkRepository).update(Mockito.any(Link.class)); + Mockito.when(catalogRepository.remove(slug)).thenReturn(true); + + // WHEN + var output = removeCatalog.run(new Input.ForSlug(slug)); + + // THEN + Mockito.verify(catalogRepository).remove(slug); + Assertions.assertInstanceOf(Output.Removed.class, output); + } + + @Test + public void cannotRemoveNonExistingCatalog() { + // GIVEN + var slug = Slug.of("slug"); + var catalogUuid = UUID.randomUUID(); + var catalog = Mockito.mock(Catalog.class); + + Mockito.when(catalog.getUuid()).thenReturn(catalogUuid); + + Mockito.when(catalogRepository.findBySlug(slug)).thenReturn(Optional.empty()); + + // WHEN + var output = removeCatalog.run(new Input.ForSlug(slug)); + + // THEN + Mockito.verify(catalogRepository, Mockito.never()).remove(slug); + Assertions.assertInstanceOf(Output.NoSuchCatalog.class, output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/catalogs/UpdateCatalogTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/catalogs/UpdateCatalogTest.java new file mode 100644 index 0000000..8ebc886 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/catalogs/UpdateCatalogTest.java @@ -0,0 +1,129 @@ +package tech.pegase.z3.domain.usecase.catalogs; + +import java.util.Optional; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.port.service.Slugifyier; +import tech.pegase.z3.domain.usecase.catalogs.UpdateCatalog.Input; +import tech.pegase.z3.domain.usecase.catalogs.UpdateCatalog.Output; +import tech.pegase.z3.domain.valueobject.Slug; + +public class UpdateCatalogTest { + private final Slugifyier slugifyierService; + private final CatalogRepository catalogRepository; + private final UpdateCatalog updateCatalog; + + UpdateCatalogTest() { + this.slugifyierService = Mockito.mock(Slugifyier.class); + this.catalogRepository = Mockito.mock(CatalogRepository.class); + this.updateCatalog = new UpdateCatalogImpl(slugifyierService, catalogRepository); + } + + @Test + public void canUpdateCatalog() { + // GIVEN + var slug = Slug.of("slug"); + var name = "name"; + var newSlug = Slug.of(name); + var catalog = Mockito.mock(Catalog.class); + + Mockito.doNothing().when(catalog).setName(Mockito.anyString()); + Mockito.doNothing().when(catalog).setSlug(newSlug); + + Mockito.when(catalogRepository.findBySlug(slug)).thenReturn(Optional.of(catalog)); + Mockito.when(slugifyierService.slugify(name)).thenReturn(newSlug); + Mockito.when(catalogRepository.exists(newSlug)).thenReturn(false); + Mockito.doNothing().when(catalogRepository).update(catalog); + + // WHEN + var output = updateCatalog.run(new Input.ForSlug(slug, name)); + + // THEN + Mockito.verify(catalogRepository).update(catalog); + Assertions.assertInstanceOf(Output.Updated.class, output); + } + + @Test + public void cannotUpdateForNonExistingCatalog() { + // GIVEN + var slug = Slug.of("slug"); + var name = "name"; + var newSlug = Slug.of(name); + var catalog = Mockito.mock(Catalog.class); + + Mockito.doNothing().when(catalog).setName(Mockito.anyString()); + Mockito.doNothing().when(catalog).setSlug(newSlug); + + Mockito.when(catalogRepository.findBySlug(slug)).thenReturn(Optional.empty()); + + // WHEN + var output = updateCatalog.run(new Input.ForSlug(slug, name)); + + // THEN + Mockito.verify(catalogRepository, Mockito.never()).update(catalog); + Assertions.assertInstanceOf(Output.NoSuchCatalog.class, output); + } + + @Test + public void cannotUpdateCatalogIfNewNameIsBlank() { + // GIVEN + var slug = Slug.of("slug"); + var name = ""; + var catalog = Mockito.mock(Catalog.class); + + // WHEN + var output = updateCatalog.run(new Input.ForSlug(slug, name)); + + // THEN + Mockito.verify(catalogRepository, Mockito.never()).update(catalog); + Assertions.assertInstanceOf(Output.NotUpdated.class, output); + } + + @Test + public void cannotUpdateCatalogIfNewSlugCannotBeGenerated() { + // GIVEN + var slug = Slug.of("slug"); + var name = "name"; + var newSlug = Slug.of(name); + var catalog = Mockito.mock(Catalog.class); + + Mockito.doNothing().when(catalog).setName(Mockito.anyString()); + Mockito.doNothing().when(catalog).setSlug(newSlug); + + Mockito.when(catalogRepository.findBySlug(slug)).thenReturn(Optional.of(catalog)); + Mockito.doThrow(IllegalArgumentException.class).when(slugifyierService).slugify(name); + + // WHEN + var output = updateCatalog.run(new Input.ForSlug(slug, name)); + + // THEN + Mockito.verify(catalogRepository, Mockito.never()).update(catalog); + Assertions.assertInstanceOf(Output.NotUpdated.class, output); + } + + @Test + public void cannotUpdateCatalogIfNewSlugAlreadyExists() { + // GIVEN + var slug = Slug.of("slug"); + var name = "name"; + var newSlug = Slug.of(name); + var catalog = Mockito.mock(Catalog.class); + + Mockito.doNothing().when(catalog).setName(Mockito.anyString()); + Mockito.doNothing().when(catalog).setSlug(newSlug); + + Mockito.when(catalogRepository.findBySlug(slug)).thenReturn(Optional.of(catalog)); + Mockito.when(slugifyierService.slugify(name)).thenReturn(newSlug); + Mockito.when(catalogRepository.exists(newSlug)).thenReturn(true); + + // WHEN + var output = updateCatalog.run(new Input.ForSlug(slug, name)); + + // THEN + Mockito.verify(catalogRepository, Mockito.never()).update(catalog); + Assertions.assertInstanceOf(Output.NotUpdated.class, output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/CreateLinkTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/CreateLinkTest.java new file mode 100644 index 0000000..f760935 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/CreateLinkTest.java @@ -0,0 +1,276 @@ +package tech.pegase.z3.domain.usecase.links; + +import java.util.Optional; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.port.service.RandomSourceGenerator; +import tech.pegase.z3.domain.service.VerifyLinkService; +import tech.pegase.z3.domain.usecase.links.CreateLink.Input; +import tech.pegase.z3.domain.usecase.links.CreateLink.Input.CommonLinkInput; +import tech.pegase.z3.domain.usecase.links.CreateLink.Output; +import tech.pegase.z3.domain.valueobject.Color; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.shared.valueobject.Source; + +public class CreateLinkTest { + + private RandomSourceGenerator randomSourceGenerator; + private LinkRepository linkRepository; + private BrandRepository brandRepository; + private TagRepository tagRepository; + private CatalogRepository catalogRepository; + private CreateLink createLink; + private VerifyLinkService verifyLinkService; + + CreateLinkTest() { + randomSourceGenerator = Mockito.mock(RandomSourceGenerator.class); + linkRepository = Mockito.mock(LinkRepository.class); + brandRepository = Mockito.mock(BrandRepository.class); + tagRepository = Mockito.mock(TagRepository.class); + catalogRepository = Mockito.mock(CatalogRepository.class); + verifyLinkService = Mockito.mock(VerifyLinkService.class); + createLink = + new CreateLinkImpl( + randomSourceGenerator, + linkRepository, + brandRepository, + catalogRepository, + tagRepository, + verifyLinkService); + } + + @Test + public void canCreateLinkWithSource() { + // GIVEN + var source = Source.of("source"); + var target = Target.of("https://target"); + var isExternal = false; + var brandUuid = UUID.randomUUID(); + var catalogUuid = UUID.randomUUID(); + var catalog = Mockito.mock(Catalog.class); + var tagUuid = UUID.randomUUID(); + var tag = Mockito.mock(Tag.class); + var tagColor = Color.of("#fff"); + + var commonLinkInput = new CommonLinkInput(target, isExternal, brandUuid, tagUuid, catalogUuid); + + Mockito.when(tag.getColor()).thenReturn(tagColor); + + Mockito.when(brandRepository.exists(brandUuid)).thenReturn(true); + Mockito.when(catalogRepository.findByUuid(catalogUuid)).thenReturn(Optional.of(catalog)); + Mockito.when(tagRepository.findByUuid(tagUuid)).thenReturn(Optional.of(tag)); + Mockito.when(linkRepository.exists(source)).thenReturn(false); + Mockito.doNothing().when(linkRepository).persist(Mockito.any(Link.class)); + Mockito.doNothing().when(verifyLinkService).verifyAndPersistValidity(Mockito.any(Link.class)); + + // WHEN + var output = createLink.run(new Input.WithSourceAndUrl(source, commonLinkInput)); + + // THEN + Mockito.verify(linkRepository).persist(Mockito.any(Link.class)); + Mockito.verify(verifyLinkService).verifyAndPersistValidity(Mockito.any(Link.class)); + Assertions.assertInstanceOf(Output.Created.class, output); + } + + @Test + public void canCreateLinkWithSourceAndNoForeign() { + // GIVEN + var source = Source.of("source"); + var target = Target.of("https://target"); + var isExternal = false; + + var commonLinkInput = new CommonLinkInput(target, isExternal, null, null, null); + + Mockito.when(linkRepository.exists(source)).thenReturn(false); + Mockito.doNothing().when(linkRepository).persist(Mockito.any(Link.class)); + Mockito.doNothing().when(verifyLinkService).verifyAndPersistValidity(Mockito.any(Link.class)); + + // WHEN + var output = createLink.run(new Input.WithSourceAndUrl(source, commonLinkInput)); + + // THEN + Mockito.verify(linkRepository).persist(Mockito.any(Link.class)); + Mockito.verify(verifyLinkService).verifyAndPersistValidity(Mockito.any(Link.class)); + Assertions.assertInstanceOf(Output.Created.class, output); + } + + @Test + public void canCreateLinkWithoutSource() { + // GIVEN + var source = Source.of("source"); + var target = Target.of("https://target"); + var isExternal = false; + var brandUuid = UUID.randomUUID(); + var catalogUuid = UUID.randomUUID(); + var catalog = Mockito.mock(Catalog.class); + var tagUuid = UUID.randomUUID(); + var tag = Mockito.mock(Tag.class); + var tagColor = Color.of("#fff"); + + var commonLinkInput = new CommonLinkInput(target, isExternal, brandUuid, tagUuid, catalogUuid); + + Mockito.when(tag.getColor()).thenReturn(tagColor); + + Mockito.when(brandRepository.exists(brandUuid)).thenReturn(true); + Mockito.when(catalogRepository.findByUuid(catalogUuid)).thenReturn(Optional.of(catalog)); + Mockito.when(tagRepository.findByUuid(tagUuid)).thenReturn(Optional.of(tag)); + Mockito.when(linkRepository.exists(source)).thenReturn(true).thenReturn(false); + Mockito.doNothing().when(linkRepository).persist(Mockito.any(Link.class)); + Mockito.doNothing().when(verifyLinkService).verifyAndPersistValidity(Mockito.any(Link.class)); + + Mockito.when(randomSourceGenerator.generate()).thenReturn(Source.of("source")); + + // WHEN + var output = createLink.run(new Input.WithUrl(commonLinkInput)); + + // THEN + Mockito.verify(linkRepository).persist(Mockito.any(Link.class)); + Mockito.verify(verifyLinkService).verifyAndPersistValidity(Mockito.any(Link.class)); + Assertions.assertInstanceOf(Output.Created.class, output); + } + + @Test + public void cannotCreateLinkWithoutUniqueSource() { + // GIVEN + var source = Source.of("source"); + var target = Target.of("https://target"); + var isExternal = false; + var brandUuid = UUID.randomUUID(); + var catalogUuid = UUID.randomUUID(); + var tagUuid = UUID.randomUUID(); + + var commonLinkInput = new CommonLinkInput(target, isExternal, brandUuid, tagUuid, catalogUuid); + + Mockito.when(linkRepository.exists(source)).thenReturn(true); + Mockito.when(randomSourceGenerator.generate()).thenReturn(Source.of("source")); + + // WHEN + var output = createLink.run(new Input.WithUrl(commonLinkInput)); + + // THEN + Mockito.verify(linkRepository, Mockito.never()).persist(Mockito.any(Link.class)); + Mockito.verify(verifyLinkService, Mockito.never()) + .verifyAndPersistValidity(Mockito.any(Link.class)); + Assertions.assertInstanceOf(Output.NotCreated.class, output); + } + + @Test + public void cannotCreateLinkIfCatalogDoesNotExist() { + // GIVEN + var source = Source.of("source"); + var target = Target.of("https://target"); + var isExternal = false; + var brandUuid = UUID.randomUUID(); + var catalogUuid = UUID.randomUUID(); + var tagUuid = UUID.randomUUID(); + var tag = Mockito.mock(Tag.class); + + var commonLinkInput = new CommonLinkInput(target, isExternal, brandUuid, tagUuid, catalogUuid); + + Mockito.when(brandRepository.exists(brandUuid)).thenReturn(true); + Mockito.when(catalogRepository.findByUuid(catalogUuid)).thenReturn(Optional.empty()); + Mockito.when(tagRepository.findByUuid(tagUuid)).thenReturn(Optional.of(tag)); + + // WHEN + var output = createLink.run(new Input.WithSourceAndUrl(source, commonLinkInput)); + + // THEN + Mockito.verify(linkRepository, Mockito.never()).persist(Mockito.any(Link.class)); + Mockito.verify(verifyLinkService, Mockito.never()) + .verifyAndPersistValidity(Mockito.any(Link.class)); + Assertions.assertInstanceOf(Output.NotCreated.class, output); + } + + @Test + public void cannotCreateLinkIfTagDoesNotExist() { + // GIVEN + var source = Source.of("source"); + var target = Target.of("https://target"); + var isExternal = false; + var brandUuid = UUID.randomUUID(); + var catalogUuid = UUID.randomUUID(); + var tagUuid = UUID.randomUUID(); + var catalog = Mockito.mock(Catalog.class); + + var commonLinkInput = new CommonLinkInput(target, isExternal, brandUuid, tagUuid, catalogUuid); + + Mockito.when(brandRepository.exists(brandUuid)).thenReturn(true); + Mockito.when(catalogRepository.findByUuid(catalogUuid)).thenReturn(Optional.of(catalog)); + Mockito.when(tagRepository.findByUuid(tagUuid)).thenReturn(Optional.empty()); + + // WHEN + var output = createLink.run(new Input.WithSourceAndUrl(source, commonLinkInput)); + + // THEN + Mockito.verify(linkRepository, Mockito.never()).persist(Mockito.any(Link.class)); + Mockito.verify(verifyLinkService, Mockito.never()) + .verifyAndPersistValidity(Mockito.any(Link.class)); + Assertions.assertInstanceOf(Output.NotCreated.class, output); + } + + @Test + public void cannotCreateLinkIfBrandDoesNotExist() { + // GIVEN + var source = Source.of("source"); + var target = Target.of("https://target"); + var isExternal = false; + var brandUuid = UUID.randomUUID(); + var catalogUuid = UUID.randomUUID(); + var tagUuid = UUID.randomUUID(); + var catalog = Mockito.mock(Catalog.class); + var tag = Mockito.mock(Tag.class); + + var commonLinkInput = new CommonLinkInput(target, isExternal, brandUuid, tagUuid, catalogUuid); + + Mockito.when(brandRepository.exists(brandUuid)).thenReturn(false); + Mockito.when(catalogRepository.findByUuid(catalogUuid)).thenReturn(Optional.of(catalog)); + Mockito.when(tagRepository.findByUuid(tagUuid)).thenReturn(Optional.of(tag)); + + // WHEN + var output = createLink.run(new Input.WithSourceAndUrl(source, commonLinkInput)); + + // THEN + Mockito.verify(linkRepository, Mockito.never()).persist(Mockito.any(Link.class)); + Mockito.verify(verifyLinkService, Mockito.never()) + .verifyAndPersistValidity(Mockito.any(Link.class)); + Assertions.assertInstanceOf(Output.NotCreated.class, output); + } + + @Test + public void cannotCreateLinkIfBSourceAlreadyExists() { + // GIVEN + var source = Source.of("source"); + var target = Target.of("https://target"); + var isExternal = false; + var brandUuid = UUID.randomUUID(); + var catalogUuid = UUID.randomUUID(); + var tagUuid = UUID.randomUUID(); + var catalog = Mockito.mock(Catalog.class); + var tag = Mockito.mock(Tag.class); + + var commonLinkInput = new CommonLinkInput(target, isExternal, brandUuid, tagUuid, catalogUuid); + + Mockito.when(brandRepository.exists(brandUuid)).thenReturn(true); + Mockito.when(catalogRepository.findByUuid(catalogUuid)).thenReturn(Optional.of(catalog)); + Mockito.when(tagRepository.findByUuid(tagUuid)).thenReturn(Optional.of(tag)); + Mockito.when(linkRepository.exists(source)).thenReturn(true); + + // WHEN + var output = createLink.run(new Input.WithSourceAndUrl(source, commonLinkInput)); + + // THEN + Mockito.verify(linkRepository, Mockito.never()).persist(Mockito.any(Link.class)); + Mockito.verify(verifyLinkService, Mockito.never()) + .verifyAndPersistValidity(Mockito.any(Link.class)); + Assertions.assertInstanceOf(Output.NotCreated.class, output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/ExportLinkTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/ExportLinkTest.java new file mode 100644 index 0000000..153734a --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/ExportLinkTest.java @@ -0,0 +1,260 @@ +package tech.pegase.z3.domain.usecase.links; + +import java.util.List; +import java.util.Optional; +import java.util.Set; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.usecase.links.ExportLinks.Input; +import tech.pegase.z3.domain.usecase.links.ExportLinks.Output; +import tech.pegase.z3.domain.valueobject.Fqdn; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +public class ExportLinkTest { + private final LinkRepository linkRepository; + private final BrandRepository brandRepository; + private final CatalogRepository catalogRepository; + private final ExportLinks exportLinks; + + ExportLinkTest() { + this.linkRepository = Mockito.mock(LinkRepository.class); + this.brandRepository = Mockito.mock(BrandRepository.class); + this.catalogRepository = Mockito.mock(CatalogRepository.class); + this.exportLinks = new ExportLinksImpl(linkRepository, brandRepository, catalogRepository); + } + + // -- FOR BRAND -- + + @Test + public void canExportLinksPageForBrand() { + // GIVEN + var brandUuid = UUID.randomUUID(); + var brandSlug = new Slug("slug"); + var brandFqdn1 = Fqdn.of("example.net"); + var brandFqdnSet = Set.of(brandFqdn1); + var brand = Mockito.mock(Brand.class); + var page = 0; + var perPage = 50; + var linkResult = Mockito.mock(Link.class); + var links = List.of(linkResult); + var paginatedData = PaginatedData.wrap(links, links.size(), 0, links.size()); + + Mockito.when(brand.getFqdns()).thenReturn(brandFqdnSet); + Mockito.when(brand.getUuid()).thenReturn(brandUuid); + + Mockito.when(brandRepository.findByUuid(brandUuid)).thenReturn(Optional.of(brand)); + Mockito.when(brandRepository.findBySlug(brandSlug)).thenReturn(Optional.of(brand)); + Mockito.when( + linkRepository.findAllForBrand(Mockito.any(Pagination.class), Mockito.any(UUID.class))) + .thenReturn(paginatedData); + + // WHEN + var output = + exportLinks.run(new Input.PageForBrand(brandSlug, new Input.Pagination(page, perPage))); + + // THEN + Assertions.assertInstanceOf(Output.Page.class, output); + var outputPage = (Output.Page) output; + Assertions.assertEquals(links.size(), outputPage.rows().size()); + } + + @Test + public void canExportEmptyLinksPageForBrand() { + // GIVEN + var brandUuid = UUID.randomUUID(); + var brandSlug = new Slug("slug"); + var brand = Mockito.mock(Brand.class); + var page = 0; + var perPage = 50; + var links = List.of(); + var paginatedData = PaginatedData.wrap(links, 0, 0, 0); + + Mockito.when(brand.getUuid()).thenReturn(brandUuid); + + Mockito.when(brandRepository.findBySlug(brandSlug)).thenReturn(Optional.of(brand)); + Mockito.when( + linkRepository.findAllForBrand(Mockito.any(Pagination.class), Mockito.any(UUID.class))) + .thenReturn(paginatedData); + + // WHEN + var output = + exportLinks.run(new Input.PageForBrand(brandSlug, new Input.Pagination(page, perPage))); + + // THEN + Assertions.assertInstanceOf(Output.NoMoreToExport.class, output); + } + + @Test + public void canExportLinksPageForNonExistingBrand() { + // GIVEN + var brandSlug = new Slug("slug"); + var page = 0; + var perPage = 50; + + Mockito.when(brandRepository.findBySlug(brandSlug)).thenReturn(Optional.empty()); + + // WHEN + var output = + exportLinks.run(new Input.PageForBrand(brandSlug, new Input.Pagination(page, perPage))); + + // THEN + Assertions.assertInstanceOf(Output.Failed.class, output); + } + + // -- FOR CATALOG -- + + @Test + public void canExportLinksPageForCatalog() { + // GIVEN + var catalogUuid = UUID.randomUUID(); + var catalogSlug = new Slug("slug"); + var catalog = Mockito.mock(Catalog.class); + var page = 0; + var perPage = 50; + var linkResult = Mockito.mock(Link.class); + var links = List.of(linkResult); + var paginatedData = PaginatedData.wrap(links, links.size(), 0, links.size()); + + Mockito.when(catalog.getUuid()).thenReturn(catalogUuid); + + Mockito.when(catalogRepository.findBySlug(catalogSlug)).thenReturn(Optional.of(catalog)); + Mockito.when( + linkRepository.findAllForCatalog( + Mockito.any(Pagination.class), Mockito.any(UUID.class))) + .thenReturn(paginatedData); + + // WHEN + var output = + exportLinks.run(new Input.PageForCatalog(catalogSlug, new Input.Pagination(page, perPage))); + + // THEN + Assertions.assertInstanceOf(Output.Page.class, output); + var outputPage = (Output.Page) output; + Assertions.assertEquals(links.size(), outputPage.rows().size()); + } + + @Test + public void canExportEmptyLinksPageForCatalog() { + // GIVEN + var catalogUuid = UUID.randomUUID(); + var catalogSlug = new Slug("slug"); + var catalog = Mockito.mock(Catalog.class); + var page = 0; + var perPage = 50; + var links = List.of(); + var paginatedData = PaginatedData.wrap(links, 0, 0, 0); + + Mockito.when(catalog.getUuid()).thenReturn(catalogUuid); + + Mockito.when(catalogRepository.findBySlug(catalogSlug)).thenReturn(Optional.of(catalog)); + Mockito.when( + linkRepository.findAllForCatalog( + Mockito.any(Pagination.class), Mockito.any(UUID.class))) + .thenReturn(paginatedData); + + // WHEN + var output = + exportLinks.run(new Input.PageForCatalog(catalogSlug, new Input.Pagination(page, perPage))); + + // THEN + Assertions.assertInstanceOf(Output.NoMoreToExport.class, output); + } + + @Test + public void canExportLinksPageForNonExistingCatalog() { + // GIVEN + var catalogSlug = new Slug("slug"); + var page = 0; + var perPage = 50; + + Mockito.when(catalogRepository.findBySlug(catalogSlug)).thenReturn(Optional.empty()); + + // WHEN + var output = + exportLinks.run(new Input.PageForCatalog(catalogSlug, new Input.Pagination(page, perPage))); + + // THEN + Assertions.assertInstanceOf(Output.Failed.class, output); + } + + // -- FOR NON BRANDED -- + + @Test + public void canExportLinksPageForNonBranded() { + // GIVEN + var page = 0; + var perPage = 50; + var linkResult = Mockito.mock(Link.class); + var links = List.of(linkResult); + var paginatedData = PaginatedData.wrap(links, links.size(), 0, links.size()); + + Mockito.when(linkRepository.findAllForBrand(Mockito.any(Pagination.class), Mockito.isNull())) + .thenReturn(paginatedData); + + // WHEN + var output = exportLinks.run(new Input.PageForNonBranded(new Input.Pagination(page, perPage))); + + // THEN + Assertions.assertInstanceOf(Output.Page.class, output); + var outputPage = (Output.Page) output; + Assertions.assertEquals(links.size(), outputPage.rows().size()); + } + + @Test + public void canExportEmptyLinksPageForNonBranded() { + // GIVEN + var page = 0; + var perPage = 50; + var links = List.of(); + var paginatedData = PaginatedData.wrap(links, 0, 0, 0); + + Mockito.when(linkRepository.findAllForBrand(Mockito.any(Pagination.class), Mockito.isNull())) + .thenReturn(paginatedData); + + // WHEN + var output = exportLinks.run(new Input.PageForNonBranded(new Input.Pagination(page, perPage))); + + // THEN + Assertions.assertInstanceOf(Output.NoMoreToExport.class, output); + } + + @Test + public void cannotCreateInputPaginationWithInvalidPageNumber() { + // THEN + Assertions.assertThrows( + IllegalStateException.class, + () -> { + // GIVEN + var page = -1; + var perPage = 1; + + // WHEN + new Input.Pagination(page, perPage); + }); + } + + @Test + public void cannotCreateInputPaginationWithInvalidPerPageNumber() { + // THEN + Assertions.assertThrows( + IllegalStateException.class, + () -> { + // GIVEN + var page = 0; + var perPage = 0; + + // WHEN + new Input.Pagination(page, perPage); + }); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/GetLinkTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/GetLinkTest.java new file mode 100644 index 0000000..42a8cf2 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/GetLinkTest.java @@ -0,0 +1,163 @@ +package tech.pegase.z3.domain.usecase.links; + +import java.util.Optional; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.usecase.links.GetLink.Input; +import tech.pegase.z3.domain.usecase.links.GetLink.Output; +import tech.pegase.z3.domain.valueobject.Color; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.shared.valueobject.Source; + +public class GetLinkTest { + private final LinkRepository linkRepository; + private final CatalogRepository catalogRepository; + private final TagRepository tagRepository; + private final GetLink getLink; + + GetLinkTest() { + this.linkRepository = Mockito.mock(LinkRepository.class); + this.catalogRepository = Mockito.mock(CatalogRepository.class); + this.tagRepository = Mockito.mock(TagRepository.class); + this.getLink = new GetLinkImpl(linkRepository, catalogRepository, tagRepository); + } + + @Test + public void canGetLinkWithTagAndCatalog() { + // GIVEN + var link = getNewLink(); + var tag = getNewTag(); + var catalog = getNewCatalog(); + link.setTag(tag.getUuid()); + link.setCatalog(catalog.getUuid()); + var source = link.getSource(); + + Mockito.when(linkRepository.findBySource(source)).thenReturn(Optional.of(link)); + + Mockito.when(tagRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.of(tag)); + Mockito.when(catalogRepository.findByUuid(Mockito.any(UUID.class))) + .thenReturn(Optional.of(catalog)); + + // WHEN + var output = getLink.run(new Input.ForSource(source)); + + // THEN + Assertions.assertInstanceOf(Output.Found.class, output); + var found = (Output.Found) output; + Assertions.assertNotNull(found.link().tag()); + Assertions.assertNotNull(found.link().catalog()); + } + + @Test + public void canGetLinkWithTagAndWithoutCatalog() { + // GIVEN + var link = getNewLink(); + var tag = getNewTag(); + link.setTag(tag.getUuid()); + link.setCatalog(null); + var source = link.getSource(); + + Mockito.when(linkRepository.findBySource(source)).thenReturn(Optional.of(link)); + + Mockito.when(tagRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.of(tag)); + + // WHEN + var output = getLink.run(new Input.ForSource(source)); + + // THEN + Assertions.assertInstanceOf(Output.Found.class, output); + var found = (Output.Found) output; + Assertions.assertNotNull(found.link().tag()); + Assertions.assertNull(found.link().catalog()); + } + + @Test + public void canGetLinkWithoutTagAndWithCatalog() { + // GIVEN + var link = getNewLink(); + var catalog = getNewCatalog(); + link.setTag(null); + link.setCatalog(catalog.getUuid()); + var source = link.getSource(); + + Mockito.when(linkRepository.findBySource(source)).thenReturn(Optional.of(link)); + + Mockito.when(catalogRepository.findByUuid(Mockito.any(UUID.class))) + .thenReturn(Optional.of(catalog)); + + // WHEN + var output = getLink.run(new Input.ForSource(source)); + + // THEN + Assertions.assertInstanceOf(Output.Found.class, output); + var found = (Output.Found) output; + Assertions.assertNull(found.link().tag()); + Assertions.assertNotNull(found.link().catalog()); + } + + @Test + public void canGetLinkWithoutTagAndCatalog() { + // GIVEN + var link = getNewLink(); + link.setTag(null); + link.setCatalog(null); + var source = link.getSource(); + + Mockito.when(linkRepository.findBySource(source)).thenReturn(Optional.of(link)); + + // WHEN + var output = getLink.run(new Input.ForSource(source)); + + // THEN + Assertions.assertInstanceOf(Output.Found.class, output); + var found = (Output.Found) output; + Assertions.assertNull(found.link().tag()); + Assertions.assertNull(found.link().catalog()); + } + + @Test + public void cannotGetLinkIfDoesNotExists() { + // GIVEN + var link = getNewLink(); + var tag = getNewTag(); + var catalog = getNewCatalog(); + link.setTag(tag.getUuid()); + link.setCatalog(catalog.getUuid()); + var source = link.getSource(); + + Mockito.when(linkRepository.findBySource(source)).thenReturn(Optional.empty()); + + // WHEN + var output = getLink.run(new Input.ForSource(source)); + + // THEN + Assertions.assertInstanceOf(Output.NoSuchSource.class, output); + } + + private Link getNewLink() { + return new Link( + Source.of("a_new_link"), + Target.of("https://example.net"), + true, + UUID.randomUUID(), + UUID.randomUUID(), + UUID.randomUUID()); + } + + private Tag getNewTag() { + return new Tag("Tag name", Color.of("#fff")); + } + + private Catalog getNewCatalog() { + return new Catalog(Slug.of("super-tag"), "Super tag", UUID.randomUUID()); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/ImportLinksTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/ImportLinksTest.java new file mode 100644 index 0000000..726d634 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/ImportLinksTest.java @@ -0,0 +1,417 @@ +package tech.pegase.z3.domain.usecase.links; + +import java.util.List; +import java.util.Optional; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.port.service.RandomSourceGenerator; +import tech.pegase.z3.domain.port.service.Slugifyier; +import tech.pegase.z3.domain.usecase.links.ImportLinks.Input; +import tech.pegase.z3.domain.usecase.links.ImportLinks.Input.ImportLine; +import tech.pegase.z3.domain.usecase.links.ImportLinks.Output; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.shared.valueobject.Source; + +public class ImportLinksTest { + private final RandomSourceGenerator randomSourceGenerator; + private final BrandRepository brandRepository; + private final CatalogRepository catalogRepository; + private final LinkRepository linkRepository; + private final TagRepository tagRepository; + private final Slugifyier slugifyier; + private final ImportLinks importLinks; + + ImportLinksTest() { + this.randomSourceGenerator = Mockito.mock(RandomSourceGenerator.class); + this.linkRepository = Mockito.mock(LinkRepository.class); + this.brandRepository = Mockito.mock(BrandRepository.class); + this.catalogRepository = Mockito.mock(CatalogRepository.class); + this.tagRepository = Mockito.mock(TagRepository.class); + this.slugifyier = Mockito.mock(Slugifyier.class); + this.importLinks = + new ImportLinksImpl( + randomSourceGenerator, + slugifyier, + linkRepository, + tagRepository, + brandRepository, + catalogRepository); + } + + @Test + public void canImportLinksForCatalog() { + // GIVEN + var tagUuid = UUID.randomUUID(); + var catalogUuid = UUID.randomUUID(); + var catalog = Mockito.mock(Catalog.class); + var importLine = new ImportLine("source", "https://example.net", false); + var lines = List.of(importLine); + + Mockito.when(slugifyier.slugify(Mockito.any(String.class))).thenReturn(Slug.of("slug")); + Mockito.when(randomSourceGenerator.generate()).thenReturn(new Source("slug")); + + Mockito.when(catalog.getBrandUuid()).thenReturn(UUID.randomUUID()); + Mockito.when(catalog.getUuid()).thenReturn(UUID.randomUUID()); + + Mockito.when(tagRepository.exists(tagUuid)).thenReturn(true); + Mockito.when(catalogRepository.findByUuid(catalogUuid)).thenReturn(Optional.of(catalog)); + Mockito.doNothing().when(linkRepository).updateOrPersist(Mockito.any(Link.class)); + + // WHEN + var output = importLinks.run(new Input.ImportForCatalog(catalogUuid, tagUuid, lines)); + + // THEN + Mockito.verify(randomSourceGenerator, Mockito.never()).generate(); + Mockito.verify(linkRepository).updateOrPersist(Mockito.any(Link.class)); + Assertions.assertInstanceOf(Output.ImportResults.class, output); + var importResults = (Output.ImportResults) output; + Assertions.assertEquals(1, importResults.importedLinks()); + Assertions.assertEquals(0, importResults.failedImports().size()); + } + + @Test + public void canImportLinksForCatalogWhileIgnoringTheSameLinkAppearingMultipleTimesOnImport() { + // GIVEN + var tagUuid = UUID.randomUUID(); + var catalogUuid = UUID.randomUUID(); + var catalog = Mockito.mock(Catalog.class); + var importLine = new ImportLine("source", "https://example.net", false); + var importLine2 = new ImportLine("source", "https://example.net", false); + var lines = List.of(importLine, importLine2); + + Mockito.when(slugifyier.slugify(Mockito.any(String.class))).thenReturn(Slug.of("slug")); + Mockito.when(randomSourceGenerator.generate()).thenReturn(new Source("slug")); + + Mockito.when(catalog.getBrandUuid()).thenReturn(UUID.randomUUID()); + Mockito.when(catalog.getUuid()).thenReturn(UUID.randomUUID()); + + Mockito.when(tagRepository.exists(tagUuid)).thenReturn(true); + Mockito.when(catalogRepository.findByUuid(catalogUuid)).thenReturn(Optional.of(catalog)); + Mockito.doNothing().when(linkRepository).updateOrPersist(Mockito.any(Link.class)); + + // WHEN + var output = importLinks.run(new Input.ImportForCatalog(catalogUuid, tagUuid, lines)); + + // THEN + Mockito.verify(randomSourceGenerator, Mockito.never()).generate(); + Mockito.verify(linkRepository).updateOrPersist(Mockito.any(Link.class)); + Assertions.assertInstanceOf(Output.ImportResults.class, output); + var importResults = (Output.ImportResults) output; + Assertions.assertEquals(1, importResults.importedLinks()); + Assertions.assertEquals(1, importResults.failedImports().size()); + } + + @Test + public void canImportLinksForCatalogWithEmptySource() { + // GIVEN + var tagUuid = UUID.randomUUID(); + var catalogUuid = UUID.randomUUID(); + var catalog = Mockito.mock(Catalog.class); + var importLine = new ImportLine("", "https://example.net", false); + var lines = List.of(importLine); + + Mockito.when(slugifyier.slugify(Mockito.any(String.class))).thenReturn(Slug.of("slug")); + Mockito.when(randomSourceGenerator.generate()).thenReturn(new Source("slug")); + + Mockito.when(catalog.getBrandUuid()).thenReturn(UUID.randomUUID()); + Mockito.when(catalog.getUuid()).thenReturn(UUID.randomUUID()); + + Mockito.when(tagRepository.exists(tagUuid)).thenReturn(true); + Mockito.when(catalogRepository.findByUuid(catalogUuid)).thenReturn(Optional.of(catalog)); + Mockito.doNothing().when(linkRepository).updateOrPersist(Mockito.any(Link.class)); + + // WHEN + var output = importLinks.run(new Input.ImportForCatalog(catalogUuid, tagUuid, lines)); + + // THEN + Mockito.verify(slugifyier, Mockito.never()).slugify(Mockito.any(String.class)); + Mockito.verify(linkRepository).updateOrPersist(Mockito.any(Link.class)); + Assertions.assertInstanceOf(Output.ImportResults.class, output); + var importResults = (Output.ImportResults) output; + Assertions.assertEquals(1, importResults.importedLinks()); + Assertions.assertEquals(0, importResults.failedImports().size()); + } + + @Test + public void canFailToImportLinksForCatalog() { + // GIVEN + var tagUuid = UUID.randomUUID(); + var catalogUuid = UUID.randomUUID(); + var catalog = Mockito.mock(Catalog.class); + var importLine = new ImportLine("source", "https://example.net", false); + var lines = List.of(importLine); + + Mockito.when(slugifyier.slugify(Mockito.any(String.class))).thenReturn(Slug.of("slug")); + Mockito.when(randomSourceGenerator.generate()).thenReturn(new Source("slug")); + + Mockito.when(catalog.getBrandUuid()).thenReturn(UUID.randomUUID()); + Mockito.when(catalog.getUuid()).thenReturn(UUID.randomUUID()); + + Mockito.when(tagRepository.exists(tagUuid)).thenReturn(true); + Mockito.when(catalogRepository.findByUuid(catalogUuid)).thenReturn(Optional.of(catalog)); + Mockito.doThrow(IllegalStateException.class) + .when(linkRepository) + .updateOrPersist(Mockito.any(Link.class)); + + // WHEN + var output = importLinks.run(new Input.ImportForCatalog(catalogUuid, tagUuid, lines)); + + // THEN + Mockito.verify(randomSourceGenerator, Mockito.never()).generate(); + Mockito.verify(linkRepository).updateOrPersist(Mockito.any(Link.class)); + Assertions.assertInstanceOf(Output.ImportResults.class, output); + var importResults = (Output.ImportResults) output; + Assertions.assertEquals(0, importResults.importedLinks()); + Assertions.assertEquals(1, importResults.failedImports().size()); + } + + @Test + public void cannotImportLinksForNonExistingCatalog() { + // GIVEN + var tagUuid = UUID.randomUUID(); + var catalogUuid = UUID.randomUUID(); + var importLine = new ImportLine("source", "https://example.net", false); + var lines = List.of(importLine); + + Mockito.when(tagRepository.exists(tagUuid)).thenReturn(true); + Mockito.when(catalogRepository.exists(catalogUuid)).thenReturn(false); + + // WHEN + var output = importLinks.run(new Input.ImportForCatalog(catalogUuid, tagUuid, lines)); + + // THEN + Mockito.verifyNoInteractions(linkRepository); + Assertions.assertInstanceOf(Output.NoSuchCatalog.class, output); + } + + @Test + public void canImportLinksForBrand() { + // GIVEN + var tagUuid = UUID.randomUUID(); + var brandUuid = UUID.randomUUID(); + var brand = Mockito.mock(Brand.class); + var importLine = new ImportLine("source", "https://example.net", false); + var lines = List.of(importLine); + + Mockito.when(slugifyier.slugify(Mockito.any(String.class))).thenReturn(Slug.of("slug")); + Mockito.when(randomSourceGenerator.generate()).thenReturn(new Source("slug")); + + Mockito.when(brand.getUuid()).thenReturn(UUID.randomUUID()); + + Mockito.when(tagRepository.exists(tagUuid)).thenReturn(true); + Mockito.when(brandRepository.exists(brandUuid)).thenReturn(true); + Mockito.doNothing().when(linkRepository).updateOrPersist(Mockito.any(Link.class)); + + // WHEN + var output = importLinks.run(new Input.ImportForBrand(brandUuid, tagUuid, lines)); + + // THEN + Mockito.verify(randomSourceGenerator, Mockito.never()).generate(); + Mockito.verify(linkRepository).updateOrPersist(Mockito.any(Link.class)); + Assertions.assertInstanceOf(Output.ImportResults.class, output); + var importResults = (Output.ImportResults) output; + Assertions.assertEquals(1, importResults.importedLinks()); + Assertions.assertEquals(0, importResults.failedImports().size()); + } + + @Test + public void canImportLinksForBrandAndUpsertOnExistingLinks() { + // GIVEN + var tagUuid = UUID.randomUUID(); + var brandUuid = UUID.randomUUID(); + var brand = Mockito.mock(Brand.class); + var source = "source"; + var url = "https://example.net"; + var isExternal = false; + var link = Mockito.mock(Link.class); + var importLine = new ImportLine(source, url, isExternal); + var lines = List.of(importLine); + + Mockito.when(slugifyier.slugify(Mockito.any(String.class))).thenReturn(Slug.of("slug")); + Mockito.when(randomSourceGenerator.generate()).thenReturn(new Source("source")); + + Mockito.when(link.getBrand()).thenReturn(brandUuid); + Mockito.when(linkRepository.findBySource(Mockito.any(Source.class))) + .thenReturn(Optional.of(link)); + + Mockito.when(brand.getUuid()).thenReturn(UUID.randomUUID()); + + Mockito.when(tagRepository.exists(tagUuid)).thenReturn(true); + Mockito.when(brandRepository.exists(brandUuid)).thenReturn(true); + Mockito.doNothing().when(linkRepository).updateOrPersist(Mockito.any(Link.class)); + + // WHEN + var output = importLinks.run(new Input.ImportForBrand(brandUuid, tagUuid, lines)); + + // THEN + Mockito.verify(randomSourceGenerator, Mockito.never()).generate(); + Mockito.verify(linkRepository).updateOrPersist(Mockito.any(Link.class)); + Assertions.assertInstanceOf(Output.ImportResults.class, output); + var importResults = (Output.ImportResults) output; + Assertions.assertEquals(1, importResults.importedLinks()); + Assertions.assertEquals(0, importResults.failedImports().size()); + } + + @Test + public void canImportLinksForBrandWhileIgnoringTheSameLinkAppearingMultipleTimesOnImport() { + // GIVEN + var tagUuid = UUID.randomUUID(); + var brandUuid = UUID.randomUUID(); + var brand = Mockito.mock(Brand.class); + var source = "source"; + var url = "https://example.net"; + var isExternal = false; + var link = Mockito.mock(Link.class); + var importLine = new ImportLine(source, url, isExternal); + var importLine2 = new ImportLine(source, url, isExternal); + var lines = List.of(importLine, importLine2); + + Mockito.when(slugifyier.slugify(Mockito.any(String.class))).thenReturn(Slug.of("slug")); + Mockito.when(randomSourceGenerator.generate()).thenReturn(new Source("source")); + + Mockito.when(link.getBrand()).thenReturn(brandUuid); + Mockito.when(linkRepository.findBySource(Mockito.any(Source.class))) + .thenReturn(Optional.of(link)); + + Mockito.when(brand.getUuid()).thenReturn(UUID.randomUUID()); + + Mockito.when(tagRepository.exists(tagUuid)).thenReturn(true); + Mockito.when(brandRepository.exists(brandUuid)).thenReturn(true); + Mockito.doNothing().when(linkRepository).updateOrPersist(Mockito.any(Link.class)); + + // WHEN + var output = importLinks.run(new Input.ImportForBrand(brandUuid, tagUuid, lines)); + + // THEN + Mockito.verify(randomSourceGenerator, Mockito.never()).generate(); + Mockito.verify(linkRepository).updateOrPersist(Mockito.any(Link.class)); + Assertions.assertInstanceOf(Output.ImportResults.class, output); + var importResults = (Output.ImportResults) output; + Assertions.assertEquals(1, importResults.importedLinks()); + Assertions.assertEquals(1, importResults.failedImports().size()); + } + + @Test + public void canImportLinksForBrandWithEmptySource() { + // GIVEN + var tagUuid = UUID.randomUUID(); + var brandUuid = UUID.randomUUID(); + var brand = Mockito.mock(Brand.class); + var importLine = new ImportLine("", "https://example.net", false); + var lines = List.of(importLine); + + Mockito.when(slugifyier.slugify(Mockito.any(String.class))).thenReturn(Slug.of("slug")); + Mockito.when(randomSourceGenerator.generate()).thenReturn(new Source("slug")); + + Mockito.when(brand.getUuid()).thenReturn(UUID.randomUUID()); + + Mockito.when(tagRepository.exists(tagUuid)).thenReturn(true); + Mockito.when(brandRepository.exists(brandUuid)).thenReturn(true); + Mockito.doNothing().when(linkRepository).updateOrPersist(Mockito.any(Link.class)); + + // WHEN + var output = importLinks.run(new Input.ImportForBrand(brandUuid, tagUuid, lines)); + + // THEN + Mockito.verify(slugifyier, Mockito.never()).slugify(Mockito.any(String.class)); + Mockito.verify(linkRepository).updateOrPersist(Mockito.any(Link.class)); + Assertions.assertInstanceOf(Output.ImportResults.class, output); + var importResults = (Output.ImportResults) output; + Assertions.assertEquals(1, importResults.importedLinks()); + Assertions.assertEquals(0, importResults.failedImports().size()); + } + + @Test + public void canFailToImportLinksForBrand() { + // GIVEN + var tagUuid = UUID.randomUUID(); + var brandUuid = UUID.randomUUID(); + var brand = Mockito.mock(Brand.class); + var importLine = new ImportLine("source", "https://example.net", false); + var lines = List.of(importLine); + + Mockito.when(slugifyier.slugify(Mockito.any(String.class))).thenReturn(Slug.of("slug")); + Mockito.when(randomSourceGenerator.generate()).thenReturn(new Source("slug")); + + Mockito.when(brand.getUuid()).thenReturn(UUID.randomUUID()); + + Mockito.when(tagRepository.exists(tagUuid)).thenReturn(true); + Mockito.when(brandRepository.exists(brandUuid)).thenReturn(true); + Mockito.doThrow(IllegalStateException.class) + .when(linkRepository) + .updateOrPersist(Mockito.any(Link.class)); + + // WHEN + var output = importLinks.run(new Input.ImportForBrand(brandUuid, tagUuid, lines)); + + // THEN + Mockito.verify(randomSourceGenerator, Mockito.never()).generate(); + Mockito.verify(linkRepository).updateOrPersist(Mockito.any(Link.class)); + Assertions.assertInstanceOf(Output.ImportResults.class, output); + var importResults = (Output.ImportResults) output; + Assertions.assertEquals(0, importResults.importedLinks()); + Assertions.assertEquals(1, importResults.failedImports().size()); + } + + @Test + public void canFailToUpsertLinksForBrandIfLinkBelongsToAnotherBrand() { + // GIVEN + var tagUuid = UUID.randomUUID(); + var brandUuid = UUID.randomUUID(); + var anotherBrandUuid = UUID.randomUUID(); + var source = "source"; + var url = "https://example.net"; + var isExternal = false; + var link = Mockito.mock(Link.class); + var importLine = new ImportLine(source, url, isExternal); + var lines = List.of(importLine); + + Mockito.when(slugifyier.slugify(Mockito.any(String.class))).thenReturn(Slug.of("slug")); + Mockito.when(randomSourceGenerator.generate()).thenReturn(new Source("slug")); + + Mockito.when(link.getBrand()).thenReturn(anotherBrandUuid); + Mockito.when(linkRepository.findBySource(Mockito.any(Source.class))) + .thenReturn(Optional.of(link)); + + Mockito.when(tagRepository.exists(tagUuid)).thenReturn(true); + Mockito.when(brandRepository.exists(brandUuid)).thenReturn(true); + + // WHEN + var output = importLinks.run(new Input.ImportForBrand(brandUuid, tagUuid, lines)); + + // THEN + Mockito.verify(linkRepository, Mockito.never()).updateOrPersist(Mockito.any(Link.class)); + Assertions.assertInstanceOf(Output.ImportResults.class, output); + var importResults = (Output.ImportResults) output; + Assertions.assertEquals(0, importResults.importedLinks()); + Assertions.assertEquals(1, importResults.failedImports().size()); + } + + @Test + public void cannotImportLinksForNonExistingBrand() { + // GIVEN + var tagUuid = UUID.randomUUID(); + var brandUuid = UUID.randomUUID(); + var importLine = new ImportLine("source", "https://example.net", false); + var lines = List.of(importLine); + + Mockito.when(tagRepository.exists(tagUuid)).thenReturn(true); + Mockito.when(brandRepository.exists(brandUuid)).thenReturn(false); + + // WHEN + var output = importLinks.run(new Input.ImportForBrand(brandUuid, tagUuid, lines)); + + // THEN + Mockito.verifyNoInteractions(linkRepository); + Assertions.assertInstanceOf(Output.NoSuchBrand.class, output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/ListLinksTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/ListLinksTest.java new file mode 100644 index 0000000..6c22fbb --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/ListLinksTest.java @@ -0,0 +1,109 @@ +package tech.pegase.z3.domain.usecase.links; + +import java.util.List; +import java.util.Optional; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.usecase.links.ListLinks.Input; +import tech.pegase.z3.domain.usecase.links.ListLinks.Output; +import tech.pegase.z3.domain.valueobject.Color; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.domain.valueobject.concepts.Ordering; +import tech.pegase.z3.domain.valueobject.filterings.LinkFiltering; +import tech.pegase.z3.domain.valueobject.orderings.LinkOrdering; +import tech.pegase.z3.domain.valueobject.orderings.LinkOrdering.Field; +import tech.pegase.z3.domain.valueobject.searchings.LinkSearching; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; +import tech.pegase.z3.shared.valueobject.Source; + +public class ListLinksTest { + private final LinkRepository linkRepository; + private final CatalogRepository catalogRepository; + private final TagRepository tagRepository; + private final ListLinks listLinks; + + ListLinksTest() { + this.linkRepository = Mockito.mock(LinkRepository.class); + this.catalogRepository = Mockito.mock(CatalogRepository.class); + this.tagRepository = Mockito.mock(TagRepository.class); + listLinks = new ListLinksImpl(linkRepository, catalogRepository, tagRepository); + } + + @Test + public void canListLinksWithAllOptions() { + // GIVEN + var pagination = Pagination.none(); + var filters = LinkFiltering.empty(); + var ordering = LinkOrdering.of(Field.SOURCE, Ordering.Direction.ASC); + var source = Source.of("source"); + var target = Target.of("https://target.com"); + var brandUuid = UUID.randomUUID(); + var searching = + LinkSearching.of(LinkSearching.Field.SOURCE, LinkSearching.SearchValue.of("search value")); + var link = Mockito.mock(Link.class); + + var paginatedLinks = PaginatedData.wrap(List.of(link), 50, 0, 1); + + Mockito.when(link.getSource()).thenReturn(source); + Mockito.when(link.getTarget()).thenReturn(target); + Mockito.when(link.getBrand()).thenReturn(brandUuid); + + Mockito.when(linkRepository.findAll(pagination, filters, ordering, searching)) + .thenReturn(paginatedLinks); + + // WHEN + var output = + listLinks.run( + new Input.WithPaginationAndSearchingAllSorted( + pagination, filters, ordering, searching)); + + // THEN + Assertions.assertInstanceOf(Output.PaginatedLinks.class, output); + } + + @Test + public void canListLinksWithPaginationSorted() { + // GIVEN + var pagination = Pagination.none(); + var filters = LinkFiltering.empty(); + var ordering = LinkOrdering.of(Field.SOURCE, Ordering.Direction.ASC); + var source = Source.of("source"); + var target = Target.of("https://target.com"); + var brandUuid = UUID.randomUUID(); + var link = Mockito.mock(Link.class); + var tagUuid = UUID.randomUUID(); + var tagColor = Color.of("#fff"); + var tag = Mockito.mock(Tag.class); + var catalogUuid = UUID.randomUUID(); + var catalog = Mockito.mock(Catalog.class); + + var paginatedLinks = PaginatedData.wrap(List.of(link), 50, 0, 1); + + Mockito.when(tag.getColor()).thenReturn(tagColor); + + Mockito.when(link.getSource()).thenReturn(source); + Mockito.when(link.getTarget()).thenReturn(target); + Mockito.when(link.getBrand()).thenReturn(brandUuid); + Mockito.when(link.getTag()).thenReturn(tagUuid); + Mockito.when(link.getCatalog()).thenReturn(catalogUuid); + + Mockito.when(linkRepository.findAll(pagination, filters, ordering)).thenReturn(paginatedLinks); + Mockito.when(tagRepository.findByUuid(tagUuid)).thenReturn(Optional.of(tag)); + Mockito.when(catalogRepository.findByUuid(catalogUuid)).thenReturn(Optional.of(catalog)); + + // WHEN + var output = listLinks.run(new Input.WithPaginationSorted(pagination, filters, ordering)); + + // THEN + Assertions.assertInstanceOf(Output.PaginatedLinks.class, output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/RedirectLinkTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/RedirectLinkTest.java new file mode 100644 index 0000000..d55db85 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/RedirectLinkTest.java @@ -0,0 +1,214 @@ +package tech.pegase.z3.domain.usecase.links; + +import java.util.Optional; +import java.util.Set; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.service.VerifyLinkService; +import tech.pegase.z3.domain.usecase.links.RedirectLink.Input; +import tech.pegase.z3.domain.usecase.links.RedirectLink.Output; +import tech.pegase.z3.domain.valueobject.Fqdn; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.shared.valueobject.Source; + +public class RedirectLinkTest { + private LinkRepository linkRepository; + private BrandRepository brandRepository; + private VerifyLinkService verifyLinkService; + private RedirectLink redirectLinkUseCase; + + @BeforeEach + public void setup() { + linkRepository = Mockito.mock(LinkRepository.class); + brandRepository = Mockito.mock(BrandRepository.class); + verifyLinkService = Mockito.mock(VerifyLinkService.class); + redirectLinkUseCase = new RedirectLinkImpl(linkRepository, brandRepository, verifyLinkService); + } + + @Test + public void canRedirectLinkWithBrandUsingBrandFqdn() { + // Arrange + var source = Source.of("some-source"); + var target = Target.of("https://example.net"); + var defaultFqdn = Fqdn.of("z3-default.net"); + var currentFqdn = Fqdn.of("brand-fqdn.net"); + var link = Mockito.mock(Link.class); + + var brandName = "some Brand"; + var brandFqdn = Fqdn.of("brand-fqdn.net"); + var brandFqdnSet = Set.of(brandFqdn); + var linkBrandUuid = UUID.randomUUID(); + var linkBrand = Mockito.mock(Brand.class); + + Mockito.when(link.getSource()).thenReturn(source); + Mockito.when(link.getTarget()).thenReturn(target); + Mockito.when(link.getBrand()).thenReturn(linkBrandUuid); + + Mockito.when(linkBrand.getFqdns()).thenReturn(brandFqdnSet); + Mockito.when(linkBrand.getName()).thenReturn(brandName); + + Mockito.when(linkRepository.findBySource(source)).thenReturn(Optional.of(link)); + Mockito.when(brandRepository.findByUuid(linkBrandUuid)).thenReturn(Optional.of(linkBrand)); + Mockito.doNothing().when(verifyLinkService).verifyAndPersistValidity(Mockito.any(Link.class)); + + // Act + var output = redirectLinkUseCase.run(new Input.ResolveWith(defaultFqdn, currentFqdn, source)); + + // Assert + Mockito.verify(linkRepository).findBySource(source); + Mockito.verify(brandRepository).findByUuid(linkBrandUuid); + Assertions.assertInstanceOf(Output.Found.class, output); + var redirectedOutput = (Output.Found) output; + Assertions.assertEquals(target, redirectedOutput.link().target()); + } + + @Test + public void canRedirectLinkWithBrandUsingDefaultFqdn() { + // Arrange + var source = Source.of("some-source"); + var target = Target.of("https://example.net"); + var defaultFqdn = Fqdn.of("z3-default.net"); + var currentFqdn = Fqdn.of("z3-default.net"); + var link = Mockito.mock(Link.class); + + var brandName = "some Brand"; + var brandFqdn = Fqdn.of("brand-fqdn.net"); + var brandFqdnSet = Set.of(brandFqdn); + var linkBrandUuid = UUID.randomUUID(); + var linkBrand = Mockito.mock(Brand.class); + + Mockito.when(link.getSource()).thenReturn(source); + Mockito.when(link.getTarget()).thenReturn(target); + Mockito.when(link.getBrand()).thenReturn(linkBrandUuid); + + Mockito.when(linkBrand.getFqdns()).thenReturn(brandFqdnSet); + Mockito.when(linkBrand.getName()).thenReturn(brandName); + + Mockito.when(linkRepository.findBySource(source)).thenReturn(Optional.of(link)); + Mockito.when(brandRepository.findByUuid(linkBrandUuid)).thenReturn(Optional.of(linkBrand)); + Mockito.doNothing().when(verifyLinkService).verifyAndPersistValidity(Mockito.any(Link.class)); + + // Act + var output = redirectLinkUseCase.run(new Input.ResolveWith(defaultFqdn, currentFqdn, source)); + + // Assert + Mockito.verify(linkRepository).findBySource(Mockito.any(Source.class)); + Mockito.verify(brandRepository).findByUuid(linkBrandUuid); + Assertions.assertInstanceOf(Output.Found.class, output); + var redirectedOutput = (Output.Found) output; + Assertions.assertEquals(target, redirectedOutput.link().target()); + } + + @Test + public void canRedirectLinkWithoutBrandUsingDefaultFqdn() { + // Arrange + var source = Source.of("some-source"); + var target = Target.of("https://example.net"); + var defaultFqdn = Fqdn.of("z3-default.net"); + var currentFqdn = Fqdn.of("z3-default.net"); + var link = Mockito.mock(Link.class); + + Mockito.when(link.getSource()).thenReturn(source); + Mockito.when(link.getTarget()).thenReturn(target); + Mockito.when(link.getBrand()).thenReturn(null); + + Mockito.when(linkRepository.findBySource(source)).thenReturn(Optional.of(link)); + Mockito.doNothing().when(verifyLinkService).verifyAndPersistValidity(Mockito.any(Link.class)); + + // Act + var output = redirectLinkUseCase.run(new Input.ResolveWith(defaultFqdn, currentFqdn, source)); + + // Assert + Mockito.verify(linkRepository).findBySource(Mockito.any(Source.class)); + Mockito.verify(brandRepository, Mockito.never()).findByUuid(Mockito.any(UUID.class)); + Assertions.assertInstanceOf(Output.Found.class, output); + var redirectedOutput = (Output.Found) output; + Assertions.assertEquals(target, redirectedOutput.link().target()); + } + + @Test + public void cannotRedirectNonExistingLink() { + // Arrange + var source = Source.of("some-source"); + var defaultFqdn = Fqdn.of("z3-default.net"); + var currentFqdn = Fqdn.of("brand-fqdn.net"); + + Mockito.when(linkRepository.findBySource(source)).thenReturn(Optional.empty()); + + // Act + var output = redirectLinkUseCase.run(new Input.ResolveWith(defaultFqdn, currentFqdn, source)); + + // Assert + Mockito.verify(linkRepository).findBySource(source); + Mockito.verify(verifyLinkService, Mockito.never()) + .verifyAndPersistValidity(Mockito.any(Link.class)); + Assertions.assertInstanceOf(Output.NoSuchSource.class, output); + } + + @Test + public void cannotRedirectLinkWithBrandUsingAnyOtherFqdn() { + // Arrange + var source = Source.of("some-source"); + var target = Target.of("https://example.net"); + var defaultFqdn = Fqdn.of("z3-default.net"); + var currentFqdn = Fqdn.of("any-other-fqdn.net"); + var link = Mockito.mock(Link.class); + + var brandName = "some Brand"; + var brandFqdn = Fqdn.of("brand-fqdn.net"); + var brandFqdnSet = Set.of(brandFqdn); + var linkBrandUuid = UUID.randomUUID(); + var linkBrand = Mockito.mock(Brand.class); + + Mockito.when(link.getSource()).thenReturn(source); + Mockito.when(link.getTarget()).thenReturn(target); + Mockito.when(link.getBrand()).thenReturn(linkBrandUuid); + + Mockito.when(linkBrand.getFqdns()).thenReturn(brandFqdnSet); + Mockito.when(linkBrand.getName()).thenReturn(brandName); + + Mockito.when(linkRepository.findBySource(source)).thenReturn(Optional.of(link)); + Mockito.when(brandRepository.findByUuid(linkBrandUuid)).thenReturn(Optional.of(linkBrand)); + Mockito.doNothing().when(verifyLinkService).verifyAndPersistValidity(Mockito.any(Link.class)); + + // Act + var output = redirectLinkUseCase.run(new Input.ResolveWith(defaultFqdn, currentFqdn, source)); + + // Assert + Mockito.verify(linkRepository).findBySource(Mockito.any(Source.class)); + Mockito.verify(brandRepository).findByUuid(linkBrandUuid); + Assertions.assertInstanceOf(Output.WrongFqdn.class, output); + } + + @Test + public void cannotRedirectLinkWithoutBrandUsingAnyOtherFqdnThanDefault() { + // Arrange + var source = Source.of("some-source"); + var target = Target.of("https://example.net"); + var defaultFqdn = Fqdn.of("z3-default.net"); + var currentFqdn = Fqdn.of("any-other-fqdn.net"); + var link = Mockito.mock(Link.class); + + Mockito.when(link.getSource()).thenReturn(source); + Mockito.when(link.getTarget()).thenReturn(target); + Mockito.when(link.getBrand()).thenReturn(null); + + Mockito.when(linkRepository.findBySource(source)).thenReturn(Optional.of(link)); + Mockito.doNothing().when(verifyLinkService).verifyAndPersistValidity(Mockito.any(Link.class)); + + // Act + var output = redirectLinkUseCase.run(new Input.ResolveWith(defaultFqdn, currentFqdn, source)); + + // Assert + Mockito.verify(linkRepository).findBySource(Mockito.any(Source.class)); + Mockito.verify(brandRepository, Mockito.never()).findByUuid(Mockito.any(UUID.class)); + Assertions.assertInstanceOf(Output.WrongFqdn.class, output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/UpdateLinkTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/UpdateLinkTest.java new file mode 100644 index 0000000..fc29767 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/UpdateLinkTest.java @@ -0,0 +1,219 @@ +package tech.pegase.z3.domain.usecase.links; + +import java.util.Objects; +import java.util.Optional; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.service.VerifyLinkService; +import tech.pegase.z3.domain.usecase.links.UpdateLink.Input; +import tech.pegase.z3.domain.usecase.links.UpdateLink.Output; +import tech.pegase.z3.domain.valueobject.Color; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.shared.valueobject.Source; + +public class UpdateLinkTest { + private LinkRepository linkRepository; + private TagRepository tagRepository; + private CatalogRepository catalogRepository; + private UpdateLink updateLinkUseCase; + private VerifyLinkService verifyLinkService; + + @BeforeEach + public void setup() { + linkRepository = Mockito.mock(LinkRepository.class); + tagRepository = Mockito.mock(TagRepository.class); + catalogRepository = Mockito.mock(CatalogRepository.class); + verifyLinkService = Mockito.mock(VerifyLinkService.class); + updateLinkUseCase = + new UpdateLinkImpl(linkRepository, tagRepository, catalogRepository, verifyLinkService); + } + + @Test + public void updateLinkForSourceShouldPersistWhenSourceExists() { + // Arrange + var link = getNewLink(); + var tag = getNewTag(); + var catalog = getNewCatalog(); + var source = link.getSource(); + var target = link.getTarget(); + var isExternal = link.isExternal(); + var tagUuid = tag.getUuid(); + var catalogSlug = catalog.getSlug(); + Mockito.when(linkRepository.findBySource(Mockito.any(Source.class))) + .thenReturn(Optional.of(link)); + Mockito.when(tagRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.of(tag)); + Mockito.when(catalogRepository.findBySlug(Mockito.any(Slug.class))) + .thenReturn(Optional.of(catalog)); + Mockito.doNothing().when(verifyLinkService).verifyAndPersistValidity(Mockito.any(Link.class)); + + // Act + var output = + updateLinkUseCase.run( + new Input.ForSource(source, target, isExternal, tagUuid, catalogSlug)); + + // Assert + Mockito.verify(linkRepository).findBySource(Mockito.any(Source.class)); + Mockito.verify(tagRepository).findByUuid(Mockito.any(UUID.class)); + Mockito.verify(catalogRepository).findBySlug(Mockito.any(Slug.class)); + Mockito.verify(verifyLinkService).verifyAndPersistValidity(Mockito.any(Link.class)); + Assertions.assertInstanceOf( + Output.Updated.class, output, "Update link use case should output the updated source"); + + var updatedOutput = (Output.Updated) output; + Assertions.assertEquals( + source, + updatedOutput.link().source(), + "Update link use case should return the same source as in input"); + Assertions.assertEquals( + target, + updatedOutput.link().target(), + "Update link use case should return the same source as in input"); + Assertions.assertEquals( + isExternal, + updatedOutput.link().isExternal(), + "Update link use case should return the same isExternal as in input"); + Assertions.assertEquals( + tagUuid, + Objects.requireNonNull(updatedOutput.link().tag()).uuid(), + "Update link use case should return the same tagUuid as in input"); + } + + @Test + public void canUpdateLinkWithoutTagAndCatalog() { + // Arrange + var link = getNewLink(); + var source = link.getSource(); + var target = link.getTarget(); + var isExternal = link.isExternal(); + Mockito.when(linkRepository.findBySource(Mockito.any(Source.class))) + .thenReturn(Optional.of(link)); + Mockito.doNothing().when(verifyLinkService).verifyAndPersistValidity(Mockito.any(Link.class)); + + // Act + var output = updateLinkUseCase.run(new Input.ForSource(source, target, isExternal, null, null)); + + // Assert + Mockito.verify(linkRepository).findBySource(Mockito.any(Source.class)); + Mockito.verify(verifyLinkService).verifyAndPersistValidity(Mockito.any(Link.class)); + Assertions.assertInstanceOf( + Output.Updated.class, output, "Update link use case should output the updated source"); + + var updatedOutput = (Output.Updated) output; + Assertions.assertEquals( + source, + updatedOutput.link().source(), + "Update link use case should return the same source as in input"); + Assertions.assertEquals( + target, + updatedOutput.link().target(), + "Update link use case should return the same source as in input"); + Assertions.assertEquals( + isExternal, + updatedOutput.link().isExternal(), + "Update link use case should return the same isExternal as in input"); + } + + @Test + public void updateLinkUsingSourceCanBeMissing() { + // Arrange + var link = getNewLink(); + var source = link.getSource(); + var isExternal = link.isExternal(); + var tagUuid = link.getTag(); + var catalog = getNewCatalog(); + var newTarget = new Target("https://example.fr/my/new/path?foo=bar"); + + Mockito.doAnswer(i -> Optional.empty()).when(linkRepository).findBySource(source); + + // Act + var output = + updateLinkUseCase.run( + new Input.ForSource(source, newTarget, isExternal, tagUuid, catalog.getSlug())); + + // Assert + Mockito.verify(linkRepository).findBySource(Mockito.any(Source.class)); + Assertions.assertInstanceOf( + Output.NoSuchSource.class, + output, + "Given a source, a link cannot be updated if it does not exist"); + } + + @Test + public void cannotUpdateLinkIfTagDoesNotExists() { + // Arrange + var link = getNewLink(); + var source = link.getSource(); + var isExternal = link.isExternal(); + var tagUuid = link.getTag(); + var catalog = getNewCatalog(); + var newTarget = new Target("https://example.fr/my/new/path?foo=bar"); + + Mockito.when(linkRepository.findBySource(source)).thenReturn(Optional.of(link)); + Mockito.when(tagRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.empty()); + + // Act + var output = + updateLinkUseCase.run( + new Input.ForSource(source, newTarget, isExternal, tagUuid, catalog.getSlug())); + + // Assert + Mockito.verify(linkRepository).findBySource(Mockito.any(Source.class)); + Mockito.verify(linkRepository, Mockito.never()).update(link); + Assertions.assertInstanceOf(Output.NotUpdated.class, output); + } + + @Test + public void cannotUpdateLinkIfCatalogDoesNotExists() { + // Arrange + var link = getNewLink(); + var tag = getNewTag(); + var source = link.getSource(); + var isExternal = link.isExternal(); + var tagUuid = link.getTag(); + var catalog = getNewCatalog(); + var newTarget = new Target("https://example.fr/my/new/path?foo=bar"); + + Mockito.when(linkRepository.findBySource(source)).thenReturn(Optional.of(link)); + Mockito.when(tagRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.of(tag)); + Mockito.when(catalogRepository.findByUuid(Mockito.any(UUID.class))) + .thenReturn(Optional.empty()); + + // Act + var output = + updateLinkUseCase.run( + new Input.ForSource(source, newTarget, isExternal, tagUuid, catalog.getSlug())); + + // Assert + Mockito.verify(linkRepository).findBySource(Mockito.any(Source.class)); + Mockito.verify(linkRepository, Mockito.never()).update(link); + Assertions.assertInstanceOf(Output.NotUpdated.class, output); + } + + private Tag getNewTag() { + return new Tag("Super tag", Color.of("#fff")); + } + + private Catalog getNewCatalog() { + return new Catalog(Slug.of("super-tag"), "Super tag", UUID.randomUUID()); + } + + private Link getNewLink() { + return new Link( + new Source("a_new_link"), + new Target("https://example.net"), + true, + null, + getNewTag().getUuid(), + getNewTag().getUuid()); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/VerifyLinkTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/VerifyLinkTest.java new file mode 100644 index 0000000..07b0923 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/links/VerifyLinkTest.java @@ -0,0 +1,77 @@ +package tech.pegase.z3.domain.usecase.links; + +import java.util.Optional; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.service.VerifyLinkService; +import tech.pegase.z3.domain.usecase.links.VerifyLink.Input; +import tech.pegase.z3.domain.usecase.links.VerifyLink.Output; +import tech.pegase.z3.domain.valueobject.LinkValidity; +import tech.pegase.z3.shared.valueobject.Source; + +public class VerifyLinkTest { + private final LinkRepository linkRepository; + private final VerifyLinkService verifyLinkService; + private final VerifyLink verifyLink; + + VerifyLinkTest() { + this.linkRepository = Mockito.mock(LinkRepository.class); + this.verifyLinkService = Mockito.mock(VerifyLinkService.class); + this.verifyLink = new VerifyLinkImpl(linkRepository, verifyLinkService); + } + + @Test + public void canVerifyLinkGetValidity() { + // GIVEN + var source = new Source("link-test"); + var link = Mockito.mock(Link.class); + + Mockito.when(link.getValidity()).thenReturn(LinkValidity.valid()); + + Mockito.when(linkRepository.findBySource(source)).thenReturn(Optional.of(link)); + Mockito.doNothing().when(verifyLinkService).verifyAndPersistValidity(link); + + // WHEN + var output = verifyLink.run(new Input.Verify(source)); + + // THEN + Mockito.verify(verifyLinkService).verifyAndPersistValidity(link); + Assertions.assertInstanceOf(Output.TargetIsValid.class, output); + } + + @Test + public void canVerifyLinkIsInvalid() { + // GIVEN + var source = new Source("link-test"); + var link = Mockito.mock(Link.class); + + Mockito.when(link.getValidity()).thenReturn(LinkValidity.invalid()); + + Mockito.when(linkRepository.findBySource(source)).thenReturn(Optional.of(link)); + Mockito.doNothing().when(verifyLinkService).verifyAndPersistValidity(link); + + // WHEN + var output = verifyLink.run(new Input.Verify(source)); + + // THEN + Mockito.verify(verifyLinkService).verifyAndPersistValidity(link); + Assertions.assertInstanceOf(Output.TargetIsNotValid.class, output); + } + + @Test + public void cannotVerifyLinkIsValidIfItDoesNotExists() { + // GIVEN + var source = new Source("link-test"); + + Mockito.when(linkRepository.findBySource(source)).thenReturn(Optional.empty()); + + // WHEN + var output = verifyLink.run(new Input.Verify(source)); + + // THEN + Assertions.assertInstanceOf(Output.NoSuchLink.class, output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/reporting/GetReportingSubscriptionsTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/reporting/GetReportingSubscriptionsTest.java new file mode 100644 index 0000000..28a168e --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/reporting/GetReportingSubscriptionsTest.java @@ -0,0 +1,69 @@ +package tech.pegase.z3.domain.usecase.reporting; + +import java.util.Optional; +import java.util.Set; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.ReportingSubscriptionRepository; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.usecase.reporting.GetReportingSubscriptions.Input; +import tech.pegase.z3.domain.usecase.reporting.GetReportingSubscriptions.Output; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.domain.valueobject.Role; +import tech.pegase.z3.domain.valueobject.Role.AccessLevel; + +public class GetReportingSubscriptionsTest { + private final UserRepository userRepository; + private final ReportingSubscriptionRepository reportingSubscriptionRepository; + private final GetReportingSubscriptions getReportingSubscriptions; + + public GetReportingSubscriptionsTest() { + this.reportingSubscriptionRepository = Mockito.mock(ReportingSubscriptionRepository.class); + this.userRepository = Mockito.mock(UserRepository.class); + this.getReportingSubscriptions = + new GetReportingSubscriptionsImpl(reportingSubscriptionRepository, userRepository); + } + + @Test + public void canGetReportingSubscriptionsForUser() { + // Arrange + var user = getNewUser(); + Mockito.when(userRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.of(user)); + Mockito.when(reportingSubscriptionRepository.getAllSubscriptions(Mockito.any(UUID.class))) + .thenReturn(Set.of()); + + // Act + var output = getReportingSubscriptions.run(new Input.GetSubscriptionsForUser(user.getUuid())); + + // Assert + Mockito.verify(userRepository).findByUuid(Mockito.any(UUID.class)); + Mockito.verify(reportingSubscriptionRepository).getAllSubscriptions(Mockito.any(UUID.class)); + Assertions.assertInstanceOf(Output.ReportSubscriptionsForUser.class, output); + } + + @Test + public void cannotGetReportingSubscriptionsForNonExistingUser() { + // Arrange + var user = getNewUser(); + Mockito.when(userRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.empty()); + + // Act + var output = getReportingSubscriptions.run(new Input.GetSubscriptionsForUser(user.getUuid())); + + // Assert + Mockito.verify(userRepository).findByUuid(Mockito.any(UUID.class)); + Assertions.assertInstanceOf(Output.NoSuchUser.class, output); + } + + private User getNewUser() { + return new User( + "firstName", + "lastName", + Email.of("user@example.net"), + Role.of(AccessLevel.PUBLISHER), + UUID.randomUUID()); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/reporting/SendReportsTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/reporting/SendReportsTest.java new file mode 100644 index 0000000..c4ef796 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/reporting/SendReportsTest.java @@ -0,0 +1,238 @@ +package tech.pegase.z3.domain.usecase.reporting; + +import java.util.List; +import java.util.NoSuchElementException; +import java.util.Optional; +import java.util.Set; +import java.util.UUID; +import org.apache.commons.lang3.reflect.FieldUtils; +import org.jboss.logging.Logger; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.entity.ReportingSubscription; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.port.repository.ReportingSubscriptionRepository; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.port.service.MessageSender; +import tech.pegase.z3.domain.usecase.reporting.SendReports.Input; +import tech.pegase.z3.domain.usecase.reporting.SendReports.Output; +import tech.pegase.z3.domain.valueobject.Message; +import tech.pegase.z3.domain.valueobject.Target; +import tech.pegase.z3.domain.valueobject.filterings.LinkFiltering; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; +import tech.pegase.z3.shared.valueobject.Source; + +public class SendReportsTest { + private final Logger logger; + private final ReportingSubscriptionRepository reportingSubscriptionRepository; + private final LinkRepository linkRepository; + private final UserRepository userRepository; + private final BrandRepository brandRepository; + private final MessageSender messageSender; + private final SendReports sendReports; + + SendReportsTest() throws IllegalAccessException { + this.reportingSubscriptionRepository = Mockito.mock(ReportingSubscriptionRepository.class); + this.linkRepository = Mockito.mock(LinkRepository.class); + this.userRepository = Mockito.mock(UserRepository.class); + this.brandRepository = Mockito.mock(BrandRepository.class); + this.messageSender = Mockito.mock(MessageSender.class); + this.sendReports = + new SendReportsImpl( + reportingSubscriptionRepository, + linkRepository, + userRepository, + brandRepository, + messageSender); + + // Mock logger and set it accessible for test in order to silent logger while testing + this.logger = Mockito.mock(Logger.class); + var field = FieldUtils.getDeclaredField(SendReportsImpl.class, "logger", true); + field.trySetAccessible(); + FieldUtils.removeFinalModifier(field); + field.set(sendReports, logger); + } + + @Test + public void canSendReports() { + // GIVEN + var sender = "z3.reports@example.net"; + var userUuid = UUID.randomUUID(); + var user = Mockito.mock(User.class); + var brandUuid = UUID.randomUUID(); + var brand = Mockito.mock(Brand.class); + var source = new Source("source"); + var target = new Target("https://link.example.net"); + var link = Mockito.mock(Link.class); + + var reportingSubscription = new ReportingSubscription(userUuid, brandUuid); + var paginatedLinks = PaginatedData.wrap(List.of(link), 50, 0, 1); + var messageSendResult = new MessageSender.Status.Success(); + + Mockito.when(link.getSource()).thenReturn(source); + Mockito.when(link.getTarget()).thenReturn(target); + Mockito.when(link.getBrand()).thenReturn(brandUuid); + Mockito.when(brand.getUuid()).thenReturn(brandUuid); + Mockito.when(user.getUuid()).thenReturn(userUuid); + + Mockito.when(reportingSubscriptionRepository.getAllSubscriptions()) + .thenReturn(Set.of(reportingSubscription)); + + Mockito.when( + linkRepository.findAll(Mockito.any(Pagination.class), Mockito.any(LinkFiltering.class))) + .thenReturn(paginatedLinks) + .thenReturn(PaginatedData.empty()); + + Mockito.when(userRepository.findByUuid(userUuid)).thenReturn(Optional.of(user)); + Mockito.when(brandRepository.findByUuid(brandUuid)).thenReturn(Optional.of(brand)); + Mockito.when(messageSender.send(Mockito.any(Message.class))).thenReturn(messageSendResult); + + // WHEN + var output = sendReports.run(new Input.SendReportsForInvalidLinks(sender)); + + // THEN + Mockito.verify(messageSender).send(Mockito.any(Message.class)); + Assertions.assertInstanceOf(Output.AllReportSentWithSuccess.class, output); + } + + @Test + public void canSendReportsWithSomeFailures() { + // GIVEN + var sender = "z3.reports@example.net"; + var userUuid = UUID.randomUUID(); + var user = Mockito.mock(User.class); + var brandUuid = UUID.randomUUID(); + var brand = Mockito.mock(Brand.class); + var source = + new Source( + "sourcesourcesourcesourcesourcesourcesourcesourcesourcesourcesourcesourcesourcesourcesourcesource"); + var target = new Target("https://link.example.net"); + var link = Mockito.mock(Link.class); + + var reportingSubscription = new ReportingSubscription(userUuid, brandUuid); + var paginatedLinks = PaginatedData.wrap(List.of(link), 50, 0, 1); + var messageSendResult = new MessageSender.Status.Failed(); + + Mockito.when(link.getSource()).thenReturn(source); + Mockito.when(link.getTarget()).thenReturn(target); + Mockito.when(link.getBrand()).thenReturn(brandUuid); + Mockito.when(brand.getUuid()).thenReturn(brandUuid); + Mockito.when(user.getUuid()).thenReturn(userUuid); + + Mockito.when(reportingSubscriptionRepository.getAllSubscriptions()) + .thenReturn(Set.of(reportingSubscription)); + + Mockito.when( + linkRepository.findAll(Mockito.any(Pagination.class), Mockito.any(LinkFiltering.class))) + .thenReturn(paginatedLinks) + .thenReturn(PaginatedData.empty()); + + Mockito.when(userRepository.findByUuid(userUuid)).thenReturn(Optional.of(user)); + Mockito.when(brandRepository.findByUuid(brandUuid)).thenReturn(Optional.of(brand)); + Mockito.when(messageSender.send(Mockito.any(Message.class))).thenReturn(messageSendResult); + + // WHEN + var output = sendReports.run(new Input.SendReportsForInvalidLinks(sender)); + + // THEN + Mockito.verify(messageSender).send(Mockito.any(Message.class)); + Assertions.assertInstanceOf(Output.ReportsFailedFor.class, output); + var failures = (Output.ReportsFailedFor) output; + Assertions.assertEquals( + "Failed sending report to user '%s'".formatted(user.getUuid()), + failures.reasonsPerUser().get(userUuid)); + } + + @Test + public void canIgnoreSendingReportsIfNoLinksAreConcerned() { + // GIVEN + var sender = "z3.reports@example.net"; + var userUuid = UUID.randomUUID(); + var user = Mockito.mock(User.class); + var brandUuid = UUID.randomUUID(); + var brand = Mockito.mock(Brand.class); + var source = new Source("source"); + var target = new Target("https://link.example.net"); + var link = Mockito.mock(Link.class); + + var reportingSubscription = new ReportingSubscription(userUuid, brandUuid); + var messageSendResult = new MessageSender.Status.Success(); + + Mockito.when(link.getSource()).thenReturn(source); + Mockito.when(link.getTarget()).thenReturn(target); + Mockito.when(link.getBrand()).thenReturn(brandUuid); + Mockito.when(brand.getUuid()).thenReturn(brandUuid); + Mockito.when(user.getUuid()).thenReturn(userUuid); + + Mockito.when(reportingSubscriptionRepository.getAllSubscriptions()) + .thenReturn(Set.of(reportingSubscription)); + + Mockito.when( + linkRepository.findAll(Mockito.any(Pagination.class), Mockito.any(LinkFiltering.class))) + .thenReturn(PaginatedData.empty()); + + Mockito.when(userRepository.findByUuid(userUuid)).thenReturn(Optional.of(user)); + Mockito.when(brandRepository.findByUuid(brandUuid)).thenReturn(Optional.of(brand)); + Mockito.when(messageSender.send(Mockito.any(Message.class))).thenReturn(messageSendResult); + + // WHEN + var output = sendReports.run(new Input.SendReportsForInvalidLinks(sender)); + + // THEN + Mockito.verifyNoInteractions(messageSender); + Assertions.assertInstanceOf(Output.AllReportSentWithSuccess.class, output); + } + + @Test + public void canContinueSendingReportsIfUserOrBrandCannotBeFound() { + // GIVEN + var sender = "z3.reports@example.net"; + var userUuid = UUID.randomUUID(); + var user = Mockito.mock(User.class); + var brandUuid = UUID.randomUUID(); + var brand = Mockito.mock(Brand.class); + var source = new Source("source"); + var target = new Target("https://link.example.net"); + var link = Mockito.mock(Link.class); + + var paginatedLinks = PaginatedData.wrap(List.of(link), 50, 0, 1); + var reportingSubscription = new ReportingSubscription(userUuid, brandUuid); + var messageSendResult = new MessageSender.Status.Success(); + + Mockito.doNothing() + .when(logger) + .warn(Mockito.anyString(), Mockito.any(NoSuchElementException.class)); + Mockito.doNothing().when(logger).warn(Mockito.anyString()); + + Mockito.when(link.getSource()).thenReturn(source); + Mockito.when(link.getTarget()).thenReturn(target); + Mockito.when(link.getBrand()).thenReturn(brandUuid); + Mockito.when(brand.getUuid()).thenReturn(brandUuid); + Mockito.when(user.getUuid()).thenReturn(userUuid); + + Mockito.when(reportingSubscriptionRepository.getAllSubscriptions()) + .thenReturn(Set.of(reportingSubscription)); + + Mockito.when( + linkRepository.findAll(Mockito.any(Pagination.class), Mockito.any(LinkFiltering.class))) + .thenReturn(paginatedLinks) + .thenReturn(PaginatedData.empty()); + + Mockito.when(userRepository.findByUuid(userUuid)).thenReturn(Optional.of(user)); + Mockito.when(brandRepository.findByUuid(brandUuid)).thenReturn(Optional.empty()); + Mockito.when(messageSender.send(Mockito.any(Message.class))).thenReturn(messageSendResult); + + // WHEN + var output = sendReports.run(new Input.SendReportsForInvalidLinks(sender)); + + // THEN + Mockito.verifyNoInteractions(messageSender); + Assertions.assertInstanceOf(Output.ReportsFailedFor.class, output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/reporting/UpdateUserReportingSubscriptionsTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/reporting/UpdateUserReportingSubscriptionsTest.java new file mode 100644 index 0000000..6fb8bf8 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/reporting/UpdateUserReportingSubscriptionsTest.java @@ -0,0 +1,130 @@ +package tech.pegase.z3.domain.usecase.reporting; + +import java.util.Optional; +import java.util.Set; +import java.util.UUID; +import java.util.stream.Collectors; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.ReportingSubscriptionRepository; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.usecase.reporting.UpdateUserReportingSubscriptions.Input; +import tech.pegase.z3.domain.usecase.reporting.UpdateUserReportingSubscriptions.Output; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.domain.valueobject.Role; +import tech.pegase.z3.domain.valueobject.Role.AccessLevel; +import tech.pegase.z3.domain.valueobject.Slug; + +public class UpdateUserReportingSubscriptionsTest { + private final UserRepository userRepository; + private final BrandRepository brandRepository; + private final ReportingSubscriptionRepository reportingSubscriptionRepository; + private final UpdateUserReportingSubscriptions updateUserReportingSubscriptions; + + UpdateUserReportingSubscriptionsTest() { + this.userRepository = Mockito.mock(UserRepository.class); + this.brandRepository = Mockito.mock(BrandRepository.class); + this.reportingSubscriptionRepository = Mockito.mock(ReportingSubscriptionRepository.class); + this.updateUserReportingSubscriptions = + new UpdateUserReportingSubscriptionsImpl( + userRepository, brandRepository, reportingSubscriptionRepository); + } + + @Test + public void canUpdateUserReportSubscriptionsForUser() { + // Arrange + var user = getNewUser(); + var brands = Set.of(getNewBrand(), getNewBrand()); + user.setBrands(brands.stream().map(Brand::getUuid).collect(Collectors.toSet())); + Mockito.when(userRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.of(user)); + Mockito.when(brandRepository.exists(Mockito.any(UUID.class))).thenReturn(true); + Mockito.doNothing() + .when(reportingSubscriptionRepository) + .removeAllUserSubscriptions(Mockito.any(UUID.class)); + Mockito.doNothing().when(reportingSubscriptionRepository).setSubscriptions(Mockito.anySet()); + + // Act + var output = + updateUserReportingSubscriptions.run( + new Input.UpdateSubscriptionForUser( + user.getUuid(), brands.stream().map(Brand::getUuid).collect(Collectors.toSet()))); + + // Assert + Mockito.verify(reportingSubscriptionRepository) + .removeAllUserSubscriptions(Mockito.any(UUID.class)); + Mockito.verify(reportingSubscriptionRepository).setSubscriptions(Mockito.anySet()); + Assertions.assertInstanceOf(Output.SubscriptionsUpdated.class, output); + } + + @Test + public void cannotUpdateUserReportSubscriptionsForUserWhenSomeBrandsDoesNotBelongToUser() { + // Arrange + var user = getNewUser(); + var brands = Set.of(getNewBrand(), getNewBrand()); + Mockito.when(userRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.of(user)); + Mockito.when(brandRepository.exists(Mockito.any(UUID.class))).thenReturn(true); + + // Act + var output = + updateUserReportingSubscriptions.run( + new Input.UpdateSubscriptionForUser( + user.getUuid(), brands.stream().map(Brand::getUuid).collect(Collectors.toSet()))); + + // Assert + Assertions.assertInstanceOf(Output.UserDoNotBelongToTheseBrands.class, output); + } + + @Test + public void cannotUpdateUserReportSubscriptionsForUserWhenSomeBrandsDoesNotExist() { + // Arrange + var user = getNewUser(); + var brands = Set.of(getNewBrand(), getNewBrand()); + user.setBrands(brands.stream().map(Brand::getUuid).collect(Collectors.toSet())); + Mockito.when(userRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.of(user)); + Mockito.when(brandRepository.exists(Mockito.any(UUID.class))).thenReturn(false); + + // Act + var output = + updateUserReportingSubscriptions.run( + new Input.UpdateSubscriptionForUser( + user.getUuid(), brands.stream().map(Brand::getUuid).collect(Collectors.toSet()))); + + // Assert + Assertions.assertInstanceOf(Output.TheseBrandsDoNotExist.class, output); + } + + @Test + public void canUpdateUserReportSubscriptionsForNonExistingUser() { + // Arrange + var user = getNewUser(); + var brands = Set.of(getNewBrand(), getNewBrand()); + user.setBrands(brands.stream().map(Brand::getUuid).collect(Collectors.toSet())); + Mockito.when(userRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.empty()); + + // Act + var output = + updateUserReportingSubscriptions.run( + new Input.UpdateSubscriptionForUser( + user.getUuid(), brands.stream().map(Brand::getUuid).collect(Collectors.toSet()))); + + // Assert + Assertions.assertInstanceOf(Output.NoSuchUser.class, output); + } + + private Brand getNewBrand() { + return new Brand(new Slug("my-catalog-2000"), "My Brand 2000"); + } + + private User getNewUser() { + return new User( + "firstName", + "lastName", + Email.of("user@example.net"), + Role.of(AccessLevel.PUBLISHER), + UUID.randomUUID()); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/statistics/GetGlobalStatisticsTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/statistics/GetGlobalStatisticsTest.java new file mode 100644 index 0000000..2874910 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/statistics/GetGlobalStatisticsTest.java @@ -0,0 +1,91 @@ +package tech.pegase.z3.domain.usecase.statistics; + +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.usecase.statistics.GetGlobalStatistics.Input.GetStatistics; +import tech.pegase.z3.domain.usecase.statistics.GetGlobalStatistics.Input.GetStatisticsForBrand; +import tech.pegase.z3.domain.usecase.statistics.GetGlobalStatistics.Output; + +public class GetGlobalStatisticsTest { + private final LinkRepository linkRepository; + private final BrandRepository brandRepository; + private final GetGlobalStatistics useCase; + + public GetGlobalStatisticsTest() { + this.linkRepository = Mockito.mock(LinkRepository.class); + this.brandRepository = Mockito.mock(BrandRepository.class); + this.useCase = new GetGlobalStatisticsImpl(linkRepository, brandRepository); + } + + @Test + public void canGetGlobalStatistics() { + // Arrange + Mockito.when(linkRepository.countTotalVisits()).thenReturn(11L); + Mockito.when(linkRepository.countTotalInvalids()).thenReturn(22L); + Mockito.when(linkRepository.countTotalVisits(null)).thenReturn(33L); + Mockito.when(linkRepository.countTotalExternal()).thenReturn(44L); + + // Assert + var output = useCase.run(new GetStatistics()); + + // Assert + Mockito.verify(linkRepository, Mockito.times(1)).countTotalVisits(); + Mockito.verify(linkRepository, Mockito.times(1)).countTotalInvalids(); + Mockito.verify(linkRepository, Mockito.times(1)).countTotalVisits(null); + Mockito.verify(linkRepository, Mockito.times(1)).countTotalExternal(); + Mockito.verifyNoMoreInteractions(linkRepository); + + Assertions.assertInstanceOf(Output.GeneralStatistics.class, output); + var generalStatistics = (Output.GeneralStatistics) output; + Assertions.assertEquals(11L, generalStatistics.statistics().getFirst().value()); + Assertions.assertEquals(22L, generalStatistics.statistics().get(1).value()); + Assertions.assertEquals(33L, generalStatistics.statistics().get(2).value()); + Assertions.assertEquals(44L, generalStatistics.statistics().get(3).value()); + Assertions.assertEquals(44L, generalStatistics.statistics().get(3).value()); + } + + @Test + public void canGetGlobalStatisticsForBrand() { + // Arrange + var brandUuid = UUID.randomUUID(); + + Mockito.when(brandRepository.exists(brandUuid)).thenReturn(true); + Mockito.when(linkRepository.countTotalVisits(brandUuid)).thenReturn(11L); + Mockito.when(linkRepository.countTotalInvalids(brandUuid)).thenReturn(22L); + Mockito.when(linkRepository.countTotalExternal(brandUuid)).thenReturn(33L); + + // Assert + var output = useCase.run(new GetStatisticsForBrand(brandUuid)); + + // Assert + Mockito.verify(brandRepository, Mockito.times(1)).exists(brandUuid); + Mockito.verify(linkRepository, Mockito.times(1)).countTotalVisits(brandUuid); + Mockito.verify(linkRepository, Mockito.times(1)).countTotalInvalids(brandUuid); + Mockito.verify(linkRepository, Mockito.times(1)).countTotalExternal(brandUuid); + Mockito.verifyNoMoreInteractions(linkRepository); + + Assertions.assertInstanceOf(Output.GeneralStatistics.class, output); + var generalStatistics = (Output.GeneralStatistics) output; + Assertions.assertEquals(11L, generalStatistics.statistics().getFirst().value()); + Assertions.assertEquals(22L, generalStatistics.statistics().get(1).value()); + Assertions.assertEquals(33L, generalStatistics.statistics().get(2).value()); + } + + @Test + public void cannotGetGlobalStatisticsForNonExistingBrand() { + // Arrange + var brandUuid = UUID.randomUUID(); + Mockito.when(brandRepository.exists(Mockito.any(UUID.class))).thenReturn(false); + + // Assert + var output = useCase.run(new GetStatisticsForBrand(brandUuid)); + + // Assert + Mockito.verify(brandRepository).exists(Mockito.any(UUID.class)); + Assertions.assertInstanceOf(Output.NoSuchBrand.class, output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/statistics/GetLinkStatisticsTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/statistics/GetLinkStatisticsTest.java new file mode 100644 index 0000000..9d3545d --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/statistics/GetLinkStatisticsTest.java @@ -0,0 +1,264 @@ +package tech.pegase.z3.domain.usecase.statistics; + +import java.util.List; +import java.util.Optional; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.usecase.statistics.GetLinksStatistics.Input; +import tech.pegase.z3.domain.usecase.statistics.GetLinksStatistics.Output; +import tech.pegase.z3.domain.valueobject.filterings.LinkFiltering; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +public class GetLinkStatisticsTest { + private final LinkRepository linkRepository; + private final BrandRepository brandRepository; + private final CatalogRepository catalogRepository; + private final TagRepository tagRepository; + private final GetLinksStatistics getLinksStatistics; + + GetLinkStatisticsTest() { + this.linkRepository = Mockito.mock(LinkRepository.class); + this.brandRepository = Mockito.mock(BrandRepository.class); + this.catalogRepository = Mockito.mock(CatalogRepository.class); + this.tagRepository = Mockito.mock(TagRepository.class); + this.getLinksStatistics = + new GetLinksStatisticsImpl( + linkRepository, brandRepository, catalogRepository, tagRepository); + } + + @Test + public void canGetLinkStatisticsForBrands() { + // GIVEN + var brand = Mockito.mock(Brand.class); + var brand1Uuid = UUID.randomUUID(); + var brand2Uuid = UUID.randomUUID(); + var brandName = "Brand name"; + var link1Result = Mockito.mock(Link.class); + var link2Result = Mockito.mock(Link.class); + var links = List.of(link1Result, link2Result); + var paginatedData = PaginatedData.wrap(links, links.size(), 0, links.size()); + + Mockito.when(link1Result.getVisits()).thenReturn(111); + Mockito.when(link1Result.getBrand()).thenReturn(brand1Uuid); + Mockito.when(link2Result.getVisits()).thenReturn(222); + Mockito.when(link2Result.getBrand()).thenReturn(brand2Uuid); + + Mockito.when(brand.getName()).thenReturn(brandName); + Mockito.when( + linkRepository.findAll(Mockito.any(Pagination.class), Mockito.any(LinkFiltering.class))) + .thenReturn(paginatedData) + .thenReturn(PaginatedData.empty()); + + // WHEN + var output = getLinksStatistics.run(new Input.ForBrands()); + + // THEN + Assertions.assertInstanceOf(Output.Statistics.class, output); + var linksStatistics = (Output.Statistics) output; + Assertions.assertEquals(links.size(), linksStatistics.visitsPerEntity().size()); + Assertions.assertEquals(111, linksStatistics.visitsPerEntity().get(brand1Uuid).totalVisits()); + Assertions.assertEquals(222, linksStatistics.visitsPerEntity().get(brand2Uuid).totalVisits()); + } + + @Test + public void canGetLinkStatisticsForBrandsWithEmptyLinks() { + // GIVEN + var brand = Mockito.mock(Brand.class); + var brandName = "Brand name"; + + Mockito.when(brand.getName()).thenReturn(brandName); + Mockito.when( + linkRepository.findAll(Mockito.any(Pagination.class), Mockito.any(LinkFiltering.class))) + .thenReturn(PaginatedData.empty()); + + // WHEN + var output = getLinksStatistics.run(new Input.ForBrands()); + + // THEN + Assertions.assertInstanceOf(Output.Statistics.class, output); + var linksStatistics = (Output.Statistics) output; + Assertions.assertEquals(0, linksStatistics.visitsPerEntity().size()); + } + + @Test + public void canGetLinkStatisticsForCatalog() { + // GIVEN + var brandUuid = UUID.randomUUID(); + var catalog = Mockito.mock(Catalog.class); + var catalog1Uuid = UUID.randomUUID(); + var catalog2Uuid = UUID.randomUUID(); + var catalogName = "Catalog name"; + var link1Result = Mockito.mock(Link.class); + var link2Result = Mockito.mock(Link.class); + var links = List.of(link1Result, link2Result); + var paginatedData = PaginatedData.wrap(links, links.size(), 0, links.size()); + + Mockito.when(link1Result.getVisits()).thenReturn(111); + Mockito.when(link1Result.getCatalog()).thenReturn(catalog1Uuid); + Mockito.when(link2Result.getVisits()).thenReturn(222); + Mockito.when(link2Result.getCatalog()).thenReturn(catalog2Uuid); + + Mockito.when(brandRepository.exists(brandUuid)).thenReturn(true); + Mockito.when(catalog.getName()).thenReturn(catalogName); + Mockito.when(catalogRepository.find(Mockito.any())).thenReturn(Optional.of(catalog)); + Mockito.when( + linkRepository.findAll(Mockito.any(Pagination.class), Mockito.any(LinkFiltering.class))) + .thenReturn(paginatedData) + .thenReturn(PaginatedData.empty()); + + // WHEN + var output = getLinksStatistics.run(new Input.ForCatalogs(brandUuid)); + + // THEN + Assertions.assertInstanceOf(Output.Statistics.class, output); + var linksStatistics = (Output.Statistics) output; + Assertions.assertEquals(links.size(), linksStatistics.visitsPerEntity().size()); + Assertions.assertEquals(111, linksStatistics.visitsPerEntity().get(catalog1Uuid).totalVisits()); + Assertions.assertEquals(222, linksStatistics.visitsPerEntity().get(catalog2Uuid).totalVisits()); + } + + @Test + public void cannotGetLinkStatisticsForCatalogIfBrandDoesNotExist() { + // GIVEN + var brandUuid = UUID.randomUUID(); + + Mockito.when(brandRepository.exists(brandUuid)).thenReturn(false); + + // WHEN + var output = getLinksStatistics.run(new Input.ForCatalogs(brandUuid)); + + // THEN + Assertions.assertInstanceOf(Output.NoSuchBrand.class, output); + } + + @Test + public void canGetLinkStatisticsForTag() { + // GIVEN + var brandUuid = UUID.randomUUID(); + var tag = Mockito.mock(Tag.class); + var tag1Uuid = UUID.randomUUID(); + var tag2Uuid = UUID.randomUUID(); + var tagName = "Tag name"; + var link1Result = Mockito.mock(Link.class); + var link2Result = Mockito.mock(Link.class); + var links = List.of(link1Result, link2Result); + var paginatedData = PaginatedData.wrap(links, links.size(), 0, links.size()); + + Mockito.when(link1Result.getVisits()).thenReturn(111); + Mockito.when(link1Result.getTag()).thenReturn(tag1Uuid); + Mockito.when(link2Result.getVisits()).thenReturn(222); + Mockito.when(link2Result.getTag()).thenReturn(tag2Uuid); + + Mockito.when(brandRepository.exists(brandUuid)).thenReturn(true); + Mockito.when(tag.getName()).thenReturn(tagName); + Mockito.when(tagRepository.find(Mockito.any())).thenReturn(Optional.of(tag)); + Mockito.when( + linkRepository.findAll(Mockito.any(Pagination.class), Mockito.any(LinkFiltering.class))) + .thenReturn(paginatedData) + .thenReturn(PaginatedData.empty()); + + // WHEN + var output = getLinksStatistics.run(new Input.ForTags(brandUuid)); + + // THEN + Assertions.assertInstanceOf(Output.Statistics.class, output); + var linksStatistics = (Output.Statistics) output; + Assertions.assertEquals(links.size(), linksStatistics.visitsPerEntity().size()); + Assertions.assertEquals(111, linksStatistics.visitsPerEntity().get(tag1Uuid).totalVisits()); + Assertions.assertEquals(222, linksStatistics.visitsPerEntity().get(tag2Uuid).totalVisits()); + } + + @Test + public void canGetLinkStatisticsForTagWitNullValues() { + // GIVEN + var brandUuid = UUID.randomUUID(); + var tag = Mockito.mock(Tag.class); + var tag1Uuid = UUID.randomUUID(); + var tag2Uuid = UUID.randomUUID(); + var tagName = "Tag name"; + var link1Result = Mockito.mock(Link.class); + var link2Result = Mockito.mock(Link.class); + var links = List.of(link1Result, link2Result); + var paginatedData = PaginatedData.wrap(links, links.size(), 0, links.size()); + + Mockito.when(link1Result.getVisits()).thenReturn(111); + Mockito.when(link1Result.getTag()).thenReturn(null); + Mockito.when(link2Result.getVisits()).thenReturn(222); + Mockito.when(link2Result.getTag()).thenReturn(tag2Uuid); + + Mockito.when(brandRepository.exists(brandUuid)).thenReturn(true); + Mockito.when(tag.getName()).thenReturn(tagName); + Mockito.when(tagRepository.find(Mockito.any())).thenReturn(Optional.of(tag)); + Mockito.when( + linkRepository.findAll(Mockito.any(Pagination.class), Mockito.any(LinkFiltering.class))) + .thenReturn(paginatedData) + .thenReturn(PaginatedData.empty()); + + // WHEN + var output = getLinksStatistics.run(new Input.ForTags(brandUuid)); + + // THEN + Assertions.assertInstanceOf(Output.Statistics.class, output); + var linksStatistics = (Output.Statistics) output; + Assertions.assertEquals(links.size() - 1, linksStatistics.visitsPerEntity().size()); + Assertions.assertNull(linksStatistics.visitsPerEntity().get(tag1Uuid)); + Assertions.assertEquals(222, linksStatistics.visitsPerEntity().get(tag2Uuid).totalVisits()); + } + + @Test + public void cannotGetLinkStatisticsForTagIfBrandDoesNotExist() { + // GIVEN + var brandUuid = UUID.randomUUID(); + + Mockito.when(brandRepository.exists(brandUuid)).thenReturn(false); + + // WHEN + var output = getLinksStatistics.run(new Input.ForTags(brandUuid)); + + // THEN + Assertions.assertInstanceOf(Output.NoSuchBrand.class, output); + } + + @Test + public void cannotCountOfWithInvalidName() { + // THEN + Assertions.assertThrows( + IllegalStateException.class, + () -> { + // GIVEN + var brandUuid = UUID.randomUUID(); + var name = ""; + var visits = 0; + + // WHEN + new GetLinksStatisticsImpl.CountOf(brandUuid, name, visits); + }); + } + + @Test + public void cannotCountOfWithInvalidVisitsAmount() { + // THEN + Assertions.assertThrows( + IllegalStateException.class, + () -> { + // GIVEN + var brandUuid = UUID.randomUUID(); + var name = "brand"; + var visits = -1; + + // WHEN + new GetLinksStatisticsImpl.CountOf(brandUuid, name, visits); + }); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/tags/CreateTagImplTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/tags/CreateTagImplTest.java new file mode 100644 index 0000000..eeba08a --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/tags/CreateTagImplTest.java @@ -0,0 +1,85 @@ +package tech.pegase.z3.domain.usecase.tags; + +import jakarta.inject.Inject; +import java.util.Optional; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.usecase.tags.CreateTag.Input; +import tech.pegase.z3.domain.usecase.tags.CreateTag.Output; +import tech.pegase.z3.domain.valueobject.Color; + +public class CreateTagImplTest { + private final TagRepository tagRepository; + private final CreateTagImpl createUseCase; + + @Inject + CreateTagImplTest() { + this.tagRepository = Mockito.mock(TagRepository.class); + this.createUseCase = new CreateTagImpl(tagRepository); + } + + @Test + public void canCreateTag() { + // GIVEN + var tagName = "Tag name"; + var tagColor = Color.of("#fff"); + + Mockito.when(tagRepository.exists(Mockito.any(UUID.class))).thenReturn(false); + Mockito.when(tagRepository.findByName(Mockito.any(String.class))).thenReturn(Optional.empty()); + Mockito.doNothing().when(tagRepository).persist(Mockito.any(Tag.class)); + + // WHEN + var output = createUseCase.run(new Input.With(tagName, tagColor)); + + // THEN + Mockito.verify(tagRepository).persist(Mockito.any(Tag.class)); + + Assertions.assertInstanceOf( + Output.Created.class, output, "Given an name and color, a tag should be created"); + var createdOutput = (Output.Created) output; + Assertions.assertEquals( + tagName, + createdOutput.value().name(), + "Create tag use case should return the same name as input"); + Assertions.assertEquals( + tagColor, + createdOutput.value().color(), + "Create tag use case should return the same color as input"); + } + + @Test + public void cannotCreateTagIfNameIsEmpty() { + // GIVEN + var tagName = ""; + var tagColor = Color.of("#fff"); + + // WHEN + var output = createUseCase.run(new Input.With(tagName, tagColor)); + + // THEN + Assertions.assertInstanceOf(Output.NotCreated.class, output); + } + + @Test + public void cannotCreateTagIfNameIsAlreadyTaken() { + // GIVEN + var tagName = "Tag name"; + var tagColor = Color.of("#fff"); + + Mockito.when(tagRepository.exists(Mockito.any(UUID.class))).thenReturn(false); + Mockito.when(tagRepository.findByName(Mockito.any(String.class))) + .thenReturn(Optional.of(Mockito.mock(Tag.class))); + + // WHEN + var output = createUseCase.run(new Input.With(tagName, tagColor)); + + // THEN + Mockito.verify(tagRepository).findByName(Mockito.eq(tagName)); + Mockito.verifyNoMoreInteractions(tagRepository); + Assertions.assertInstanceOf(Output.NotCreated.class, output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/tags/GetTagTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/tags/GetTagTest.java new file mode 100644 index 0000000..a52e143 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/tags/GetTagTest.java @@ -0,0 +1,50 @@ +package tech.pegase.z3.domain.usecase.tags; + +import java.util.Optional; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.usecase.tags.GetTag.Input; +import tech.pegase.z3.domain.usecase.tags.GetTag.Output; + +public class GetTagTest { + private final TagRepository tagRepository; + private final GetTag getTag; + + public GetTagTest() { + this.tagRepository = Mockito.mock(TagRepository.class); + this.getTag = new GetTagImpl(tagRepository); + } + + @Test + public void canGetTag() { + // GIVEN + var tagUuid = UUID.randomUUID(); + var tag = Mockito.mock(Tag.class); + + Mockito.when(tagRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.of(tag)); + + // WHEN + var output = getTag.run(new Input.ForId(tagUuid)); + + // THEN + Assertions.assertInstanceOf(Output.Found.class, output); + } + + @Test + public void cannotGetNonExistingTag() { + // GIVEN + var tagUuid = UUID.randomUUID(); + + Mockito.when(tagRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.empty()); + + // WHEN + var output = getTag.run(new Input.ForId(tagUuid)); + + // THEN + Assertions.assertInstanceOf(Output.NoSuchTag.class, output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/tags/ListTagsTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/tags/ListTagsTest.java new file mode 100644 index 0000000..3729c8f --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/tags/ListTagsTest.java @@ -0,0 +1,59 @@ +package tech.pegase.z3.domain.usecase.tags; + +import java.util.List; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.usecase.tags.ListTags.Output.PaginatedTags; +import tech.pegase.z3.domain.valueobject.Color; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +public class ListTagsTest { + private TagRepository tagRepository; + private ListTags listTagsUseCase; + + @BeforeEach + public void setup() { + tagRepository = Mockito.mock(TagRepository.class); + listTagsUseCase = new ListTagsImpl(tagRepository); + } + + @Test + public void canGetBrandListWithPagination() { + // Arrange + var pagination = Pagination.fromPageNumberAndPageSize(1, 20); + var paginatedData = getFakePaginatedData(pagination); + + Mockito.when(tagRepository.findAll(Mockito.any(Pagination.class))).thenReturn(paginatedData); + + // Act + var output = listTagsUseCase.run(new ListTags.Input.WithPagination(pagination)); + + // Assert + Mockito.verify(tagRepository).findAll(Mockito.any(Pagination.class)); + Assertions.assertInstanceOf( + PaginatedTags.class, output, "List tags should output paginated tags"); + + var paginatedTags = (PaginatedTags) output; + Assertions.assertNotNull( + paginatedTags.tagList().items().getFirst(), + "List tags should contain the tag the repository outputs"); + Assertions.assertEquals( + paginatedData.items().getFirst().getColor(), + paginatedTags.tagList().items().getFirst().color(), + "List tags should contain the tag the repository outputs"); + } + + private PaginatedData getFakePaginatedData(Pagination pagination) { + var entityList = + List.of( + new Tag("qwerty", Color.of("#fff")), + new Tag("azerty", Color.of("#fff")), + new Tag( "dvorak", Color.of("#fff"))); + return PaginatedData.wrap(entityList, 50, pagination.offset(), entityList.size()); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/tags/RemoveTagImplTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/tags/RemoveTagImplTest.java new file mode 100644 index 0000000..8fd9341 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/tags/RemoveTagImplTest.java @@ -0,0 +1,76 @@ +package tech.pegase.z3.domain.usecase.tags; + +import jakarta.inject.Inject; +import java.util.List; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.usecase.tags.RemoveTag.Input.WhereUuid; +import tech.pegase.z3.domain.usecase.tags.RemoveTag.Output.NoSuchTag; +import tech.pegase.z3.domain.usecase.tags.RemoveTag.Output.Removed; +import tech.pegase.z3.domain.valueobject.Color; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +public class RemoveTagImplTest { + private final TagRepository tagRepository; + private final LinkRepository linkRepository; + private final RemoveTagImpl removeUseCase; + + @Inject + RemoveTagImplTest() { + this.tagRepository = Mockito.mock(TagRepository.class); + this.linkRepository = Mockito.mock(LinkRepository.class); + this.removeUseCase = new RemoveTagImpl(tagRepository, linkRepository); + } + + @Test + public void canDeleteTag() { + // Arrange + var link = Mockito.mock(Link.class); + var tag = getNewTag(); + var uuid = tag.getUuid(); + Mockito.when( + linkRepository.findAllForTag(Mockito.any(Pagination.class), Mockito.any(UUID.class))) + .thenReturn(PaginatedData.wrap(List.of(link), 1, 0, 0)) + .thenReturn(PaginatedData.empty()); + Mockito.when(tagRepository.exists(Mockito.any(UUID.class))).thenReturn(true); + Mockito.when(tagRepository.remove(Mockito.any(UUID.class))).thenReturn(true); + + // Act + var output = removeUseCase.run(new WhereUuid(uuid)); + + // Assert + Mockito.verify(tagRepository).exists(Mockito.any(UUID.class)); + Mockito.verify(tagRepository).remove(Mockito.any(UUID.class)); + + Assertions.assertInstanceOf( + Removed.class, output, "Given a uuid, a tag should be removed if it exists"); + } + + @Test + public void cannotDeleteTagIfItDoesNotExists() { + // Arrange + var tag = getNewTag(); + var uuid = tag.getUuid(); + Mockito.doAnswer(i -> false).when(tagRepository).exists(Mockito.any(UUID.class)); + + // Act + var output = removeUseCase.run(new WhereUuid(uuid)); + + // Assert + Mockito.verify(tagRepository).exists(Mockito.any(UUID.class)); + + Assertions.assertInstanceOf( + NoSuchTag.class, output, "Given a uuid, a tag should not be removed if it does not exist"); + } + + private Tag getNewTag() { + return new Tag("Tag name", Color.of("#fff")); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/tags/UpdateTagImplTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/tags/UpdateTagImplTest.java new file mode 100644 index 0000000..2b7ae65 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/tags/UpdateTagImplTest.java @@ -0,0 +1,116 @@ +package tech.pegase.z3.domain.usecase.tags; + +import jakarta.inject.Inject; +import java.util.Optional; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.domain.usecase.tags.UpdateTag.Input.WhereUuid; +import tech.pegase.z3.domain.valueobject.Color; + +public class UpdateTagImplTest { + private final TagRepository tagRepository; + private final UpdateTagImpl updateUseCase; + + @Inject + UpdateTagImplTest() { + this.tagRepository = Mockito.mock(TagRepository.class); + this.updateUseCase = new UpdateTagImpl(tagRepository); + } + + @Test + public void canUpdateTag() { + // Arrange + var tag = getNewTag(); + var uuid = tag.getUuid(); + var name = tag.getName(); + var color = tag.getColor(); + Mockito.doAnswer(i -> Optional.of(tag)).when(tagRepository).findByUuid(Mockito.any(UUID.class)); + + // Act + var output = updateUseCase.run(new WhereUuid(uuid, name, color)); + + // Assert + Mockito.verify(tagRepository).findByUuid(Mockito.any(UUID.class)); + + Assertions.assertInstanceOf( + UpdateTag.Output.Updated.class, + output, + "Given a slug, name and color, a tag should be updated"); + var createdOutput = (UpdateTag.Output.Updated) output; + Assertions.assertEquals( + name, + createdOutput.value().name(), + "Update tag use case should return the same name as input"); + Assertions.assertEquals( + color, + createdOutput.value().color(), + "Update tag use case should return the same color as input"); + } + + @Test + public void cannotUpdateTagIfNameIsEmpty() { + // Arrange + var tag = getNewTag(); + var uuid = tag.getUuid(); + var color = tag.getColor(); + + // Act + var output = updateUseCase.run(new WhereUuid(uuid, "", color)); + + // Assert + Assertions.assertInstanceOf( + UpdateTag.Output.NotUpdated.class, + output, + "Given a slug, name and color, a tag should not be updated if name is empty"); + } + + @Test + public void cannotUpdateTagIfItCannotBeFetched() { + // Arrange + var tag = getNewTag(); + var uuid = tag.getUuid(); + var name = tag.getName(); + var color = tag.getColor(); + Mockito.doAnswer(i -> Optional.empty()).when(tagRepository).findByUuid(Mockito.any(UUID.class)); + + // Act + var output = updateUseCase.run(new WhereUuid(uuid, name, color)); + + // Assert + Mockito.verify(tagRepository).findByUuid(Mockito.any(UUID.class)); + + Assertions.assertInstanceOf( + UpdateTag.Output.NotUpdated.class, + output, + "Given a slug, name and color, a tag should not be updated if cannot fetch the tag"); + } + + @Test + public void cannotUpdateTagIfNameIsAlreadyUsed() { + // Arrange + var tag = new Tag("Tag name", Color.of("#fff")); + var uuid = tag.getUuid(); + var name = "similarTag"; + var color = tag.getColor(); + var similarTag = new Tag("similarTag", Color.of("#fff")); + Mockito.when(tagRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.of(tag)); + Mockito.when(tagRepository.findByName(name)).thenReturn(Optional.of(similarTag)); + + // Act + var output = updateUseCase.run(new WhereUuid(uuid, name, color)); + + // Assert + Mockito.verify(tagRepository).findByUuid(Mockito.any(UUID.class)); + Mockito.verify(tagRepository).findByName(name); + Mockito.verifyNoMoreInteractions(tagRepository); + Assertions.assertInstanceOf(UpdateTag.Output.NotUpdated.class, output); + } + + private Tag getNewTag() { + return new Tag("Tag name", Color.of("#fff")); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/ChangeUserPasswordTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/ChangeUserPasswordTest.java new file mode 100644 index 0000000..9e21b4e --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/ChangeUserPasswordTest.java @@ -0,0 +1,158 @@ +package tech.pegase.z3.domain.usecase.users; + +import java.util.Optional; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Credential; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.CredentialRepository; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.port.service.HashProvider; +import tech.pegase.z3.domain.usecase.users.ChangeUserPassword.Input; +import tech.pegase.z3.domain.usecase.users.ChangeUserPassword.Output; +import tech.pegase.z3.domain.valueobject.Password; +import tech.pegase.z3.domain.valueobject.concepts.Hash; +import tech.pegase.z3.domain.valueobject.hashes.PasswordHash; + +public class ChangeUserPasswordTest { + private final UserRepository userRepository; + private final CredentialRepository credentialRepository; + private final HashProvider hashProvider; + private final ChangeUserPassword changeUserPassword; + + public ChangeUserPasswordTest() { + this.userRepository = Mockito.mock(UserRepository.class); + this.credentialRepository = Mockito.mock(CredentialRepository.class); + this.hashProvider = Mockito.mock(HashProvider.class); + this.changeUserPassword = + new ChangeUserPasswordImpl(userRepository, credentialRepository, hashProvider); + } + + @Test + public void canChangeUserPassword() { + // Given + var userUuid = UUID.randomUUID(); + var credentialUuid = UUID.randomUUID(); + var user = Mockito.mock(User.class); + var credential = Mockito.mock(Credential.class); + var currentPassword = Password.of("P4$$word......."); + var newPassword = Password.of("NewP4$$word......."); + var curentPasswordHash = PasswordHash.of("$p$a$ssword"); + var newPasswordHash = PasswordHash.of("$newp$a$ssword"); + var input = new Input.WhereId(userUuid, currentPassword, newPassword); + Mockito.when(userRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.of(user)); + Mockito.when(credentialRepository.findById(Mockito.any(UUID.class))) + .thenReturn(Optional.of(credential)); + Mockito.when(user.getCredentialUuid()).thenReturn(credentialUuid); + Mockito.when(hashProvider.areEquals(Mockito.any(Hash.class), Mockito.any(String.class))) + .thenReturn(true); + Mockito.when(credential.getPassword()).thenReturn(curentPasswordHash); + Mockito.when(hashProvider.hash(PasswordHash.class, newPassword.value())) + .thenReturn(newPasswordHash); + + // When + var output = changeUserPassword.run(input); + + // Then + Mockito.verify(hashProvider).hash(PasswordHash.class, newPassword.value()); + Mockito.verify(credential).setPassword(Mockito.any(PasswordHash.class)); + Mockito.verify(credentialRepository).update(Mockito.any(Credential.class)); + Assertions.assertInstanceOf(Output.Changed.class, output, "password should be changed"); + } + + @Test + public void cannotChangeUserPasswordIfUserDoesNotExist() { + // Given + var userUuid = UUID.randomUUID(); + var currentPassword = Password.of("P4$$word......."); + var newPassword = Password.of("NewP4$$word......."); + var input = new Input.WhereId(userUuid, currentPassword, newPassword); + + // When + var output = changeUserPassword.run(input); + + // Then + Assertions.assertInstanceOf( + Output.NoSuchUser.class, + output, + "password should not be changed if the user does not exists"); + } + + @Test + public void cannotChangeUserPasswordIfCredentialDoesNotExist() { + // Given + var userUuid = UUID.randomUUID(); + var user = Mockito.mock(User.class); + var currentPassword = Password.of("P4$$word......."); + var newPassword = Password.of("NewP4$$word......."); + var input = new Input.WhereId(userUuid, currentPassword, newPassword); + Mockito.when(userRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.of(user)); + Mockito.when(credentialRepository.findById(Mockito.any(UUID.class))) + .thenReturn(Optional.empty()); + + // Then + Assertions.assertThrows( + IllegalStateException.class, + () -> { + // When + changeUserPassword.run(input); + }); + } + + @Test + public void cannotChangeUserPasswordIfNewPasswordEqualsTheCurrentPassword() { + // Given + var userUuid = UUID.randomUUID(); + var credentialUuid = UUID.randomUUID(); + var user = Mockito.mock(User.class); + var credential = Mockito.mock(Credential.class); + var currentPassword = Password.of("P4$$word......."); + var newPassword = Password.of("P4$$word......."); + var input = new Input.WhereId(userUuid, currentPassword, newPassword); + Mockito.when(userRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.of(user)); + Mockito.when(credentialRepository.findById(Mockito.any(UUID.class))) + .thenReturn(Optional.of(credential)); + Mockito.when(user.getCredentialUuid()).thenReturn(credentialUuid); + + // When + var output = changeUserPassword.run(input); + + // Then + Assertions.assertInstanceOf( + Output.NotChanged.class, + output, + "password should not be changed if new password is not different thant the actual"); + } + + @Test + public void cannotChangeUserPasswordIfCurrentPasswordDoesNotMatch() { + // Given + var userUuid = UUID.randomUUID(); + var credentialUuid = UUID.randomUUID(); + var user = Mockito.mock(User.class); + var credential = Mockito.mock(Credential.class); + var currentPassword = Password.of("P4$$word......."); + var newPassword = Password.of("NewP4$$word......."); + var curentPasswordHash = PasswordHash.of("$p$a$ssword"); + var input = new Input.WhereId(userUuid, currentPassword, newPassword); + Mockito.when(userRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.of(user)); + Mockito.when(credentialRepository.findById(Mockito.any(UUID.class))) + .thenReturn(Optional.of(credential)); + Mockito.when(user.getCredentialUuid()).thenReturn(credentialUuid); + Mockito.when(hashProvider.areEquals(Mockito.any(Hash.class), Mockito.any(String.class))) + .thenReturn(false); + Mockito.when(credential.getPassword()).thenReturn(curentPasswordHash); + + // When + var output = changeUserPassword.run(input); + + // Then + Mockito.verify(hashProvider).areEquals(Mockito.any(Hash.class), Mockito.any(String.class)); + Assertions.assertInstanceOf( + Output.NotChanged.class, + output, + "password should not be changed if current password is invalid"); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/CreateUserTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/CreateUserTest.java new file mode 100644 index 0000000..ac23fc6 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/CreateUserTest.java @@ -0,0 +1,354 @@ +package tech.pegase.z3.domain.usecase.users; + +import java.util.Optional; +import java.util.Set; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Credential; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.CredentialRepository; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.port.service.HashProvider; +import tech.pegase.z3.domain.port.service.MessageSender; +import tech.pegase.z3.domain.port.service.PasswordGenerator; +import tech.pegase.z3.domain.usecase.users.CreateUser.Input; +import tech.pegase.z3.domain.usecase.users.CreateUser.Output; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.domain.valueobject.Login; +import tech.pegase.z3.domain.valueobject.Message; +import tech.pegase.z3.domain.valueobject.Role; +import tech.pegase.z3.domain.valueobject.Role.AccessLevel; +import tech.pegase.z3.domain.valueobject.hashes.PasswordHash; + +public class CreateUserTest { + private final PasswordGenerator passwordGenerator; + private final MessageSender messageSender; + private final UserRepository userRepository; + private final BrandRepository brandRepository; + private final CredentialRepository credentialRepository; + private final HashProvider hashProvider; + private final CreateUser createUser; + + CreateUserTest() { + this.passwordGenerator = Mockito.mock(PasswordGenerator.class); + this.messageSender = Mockito.mock(MessageSender.class); + this.userRepository = Mockito.mock(UserRepository.class); + this.brandRepository = Mockito.mock(BrandRepository.class); + this.credentialRepository = Mockito.mock(CredentialRepository.class); + this.hashProvider = Mockito.mock(HashProvider.class); + + createUser = + new CreateUserImpl( + passwordGenerator, + messageSender, + userRepository, + brandRepository, + credentialRepository, + hashProvider); + } + + @Test + public void canCreateUserByAnAdmin() { + // GIVEN + var authUserUuid = UUID.randomUUID(); + var authUserRole = Role.of(AccessLevel.ADMINISTRATOR); + var authUser = Mockito.mock(User.class); + Mockito.when(authUser.getRole()).thenReturn(authUserRole); + + var firstName = "firstName"; + var lastName = "lastName"; + var email = Email.of("email@email.com"); + var role = Role.of(AccessLevel.PUBLISHER); + var login = Login.of("user.net"); + var brandsUuids = Set.of(UUID.randomUUID()); + var password = "SuperP4ssword."; + var passwordHash = PasswordHash.of("$Su$pass$word"); + var messageStatus = new MessageSender.Status.Success(); + Mockito.when(userRepository.findByUuid(Mockito.any(UUID.class))) + .thenReturn(Optional.of(authUser)); + Mockito.when(passwordGenerator.generatePassword(Mockito.anyInt())).thenReturn(password); + Mockito.when(userRepository.exists(Mockito.any(UUID.class))).thenReturn(false); + Mockito.when(credentialRepository.findByLogin(Mockito.any(Login.class))) + .thenReturn(Optional.empty()); + Mockito.when(brandRepository.exists(Mockito.any(UUID.class))).thenReturn(true); + Mockito.when(hashProvider.hash(PasswordHash.class, "password")).thenReturn(passwordHash); + Mockito.doNothing().when(credentialRepository).persist(Mockito.any(Credential.class)); + Mockito.doNothing().when(userRepository).persist(Mockito.any(User.class)); + Mockito.when(messageSender.send(Mockito.any(Message.class))).thenReturn(messageStatus); + + // WHEN + var output = + createUser.run( + new Input.NewUserBy( + authUserUuid, firstName, lastName, email, role, login, brandsUuids)); + + // THEN + Mockito.verify(messageSender).send(Mockito.any(Message.class)); + Assertions.assertInstanceOf(Output.Created.class, output); + } + + @Test + public void canCreateUser() { + // GIVEN + var firstName = "firstName"; + var lastName = "lastName"; + var email = Email.of("email@email.com"); + var role = Role.of(AccessLevel.PUBLISHER); + var login = Login.of("user.net"); + var brandsUuids = Set.of(UUID.randomUUID()); + var password = "SuperP4ssword."; + var passwordHash = PasswordHash.of("$Su$pass$word"); + var messageStatus = new MessageSender.Status.Success(); + Mockito.when(passwordGenerator.generatePassword(Mockito.anyInt())).thenReturn(password); + Mockito.when(userRepository.exists(Mockito.any(UUID.class))).thenReturn(false); + Mockito.when(credentialRepository.findByLogin(Mockito.any(Login.class))) + .thenReturn(Optional.empty()); + Mockito.when(brandRepository.exists(Mockito.any(UUID.class))).thenReturn(true); + Mockito.when(hashProvider.hash(PasswordHash.class, "password")).thenReturn(passwordHash); + Mockito.doNothing().when(credentialRepository).persist(Mockito.any(Credential.class)); + Mockito.doNothing().when(userRepository).persist(Mockito.any(User.class)); + Mockito.when(messageSender.send(Mockito.any(Message.class))).thenReturn(messageStatus); + + // WHEN + var output = + createUser.run(new Input.NewUser(firstName, lastName, email, role, login, brandsUuids)); + + // THEN + Mockito.verify(messageSender).send(Mockito.any(Message.class)); + Assertions.assertInstanceOf(Output.Created.class, output); + } + + @Test + public void cannotCreateUserByNonExistingUser() { + // GIVEN + var authUserUuid = UUID.randomUUID(); + + var firstName = "firstName"; + var lastName = "lastName"; + var email = Email.of("email@email.com"); + var role = Role.of(AccessLevel.ADMINISTRATOR); + var login = Login.of("user.net"); + var brandsUuids = Set.of(UUID.randomUUID()); + var password = "SuperP4ssword."; + Mockito.when(userRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.empty()); + Mockito.when(passwordGenerator.generatePassword(Mockito.anyInt())).thenReturn(password); + + // WHEN + var output = + createUser.run( + new Input.NewUserBy( + authUserUuid, firstName, lastName, email, role, login, brandsUuids)); + + // THEN + Mockito.verify(userRepository).findByUuid(Mockito.any(UUID.class)); + Mockito.verifyNoMoreInteractions(userRepository); + Assertions.assertInstanceOf(Output.Forbidden.class, output); + } + + @Test + public void cannotCreateUserByUserHavingInferiorRole() { + // GIVEN + var authUserUuid = UUID.randomUUID(); + var authUserRole = Role.of(AccessLevel.PUBLISHER); + var authUser = Mockito.mock(User.class); + Mockito.when(authUser.getRole()).thenReturn(authUserRole); + + var firstName = "firstName"; + var lastName = "lastName"; + var email = Email.of("email@email.com"); + var role = Role.of(AccessLevel.ADMINISTRATOR); + var login = Login.of("user.net"); + var brandsUuids = Set.of(UUID.randomUUID()); + var password = "SuperP4ssword."; + Mockito.when(userRepository.findByUuid(Mockito.any(UUID.class))) + .thenReturn(Optional.of(authUser)); + Mockito.when(passwordGenerator.generatePassword(Mockito.anyInt())).thenReturn(password); + + // WHEN + var output = + createUser.run( + new Input.NewUserBy( + authUserUuid, firstName, lastName, email, role, login, brandsUuids)); + + // THEN + Mockito.verify(userRepository).findByUuid(Mockito.any(UUID.class)); + Mockito.verifyNoMoreInteractions(userRepository); + Assertions.assertInstanceOf(Output.NotCreated.class, output); + } + + @Test + public void cannotCreateUserWithEmptyFirstName() { + // GIVEN + var firstName = ""; + var lastName = "lastName"; + var email = Email.of("email@email.com"); + var role = Role.of(AccessLevel.PUBLISHER); + var login = Login.of("user.net"); + var brandsUuids = Set.of(UUID.randomUUID()); + var password = "SuperP4ssword."; + Mockito.when(passwordGenerator.generatePassword(Mockito.anyInt())).thenReturn(password); + + // WHEN + var output = + createUser.run(new Input.NewUser(firstName, lastName, email, role, login, brandsUuids)); + + // THEN + Mockito.verifyNoInteractions(userRepository); + Assertions.assertInstanceOf(Output.NotCreated.class, output); + } + + @Test + public void cannotCreateUserWithEmptyLastName() { + // GIVEN + var firstName = "firstName"; + var lastName = ""; + var email = Email.of("email@email.com"); + var role = Role.of(AccessLevel.PUBLISHER); + var login = Login.of("user.net"); + var brandsUuids = Set.of(UUID.randomUUID()); + var password = "SuperP4ssword."; + Mockito.when(passwordGenerator.generatePassword(Mockito.anyInt())).thenReturn(password); + + // WHEN + var output = + createUser.run(new Input.NewUser(firstName, lastName, email, role, login, brandsUuids)); + + // THEN + Mockito.verifyNoInteractions(userRepository); + Assertions.assertInstanceOf(Output.NotCreated.class, output); + } + + @Test + public void cannotCreateUserWithAlreadyExistingEmail() { + // GIVEN + var firstName = "firstName"; + var lastName = "lastName"; + var email = Email.of("email@email.com"); + var role = Role.of(AccessLevel.PUBLISHER); + var login = Login.of("user.net"); + var brandsUuids = Set.of(UUID.randomUUID()); + var password = "SuperP4ssword."; + Mockito.when(passwordGenerator.generatePassword(Mockito.anyInt())).thenReturn(password); + Mockito.when(userRepository.exists(Mockito.any(Email.class))).thenReturn(true); + + // WHEN + var output = + createUser.run(new Input.NewUser(firstName, lastName, email, role, login, brandsUuids)); + + // THEN + Mockito.verify(userRepository).exists(Mockito.any(Email.class)); + Mockito.verifyNoMoreInteractions(userRepository); + Assertions.assertInstanceOf(Output.NotCreated.class, output); + } + + @Test + public void cannotCreateUserWithAlreadyExistingCredentials() { + // GIVEN + var firstName = "firstName"; + var lastName = "lastName"; + var email = Email.of("email@email.com"); + var role = Role.of(AccessLevel.PUBLISHER); + var login = Login.of("user.net"); + var brandsUuids = Set.of(UUID.randomUUID()); + var password = "SuperP4ssword."; + Mockito.when(passwordGenerator.generatePassword(Mockito.anyInt())).thenReturn(password); + Mockito.when(userRepository.exists(Mockito.any(Email.class))).thenReturn(false); + Mockito.when(credentialRepository.findByLogin(Mockito.any(Login.class))) + .thenReturn(Optional.of(Mockito.mock(Credential.class))); + + // WHEN + var output = + createUser.run(new Input.NewUser(firstName, lastName, email, role, login, brandsUuids)); + + // THEN + Mockito.verify(userRepository).exists(Mockito.any(Email.class)); + Mockito.verify(credentialRepository).findByLogin(Mockito.any(Login.class)); + Mockito.verifyNoMoreInteractions(userRepository); + Assertions.assertInstanceOf(Output.NotCreated.class, output); + } + + @Test + public void cannotCreateUserWithANonExistingBrand() { + // GIVEN + var firstName = "firstName"; + var lastName = "lastName"; + var email = Email.of("email@email.com"); + var role = Role.of(AccessLevel.PUBLISHER); + var login = Login.of("user.net"); + var brandsUuids = Set.of(UUID.randomUUID()); + var password = "SuperP4ssword."; + Mockito.when(passwordGenerator.generatePassword(Mockito.anyInt())).thenReturn(password); + Mockito.when(userRepository.exists(Mockito.any(Email.class))).thenReturn(false); + Mockito.when(credentialRepository.findByLogin(Mockito.any(Login.class))) + .thenReturn(Optional.empty()); + Mockito.when(brandRepository.exists(Mockito.any(UUID.class))).thenReturn(false); + + // WHEN + var output = + createUser.run(new Input.NewUser(firstName, lastName, email, role, login, brandsUuids)); + + // THEN + Mockito.verify(credentialRepository).findByLogin(Mockito.any(Login.class)); + Mockito.verify(brandRepository).exists(Mockito.any(UUID.class)); + Mockito.verify(userRepository, Mockito.times(0)).persist(Mockito.any(User.class)); + Assertions.assertInstanceOf(Output.NotCreated.class, output); + } + + @Test + public void cannotCreateUserIfMailIsNotSent() { + // GIVEN + var firstName = "firstName"; + var lastName = "lastName"; + var email = Email.of("email@email.com"); + var role = Role.of(AccessLevel.PUBLISHER); + var login = Login.of("user.net"); + var brandsUuids = Set.of(UUID.randomUUID()); + var password = "SuperP4ssword."; + var passwordHash = PasswordHash.of("$Su$pass$word"); + var messageStatus = new MessageSender.Status.Failed(); + Mockito.when(passwordGenerator.generatePassword(Mockito.anyInt())).thenReturn(password); + Mockito.when(userRepository.exists(Mockito.any(UUID.class))).thenReturn(false); + Mockito.when(credentialRepository.findByLogin(Mockito.any(Login.class))) + .thenReturn(Optional.empty()); + Mockito.when(brandRepository.exists(Mockito.any(UUID.class))).thenReturn(true); + Mockito.when(hashProvider.hash(PasswordHash.class, "password")).thenReturn(passwordHash); + Mockito.doNothing().when(credentialRepository).persist(Mockito.any(Credential.class)); + Mockito.doNothing().when(userRepository).persist(Mockito.any(User.class)); + Mockito.when(messageSender.send(Mockito.any(Message.class))).thenReturn(messageStatus); + + // WHEN + var output = + createUser.run(new Input.NewUser(firstName, lastName, email, role, login, brandsUuids)); + + // THEN + Mockito.verify(messageSender).send(Mockito.any(Message.class)); + Assertions.assertInstanceOf(Output.MessageCannotBeSent.class, output); + } + + @Test + public void cannotCreateUserIfUuidAlreadyExists() { + // GIVEN + var firstName = "firstName"; + var lastName = "lastName"; + var email = Email.of("email@email.com"); + var role = Role.of(AccessLevel.PUBLISHER); + var login = Login.of("user.net"); + var brandsUuids = Set.of(UUID.randomUUID()); + var password = "SuperP4ssword."; + Mockito.when(passwordGenerator.generatePassword(Mockito.anyInt())).thenReturn(password); + Mockito.when(credentialRepository.findByLogin(Mockito.any(Login.class))) + .thenReturn(Optional.empty()); + + // WHEN + var output = + createUser.run(new Input.NewUser(firstName, lastName, email, role, login, brandsUuids)); + + // THEN + Mockito.verify(userRepository, Mockito.never()).persist(Mockito.any(User.class)); + Mockito.verify(messageSender, Mockito.never()).send(Mockito.any(Message.class)); + Assertions.assertInstanceOf(Output.NotCreated.class, output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/GetUserTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/GetUserTest.java new file mode 100644 index 0000000..3277dd1 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/GetUserTest.java @@ -0,0 +1,50 @@ +package tech.pegase.z3.domain.usecase.users; + +import java.util.Optional; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.usecase.users.GetUser.Input; +import tech.pegase.z3.domain.usecase.users.GetUser.Output; + +public class GetUserTest { + private final UserRepository userRepository; + private final GetUser getUser; + + GetUserTest() { + this.userRepository = Mockito.mock(UserRepository.class); + this.getUser = new GetUserImpl(userRepository); + } + + @Test + public void canGetUser() { + // GIVEN + var userUuid = UUID.randomUUID(); + Mockito.when(userRepository.findByUuid(Mockito.any(UUID.class))) + .thenReturn(Optional.of(Mockito.mock(User.class))); + + // WHEN + var output = getUser.run(new Input.ForId(userUuid)); + + // THEN + Mockito.verify(userRepository, Mockito.times(1)).findByUuid(Mockito.any(UUID.class)); + Assertions.assertInstanceOf(Output.Found.class, output); + } + + @Test + public void cannotGetMissingUser() { + // GIVEN + var userUuid = UUID.randomUUID(); + Mockito.when(userRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.empty()); + + // WHEN + var output = getUser.run(new Input.ForId(userUuid)); + + // THEN + Mockito.verify(userRepository, Mockito.times(1)).findByUuid(Mockito.any(UUID.class)); + Assertions.assertInstanceOf(Output.NoSuchUser.class, output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/ListUsersTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/ListUsersTest.java new file mode 100644 index 0000000..15932ba --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/ListUsersTest.java @@ -0,0 +1,38 @@ +package tech.pegase.z3.domain.usecase.users; + +import java.util.List; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.usecase.users.ListUsers.Input; +import tech.pegase.z3.domain.usecase.users.ListUsers.Output; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +public class ListUsersTest { + private final UserRepository userRepository; + private final ListUsers listUsers; + + ListUsersTest() { + this.userRepository = Mockito.mock(UserRepository.class); + this.listUsers = new ListUsersImpl(userRepository); + } + + @Test + public void canListUsers() { + // GIVEN + var user = Mockito.mock(User.class); + var pagination = Pagination.none(); + var paginatedData = PaginatedData.wrap(List.of(user), 1, 0, 1); + Mockito.when(userRepository.findAll(Mockito.any(Pagination.class))).thenReturn(paginatedData); + + // WHEN + var output = listUsers.run(new Input.WithPagination(pagination)); + + // THEN + Mockito.when(userRepository.findAll(Mockito.any(Pagination.class))).thenReturn(paginatedData); + Assertions.assertInstanceOf(Output.PaginatedUsers.class, output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/RemoveUserTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/RemoveUserTest.java new file mode 100644 index 0000000..cc415f0 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/RemoveUserTest.java @@ -0,0 +1,116 @@ +package tech.pegase.z3.domain.usecase.users; + +import java.util.Optional; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.CredentialRepository; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.usecase.users.RemoveUser.Input; +import tech.pegase.z3.domain.usecase.users.RemoveUser.Output; + +public class RemoveUserTest { + private final UserRepository userRepository; + private final CredentialRepository credentialRepository; + private final RemoveUser removeUser; + + RemoveUserTest() { + this.userRepository = Mockito.mock(UserRepository.class); + this.credentialRepository = Mockito.mock(CredentialRepository.class); + this.removeUser = new RemoveUserImpl(userRepository, credentialRepository); + } + + @Test + public void canRemoveUser() { + // GIVEN + var userUuidToRemove = UUID.randomUUID(); + var credentialUuid = UUID.randomUUID(); + var requestingUserUuid = UUID.randomUUID(); + var requestingUser = Mockito.mock(User.class); + var userToRemove = Mockito.mock(User.class); + Mockito.when(requestingUser.getUuid()).thenReturn(requestingUserUuid); + Mockito.when(userRepository.findByUuid(Mockito.eq(requestingUserUuid))) + .thenReturn(Optional.of(requestingUser)); + Mockito.when(userRepository.findByUuid(Mockito.eq(userUuidToRemove))) + .thenReturn(Optional.of(userToRemove)); + Mockito.when(userToRemove.getUuid()).thenReturn(userUuidToRemove); + Mockito.when(userToRemove.getCredentialUuid()).thenReturn(credentialUuid); + Mockito.when(userRepository.remove(Mockito.eq(userUuidToRemove))).thenReturn(true); + + // WHEN + var output = removeUser.run(new Input.WhereUuid(requestingUserUuid, userUuidToRemove)); + + // THEN + Mockito.verify(userRepository).remove(Mockito.eq(userUuidToRemove)); + Mockito.verify(credentialRepository).remove(Mockito.eq(credentialUuid)); + Assertions.assertInstanceOf(Output.Removed.class, output); + } + + @Test + public void cannotRemoveUserForNonExistingAuthUser() { + // GIVEN + var userUuidToRemove = UUID.randomUUID(); + var requestingUserUuid = UUID.randomUUID(); + Mockito.when(userRepository.findByUuid(Mockito.eq(requestingUserUuid))) + .thenReturn(Optional.empty()); + + // WHEN + var output = removeUser.run(new Input.WhereUuid(requestingUserUuid, userUuidToRemove)); + + // THEN + Mockito.verify(userRepository).findByUuid(Mockito.eq(requestingUserUuid)); + Mockito.verifyNoMoreInteractions(userRepository); + Mockito.verifyNoInteractions(credentialRepository); + Assertions.assertInstanceOf(Output.ForbiddenAction.class, output); + } + + @Test + public void cannotRemoveUserOwnAccount() { + // GIVEN + var userUuidToRemove = UUID.randomUUID(); + var requestingUserUuid = UUID.randomUUID(); + var requestingUser = Mockito.mock(User.class); + Mockito.when(requestingUser.getUuid()).thenReturn(userUuidToRemove); + Mockito.when(userRepository.findByUuid(Mockito.eq(requestingUserUuid))) + .thenReturn(Optional.of(requestingUser)); + + // WHEN + var output = removeUser.run(new Input.WhereUuid(requestingUserUuid, userUuidToRemove)); + + // THEN + Mockito.verify(userRepository).findByUuid(Mockito.eq(requestingUserUuid)); + Mockito.verifyNoMoreInteractions(userRepository); + Mockito.verifyNoInteractions(credentialRepository); + Assertions.assertInstanceOf(Output.ForbiddenAction.class, output); + } + + @Test + public void canRemoveNonExistingUser() { + // GIVEN + var userUuidToRemove = UUID.randomUUID(); + var credentialUuid = UUID.randomUUID(); + var requestingUserUuid = UUID.randomUUID(); + var requestingUser = Mockito.mock(User.class); + var userToRemove = Mockito.mock(User.class); + Mockito.when(requestingUser.getUuid()).thenReturn(requestingUserUuid); + Mockito.when(userRepository.findByUuid(Mockito.eq(requestingUserUuid))) + .thenReturn(Optional.of(requestingUser)); + Mockito.when(userRepository.findByUuid(Mockito.eq(userUuidToRemove))) + .thenReturn(Optional.empty()); + Mockito.when(userToRemove.getUuid()).thenReturn(userUuidToRemove); + Mockito.when(userToRemove.getCredentialUuid()).thenReturn(credentialUuid); + Mockito.when(userRepository.remove(Mockito.eq(userUuidToRemove))).thenReturn(true); + + // WHEN + var output = removeUser.run(new Input.WhereUuid(requestingUserUuid, userUuidToRemove)); + + // THEN + Mockito.verify(userRepository).findByUuid(Mockito.eq(requestingUserUuid)); + Mockito.verify(userRepository).findByUuid(Mockito.eq(userUuidToRemove)); + Mockito.verifyNoMoreInteractions(userRepository); + Mockito.verifyNoInteractions(credentialRepository); + Assertions.assertInstanceOf(Output.NotSuchUser.class, output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/ResetUserPasswordTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/ResetUserPasswordTest.java new file mode 100644 index 0000000..92e97e9 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/ResetUserPasswordTest.java @@ -0,0 +1,163 @@ +package tech.pegase.z3.domain.usecase.users; + +import java.util.Optional; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Credential; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.CredentialRepository; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.port.service.HashProvider; +import tech.pegase.z3.domain.port.service.MessageSender; +import tech.pegase.z3.domain.port.service.PasswordGenerator; +import tech.pegase.z3.domain.usecase.users.ResetUserPassword.Input; +import tech.pegase.z3.domain.usecase.users.ResetUserPassword.Output; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.domain.valueobject.Login; +import tech.pegase.z3.domain.valueobject.Message; +import tech.pegase.z3.domain.valueobject.hashes.PasswordHash; + +public class ResetUserPasswordTest { + private final PasswordGenerator passwordGenerator; + private final MessageSender messageSender; + private final HashProvider hashProvider; + private final CredentialRepository credentialRepository; + private final UserRepository userRepository; + private final ResetUserPassword resetUserPassword; + + ResetUserPasswordTest() { + this.passwordGenerator = Mockito.mock(PasswordGenerator.class); + this.messageSender = Mockito.mock(MessageSender.class); + this.hashProvider = Mockito.mock(HashProvider.class); + this.credentialRepository = Mockito.mock(CredentialRepository.class); + this.userRepository = Mockito.mock(UserRepository.class); + this.resetUserPassword = + new ResetUserPasswordImpl( + passwordGenerator, messageSender, credentialRepository, userRepository, hashProvider); + } + + @Test + public void canResetPassword() { + // GIVEN + var newPassword = "Sup3r.P4ssword"; + var newPasswordHash = PasswordHash.of("$Su$per$Hash"); + var userUuidToReset = UUID.randomUUID(); + var userCredentialUuid = UUID.randomUUID(); + var userToRemove = Mockito.mock(User.class); + var userCredentialToReset = Mockito.mock(Credential.class); + var userEmailToRemove = new Email("user@exampl.net"); + var userLoginToRemove = new Login("user.net"); + + Mockito.when(userToRemove.getCredentialUuid()).thenReturn(userCredentialUuid); + Mockito.when(userToRemove.getEmail()).thenReturn(userEmailToRemove); + Mockito.when(userCredentialToReset.getLogin()).thenReturn(userLoginToRemove); + + Mockito.when(userRepository.findByUuid(userUuidToReset)).thenReturn(Optional.of(userToRemove)); + Mockito.when(credentialRepository.findById(userToRemove.getCredentialUuid())) + .thenReturn(Optional.of(userCredentialToReset)); + Mockito.when(passwordGenerator.generatePassword(Mockito.anyInt())).thenReturn(newPassword); + Mockito.when(hashProvider.hash(PasswordHash.class, newPassword)).thenReturn(newPasswordHash); + Mockito.doNothing().when(credentialRepository).update(Mockito.any(Credential.class)); + Mockito.when(messageSender.send(Mockito.any(Message.class))) + .thenReturn(new MessageSender.Status.Success()); + + // WHEN + var output = resetUserPassword.run(new Input.ForUser(userUuidToReset)); + + // THEN + Mockito.verify(messageSender).send(Mockito.any(Message.class)); + Mockito.verify(credentialRepository).update(Mockito.any(Credential.class)); + Assertions.assertInstanceOf(Output.MessageSent.class, output); + } + + @Test + public void cannotResetNonExistingUserPassword() { + // GIVEN + var userUuidToReset = UUID.randomUUID(); + var userCredentialUuid = UUID.randomUUID(); + var userToRemove = Mockito.mock(User.class); + var userCredentialToReset = Mockito.mock(Credential.class); + var userEmailToRemove = new Email("user@exampl.net"); + var userLoginToRemove = new Login("user.net"); + + Mockito.when(userToRemove.getCredentialUuid()).thenReturn(userCredentialUuid); + Mockito.when(userToRemove.getEmail()).thenReturn(userEmailToRemove); + Mockito.when(userCredentialToReset.getLogin()).thenReturn(userLoginToRemove); + + Mockito.when(userRepository.findByUuid(userUuidToReset)).thenReturn(Optional.empty()); + + // WHEN + var output = resetUserPassword.run(new Input.ForUser(userUuidToReset)); + + // THEN + Mockito.verify(userRepository).findByUuid(userUuidToReset); + Mockito.verifyNoInteractions(messageSender); + Mockito.verifyNoInteractions(credentialRepository); + Mockito.verifyNoMoreInteractions(userRepository); + Assertions.assertInstanceOf(Output.NotSuchUser.class, output); + } + + @Test + public void cannotResetUserPasswordIfMissingCredentials() { + // THEN + Assertions.assertThrows( + IllegalStateException.class, + () -> { + // GIVEN + var userUuidToReset = UUID.randomUUID(); + var userCredentialUuid = UUID.randomUUID(); + var userToRemove = Mockito.mock(User.class); + var userCredentialToReset = Mockito.mock(Credential.class); + var userEmailToRemove = new Email("user@exampl.net"); + var userLoginToRemove = new Login("user.net"); + + Mockito.when(userToRemove.getCredentialUuid()).thenReturn(userCredentialUuid); + Mockito.when(userToRemove.getEmail()).thenReturn(userEmailToRemove); + Mockito.when(userCredentialToReset.getLogin()).thenReturn(userLoginToRemove); + + Mockito.when(userRepository.findByUuid(userUuidToReset)) + .thenReturn(Optional.of(userToRemove)); + Mockito.when(credentialRepository.findById(userToRemove.getCredentialUuid())) + .thenReturn(Optional.empty()); + + // WHEN + resetUserPassword.run(new Input.ForUser(userUuidToReset)); + }); + } + + @Test + public void cannotResetUserPasswordWhenMessageSendFailed() { + // GIVEN + var newPassword = "Sup3r.P4ssword"; + var newPasswordHash = PasswordHash.of("$Su$per$Hash"); + var userUuidToReset = UUID.randomUUID(); + var userCredentialUuid = UUID.randomUUID(); + var userToRemove = Mockito.mock(User.class); + var userCredentialToReset = Mockito.mock(Credential.class); + var userEmailToRemove = new Email("user@exampl.net"); + var userLoginToRemove = new Login("user.net"); + + Mockito.when(userToRemove.getCredentialUuid()).thenReturn(userCredentialUuid); + Mockito.when(userToRemove.getEmail()).thenReturn(userEmailToRemove); + Mockito.when(userCredentialToReset.getLogin()).thenReturn(userLoginToRemove); + + Mockito.when(userRepository.findByUuid(userUuidToReset)).thenReturn(Optional.of(userToRemove)); + Mockito.when(credentialRepository.findById(userToRemove.getCredentialUuid())) + .thenReturn(Optional.of(userCredentialToReset)); + Mockito.when(passwordGenerator.generatePassword(Mockito.anyInt())).thenReturn(newPassword); + Mockito.when(hashProvider.hash(PasswordHash.class, newPassword)).thenReturn(newPasswordHash); + Mockito.doNothing().when(credentialRepository).update(Mockito.any(Credential.class)); + Mockito.when(messageSender.send(Mockito.any(Message.class))) + .thenReturn(new MessageSender.Status.Failed()); + + // WHEN + var output = resetUserPassword.run(new Input.ForUser(userUuidToReset)); + + // THEN + Mockito.verify(credentialRepository).update(Mockito.any(Credential.class)); + Mockito.verify(messageSender).send(Mockito.any(Message.class)); + Assertions.assertInstanceOf(Output.MessageCannotBeSent.class, output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/UpdateUserTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/UpdateUserTest.java new file mode 100644 index 0000000..f80e9c2 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/usecase/users/UpdateUserTest.java @@ -0,0 +1,136 @@ +package tech.pegase.z3.domain.usecase.users; + +import java.util.Optional; +import java.util.Set; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.usecase.users.UpdateUser.Input; +import tech.pegase.z3.domain.usecase.users.UpdateUser.Output; +import tech.pegase.z3.domain.valueobject.Email; + +public class UpdateUserTest { + private final UserRepository userRepository; + private final BrandRepository brandRepository; + private final UpdateUser updateUser; + + UpdateUserTest() { + this.userRepository = Mockito.mock(UserRepository.class); + this.brandRepository = Mockito.mock(BrandRepository.class); + this.updateUser = new UpdateUserImpl(userRepository, brandRepository); + } + + @Test + public void canUpdateUser() { + // GIVEN + var userId = UUID.randomUUID(); + var userFirstName = "firstName"; + var userLastName = "lastName"; + var userEmail = Email.of("user@example.net"); + var userBrands = Set.of(UUID.randomUUID(), UUID.randomUUID()); + var user = Mockito.mock(User.class); + + Mockito.when(brandRepository.exists(Mockito.any(UUID.class))).thenReturn(true); + Mockito.when(userRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.of(user)); + Mockito.doNothing().when(userRepository).persist(Mockito.any(User.class)); + + // WHEN + var output = + updateUser.run( + new Input.WhereId(userId, userFirstName, userLastName, userEmail, userBrands)); + + // THEN + Mockito.verify(userRepository).persist(Mockito.any(User.class)); + Assertions.assertInstanceOf(Output.Updated.class, output); + } + + @Test + public void cannotUpdateUserWithEmptyFirstName() { + // GIVEN + var userId = UUID.randomUUID(); + var userFirstName = ""; + var userLastName = "lastName"; + var userEmail = Email.of("user@example.net"); + var userBrands = Set.of(UUID.randomUUID(), UUID.randomUUID()); + + // WHEN + var output = + updateUser.run( + new Input.WhereId(userId, userFirstName, userLastName, userEmail, userBrands)); + + // THEN + Mockito.verifyNoInteractions(userRepository); + Assertions.assertInstanceOf(Output.NotUpdated.class, output); + } + + @Test + public void cannotUpdateUserWithEmptyLastName() { + // GIVEN + var userId = UUID.randomUUID(); + var userFirstName = "firstName"; + var userLastName = ""; + var userEmail = Email.of("user@example.net"); + var userBrands = Set.of(UUID.randomUUID(), UUID.randomUUID()); + + // WHEN + var output = + updateUser.run( + new Input.WhereId(userId, userFirstName, userLastName, userEmail, userBrands)); + + // THEN + Assertions.assertInstanceOf(Output.NotUpdated.class, output); + } + + @Test + public void cannotUpdateNonExistingUser() { + // GIVEN + var userId = UUID.randomUUID(); + var userFirstName = "firstName"; + var userLastName = "lastName"; + var userEmail = Email.of("user@example.net"); + var userBrands = Set.of(UUID.randomUUID(), UUID.randomUUID()); + + Mockito.when(brandRepository.exists(Mockito.any(UUID.class))).thenReturn(true); + Mockito.when(userRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.empty()); + + // WHEN + var output = + updateUser.run( + new Input.WhereId(userId, userFirstName, userLastName, userEmail, userBrands)); + + // THEN + Mockito.verify(userRepository).findByUuid(Mockito.any(UUID.class)); + Mockito.verifyNoMoreInteractions(userRepository); + Assertions.assertInstanceOf(Output.NoSuchUser.class, output); + } + + @Test + public void canUpdateUserWhenMissingBrandIsProvided() { + // GIVEN + var userId = UUID.randomUUID(); + var userFirstName = "firstName"; + var userLastName = "lastName"; + var userEmail = Email.of("user@example.net"); + var userBrands = Set.of(UUID.randomUUID(), UUID.randomUUID()); + var user = Mockito.mock(User.class); + + Mockito.when(brandRepository.exists(Mockito.any(UUID.class))) + .thenReturn(true) + .thenReturn(false); + Mockito.when(userRepository.findByUuid(Mockito.any(UUID.class))).thenReturn(Optional.of(user)); + Mockito.doNothing().when(userRepository).persist(Mockito.any(User.class)); + + // WHEN + var output = + updateUser.run( + new Input.WhereId(userId, userFirstName, userLastName, userEmail, userBrands)); + + // THEN + Mockito.verify(userRepository, Mockito.never()).persist(Mockito.any(User.class)); + Assertions.assertInstanceOf(Output.NotUpdated.class, output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/ColorTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/ColorTest.java new file mode 100644 index 0000000..b81dd05 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/ColorTest.java @@ -0,0 +1,74 @@ +package tech.pegase.z3.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class ColorTest { + + @Test + public void colorValueIsRequired() { + Assertions.assertThrows( + IllegalStateException.class, () -> new Color(null), "Color value should be required"); + } + + @Test + public void colorCanBeCreated() { + Assertions.assertDoesNotThrow( + () -> { + new Color(0x000000); + new Color(0x0D0D0D); + new Color(0xFFFFFF); + Color.of(0); + Color.of(0xFFFFFF); + Color.of("#000"); + Color.of("#000000"); + Color.of("#FFF"); + Color.of("#FFFFFF"); + }, + "Color should be able to exists using a valid html color value"); + } + + @Test + public void colorCanBeStringify() { + Assertions.assertEquals( + "#000000", + (new Color(0)).toString(), + "Color should be able to be converted to a html color string format"); + Assertions.assertEquals( + "#000FFF", + (new Color(0xFFF)).toString(), + "Color should be able to be converted to a html color string format"); + Assertions.assertEquals( + "#FFFFFF", + (new Color(0xFFFFFF)).toString(), + "Color should be able to be converted to a html color string format"); + } + + @Test + public void colorCannotBeCreatedWhenInvalid() { + Assertions.assertThrows( + IllegalStateException.class, + () -> new Color(0x3FFFFFF), + "Color should not be able to exists using an invalid html color value"); + Assertions.assertThrows( + IllegalStateException.class, + () -> new Color(0x1000000), + "Color should not be able to exists using an invalid html color value"); + Assertions.assertThrows( + IllegalStateException.class, + () -> Color.of(0x1000000), + "Color should not be able to exists using an invalid html color value"); + Assertions.assertThrows( + IllegalStateException.class, + () -> Color.of("#VFF"), + "Color should not be able to exists using an invalid html color value"); + Assertions.assertThrows( + IllegalStateException.class, + () -> Color.of("#FFFF"), + "Color should not be able to exists using an invalid html color value"); + Assertions.assertThrows( + IllegalStateException.class, + () -> Color.of("#FFFFFFF"), + "Color should not be able to exists using an invalid html color value"); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/EmailTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/EmailTest.java new file mode 100644 index 0000000..6640448 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/EmailTest.java @@ -0,0 +1,30 @@ +package tech.pegase.z3.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class EmailTest { + + @Test + public void emailValueIsRequired() { + Assertions.assertThrows( + IllegalStateException.class, () -> new Email(null), "Email value should be required"); + } + + @Test + public void emailCanBeCreated() { + Assertions.assertDoesNotThrow( + () -> { + new Email("username@example.com"); + }, + "Email should be able to exists using a valid email value"); + } + + @Test + public void emailCannotBeCreatedWhenInvalid() { + Assertions.assertThrows( + IllegalStateException.class, + () -> new Email("no email here"), + "Email should not be able to exists using an invalid email value"); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/FqdnTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/FqdnTest.java new file mode 100644 index 0000000..87d3215 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/FqdnTest.java @@ -0,0 +1,108 @@ +package tech.pegase.z3.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class FqdnTest { + @Test + public void valueIsRequired() { + Assertions.assertThrows( + IllegalStateException.class, () -> Fqdn.of(null), "Fqdn value should be required"); + Assertions.assertThrows( + IllegalStateException.class, () -> Fqdn.of(""), "Fqdn value should be required"); + } + + @Test + public void canBeEquals() { + var fqnd1 = Fqdn.of("example.com"); + var fqnd2 = Fqdn.of("example.com"); + Assertions.assertEquals(fqnd1, fqnd2, "Fqdn should be equal"); + Assertions.assertEquals(fqnd1, fqnd1, "Fqdn should be equal"); + } + + @Test + public void canBeNonEquals() { + Assertions.assertNotEquals(Fqdn.of("example.com"), Fqdn.of("example.net")); + Assertions.assertNotEquals(Fqdn.of("example.com"), null); + Assertions.assertNotEquals(Fqdn.of("example.com"), "example.com"); + } + + @Test + public void canGetValueUri() { + Assertions.assertDoesNotThrow( + () -> Fqdn.of("example.com").getFqdnUri(), "Fqdn should be able to provide its URI"); + } + + @Test + public void canGetValueValue() { + // Arrange + var fqdnString = "1.sub.example.com"; + var fqdn = Fqdn.of(fqdnString); + + // Act + var output = fqdn.getValue(); + + // Assert + Assertions.assertEquals(fqdnString, output); + } + + @Test + public void urlCanBeCreatedWithoutScheme() { + Assertions.assertDoesNotThrow( + () -> Fqdn.of("example.com"), "Fqdn should be able to exists without a scheme"); + } + + @Test + public void urlCanBeCreatedWithSubdomain() { + Assertions.assertDoesNotThrow( + () -> Fqdn.of("sub.example.com"), "Fqdn should be able to exists with a sub domain"); + } + + @Test + public void urlCannotBeCreatedWithoutValidDomainName() { + Assertions.assertThrows( + IllegalStateException.class, + () -> Fqdn.of("\\"), + "Fqdn should not be able to exists with scheme"); + } + + @Test + public void urlCannotBeCreatedWithScheme() { + Assertions.assertThrows( + IllegalStateException.class, + () -> Fqdn.of("https://example.com"), + "Fqdn should not be able to exists with scheme"); + } + + @Test + public void urlCannotBeCreatedWithCredential() { + Assertions.assertThrows( + IllegalStateException.class, + () -> Fqdn.of("user:pwd@example.com"), + "Fqdn should be not able to exists with credentials"); + } + + @Test + public void urlCannotBeCreatedWithPath() { + Assertions.assertThrows( + IllegalStateException.class, + () -> Fqdn.of("example.com/path"), + "Fqdn should be not able to exists with path"); + } + + @Test + public void urlCannotBeCreatedWithQuery() { + Assertions.assertThrows( + IllegalStateException.class, + () -> Fqdn.of("example.com?query=2"), + "Fqdn should be not able to exists with query"); + } + + @Test + public void urlCannotBeCreatedWithFragment() { + Assertions.assertThrows( + IllegalStateException.class, + () -> Fqdn.of("example.com#anchor"), + "Fqdn should be not able to exists with fragment"); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/JwtTokenTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/JwtTokenTest.java new file mode 100644 index 0000000..c77b6bc --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/JwtTokenTest.java @@ -0,0 +1,14 @@ +package tech.pegase.z3.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class JwtTokenTest { + @Test + public void valueIsRequired() { + Assertions.assertThrows( + IllegalStateException.class, () -> new JwtToken(null), "JwtToken value should be required"); + Assertions.assertThrows( + IllegalStateException.class, () -> new JwtToken(""), "JwtToken value should be required"); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/LinkFilteringTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/LinkFilteringTest.java new file mode 100644 index 0000000..068f815 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/LinkFilteringTest.java @@ -0,0 +1,108 @@ +package tech.pegase.z3.domain.valueobject; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import org.jspecify.annotations.Nullable; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import tech.pegase.z3.domain.valueobject.filterings.LinkFiltering; +import tech.pegase.z3.domain.valueobject.filterings.LinkFiltering.Field; +import tech.pegase.z3.domain.valueobject.filterings.LinkFiltering.Value; + +public class LinkFilteringTest { + + @Test + public void canBeCreatedForEachFields() { + Assertions.assertDoesNotThrow( + () -> + Arrays.stream(Field.values()) + .forEach(field -> LinkFiltering.of(Map.of(field.name(), "some-field")))); + } + + @Test + public void canGetFilters() { + Assertions.assertDoesNotThrow( + () -> + Arrays.stream(Field.values()) + .forEach( + field -> { + var ignored = + LinkFiltering.of(Map.of(field.name(), "some-field")).getFilters(); + })); + } + + @Test + public void canBeCreatedWithSomeNullFields() { + // THEN + Assertions.assertDoesNotThrow( + () -> { + // GIVEN + var fields = new HashMap(); + fields.put(Field.TAG.name(), "some-field"); + fields.put(Field.BRAND.name(), null); + + // WHEN + LinkFiltering.of(fields); + }); + } + + @Test + public void canBeCreatedForEachFieldsOfMap() { + Assertions.assertDoesNotThrow( + () -> + Arrays.stream(Field.values()) + .forEach(field -> LinkFiltering.ofMap(Map.of(field, Value.of("some-field"))))); + } + + @Test + public void canBeCreatedAsEmpty() { + Assertions.assertDoesNotThrow(LinkFiltering::empty); + } + + @Test + public void assertFieldNameAreCorrect() { + for (var field : Field.values()) { + switch (field) { + case BRAND -> + Assertions.assertEquals("brand", field.getFieldName(), "field name is a value-object"); + case CATALOG -> + Assertions.assertEquals( + "catalog", field.getFieldName(), "field name is a value-object"); + case TAG -> + Assertions.assertEquals("tag", field.getFieldName(), "field name is a value-object"); + case IS_EXTERNAL -> + Assertions.assertEquals( + "isExternal", field.getFieldName(), "field name is a value-object"); + case IS_VALID -> + Assertions.assertEquals( + "validity", field.getFieldName(), "field name is a value-object"); + } + } + } + + @Test + public void cannotCreateLinkFilteringFieldWithInvalidValue() { + Assertions.assertThrows( + IllegalStateException.class, () -> LinkFiltering.Field.of("INVALID_VALUE")); + } + + @Test + public void canCreateLinkFilteringValue() { + Assertions.assertDoesNotThrow(() -> LinkFiltering.Value.of(UUID.randomUUID())); + Assertions.assertDoesNotThrow(() -> LinkFiltering.Value.of((UUID) null)); + } + + @Test + public void canGetLinkFilteringValue() { + // GIVEN + var value = LinkFiltering.Value.of(UUID.randomUUID()); + + // WHEN + var output = value.getFieldValue(); + + // THEN + Assertions.assertEquals(value.value(), output); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/LinkOrderingTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/LinkOrderingTest.java new file mode 100644 index 0000000..87dc54b --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/LinkOrderingTest.java @@ -0,0 +1,100 @@ +package tech.pegase.z3.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import tech.pegase.z3.domain.valueobject.concepts.Ordering.Direction; +import tech.pegase.z3.domain.valueobject.orderings.LinkOrdering; +import tech.pegase.z3.domain.valueobject.orderings.LinkOrdering.Field; + +public class LinkOrderingTest { + + @Test + public void linkOrderingCanBeCreatedForEachFields() { + Assertions.assertDoesNotThrow( + () -> { + for (var field : Field.values()) { + for (var direction : Direction.values()) { + new LinkOrdering(field, direction); + } + } + }); + } + + @Test + public void assertFieldNameAreCorrect() { + for (var field : Field.values()) { + switch (field) { + case SOURCE -> Assertions.assertEquals("source", field.getFieldName()); + case VISITS -> Assertions.assertEquals("visits", field.getFieldName()); + case IS_EXTERNAL -> Assertions.assertEquals("isExternal", field.getFieldName()); + case VALIDITY -> Assertions.assertEquals("validity", field.getFieldName()); + case CREATED_AT -> Assertions.assertEquals("createdAt", field.getFieldName()); + } + } + } + + @Test + public void canGetLinkOrderingFieldName() { + // Arrange + var fieldName = "IS_EXTERNAL"; + var linkOrdering = LinkOrdering.of(Field.of(fieldName), Direction.NATURAL); + + // Act + var output = linkOrdering.getFieldName(); + + // Assert + Assertions.assertEquals("isExternal", output); + } + + @Test + public void canGetLinkOrderingDirection() { + // Arrange + var value = Direction.NATURAL; + var linkOrdering = LinkOrdering.of(Field.IS_EXTERNAL, value); + + // Act + var output = linkOrdering.getDirection(); + + // Assert + Assertions.assertEquals(value, output); + } + + @Test + public void canGetLinkOrderingField() { + // Arrange + var field = Field.SOURCE; + var linkOrdering = LinkOrdering.of(field, Direction.of("NATURAL")); + + // Act + var output = linkOrdering.getField(); + + // Assert + Assertions.assertEquals(field, output); + } + + @Test + public void canGetLinkOrderingFieldFromStringValue() { + // Arrange + var fieldValue = "SOURCE"; + + // Act + var output = Field.of(fieldValue); + + // Assert + Assertions.assertEquals(Field.SOURCE, output); + } + + @Test + public void cannotGetLinkOrderingFieldFromInvalidStringValue() { + // Assert + Assertions.assertThrows( + IllegalStateException.class, + () -> { + // Arrange + var fieldValue = "NOT_VALID"; + + // Act + Field.of(fieldValue); + }); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/LinkSearchingTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/LinkSearchingTest.java new file mode 100644 index 0000000..e7f9fc5 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/LinkSearchingTest.java @@ -0,0 +1,99 @@ +package tech.pegase.z3.domain.valueobject; + +import java.util.Arrays; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import tech.pegase.z3.domain.valueobject.concepts.Searching.SearchValue; +import tech.pegase.z3.domain.valueobject.searchings.LinkSearching; +import tech.pegase.z3.domain.valueobject.searchings.LinkSearching.Field; + +public class LinkSearchingTest { + + @Test + public void linkSearchingCanBeCreatedForEachFields() { + Assertions.assertDoesNotThrow( + () -> + Arrays.stream(Field.values()) + .forEach(field -> new LinkSearching(field, SearchValue.of("some-field")))); + } + + @Test + public void assertFieldNameAreCorrect() { + for (var field : Field.values()) { + switch (field) { + case SOURCE -> + Assertions.assertEquals( + "source.value", field.getFieldName(), "field name is a value-object"); + + case TARGET -> + Assertions.assertEquals( + "target.value", field.getFieldName(), "field name is a value-object"); + } + } + } + + @Test + public void canGetLinkSearchingFieldName() { + // Arrange + var field = Field.SOURCE; + + // Act + var output = field.getFieldName(); + + // Assert + Assertions.assertEquals( + "source.value", output, "field name should be then name used to query db"); + } + + @Test + public void canGetLinkSearchingValue() { + // Arrange + var value = "some-value"; + var linkSearching = LinkSearching.of(Field.TARGET, SearchValue.of(value)); + + // Act + var output = linkSearching.getSearchValue(); + + // Assert + Assertions.assertEquals(value, output); + } + + @Test + public void canGetLinkSearchingField() { + // Arrange + var field = Field.TARGET; + var linkSearching = LinkSearching.of(field, SearchValue.of("some-value")); + + // Act + var output = linkSearching.getField(); + + // Assert + Assertions.assertEquals(field, output); + } + + @Test + public void canGetLinkSearchingFieldFromStringValue() { + // Arrange + var fieldValue = "TARGET"; + + // Act + var output = Field.of(fieldValue); + + // Assert + Assertions.assertEquals(Field.TARGET, output); + } + + @Test + public void cannotGetLinkSearchingFieldFromInvalidStringValue() { + // Assert + Assertions.assertThrows( + IllegalStateException.class, + () -> { + // Arrange + var fieldValue = "NOT_VALID"; + + // Act + Field.of(fieldValue); + }); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/LinkValidityTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/LinkValidityTest.java new file mode 100644 index 0000000..a1a76fb --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/LinkValidityTest.java @@ -0,0 +1,37 @@ +package tech.pegase.z3.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class LinkValidityTest { + + @Test + public void canBeCreated() { + Assertions.assertDoesNotThrow( + () -> { + LinkValidity.unknown(); + LinkValidity.valid(); + LinkValidity.invalid(); + }); + } + + @Test + public void canGetLabel() { + Assertions.assertDoesNotThrow( + () -> { + LinkValidity.unknown().label(); + LinkValidity.valid().label(); + LinkValidity.invalid().label(); + }); + } + + @Test + public void canGetOrdinal() { + Assertions.assertDoesNotThrow( + () -> { + LinkValidity.unknown().ordinal(); + LinkValidity.valid().ordinal(); + LinkValidity.invalid().ordinal(); + }); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/LoginTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/LoginTest.java new file mode 100644 index 0000000..ad52442 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/LoginTest.java @@ -0,0 +1,45 @@ +package tech.pegase.z3.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class LoginTest { + + @Test + public void loginCanBeCreated() { + Assertions.assertDoesNotThrow( + () -> { + // Arrange + var login = "user-login"; + + // Act + new Login(login); + }); + } + + @Test + public void loginCannotBeCreatedWithEmptyValue() { + Assertions.assertThrowsExactly( + IllegalStateException.class, + () -> { + // Arrange + var login = ""; + + // Act + new Login(login); + }); + } + + @Test + public void loginCannotBeCreatedWithALessThan3CharactersValue() { + Assertions.assertThrowsExactly( + IllegalStateException.class, + () -> { + // Arrange + var login = "lg"; + + // Act + new Login(login); + }); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/MessageTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/MessageTest.java new file mode 100644 index 0000000..ed211e2 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/MessageTest.java @@ -0,0 +1,51 @@ +package tech.pegase.z3.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class MessageTest { + + @Test + public void messageCanBeCreated() { + Assertions.assertDoesNotThrow( + () -> { + // Arrange + var email = new Email("user@example.net"); + var subject = "new message inbox"; + var message = "Hello, you have a new message, check your inbox. Have a nice day !"; + + // Act + new Message(email, subject, message); + }); + } + + @Test + public void messageCannotBeCreatedWithEmptySubject() { + Assertions.assertThrowsExactly( + IllegalStateException.class, + () -> { + // Arrange + var email = new Email("user@example.net"); + var subject = ""; + var message = "Hello, you have a new message, check your inbox. Have a nice day !"; + + // Act + new Message(email, subject, message); + }); + } + + @Test + public void messageCannotBeCreatedWithEmptyMessage() { + Assertions.assertThrowsExactly( + IllegalStateException.class, + () -> { + // Arrange + var email = new Email("user@example.net"); + var subject = "new message inbox"; + var message = ""; + + // Act + new Message(email, subject, message); + }); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/OrderingDirectionTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/OrderingDirectionTest.java new file mode 100644 index 0000000..adb2d8f --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/OrderingDirectionTest.java @@ -0,0 +1,19 @@ +package tech.pegase.z3.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import tech.pegase.z3.domain.valueobject.concepts.Ordering.Direction; + +public class OrderingDirectionTest { + @Test + public void canCreateOrderingDirection() { + Assertions.assertDoesNotThrow(() -> Direction.of("NATURAL")); + Assertions.assertDoesNotThrow(() -> Direction.of("ASC")); + Assertions.assertDoesNotThrow(() -> Direction.of("DESC")); + } + + @Test + public void cannotCreateOrderingDirectionWithInvalidValue() { + Assertions.assertThrows(IllegalStateException.class, () -> Direction.of("NOT_VALID")); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/PasswordHashTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/PasswordHashTest.java new file mode 100644 index 0000000..7c634ec --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/PasswordHashTest.java @@ -0,0 +1,67 @@ +package tech.pegase.z3.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import tech.pegase.z3.domain.valueobject.hashes.PasswordHash; + +public class PasswordHashTest { + + @Test + public void valueIsRequired() { + Assertions.assertThrows( + IllegalStateException.class, () -> new PasswordHash(null), "Value should be required"); + Assertions.assertThrows( + IllegalStateException.class, () -> new PasswordHash(""), "Value should be required"); + } + + @Test + public void canBeCreated() { + Assertions.assertDoesNotThrow( + () -> { + new PasswordHash("$02$v=2$anything"); + new PasswordHash("$02$v=2$anything$"); + // BCrypt + new PasswordHash("$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi"); + // Argon2 + new PasswordHash( + "$argon2id$v=19$m=12288,t=3,p=1$+Eoh2/WaMEhQsn/a03tXXw$JFLRTyysxQxuLC5oCUaaTuByNLFo4Awlw1eum/Gf1Sc"); + }, + "PasswordHash should be able to exists using a valid string hashed value"); + } + + @Test + public void canGetValue() { + // GIVEN + var passwordHash = new PasswordHash("$02$v=2$anything"); + + // WHEN + var output = passwordHash.getValue(); + + // THEN + Assertions.assertEquals("$02$v=2$anything", output); + } + + @Test + public void cannotBeCreated() { + Assertions.assertThrows( + IllegalStateException.class, + () -> new PasswordHash("$02$v=2anything"), + "PasswordHash should not be able to exists using an invalid hash value"); + Assertions.assertThrows( + IllegalStateException.class, + () -> new PasswordHash("$02v=2$anything"), + "PasswordHash should not be able to exists using an invalid hash value"); + Assertions.assertThrows( + IllegalStateException.class, + () -> new PasswordHash("02$v$=2anything"), + "PasswordHash should not be able to exists using an invalid hash value"); + Assertions.assertThrows( + IllegalStateException.class, + () -> new PasswordHash("89a1d7ae79a410e1c4e7625459de37be5f988d34a09f5ad2bed206f8835fc111"), + "PasswordHash should not be able to exists using an invalid hash value"); + Assertions.assertThrows( + IllegalStateException.class, + () -> new PasswordHash("YXNkYXNkYXNkIGN4dnhjdnNjeHY="), + "PasswordHash should not be able to exists using an invalid hash value"); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/PasswordTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/PasswordTest.java new file mode 100644 index 0000000..d87f509 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/PasswordTest.java @@ -0,0 +1,62 @@ +package tech.pegase.z3.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class PasswordTest { + + @Test + public void passwordCanExistWhenRobustEnough() { + Assertions.assertDoesNotThrow(() -> new Password("ABCqwe123....................")); + } + + @Test + public void passwordShouldNotBeEmpty() { + var thrown = + Assertions.assertThrowsExactly(IllegalStateException.class, () -> new Password("")); + Assertions.assertEquals("le mot de passe ne peut être vide", thrown.getMessage()); + } + + @Test + public void passwordShouldBeLongEnough() { + var thrown = + Assertions.assertThrowsExactly(IllegalStateException.class, () -> new Password("aA1.")); + Assertions.assertEquals( + "le mot de passe doit contenir au moins 8 caractères", thrown.getMessage()); + } + + @Test + public void passwordShouldContainLowerCaseCharacters() { + var thrown = + Assertions.assertThrowsExactly( + IllegalStateException.class, () -> new Password("ABC123....................")); + Assertions.assertEquals( + "le mot de passe doit contenir des majuscules et des minuscules", thrown.getMessage()); + } + + @Test + public void passwordShouldContainUpperCaseCharacters() { + var thrown = + Assertions.assertThrowsExactly( + IllegalStateException.class, () -> new Password("abc123....................")); + Assertions.assertEquals( + "le mot de passe doit contenir des majuscules et des minuscules", thrown.getMessage()); + } + + @Test + public void passwordShouldContainDigitsCharacters() { + var thrown = + Assertions.assertThrowsExactly( + IllegalStateException.class, () -> new Password("abcABC....................")); + Assertions.assertEquals("le mot de passe doit contenir des nombres", thrown.getMessage()); + } + + @Test + public void passwordShouldContainSpecialCharacters() { + var thrown = + Assertions.assertThrowsExactly( + IllegalStateException.class, () -> new Password("abcABC111111111111111111111")); + Assertions.assertEquals( + "le mot de passe doit contenir des caractères spéciaux", thrown.getMessage()); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/RoleTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/RoleTest.java new file mode 100644 index 0000000..bf12359 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/RoleTest.java @@ -0,0 +1,28 @@ +package tech.pegase.z3.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import tech.pegase.z3.domain.valueobject.Role.AccessLevel; + +public class RoleTest { + + @Test + public void roleCanBeCompared() { + // Arrange + var role = new Role(AccessLevel.ADMINISTRATOR); + var anotherRole = new Role(AccessLevel.PUBLISHER); + var anotherAdminRole = new Role(AccessLevel.ADMINISTRATOR); + + // Act + var notEquals = role.equals(anotherRole); + var equals = role.equals(anotherAdminRole); + var reverseNotEquals = anotherRole.equals(role); + var reverseEquals = role.equals(anotherAdminRole); + + // Assert + Assertions.assertFalse(notEquals); + Assertions.assertFalse(reverseNotEquals); + Assertions.assertTrue(equals); + Assertions.assertTrue(reverseEquals); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/SlugTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/SlugTest.java new file mode 100644 index 0000000..bc5f312 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/SlugTest.java @@ -0,0 +1,30 @@ +package tech.pegase.z3.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class SlugTest { + + @Test + public void slugValueIsRequired() { + Assertions.assertThrows( + IllegalStateException.class, () -> new Slug(null), "Slug value should be required"); + Assertions.assertThrows( + IllegalStateException.class, () -> new Slug(""), "Slug value should be required"); + } + + @Test + public void slugCanBeCreated() { + Assertions.assertDoesNotThrow( + () -> new Slug("slug-pattern-matches"), + "Slug should be able to exists using a valid slug pattern"); + } + + @Test + public void slugCannotBeCreatedUsingNotSlugString() { + Assertions.assertThrows( + IllegalStateException.class, + () -> new Slug("This is not a Slug"), + "Source value should be required"); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/SourceTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/SourceTest.java new file mode 100644 index 0000000..fb24826 --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/SourceTest.java @@ -0,0 +1,97 @@ +package tech.pegase.z3.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import tech.pegase.z3.shared.valueobject.Source; + +public class SourceTest { + @Test + public void sourceValueIsRequired() { + Assertions.assertThrows( + IllegalStateException.class, () -> new Source(null), "Source value should be required"); + Assertions.assertThrows( + IllegalStateException.class, () -> new Source(""), "Source value should be required"); + } + + @Test + public void sourcesCanBeCompared() { + // Arrange + var source1 = new Source("source1"); + var source2 = new Source("source2"); + var source3 = new Source("source1"); + + // Act Assert + Assertions.assertEquals(-1, source1.compareTo(source2)); + Assertions.assertEquals(1, source2.compareTo(source1)); + Assertions.assertEquals(0, source1.compareTo(source3)); + } + + @Test + public void sourceCanBeCreatedWithPath() { + Assertions.assertDoesNotThrow( + () -> new Source("/my-app-path"), "Source should be able to exist with an URL path"); + } + + @Test + public void sourceCanBeCreatedWithLongerPath() { + Assertions.assertDoesNotThrow( + () -> new Source("/my/app/path"), "Source should be able to exist with an URL path"); + } + + @Test + public void sourceCanBeCreatedWithRelativePath() { + Assertions.assertDoesNotThrow( + () -> new Source("my-app-path"), "Source should be able to exist with an URL path"); + } + + @Test + public void sourceCanBeCreatedWithLongerRelativePath() { + Assertions.assertDoesNotThrow( + () -> new Source("my/app/path"), "Source should be able to exist with an URL path"); + } + + @Test + public void sourceCannotBeCreatedWithAFullUrl() { + Assertions.assertThrows( + IllegalStateException.class, + () -> new Source("https://user:password@example.com:8080/my/app/path?foo=bar#foobar"), + "Source should not be able to exist with a full URL"); + } + + @Test + public void sourceCannotBeCreatedWithOnlyAnUrlSchemeAndHost() { + Assertions.assertThrows( + IllegalStateException.class, + () -> new Source("https://example.com"), + "Source should not be able to exist with only an URL scheme and host"); + + Assertions.assertThrows( + IllegalStateException.class, + () -> new Source("https://example.com/"), + "Source should not be able to exist with only an URL scheme and host"); + } + + @Test + public void sourceCannotBeCreatedWithAnUrlHostAndPathOnly() { + Assertions.assertThrows( + IllegalStateException.class, + () -> new Source("example.com/my/app/path"), + "Source should not be able to exist with an URL host and path only"); + } + + @Test + public void sourceCannotBeCreatedWithInvalidUrl() { + Assertions.assertThrows( + IllegalStateException.class, + () -> new Source("http://finance.yahoo.com/q/h?s=^IXIC"), + "Source should not be able to exist without a valid URL"); + } + + @Test + public void sourceCannotBeCreatedWithEmptyValue() { + Assertions.assertThrows( + IllegalStateException.class, + () -> new Source(""), + "Source should not be able to exist with an empty value"); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/SubscriptionReportTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/SubscriptionReportTest.java new file mode 100644 index 0000000..147cfcd --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/SubscriptionReportTest.java @@ -0,0 +1,70 @@ +package tech.pegase.z3.domain.valueobject; + +import java.util.Set; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.entity.User; + +public class SubscriptionReportTest { + @Test + public void canInstantiate() { + // ASSERT + Assertions.assertDoesNotThrow( + () -> { + // ARRANGE + var brandUuid = UUID.randomUUID(); + var link = Mockito.mock(Link.class); + var invalidLinks = Set.of(link); + var brand = Mockito.mock(Brand.class); + var user = Mockito.mock(User.class); + + Mockito.when(brand.getUuid()).thenReturn(brandUuid); + Mockito.when(link.getBrand()).thenReturn(brandUuid); + + // ACT + new SubscriptionReport(invalidLinks, brand, user); + }); + } + + @Test + public void cannotInstantiateIfBrandDoesNotMatch() { + // ASSERT + Assertions.assertThrows( + IllegalStateException.class, + () -> { + // ARRANGE + var brandUuid = UUID.randomUUID(); + var antoherBrandUuid = UUID.randomUUID(); + var link = Mockito.mock(Link.class); + var invalidLinks = Set.of(link); + var brand = Mockito.mock(Brand.class); + var user = Mockito.mock(User.class); + + Mockito.when(brand.getUuid()).thenReturn(brandUuid); + Mockito.when(link.getBrand()).thenReturn(antoherBrandUuid); + + // ACT + new SubscriptionReport(invalidLinks, brand, user); + }); + } + + @Test + public void cannotInstantiateIfInvalidLinksIsEmpty() { + // ASSERT + Assertions.assertThrows( + IllegalStateException.class, + () -> { + // ARRANGE + var invalidLinks = Set.of(); + var brand = Mockito.mock(Brand.class); + var user = Mockito.mock(User.class); + + // ACT + new SubscriptionReport(invalidLinks, brand, user); + }); + } +} diff --git a/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/TargetTest.java b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/TargetTest.java new file mode 100644 index 0000000..74d695e --- /dev/null +++ b/z3-domain/src/test/java/tech/pegase/z3/domain/valueobject/TargetTest.java @@ -0,0 +1,62 @@ +package tech.pegase.z3.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class TargetTest { + @Test + public void valueIsRequired() { + Assertions.assertThrows( + IllegalStateException.class, + () -> { + new Target(null); + new Target(""); + }, + "Target value should be required"); + } + + @Test + public void urlCanBeCannotBeCreatedWithoutScheme() { + Assertions.assertThrows( + IllegalStateException.class, + () -> new Target("example.com"), + "Target should not be able to exists without a scheme"); + } + + @Test + public void urlSchemeHasToBeHttps() { + Assertions.assertThrows( + IllegalStateException.class, + () -> new Target("ftp://example.com"), + "Target should not be able to exists without a https scheme"); + } + + @Test + public void urlCannotContainCredentials() { + Assertions.assertThrows( + IllegalStateException.class, () -> new Target("https://user:pass@example.com")); + } + + @Test + public void urlCanBeCreatedWithSchemeAndHost() { + Assertions.assertDoesNotThrow( + () -> { + new Target("https://example.com"); + }, + "Target should be able to exist with an URL schema and host"); + } + + @Test + public void urlCanContainQueryOrPathOrFragment() { + Assertions.assertDoesNotThrow( + () -> { + new Target("https://example.com?foo=bar"); + new Target("https://example.com#title2"); + new Target("https://example.com/my/path"); + new Target("https://example.com/my/path#title3"); + new Target("https://example.com/my/path?foo=bar"); + new Target("https://example.com?foo=bar#title2"); + new Target("https://example.com/my/path?foo=bar#title2"); + }); + } +} diff --git a/z3-infrastructure/pom.xml b/z3-infrastructure/pom.xml new file mode 100644 index 0000000..148960c --- /dev/null +++ b/z3-infrastructure/pom.xml @@ -0,0 +1,195 @@ + + + z3-infrastructure + + + + + jacoco-maven-plugin + + + + + + true + ${project.build.directory}/coverage-reports/jacoco-ut.exec + surefire.jacoco.args + + + prepare-agent + + pre-unit-test + + + + + + ${project.build.directory}/coverage-reports/jacoco-ut.exec + ${project.build.directory}/coverage-jacoco/unit-tests + + + + report + + post-unit-test + test + + + + + + ${project.build.directory}/coverage-reports/jacoco-ut.exec + + + BUNDLE + + + LINE + 0.10 + COVEREDRATIO + + + + + + + check + + jacoco-check-ut + verify + + + + org.jacoco + ${jacoco.version} + + + maven-surefire-plugin + + + -XX:+EnableDynamicAgentLoading -Xmx1024m -Xshare:off + ${surefire.jacoco.args} -XX:+EnableDynamicAgentLoading -Xmx1024m -Xshare:off + + + + **/*IT.java + + + org.jboss.logmanager.LogManager + ${maven.home} + + + ${surefire-plugin.version} + + + + + + + z3-domain + tech.pegase.z3 + ${z3.version} + + + z3-shared + tech.pegase.z3 + ${z3.version} + + + commons-csv + org.apache.commons + ${commons-csv.version} + + + quarkus-hibernate-orm + io.quarkus + + + quarkus-mailer + io.quarkus + + + quarkus-junit5-mockito + io.quarkus + test + + + quarkus-jacoco + io.quarkus + test + + + quarkus-jdbc-postgresql + io.quarkus + + + blaze-persistence-integration-quarkus-3 + com.blazebit + ${blaze-persistence.version} + + + blaze-persistence-integration-hibernate-6.2 + com.blazebit + runtime + ${blaze-persistence.version} + + + slugify + com.github.slugify + ${slugify.version} + + + + icu4j + com.ibm.icu + ${slugify-dep-icu4j-icu.version} + + + + + spring-security-crypto + org.springframework.security + ${spring-security.version} + + + bcpkix-jdk18on + org.bouncycastle + ${bouncycastle-bcpkix.version} + + + commons-validator + commons-validator + ${commons-validator.version} + + + + + + + + + spring-security-bom + org.springframework.security + import + pom + ${spring-security.version} + + + + + 4.0.0 + + + z3 + tech.pegase.z3 + 1.1.0-SNAPSHOT + + + + 22 + 22 + UTF-8 + + diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/brands/BrandDatabaseRepository.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/brands/BrandDatabaseRepository.java new file mode 100644 index 0000000..ed58f74 --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/brands/BrandDatabaseRepository.java @@ -0,0 +1,144 @@ +package tech.pegase.z3.infrastructure.adapter.repository.brands; + +import com.blazebit.persistence.CriteriaBuilder; +import com.blazebit.persistence.CriteriaBuilderFactory; +import io.quarkus.cache.Cache; +import io.quarkus.cache.CacheName; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import jakarta.persistence.EntityManager; +import jakarta.persistence.NoResultException; +import java.util.Optional; +import java.util.UUID; +import org.jspecify.annotations.NullMarked; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.valueobject.Fqdn; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +@NullMarked +@ApplicationScoped +public class BrandDatabaseRepository implements BrandRepository { + private final Cache cache; + private final EntityManager em; + private final CriteriaBuilderFactory cbf; + + @Inject + public BrandDatabaseRepository( + @CacheName("z3-brands") Cache cache, EntityManager em, CriteriaBuilderFactory cbf) { + this.cache = cache; + this.em = em; + this.cbf = cbf; + } + + @Override + public void persist(Brand brand) { + em.persist(brand); + clearCache(); + } + + @Override + public void update(Brand brand) { + em.merge(brand); + clearCache(); + } + + @Override + public boolean exists(UUID uuid) { + return cache + .get( + "%s-exists".formatted(uuid.toString()), + k -> { + var typedQuery = query().where("uuid").eq(uuid).getCountQuery(); + + return typedQuery.getSingleResult() != 0; + }) + .await() + .indefinitely(); + } + + @Override + public boolean exists(Slug slug) { + return cache + .get( + "%s-exists".formatted(slug.value()), + k -> { + var typedQuery = query().where("slug").eq(slug).getCountQuery(); + + return typedQuery.getSingleResult() != 0; + }) + .await() + .indefinitely(); + } + + @Override + public Optional findByUuid(UUID uuid) { + return cache + .>get( + uuid, + k -> { + var typedQuery = query().where("uuid").eq(uuid).getQuery(); + try { + return Optional.of(typedQuery.getSingleResult()); + } catch (NoResultException e) { + return Optional.empty(); + } + }) + .await() + .indefinitely(); + } + + @Override + public Optional findBySlug(Slug slug) { + return cache + .>get( + slug, + k -> { + var typedQuery = query().where("slug").eq(slug).getQuery(); + try { + return Optional.of(typedQuery.getSingleResult()); + } catch (NoResultException e) { + return Optional.empty(); + } + }) + .await() + .indefinitely(); + } + + @Override + public Optional findByFqdn(Fqdn fqdn) { + return cache + .>get( + fqdn, + k -> { + var typedQuery = query().where("fqdns").in(fqdn).getQuery(); + try { + return Optional.of(typedQuery.getSingleResult()); + } catch (NoResultException e) { + return Optional.empty(); + } + }) + .await() + .indefinitely(); + } + + @Override + public PaginatedData findAll(Pagination pagination) { + var query = query().page(pagination.offset(), pagination.limit()).orderByAsc("uuid").getQuery(); + + var paginatedBrandList = query.getResultList(); + + return PaginatedData.wrap( + paginatedBrandList, pagination.limit(), pagination.offset(), query.getTotalCount()); + } + + private void clearCache() { + cache.invalidateAll().await().indefinitely(); + } + + private CriteriaBuilder query() { + return cbf.create(em, Brand.class).from(Brand.class); + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/brands/BrandInMemoryRepository.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/brands/BrandInMemoryRepository.java new file mode 100644 index 0000000..683356b --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/brands/BrandInMemoryRepository.java @@ -0,0 +1,89 @@ +package tech.pegase.z3.infrastructure.adapter.repository.brands; + +import java.util.Optional; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; +import org.jspecify.annotations.NullMarked; +import tech.pegase.z3.domain.entity.Brand; +import tech.pegase.z3.domain.port.repository.BrandRepository; +import tech.pegase.z3.domain.valueobject.Fqdn; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +@NullMarked +public class BrandInMemoryRepository implements BrandRepository { + private final ConcurrentMap data = new ConcurrentHashMap<>(); + + @Override + public void persist(Brand brand) { + data.put(brand.getUuid(), brand); + } + + @Override + public void update(Brand brand) { + data.put(brand.getUuid(), brand); + } + + @Override + public boolean exists(UUID uuid) { + return data.containsKey(uuid); + } + + @Override + public boolean exists(Slug slug) { + return findBySlug(slug).isPresent(); + } + + @Override + public Optional findByUuid(UUID uuid) { + return Optional.ofNullable(data.get(uuid)); + } + + @Override + public Optional findBySlug(Slug slug) { + + if (data.isEmpty()) { + return Optional.empty(); + } + + for (var value : data.values()) { + if (value.getSlug().equals(slug)) { + return Optional.of(value); + } + } + + return Optional.empty(); + } + + @Override + public Optional findByFqdn(Fqdn fqdn) { + + if (data.isEmpty()) { + return Optional.empty(); + } + + for (var value : data.values()) { + if (value.getFqdns().contains(fqdn)) { + return Optional.of(value); + } + } + + return Optional.empty(); + } + + @Override + public PaginatedData findAll(Pagination pagination) { + + if (data.isEmpty()) { + return PaginatedData.empty(); + } + + var paginatedLinkList = + data.values().stream().skip(pagination.offset()).limit(pagination.limit()).toList(); + + return PaginatedData.wrap( + paginatedLinkList, pagination.limit(), pagination.offset(), data.size()); + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/catalogs/CatalogDatabaseRepository.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/catalogs/CatalogDatabaseRepository.java new file mode 100644 index 0000000..cf47912 --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/catalogs/CatalogDatabaseRepository.java @@ -0,0 +1,175 @@ +package tech.pegase.z3.infrastructure.adapter.repository.catalogs; + +import com.blazebit.persistence.CriteriaBuilder; +import com.blazebit.persistence.CriteriaBuilderFactory; +import com.blazebit.persistence.DeleteCriteriaBuilder; +import io.quarkus.cache.Cache; +import io.quarkus.cache.CacheName; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import jakarta.persistence.EntityManager; +import jakarta.persistence.NoResultException; +import java.util.Objects; +import java.util.Optional; +import java.util.UUID; +import org.jspecify.annotations.NullMarked; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.infrastructure.adapter.repository.links.LinkDatabaseRepository; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +@NullMarked +@ApplicationScoped +public class CatalogDatabaseRepository implements CatalogRepository { + private final LinkRepository linkRepository; + private final Cache cache; + private final EntityManager em; + private final CriteriaBuilderFactory cbf; + + @Inject + public CatalogDatabaseRepository( + LinkRepository linkRepository, + @CacheName("z3-catalogs") Cache cache, + EntityManager em, + CriteriaBuilderFactory cbf) { + this.linkRepository = linkRepository; + this.cache = cache; + this.em = em; + this.cbf = cbf; + } + + @Override + public void persist(Catalog catalog) { + em.persist(catalog); + clearCache(); + } + + @Override + public void update(Catalog catalog) { + em.merge(catalog); + clearCache(); + } + + @Override + public boolean exists(UUID uuid) { + Objects.requireNonNull(uuid, "uuid cannot be null"); + return cache + .get( + "%s-exists".formatted(uuid), + k -> { + var typedQuery = query().where("uuid").eq(uuid).getCountQuery(); + + return typedQuery.getSingleResult() != 0; + }) + .await() + .indefinitely(); + } + + @Override + public boolean exists(Slug slug) { + return cache + .get( + "%s-exists".formatted(slug.value()), + k -> { + var typedQuery = query().where("slug").eq(slug).getCountQuery(); + + return typedQuery.getSingleResult() != 0; + }) + .await() + .indefinitely(); + } + + @Override + public boolean remove(UUID uuid) { + var typedQuery = deleteQuery().where("uuid").eq(uuid).getQuery(); + clearCache(); + + return typedQuery.executeUpdate() != 0; + } + + @Override + public boolean remove(Slug slug) { + var typedQuery = deleteQuery().where("slug").eq(slug).getQuery(); + clearCache(); + + return typedQuery.executeUpdate() != 0; + } + + @Override + public Optional findByUuid(UUID uuid) { + return cache + .>get( + uuid, + k -> { + var typedQuery = query().where("uuid").eq(uuid).getQuery(); + try { + return Optional.of(typedQuery.getSingleResult()); + } catch (NoResultException e) { + return Optional.empty(); + } + }) + .await() + .indefinitely(); + } + + @Override + public Optional findBySlug(Slug slug) { + return cache + .>get( + slug, + k -> { + var typedQuery = query().where("slug").eq(slug).getQuery(); + try { + return Optional.of(typedQuery.getSingleResult()); + } catch (NoResultException e) { + return Optional.empty(); + } + }) + .await() + .indefinitely(); + } + + @Override + public PaginatedData findAll(Pagination pagination) { + var query = query().page(pagination.offset(), pagination.limit()).orderByAsc("uuid").getQuery(); + + var paginatedCatalogList = query.getResultList(); + + return PaginatedData.wrap( + paginatedCatalogList, pagination.limit(), pagination.offset(), query.getTotalCount()); + } + + @Override + public PaginatedData findAllForBrand(UUID brandUuid, Pagination pagination) { + var query = + query() + .where("brand") + .eq(brandUuid) + .page(pagination.offset(), pagination.limit()) + .orderByAsc("uuid") + .getQuery(); + + var paginatedCatalogList = query.getResultList(); + + return PaginatedData.wrap( + paginatedCatalogList, pagination.limit(), pagination.offset(), query.getTotalCount()); + } + + private void clearCache() { + if (linkRepository instanceof LinkDatabaseRepository) { + ((LinkDatabaseRepository) linkRepository).clearCache(); + } + cache.invalidateAll().await().indefinitely(); + } + + private CriteriaBuilder query() { + return cbf.create(em, Catalog.class).from(Catalog.class); + } + + private DeleteCriteriaBuilder deleteQuery() { + return cbf.delete(em, Catalog.class).from(Catalog.class); + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/catalogs/CatalogInMemoryRepository.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/catalogs/CatalogInMemoryRepository.java new file mode 100644 index 0000000..64bd67d --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/catalogs/CatalogInMemoryRepository.java @@ -0,0 +1,113 @@ +package tech.pegase.z3.infrastructure.adapter.repository.catalogs; + +import java.util.Optional; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; +import org.jspecify.annotations.NullMarked; +import tech.pegase.z3.domain.entity.Catalog; +import tech.pegase.z3.domain.port.repository.CatalogRepository; +import tech.pegase.z3.domain.valueobject.Slug; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +@NullMarked +public class CatalogInMemoryRepository implements CatalogRepository { + private final ConcurrentMap data = new ConcurrentHashMap<>(); + + @Override + public void persist(Catalog catalog) { + data.put(catalog.getUuid(), catalog); + } + + @Override + public void update(Catalog catalog) { + data.put(catalog.getUuid(), catalog); + } + + @Override + public boolean exists(UUID uuid) { + return data.containsKey(uuid); + } + + @Override + public boolean exists(Slug slug) { + return findBySlug(slug).isPresent(); + } + + @Override + public boolean remove(UUID uuid) { + + if (!data.containsKey(uuid)) { + return false; + } + + data.remove(uuid); + return true; + } + + @Override + public boolean remove(Slug slug) { + var entry = findBySlug(slug); + + if (entry.isEmpty()) { + return false; + } + + data.remove(entry.get().getUuid()); + return true; + } + + @Override + public Optional findByUuid(UUID uuid) { + return Optional.ofNullable(data.get(uuid)); + } + + @Override + public Optional findBySlug(Slug slug) { + + if (data.isEmpty()) { + return Optional.empty(); + } + + for (var value : data.values()) { + if (value.getSlug().equals(slug)) { + return Optional.of(value); + } + } + + return Optional.empty(); + } + + @Override + public PaginatedData findAll(Pagination pagination) { + + if (data.isEmpty()) { + return PaginatedData.empty(); + } + + var paginatedLinkList = + data.values().stream().skip(pagination.offset()).limit(pagination.limit()).toList(); + + return PaginatedData.wrap( + paginatedLinkList, pagination.limit(), pagination.offset(), data.size()); + } + + @Override + public PaginatedData findAllForBrand(UUID brandUuid, Pagination pagination) { + + if (data.isEmpty()) { + return PaginatedData.empty(); + } + + var paginatedLinkList = + data.values().stream() + .filter((catalog) -> catalog.getBrandUuid().equals(brandUuid)) + .skip(pagination.offset()) + .limit(pagination.limit()) + .toList(); + + return PaginatedData.wrap( + paginatedLinkList, pagination.limit(), pagination.offset(), data.size()); + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/credentials/CredentialDatabaseRepository.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/credentials/CredentialDatabaseRepository.java new file mode 100644 index 0000000..05c171d --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/credentials/CredentialDatabaseRepository.java @@ -0,0 +1,82 @@ +package tech.pegase.z3.infrastructure.adapter.repository.credentials; + +import com.blazebit.persistence.CriteriaBuilder; +import com.blazebit.persistence.CriteriaBuilderFactory; +import com.blazebit.persistence.DeleteCriteriaBuilder; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import jakarta.persistence.EntityManager; +import jakarta.persistence.NoResultException; +import java.util.Optional; +import java.util.UUID; +import org.jspecify.annotations.NullMarked; +import tech.pegase.z3.domain.entity.Credential; +import tech.pegase.z3.domain.port.repository.CredentialRepository; +import tech.pegase.z3.domain.valueobject.Login; + +@NullMarked +@ApplicationScoped +public class CredentialDatabaseRepository implements CredentialRepository { + private final EntityManager em; + private final CriteriaBuilderFactory cbf; + + @Inject + public CredentialDatabaseRepository(EntityManager em, CriteriaBuilderFactory cbf) { + this.em = em; + this.cbf = cbf; + } + + @Override + public void persist(Credential credential) { + em.persist(credential); + } + + @Override + public void update(Credential credential) { + em.merge(credential); + } + + @Override + public boolean exists(UUID uuid) { + var typedQuery = query().where("uuid").eq(uuid).getCountQuery(); + + return typedQuery.getSingleResult() != 0; + } + + @Override + public boolean remove(UUID uuid) { + var typedQuery = deleteQuery().where("uuid").eq(uuid).getQuery(); + + return typedQuery.executeUpdate() != 0; + } + + @Override + public Optional findById(UUID uuid) { + try { + var typedQuery = query().where("uuid").eq(uuid).getQuery(); + + return Optional.of(typedQuery.getSingleResult()); + } catch (NoResultException e) { + return Optional.empty(); + } + } + + @Override + public Optional findByLogin(Login login) { + try { + var typedQuery = query().where("login").eq(login).getQuery(); + + return Optional.of(typedQuery.getSingleResult()); + } catch (NoResultException e) { + return Optional.empty(); + } + } + + private CriteriaBuilder query() { + return cbf.create(em, Credential.class).from(Credential.class); + } + + private DeleteCriteriaBuilder deleteQuery() { + return cbf.delete(em, Credential.class).from(Credential.class); + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/credentials/CredentialInMemoryRepository.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/credentials/CredentialInMemoryRepository.java new file mode 100644 index 0000000..307967c --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/credentials/CredentialInMemoryRepository.java @@ -0,0 +1,77 @@ +package tech.pegase.z3.infrastructure.adapter.repository.credentials; + +import java.util.Objects; +import java.util.Optional; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; +import org.jspecify.annotations.NullMarked; +import tech.pegase.z3.domain.entity.Credential; +import tech.pegase.z3.domain.port.repository.CredentialRepository; +import tech.pegase.z3.domain.valueobject.Login; + +@NullMarked +public class CredentialInMemoryRepository implements CredentialRepository { + private final ConcurrentMap data = new ConcurrentHashMap<>(); + + @Override + public void persist(Credential credential) { + Objects.requireNonNull(credential, "credential cannot be null"); + + data.put(credential.getUuid(), credential); + } + + @Override + public void update(Credential credential) { + data.put(credential.getUuid(), credential); + } + + @Override + public boolean exists(UUID uuid) { + + return data.containsKey(uuid); + } + + @Override + public boolean remove(UUID uuid) { + + if (!data.containsKey(uuid)) { + return false; + } + + data.remove(uuid); + return true; + } + + @Override + public Optional findById(UUID uuid) { + + if (data.isEmpty()) { + return Optional.empty(); + } + + for (var keySet : data.keySet()) { + if (keySet.equals(uuid)) { + return Optional.of(data.get(keySet)); + } + } + + return Optional.ofNullable(data.get(uuid)); + } + + @Override + public Optional findByLogin(Login login) { + + if (data.isEmpty()) { + return Optional.empty(); + } + + for (var credential : data.values()) { + if (credential.getLogin().equals(login)) { + return Optional.of(credential); + } + } + + return Optional.empty(); + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/links/LinkDatabaseRepository.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/links/LinkDatabaseRepository.java new file mode 100644 index 0000000..eeef277 --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/links/LinkDatabaseRepository.java @@ -0,0 +1,368 @@ +package tech.pegase.z3.infrastructure.adapter.repository.links; + +import com.blazebit.persistence.CriteriaBuilder; +import com.blazebit.persistence.CriteriaBuilderFactory; +import com.blazebit.persistence.PaginatedCriteriaBuilder; +import io.quarkus.cache.Cache; +import io.quarkus.cache.CacheName; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import jakarta.persistence.EntityManager; +import jakarta.persistence.NoResultException; +import java.util.List; +import java.util.Map.Entry; +import java.util.Optional; +import java.util.UUID; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.valueobject.LinkValidity; +import tech.pegase.z3.domain.valueobject.concepts.Ordering; +import tech.pegase.z3.domain.valueobject.concepts.Ordering.Direction; +import tech.pegase.z3.domain.valueobject.filterings.LinkFiltering; +import tech.pegase.z3.domain.valueobject.filterings.LinkFiltering.Value; +import tech.pegase.z3.domain.valueobject.orderings.LinkOrdering; +import tech.pegase.z3.domain.valueobject.orderings.LinkOrdering.Field; +import tech.pegase.z3.domain.valueobject.searchings.LinkSearching; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; +import tech.pegase.z3.shared.valueobject.Source; + +@NullMarked +@ApplicationScoped +public class LinkDatabaseRepository implements LinkRepository { + private final Cache cache; + private final EntityManager em; + private final CriteriaBuilderFactory cbf; + + @Inject + public LinkDatabaseRepository( + @CacheName("z3-links") Cache cache, EntityManager em, CriteriaBuilderFactory cbf) { + this.cache = cache; + this.em = em; + this.cbf = cbf; + } + + @Override + public void persist(Link link) { + em.persist(link); + clearCache(); + } + + @Override + public void update(Link link) { + em.merge(link); + clearCache(); + } + + @Override + public boolean exists(Source source) { + return cache + .get( + "%s-exists".formatted(source.toString()), + k -> { + var typedQuery = query(Link.class).where("source").eq(source).getCountQuery(); + + return typedQuery.getSingleResult() != 0; + }) + .await() + .indefinitely(); + } + + @Override + public Optional findBySource(Source source) { + return cache + .>get( + source, + k -> { + var typedQuery = query(Link.class).where("source").eq(source).getQuery(); + try { + return Optional.of(typedQuery.getSingleResult()); + } catch (NoResultException e) { + return Optional.empty(); + } + }) + .await() + .indefinitely(); + } + + @Override + public PaginatedData findAllForBrand(Pagination pagination, @Nullable UUID brandUuid) { + var query = + query(Link.class) + .page(pagination.offset(), pagination.limit()) + .orderByAsc("createdAt") + .orderByAsc("source"); + + if (brandUuid != null) { + query = query.where("brand").eq(brandUuid); + } else { + query = query.where("brand").isNull(); + } + + var paginatedLinkList = query.getQuery().getResultList(); + + return PaginatedData.wrap( + paginatedLinkList, + pagination.limit(), + pagination.offset(), + paginatedLinkList.getTotalSize()); + } + + @Override + public PaginatedData findAllForTag(Pagination pagination, @Nullable UUID tagUuid) { + var query = + query(Link.class) + .page(pagination.offset(), pagination.limit()) + .orderByAsc("createdAt") + .orderByAsc("source"); + + if (tagUuid != null) { + query = query.where("tag").eq(tagUuid); + } else { + query = query.where("tag").isNull(); + } + + var paginatedLinkList = query.getQuery().getResultList(); + + return PaginatedData.wrap( + paginatedLinkList, + pagination.limit(), + pagination.offset(), + paginatedLinkList.getTotalSize()); + } + + @Override + public PaginatedData findAllForCatalog(Pagination pagination, @Nullable UUID catalogUuid) { + var query = + query(Link.class) + .page(pagination.offset(), pagination.limit()) + .orderByAsc("createdAt") + .orderByAsc("source"); + + if (catalogUuid != null) { + query = query.where("catalog").eq(catalogUuid); + } else { + query = query.where("catalog").isNull(); + } + + var paginatedLinkList = query.getQuery().getResultList(); + + return PaginatedData.wrap( + paginatedLinkList, + pagination.limit(), + pagination.offset(), + paginatedLinkList.getTotalSize()); + } + + @Override + public PaginatedData findAll(Pagination pagination, LinkFiltering filters) { + var paginatedLinkList = + paginatedQueryAnyWherePartiallyMatchFilter( + Link.class, pagination, null, filters, List.of(), "source") + .getResultList(); + + return PaginatedData.wrap( + paginatedLinkList, + pagination.limit(), + pagination.offset(), + paginatedLinkList.getTotalSize()); + } + + @Override + public PaginatedData findAll( + Pagination pagination, LinkFiltering filters, LinkOrdering ordering) { + + var paginatedLinkList = + paginatedQueryAnyWherePartiallyMatchFilter( + Link.class, pagination, ordering, filters, List.of(), "source") + .getResultList(); + + return PaginatedData.wrap( + paginatedLinkList, + pagination.limit(), + pagination.offset(), + paginatedLinkList.getTotalSize()); + } + + @Override + public PaginatedData findAll( + Pagination pagination, LinkFiltering filters, List searchingList) { + + var paginatedLinkList = + paginatedQueryAnyWherePartiallyMatchFilter( + Link.class, pagination, null, filters, searchingList, "source") + .getResultList(); + + var totalItemCount = paginatedLinkList.getTotalSize(); + + return PaginatedData.wrap( + paginatedLinkList, pagination.limit(), pagination.offset(), totalItemCount); + } + + @Override + public PaginatedData findAll( + Pagination pagination, + LinkFiltering filters, + LinkOrdering ordering, + List searchingList) { + var paginatedLinkList = + paginatedQueryAnyWherePartiallyMatchFilter( + Link.class, pagination, ordering, filters, searchingList, "source") + .getResultList(); + + return PaginatedData.wrap( + paginatedLinkList, + pagination.limit(), + pagination.offset(), + paginatedLinkList.getTotalSize()); + } + + @Override + public Long countTotalVisits(@Nullable UUID brandUuid) { + Class<@Nullable Long> longType = Long.class; + var query = cbf.create(em, longType).select("sum(visits)").from(Link.class); + + if (brandUuid != null) { + query = query.where("brand").eq(brandUuid); + } else { + query = query.where("brand").isNull(); + } + + // * Get single result could return NULL if there are no results from the query. + var totalVisitsCount = query.getQuery().getSingleResult(); + + return totalVisitsCount != null ? totalVisitsCount : 0; + } + + @Override + public Long countTotalVisits() { + Class<@Nullable Long> longType = Long.class; + var query = cbf.create(em, longType).select("sum(visits)").from(Link.class); + + // * Get single result could return NULL if there are no results from the query. + var totalVisitsCount = query.getQuery().getSingleResult(); + + return totalVisitsCount != null ? totalVisitsCount : 0; + } + + @Override + public Long countTotalExternal(@Nullable UUID brandUuid) { + var query = query(Link.class).where("isExternal").eq(true); + + if (brandUuid != null) { + query = query.where("brand").eq(brandUuid); + } else { + query = query.where("brand").isNull(); + } + + return query.getCountQuery().getSingleResult(); + } + + @Override + public Long countTotalExternal() { + var query = query(Link.class).where("isExternal").eq(true); + + return query.getCountQuery().getSingleResult(); + } + + @Override + public Long countTotalInvalids(@Nullable UUID brandUuid) { + var query = query(Link.class).where("validity").eq(LinkValidity.invalid()); + + if (brandUuid != null) { + query = query.where("brand").eq(brandUuid); + } else { + query = query.where("brand").isNull(); + } + + return query.getCountQuery().getSingleResult(); + } + + @Override + public Long countTotalInvalids() { + var query = query(Link.class).where("validity").eq(LinkValidity.valid()); + + return query.getCountQuery().getSingleResult(); + } + + public void clearCache() { + cache.invalidateAll().await().indefinitely(); + } + + private PaginatedCriteriaBuilder paginatedQueryAnyWherePartiallyMatchFilter( + Class resultClass, + Pagination pagination, + @Nullable Ordering ordering, + LinkFiltering filters, + List searchingList, + String defaultOrderBy) { + + // Select * From `links` Where (`x` like "%str%" or `y` like "%str%" or ...) + var blazeQuery = query(resultClass); + + if (!searchingList.isEmpty()) { + var i = searchingList.size(); + var whereOr = blazeQuery.whereOr(); + while (i-- > 0) { + var searchCriteria = searchingList.get(i); + whereOr = + whereOr + .where(searchingFieldToColumnName(searchCriteria.getField())) + .like() + .value("%" + searchCriteria.getSearchValue() + "%") + .noEscape(); + } + blazeQuery = whereOr.endOr(); + } + + if (!filters.getFilters().isEmpty()) { + for (var filter : filters.getFilters().entrySet()) { + blazeQuery = filterCriteria(blazeQuery, filter); + } + } + + var blazeQueryPaginated = blazeQuery.page(pagination.offset(), pagination.limit()); + + if (ordering != null && !ordering.getDirection().equals(Direction.NATURAL)) { + blazeQueryPaginated = + blazeQueryPaginated + .orderBy(ordering.getFieldName(), ordering.getDirection().equals(Direction.ASC)) + .orderBy(defaultOrderBy, true); + } else { + blazeQueryPaginated = blazeQueryPaginated.orderBy(defaultOrderBy, true); + } + + return blazeQueryPaginated; + } + + private CriteriaBuilder filterCriteria( + CriteriaBuilder criteriaBuilder, Entry filter) { + var fieldName = filter.getKey().getFieldName(); + var fieldValue = filter.getValue() != null ? filter.getValue().getFieldValue() : null; + + if (fieldValue == null) { + return criteriaBuilder.where(fieldName).isNull(); + } + + return switch (filter.getKey()) { + case TAG, CATALOG, BRAND -> criteriaBuilder.where(fieldName).eq(UUID.fromString(fieldValue)); + case IS_EXTERNAL, IS_VALID -> + criteriaBuilder + .where(fieldName) + .eq(Boolean.parseBoolean(fieldValue.equals("1") ? "true" : fieldValue)); + }; + } + + private CriteriaBuilder query(Class output) { + return cbf.create(em, output).from(output); + } + + private String searchingFieldToColumnName(LinkSearching.Field searchingField) { + return switch (searchingField) { + case LinkSearching.Field.SOURCE -> "source.value"; + case LinkSearching.Field.TARGET -> "target.value"; + }; + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/links/LinkInMemoryRepository.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/links/LinkInMemoryRepository.java new file mode 100644 index 0000000..9860cb8 --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/links/LinkInMemoryRepository.java @@ -0,0 +1,290 @@ +package tech.pegase.z3.infrastructure.adapter.repository.links; + +import java.util.Comparator; +import java.util.List; +import java.util.Optional; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.domain.entity.Link; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.valueobject.LinkValidity; +import tech.pegase.z3.domain.valueobject.concepts.Ordering.Direction; +import tech.pegase.z3.domain.valueobject.filterings.LinkFiltering; +import tech.pegase.z3.domain.valueobject.orderings.LinkOrdering; +import tech.pegase.z3.domain.valueobject.searchings.LinkSearching; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; +import tech.pegase.z3.shared.valueobject.Source; + +@NullMarked +public class LinkInMemoryRepository implements LinkRepository { + private final ConcurrentMap data = new ConcurrentHashMap<>(); + + @Override + public void persist(Link link) { + data.put(link.getSource(), link); + } + + @Override + public void update(Link link) { + data.put(link.getSource(), link); + } + + @Override + public boolean exists(Source source) { + return data.containsKey(source); + } + + @Override + public Optional findBySource(Source source) { + + if (data.isEmpty()) { + return Optional.empty(); + } + + for (var keySet : data.keySet()) { + if (keySet.value().equals(source.value())) { + return Optional.of(data.get(keySet)); + } + } + + return Optional.ofNullable(data.get(source)); + } + + @Override + public PaginatedData findAllForBrand(Pagination pagination, @Nullable UUID brandUuid) { + if (data.isEmpty()) { + return PaginatedData.empty(); + } + + var paginatedLinkList = + data.values().stream() + .filter((link) -> brandUuid == null || brandUuid.equals(link.getBrand())) + .skip(pagination.offset()) + .limit(pagination.limit()) + .toList(); + + return PaginatedData.wrap( + paginatedLinkList, pagination.limit(), pagination.offset(), data.size()); + } + + @Override + public PaginatedData findAllForTag(Pagination pagination, @Nullable UUID tagUuid) { + if (data.isEmpty()) { + return PaginatedData.empty(); + } + + var paginatedLinkList = + data.values().stream() + .filter((link) -> tagUuid == null || tagUuid.equals(link.getTag())) + .skip(pagination.offset()) + .limit(pagination.limit()) + .toList(); + + return PaginatedData.wrap( + paginatedLinkList, pagination.limit(), pagination.offset(), data.size()); + } + + @Override + public PaginatedData findAllForCatalog(Pagination pagination, @Nullable UUID catalogUuid) { + if (data.isEmpty()) { + return PaginatedData.empty(); + } + + var paginatedLinkList = + data.values().stream() + .filter((link) -> catalogUuid == null || catalogUuid.equals(link.getCatalog())) + .skip(pagination.offset()) + .limit(pagination.limit()) + .toList(); + + return PaginatedData.wrap( + paginatedLinkList, pagination.limit(), pagination.offset(), data.size()); + } + + @Override + public PaginatedData findAll(Pagination pagination, LinkFiltering filters) { + + if (data.isEmpty()) { + return PaginatedData.empty(); + } + + var paginatedLinkList = + data.values().stream() + .filter((link) -> filterLink(link, filters)) + .skip(pagination.offset()) + .limit(pagination.limit()) + .toList(); + + return PaginatedData.wrap( + paginatedLinkList, pagination.limit(), pagination.offset(), data.size()); + } + + @Override + public PaginatedData findAll( + Pagination pagination, LinkFiltering filters, LinkOrdering ordering) { + + if (data.isEmpty()) { + return PaginatedData.empty(); + } + + var paginatedLinkList = + data.values().stream() + .filter((link) -> filterLink(link, filters)) + .sorted(this.sortLinks(ordering)) + .skip(pagination.offset()) + .limit(pagination.limit()) + .toList(); + + return PaginatedData.wrap( + paginatedLinkList, pagination.limit(), pagination.offset(), data.size()); + } + + @Override + public PaginatedData findAll( + Pagination pagination, LinkFiltering filters, List searchings) { + + if (data.isEmpty()) { + return PaginatedData.empty(); + } + + var paginatedLinkList = + data.values().stream() + .filter((link) -> searchLink(link, searchings)) + .skip(pagination.offset()) + .limit(pagination.limit()) + .toList(); + + return PaginatedData.wrap( + paginatedLinkList, pagination.limit(), pagination.offset(), data.size()); + } + + @Override + public PaginatedData findAll( + Pagination pagination, + LinkFiltering filters, + LinkOrdering ordering, + List searchings) { + + if (data.isEmpty()) { + return PaginatedData.empty(); + } + + var paginatedLinkList = + data.values().stream() + .filter((link) -> searchLink(link, searchings)) + .filter((link) -> filterLink(link, filters)) + .sorted(this.sortLinks(ordering)) + .skip(pagination.offset()) + .limit(pagination.limit()) + .toList(); + + return PaginatedData.wrap( + paginatedLinkList, pagination.limit(), pagination.offset(), data.size()); + } + + @Override + public Long countTotalVisits(@Nullable UUID brandUuid) { + return data.values().stream() + .filter((link) -> link.getBrand() == brandUuid) + .map(Link::getVisits) + .reduce(Integer::sum) + .orElse(0) + .longValue(); + } + + @Override + public Long countTotalVisits() { + return data.values().stream().map(Link::getVisits).reduce(Integer::sum).orElse(0).longValue(); + } + + @Override + public Long countTotalExternal(@Nullable UUID brandUuid) { + return data.values().stream().filter(Link::isExternal).count(); + } + + @Override + public Long countTotalExternal() { + return data.values().stream().filter(Link::isExternal).count(); + } + + @Override + public Long countTotalInvalids(@Nullable UUID brandUuid) { + return data.values().stream() + .filter(link -> link.getBrand() == brandUuid) + .filter(link -> link.getValidity().equals(LinkValidity.valid())) + .count(); + } + + @Override + public Long countTotalInvalids() { + return data.values().stream() + .filter(link -> link.getValidity().equals(LinkValidity.valid())) + .count(); + } + + private Comparator sortLinks(LinkOrdering ordering) { + return (final Link o1, final Link o2) -> { + return switch (ordering.getField()) { + case LinkOrdering.Field.SOURCE -> { + var cmp = o1.getSource().compareTo(o2.getSource()); + yield ordering.getDirection().equals(Direction.ASC) ? cmp : -cmp; + } + case LinkOrdering.Field.VISITS -> { + var cmp = o1.getVisits() - o2.getVisits(); + yield ordering.getDirection().equals(Direction.ASC) ? cmp : -cmp; + } + case LinkOrdering.Field.IS_EXTERNAL -> { + var cmp = (o1.isExternal() ? 1 : 0) - (o2.isExternal() ? 1 : 0); + yield ordering.getDirection().equals(Direction.ASC) ? cmp : -cmp; + } + case LinkOrdering.Field.VALIDITY -> { + var cmp = o1.getValidity().value().compareTo(o2.getValidity().value()); + yield ordering.getDirection().equals(Direction.ASC) ? cmp : -cmp; + } + case LinkOrdering.Field.CREATED_AT -> { + var cmp = o1.getCreatedAt().compareTo(o2.getCreatedAt()); + yield ordering.getDirection().equals(Direction.ASC) ? cmp : -cmp; + } + }; + }; + } + + private boolean searchLink(Link link, List searchingList) { + if (searchingList.isEmpty()) { + return false; + } + + return searchingList.stream() + .anyMatch( + (searching) -> { + return switch (searching.field()) { + case SOURCE -> link.getSource().value().contains(searching.getSearchValue()); + case TARGET -> link.getTarget().value().contains(searching.getSearchValue()); + }; + }); + } + + private boolean filterLink(Link link, LinkFiltering filteringList) { + if (filteringList.getFilters().isEmpty()) { + return false; + } + + return filteringList.getFilters().entrySet().stream() + .anyMatch( + (entry) -> { + var value = entry.getValue() != null ? entry.getValue().value() : null; + value = value != null && value.equals("1") ? "true" : value; + return switch (entry.getKey()) { + case BRAND -> link.getBrand() != null && link.getBrand().toString().equals(value); + case TAG -> link.getTag() != null && link.getTag().toString().equals(value); + case CATALOG -> + link.getCatalog() != null && link.getCatalog().toString().equals(value); + case IS_EXTERNAL, IS_VALID -> link.isExternal() == Boolean.parseBoolean(value); + }; + }); + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/reporting/ReportingSubscriptionDatabaseRepository.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/reporting/ReportingSubscriptionDatabaseRepository.java new file mode 100644 index 0000000..91a218b --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/reporting/ReportingSubscriptionDatabaseRepository.java @@ -0,0 +1,105 @@ +package tech.pegase.z3.infrastructure.adapter.repository.reporting; + +import com.blazebit.persistence.CriteriaBuilder; +import com.blazebit.persistence.CriteriaBuilderFactory; +import com.blazebit.persistence.DeleteCriteriaBuilder; +import io.quarkus.cache.Cache; +import io.quarkus.cache.CacheName; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import jakarta.persistence.EntityManager; +import jakarta.persistence.NoResultException; +import java.util.HashSet; +import java.util.Optional; +import java.util.Set; +import java.util.UUID; +import org.jspecify.annotations.NullMarked; +import tech.pegase.happy.core.DomainEntity.Id; +import tech.pegase.z3.domain.entity.ReportingSubscription; +import tech.pegase.z3.domain.port.repository.ReportingSubscriptionRepository; + +@NullMarked +@ApplicationScoped +public class ReportingSubscriptionDatabaseRepository implements ReportingSubscriptionRepository { + private final Cache cache; + private final EntityManager em; + private final CriteriaBuilderFactory cbf; + + @Inject + public ReportingSubscriptionDatabaseRepository( + @CacheName("z3-reporting-subscriptions") Cache cache, + EntityManager em, + CriteriaBuilderFactory cbf) { + this.cache = cache; + this.em = em; + this.cbf = cbf; + } + + @Override + public Set getAllSubscriptions() { + return cache + .get( + "all", + k -> { + var typedQuery = query().getQuery(); + return new HashSet<>(typedQuery.getResultList()); + }) + .await() + .indefinitely(); + } + + @Override + public Set getAllSubscriptions(UUID userUuid) { + return cache + .get( + "all-for%s".formatted(userUuid), + k -> { + var typedQuery = query().where("user").eq(userUuid).getQuery(); + return new HashSet<>(typedQuery.getResultList()); + }) + .await() + .indefinitely(); + } + + @Override + public void removeAllUserSubscriptions(UUID userUuid) { + clearCache(); + deleteQuery().where("user").eq(userUuid).getQuery().executeUpdate(); + } + + @Override + public void setSubscriptions(Set subscriptions) { + clearCache(); + subscriptions.forEach(em::persist); + } + + private void clearCache() { + cache.invalidateAll().await().indefinitely(); + } + + @Override + public Optional find(Id id) { + return cache + ., Optional>get( + id, + k -> { + try { + var typedQuery = query().where("uuid").eq(id.value()).getQuery(); + + return Optional.of(typedQuery.getSingleResult()); + } catch (NoResultException e) { + return Optional.empty(); + } + }) + .await() + .indefinitely(); + } + + private CriteriaBuilder query() { + return cbf.create(em, ReportingSubscription.class).from(ReportingSubscription.class); + } + + private DeleteCriteriaBuilder deleteQuery() { + return cbf.delete(em, ReportingSubscription.class).from(ReportingSubscription.class); + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/reporting/ReportingSubscriptionInMemoryRepository.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/reporting/ReportingSubscriptionInMemoryRepository.java new file mode 100644 index 0000000..2df6a93 --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/reporting/ReportingSubscriptionInMemoryRepository.java @@ -0,0 +1,57 @@ +package tech.pegase.z3.infrastructure.adapter.repository.reporting; + +import java.util.HashSet; +import java.util.Map.Entry; +import java.util.Optional; +import java.util.Set; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; +import java.util.stream.Collectors; +import org.jspecify.annotations.NullMarked; +import tech.pegase.happy.core.DomainEntity.Id; +import tech.pegase.z3.domain.entity.ReportingSubscription; +import tech.pegase.z3.domain.port.repository.ReportingSubscriptionRepository; + +@NullMarked +public class ReportingSubscriptionInMemoryRepository implements ReportingSubscriptionRepository { + private final ConcurrentMap data = new ConcurrentHashMap<>(); + + @Override + public Set getAllSubscriptions() { + return new HashSet<>(data.values()); + } + + @Override + public Set getAllSubscriptions(UUID userUuid) { + return data.values().stream() + .filter(v -> v.getUser().equals(userUuid)) + .collect(Collectors.toSet()); + } + + @Override + public void removeAllUserSubscriptions(UUID userUuid) { + var keysToRemove = + data.entrySet().stream() + .filter(entry -> entry.getValue().getUser().equals(userUuid)) + .map(Entry::getKey); + + keysToRemove.forEach(data::remove); + } + + @Override + public void setSubscriptions(Set subscriptions) { + subscriptions.forEach(subscription -> data.put(subscription.getUuid(), subscription)); + } + + @Override + public Optional find(Id id) { + var value = data.get(id.value()); + + if (value == null) { + return Optional.empty(); + } + + return Optional.of(value); + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/tags/TagDatabaseRepository.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/tags/TagDatabaseRepository.java new file mode 100644 index 0000000..d057c9f --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/tags/TagDatabaseRepository.java @@ -0,0 +1,139 @@ +package tech.pegase.z3.infrastructure.adapter.repository.tags; + +import com.blazebit.persistence.CriteriaBuilder; +import com.blazebit.persistence.CriteriaBuilderFactory; +import com.blazebit.persistence.DeleteCriteriaBuilder; +import io.quarkus.cache.Cache; +import io.quarkus.cache.CacheName; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import jakarta.persistence.EntityManager; +import jakarta.persistence.NoResultException; +import java.util.Optional; +import java.util.UUID; +import org.jspecify.annotations.NullMarked; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.domain.port.repository.LinkRepository; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.infrastructure.adapter.repository.links.LinkDatabaseRepository; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +@NullMarked +@ApplicationScoped +public class TagDatabaseRepository implements TagRepository { + private final LinkRepository linkRepository; + private final Cache cache; + private final EntityManager em; + private final CriteriaBuilderFactory cbf; + + @Inject + public TagDatabaseRepository( + LinkRepository linkRepository, + @CacheName("z3-tags") Cache cache, + EntityManager em, + CriteriaBuilderFactory cbf) { + this.linkRepository = linkRepository; + this.cache = cache; + this.em = em; + this.cbf = cbf; + } + + @Override + public void persist(Tag tag) { + em.persist(tag); + clearCache(); + } + + @Override + public void update(Tag tag) { + em.merge(tag); + clearCache(); + } + + @Override + public boolean exists(UUID uuid) { + return cache + .get( + "%s-exists".formatted(uuid), + k -> { + var typedQuery = query().where("uuid").eq(uuid).getCountQuery(); + + return typedQuery.getSingleResult() != 0; + }) + .await() + .indefinitely(); + } + + @Override + public boolean remove(UUID uuid) { + clearCache(); + + var typedQuery = deleteQuery().where("uuid").eq(uuid).getQuery(); + + return typedQuery.executeUpdate() != 0; + } + + @Override + public Optional findByUuid(UUID uuid) { + return cache + .>get( + uuid, + k -> { + var typedQuery = query().where("uuid").eq(uuid).getQuery(); + try { + return Optional.of(typedQuery.getSingleResult()); + } catch (NoResultException e) { + return Optional.empty(); + } + }) + .await() + .indefinitely(); + } + + @Override + public Optional findByName(String name) { + return cache + .>get( + name, + k -> { + var typedQuery = query().where("name").eq(name).getQuery(); + try { + return Optional.of(typedQuery.getSingleResult()); + } catch (NoResultException e) { + return Optional.empty(); + } + }) + .await() + .indefinitely(); + } + + @Override + public PaginatedData findAll(Pagination pagination) { + + var query = + query() + .page(pagination.offset(), pagination.limit()) + .orderByAsc("uuid") + .getQuery() + .getResultList(); + + return PaginatedData.wrap(query, pagination.limit(), pagination.offset(), query.getTotalSize()); + } + + private void clearCache() { + if (linkRepository instanceof LinkDatabaseRepository) { + ((LinkDatabaseRepository) linkRepository).clearCache(); + } + + cache.invalidateAll().await().indefinitely(); + } + + private CriteriaBuilder query() { + return cbf.create(em, Tag.class).from(Tag.class); + } + + private DeleteCriteriaBuilder deleteQuery() { + return cbf.delete(em, Tag.class).from(Tag.class); + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/tags/TagInMemoryRepository.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/tags/TagInMemoryRepository.java new file mode 100644 index 0000000..d0582cd --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/tags/TagInMemoryRepository.java @@ -0,0 +1,79 @@ +package tech.pegase.z3.infrastructure.adapter.repository.tags; + +import java.util.Optional; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; +import org.jspecify.annotations.NullMarked; +import tech.pegase.z3.domain.entity.Tag; +import tech.pegase.z3.domain.port.repository.TagRepository; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +@NullMarked +public class TagInMemoryRepository implements TagRepository { + private final ConcurrentMap data = new ConcurrentHashMap<>(); + + @Override + public void persist(Tag tag) { + + data.put(tag.getUuid(), tag); + } + + @Override + public void update(Tag tag) { + data.put(tag.getUuid(), tag); + } + + @Override + public boolean exists(UUID uuid) { + + return data.containsKey(uuid); + } + + @Override + public boolean remove(UUID uuid) { + + if (!data.containsKey(uuid)) { + return false; + } + + data.remove(uuid); + return true; + } + + @Override + public Optional findByUuid(UUID uuid) { + return Optional.ofNullable(data.get(uuid)); + } + + @Override + public Optional findByName(String name) { + + if (data.isEmpty()) { + return Optional.empty(); + } + + for (var value : data.values()) { + if (value.getName().equals(name)) { + return Optional.of(value); + } + } + + return Optional.empty(); + } + + @Override + public PaginatedData findAll(Pagination pagination) { + + if (data.isEmpty()) { + return PaginatedData.empty(); + } + + var paginatedLinkList = + data.values().stream().skip(pagination.offset()).limit(pagination.limit()).toList(); + + return PaginatedData.wrap( + paginatedLinkList, pagination.limit(), pagination.offset(), data.size()); + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/users/UserDatabaseRepository.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/users/UserDatabaseRepository.java new file mode 100644 index 0000000..8929d90 --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/users/UserDatabaseRepository.java @@ -0,0 +1,103 @@ +package tech.pegase.z3.infrastructure.adapter.repository.users; + +import com.blazebit.persistence.CriteriaBuilder; +import com.blazebit.persistence.CriteriaBuilderFactory; +import com.blazebit.persistence.DeleteCriteriaBuilder; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import jakarta.persistence.EntityManager; +import jakarta.persistence.NoResultException; +import java.util.Optional; +import java.util.UUID; +import org.jspecify.annotations.NullMarked; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +@NullMarked +@ApplicationScoped +public class UserDatabaseRepository implements UserRepository { + private final EntityManager em; + private final CriteriaBuilderFactory cbf; + + @Inject + public UserDatabaseRepository(EntityManager em, CriteriaBuilderFactory cbf) { + this.em = em; + this.cbf = cbf; + } + + @Override + public void persist(User user) { + em.persist(user); + } + + @Override + public void update(User user) { + em.merge(user); + } + + @Override + public boolean exists(UUID uuid) { + var typedQuery = query().where("uuid").eq(uuid).getCountQuery(); + + return typedQuery.getSingleResult() != 0; + } + + @Override + public boolean exists(Email email) { + var typedQuery = query().where("email").eq(email).getCountQuery(); + + return typedQuery.getSingleResult() != 0; + } + + @Override + public boolean remove(UUID uuid) { + var typedQuery = deleteQuery().where("uuid").eq(uuid).getQuery(); + + return typedQuery.executeUpdate() != 0; + } + + @Override + public Optional findByUuid(UUID uuid) { + var typedQuery = query().where("uuid").eq(uuid).getQuery(); + + try { + return Optional.of(typedQuery.getSingleResult()); + } catch (NoResultException e) { + return Optional.empty(); + } + } + + @Override + public Optional findByCredentialUuid(UUID credentialUuid) { + var typedQuery = query().where("credentialUuid").eq(credentialUuid).getQuery(); + + try { + return Optional.of(typedQuery.getSingleResult()); + } catch (NoResultException e) { + return Optional.empty(); + } + } + + @Override + public PaginatedData findAll(Pagination pagination) { + var query = + query() + .page(pagination.offset(), pagination.limit()) + .orderByAsc("uuid") + .getQuery() + .getResultList(); + + return PaginatedData.wrap(query, pagination.limit(), pagination.offset(), query.getTotalSize()); + } + + private CriteriaBuilder query() { + return cbf.create(em, User.class).from(User.class); + } + + private DeleteCriteriaBuilder deleteQuery() { + return cbf.delete(em, User.class).from(User.class); + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/users/UserInMemoryRepository.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/users/UserInMemoryRepository.java new file mode 100644 index 0000000..d9b8fbe --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/repository/users/UserInMemoryRepository.java @@ -0,0 +1,101 @@ +package tech.pegase.z3.infrastructure.adapter.repository.users; + +import java.util.Optional; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; +import org.jspecify.annotations.NullMarked; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.repository.UserRepository; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.shared.pagination.PaginatedData; +import tech.pegase.z3.shared.pagination.Pagination; + +@NullMarked +public class UserInMemoryRepository implements UserRepository { + private final ConcurrentMap data = new ConcurrentHashMap<>(); + + @Override + public void persist(User user) { + data.put(user.getUuid(), user); + } + + @Override + public void update(User user) { + data.put(user.getUuid(), user); + } + + @Override + public boolean exists(UUID uuid) { + return data.containsKey(uuid); + } + + @Override + public boolean exists(Email email) { + + for (var value : data.values()) { + if (value.getEmail().equals(email)) { + return true; + } + } + + return false; + } + + @Override + public boolean remove(UUID uuid) { + + if (!data.containsKey(uuid)) { + return false; + } + + data.remove(uuid); + return true; + } + + @Override + public Optional findByUuid(UUID uuid) { + + if (data.isEmpty()) { + return Optional.empty(); + } + + for (var keySet : data.keySet()) { + if (keySet.equals(uuid)) { + return Optional.of(data.get(keySet)); + } + } + + return Optional.ofNullable(data.get(uuid)); + } + + @Override + public Optional findByCredentialUuid(UUID credentialUuid) { + + if (data.isEmpty()) { + return Optional.empty(); + } + + for (var user : data.values()) { + if (user.getCredentialUuid().equals(credentialUuid)) { + return Optional.of(user); + } + } + + return Optional.empty(); + } + + @Override + public PaginatedData findAll(Pagination pagination) { + + if (data.isEmpty()) { + return PaginatedData.empty(); + } + + var paginatedLinkList = + data.values().stream().skip(pagination.offset()).limit(pagination.limit()).toList(); + + return PaginatedData.wrap( + paginatedLinkList, pagination.limit(), pagination.offset(), data.size()); + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/AesEncryptionProviderImpl.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/AesEncryptionProviderImpl.java new file mode 100644 index 0000000..c7969d0 --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/AesEncryptionProviderImpl.java @@ -0,0 +1,202 @@ +package tech.pegase.z3.infrastructure.adapter.service; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import java.nio.ByteBuffer; +import java.nio.charset.StandardCharsets; +import java.security.InvalidAlgorithmParameterException; +import java.security.InvalidKeyException; +import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; +import java.security.spec.AlgorithmParameterSpec; +import java.util.Arrays; +import java.util.Base64; +import javax.crypto.Cipher; +import javax.crypto.NoSuchPaddingException; +import javax.crypto.SecretKey; +import javax.crypto.spec.GCMParameterSpec; +import javax.crypto.spec.SecretKeySpec; +import org.bouncycastle.crypto.generators.Argon2BytesGenerator; +import org.bouncycastle.crypto.params.Argon2Parameters; +import org.eclipse.microprofile.config.inject.ConfigProperty; +import tech.pegase.z3.domain.port.service.EncryptionProvider; + +@ApplicationScoped +public class AesEncryptionProviderImpl implements EncryptionProvider { + + /** Use Galois Counter Mode. */ + private static final String cipherAlgorithm = "AES/GCM/NoPadding"; + + /** + * For a 96-bits initialization vector (IV) that should be unique and unpredictable. {@see + * AES-GCM recommended IV size} + */ + private static final int cryptoIvLengthInBits = 96; + + /** + * For a 128-bits GCM tag. {@see + * AES-GCM recommended Tag size} + */ + private static final int cryptoAuthTagLengthInBits = 128; + + private final SecretKey secretKey; + + @Inject + AesEncryptionProviderImpl( + @ConfigProperty(name = "z3.infra.aes.key") String key, + @ConfigProperty(name = "z3.infra.aes.salt") String salt, + @ConfigProperty(name = "z3.infra.aes.key-length", defaultValue = "256") int keyLengthInBits) { + + if (key.isBlank()) { + throw new IllegalArgumentException("Key cannot be empty"); + } + + if (salt.isBlank()) { + throw new IllegalArgumentException("Salt cannot be empty"); + } + + /* AES-128 is 16 bytes long (AES-192 = 24 bytes, AES-256 = 32 bytes) */ + var acceptedLengths = new int[] {128, 192, 256}; + if (Arrays.stream(acceptedLengths).noneMatch((a) -> a == keyLengthInBits)) { + throw new IllegalArgumentException( + "Key length in bits has to be one of " + Arrays.toString(acceptedLengths)); + } + + this.secretKey = new SecretKeySpec(getArgon2Hash(key, salt, keyLengthInBits / 8), "AES"); + } + + private static String encodeToBase64(byte[] encrypted) { + return Base64.getEncoder().withoutPadding().encodeToString(encrypted); + } + + private static byte[] decodeFromBase64(String encoded) { + return Base64.getDecoder().decode(encoded); + } + + /** Get unique and unpredictable initialized vector. */ + private static byte[] getUniqueAndTrulyRandomInitVector() { + var initVector = new byte[AesEncryptionProviderImpl.cryptoIvLengthInBits / 8]; + new SecureRandom().nextBytes(initVector); + return initVector; + } + + /** This is used to hash our secret key with salting to a specified length. */ + private static byte[] getArgon2Hash(String value, String salt, int lengthInBits) { + + final var parallelism = 4; + final var memoryInKb = 19 * 1024; + final var iterations = 1; + var hash = new byte[lengthInBits]; + + var params = + new Argon2Parameters.Builder(Argon2Parameters.ARGON2_id) + .withParallelism(parallelism) + .withMemoryAsKB(memoryInKb) + .withIterations(iterations) + .withSalt(salt.getBytes()) + .build(); + + var generator = new Argon2BytesGenerator(); + generator.init(params); + generator.generateBytes(value.toCharArray(), hash); + + return hash; + } + + @Override + public String encrypt(String plainText) throws CryptException { + + try { + // Get an unique unpredictable vector. + var initVector = getUniqueAndTrulyRandomInitVector(); + + // Get an initialized cipher. + var cipher = getInitializedCipher(CipherMode.ENCRYPT_MODE, initVector); + + // Encrypt our string. + var cipheredText = cipher.doFinal(plainText.getBytes()); + + // Prepend our vector along ciphered text. + var vectorAndCipheredText = ByteBuffer.allocate(initVector.length + cipheredText.length); + + vectorAndCipheredText.put(initVector); + vectorAndCipheredText.put(cipheredText); + + // Encode the whole. + return encodeToBase64(vectorAndCipheredText.array()); + } catch (Exception e) { + throw new CryptException(e.getMessage(), e); + } + } + + @Override + public String decrypt(String encodedAndCiphered) throws CryptException { + + try { + // Decode the whole. + var vectorAndCipheredText = decodeFromBase64(encodedAndCiphered); + + // Retrieve the vector used to encrypt. + var initVector = Arrays.copyOfRange(vectorAndCipheredText, 0, cryptoIvLengthInBits / 8); + + // Retrieve the encrypted string. + var cipheredText = + Arrays.copyOfRange( + vectorAndCipheredText, cryptoIvLengthInBits / 8, vectorAndCipheredText.length); + + // Get an initialized cipher. + var cipher = getInitializedCipher(CipherMode.DECRYPT_MODE, initVector); + + // Decrypt our string. + var plainText = cipher.doFinal(cipheredText); + + return new String(plainText, StandardCharsets.UTF_8); + } catch (Exception e) { + throw new CryptException(e.getMessage(), e); + } + } + + /** Get an initialized cipher using an initialized vector. */ + private Cipher getInitializedCipher(CipherMode cipherMode, byte[] initVector) + throws NoSuchPaddingException, + NoSuchAlgorithmException, + InvalidAlgorithmParameterException, + InvalidKeyException { + + /* + TL;DR: Padding is part of the specification of the mode and thus doesn't need to be done by + the user of the primitive. + @see https://crypto.stackexchange.com/questions/42412/gcm-padding-or-not + */ + var cipher = Cipher.getInstance(cipherAlgorithm); + + /* + Authentication tag is used to verify that the resulting ciphertext has not been tampered with + during the decryption process. 128-bit is the recommended configuration when using the GCM mode + for AES encryption. + @see https://smattme.com/posts/how-to-encrypt-decrypt-aes-in-java + */ + AlgorithmParameterSpec parameterSpec = + new GCMParameterSpec(cryptoAuthTagLengthInBits, initVector); + cipher.init(cipherMode.mode(), secretKey, parameterSpec); + return cipher; + } + + /** Private local cipher mode. */ + private enum CipherMode { + ENCRYPT_MODE(Cipher.ENCRYPT_MODE), + DECRYPT_MODE(Cipher.DECRYPT_MODE); + + private final int mode; + + CipherMode(int mode) { + this.mode = mode; + } + + public int mode() { + return mode; + } + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/Argon2HashProviderImpl.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/Argon2HashProviderImpl.java new file mode 100644 index 0000000..59e0294 --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/Argon2HashProviderImpl.java @@ -0,0 +1,124 @@ +package tech.pegase.z3.infrastructure.adapter.service; + +import jakarta.enterprise.context.ApplicationScoped; +import java.util.Base64; +import java.util.List; +import org.springframework.security.crypto.argon2.Argon2PasswordEncoder; +import tech.pegase.z3.domain.port.service.HashProvider; +import tech.pegase.z3.domain.valueobject.concepts.Hash; +import tech.pegase.z3.domain.valueobject.hashes.PasswordHash; + +@ApplicationScoped +public class Argon2HashProviderImpl implements HashProvider { + /* @see https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html */ + private static final int SALT_LENGTH = 16; + private static final int HASH_LENGTH = 32; + private static final int PARALLELISM = 1; + private static final int MEMORY_IN_KB = 12288; + private static final int ITERATIONS = 3; + private final Argon2PasswordEncoder encoder; + + public Argon2HashProviderImpl() { + this.encoder = + new Argon2PasswordEncoder(SALT_LENGTH, HASH_LENGTH, PARALLELISM, MEMORY_IN_KB, ITERATIONS); + } + + @Override + public H hash(Class type, String value) { + var encodedString = encoder.encode(value); + + if (type == PasswordHash.class) { + return type.cast(new PasswordHash(encodedString)); + } + throw new IllegalArgumentException("Unsupported hash type: '%s'".formatted(type)); + } + + @Override + public boolean check(Hash hash) { + try { + Argon2DecoderVerifier.assertHashIsCorrectlyFormatted(hash.getValue()); + return true; + } catch (Argon2HashingException e) { + return false; + } + } + + @Override + public boolean areEquals(Hash hash, String value) { + return this.encoder.matches(value, hash.getValue()); + } + + /** Private Local Exception. */ + private static class Argon2HashingException extends Exception { + Argon2HashingException(String message) { + super(message); + } + } + + /** + * Private verifier based on {@link org.springframework.security.crypto.argon2 + * Argon2EncodingUtils}. + */ + private static class Argon2DecoderVerifier { + public static void assertHashIsCorrectlyFormatted(String hashToCheck) + throws Argon2HashingException { + var parts = hashToCheck.split("\\$"); + + // Minimal parts length is 5, 6 with version + if (parts.length < 5) { + throw new Argon2HashingException("Invalid encoded Argon2-hash"); + } + + var hasVersion = parts[2].startsWith("v="); + + var currentPart = 1; + + // Check algo used should exist + var validAlgos = List.of("argon2d", "argon2i", "argon2id"); + if (!validAlgos.contains(parts[currentPart++])) { + throw new Argon2HashingException("Invalid algorithm type: '%s'".formatted(parts[1])); + } + + // Check version part + if (hasVersion && parts.length < 6) { + throw new Argon2HashingException("Invalid encoded Argon2-hash"); + } + currentPart = hasVersion ? currentPart + 1 : currentPart; + + // Check performance params + var performanceParams = parts[currentPart++].split(","); + if (performanceParams.length != 3) { + throw new Argon2HashingException("Amount of performance parameters invalid"); + } + assertPerformanceParameter("memory", 'm', performanceParams[0]); + assertPerformanceParameter("iterations", 't', performanceParams[1]); + assertPerformanceParameter("parallelism", 'p', performanceParams[2]); + + assertBinaryChunkIsValid("salt", parts[currentPart++]); + assertBinaryChunkIsValid("secret", parts[currentPart]); + } + + private static void assertPerformanceParameter(String name, char prefix, String parameter) + throws Argon2HashingException { + if (!parameter.startsWith("%s=".formatted(prefix))) { + throw new Argon2HashingException("Invalid %s parameter".formatted(name)); + } + try { + Integer.parseInt(parameter.substring(2)); + } catch (NumberFormatException e) { + throw new Argon2HashingException("Invalid %s parameter".formatted(name)); + } + } + + private static void assertBinaryChunkIsValid(String name, String part) + throws Argon2HashingException { + try { + if (Base64.getDecoder().decode(part).length == 0) { + throw new Argon2HashingException("Invalid %s parameter".formatted(name)); + } + } catch (IllegalArgumentException e) { + throw new Argon2HashingException("Invalid %s parameter".formatted(name)); + } + } + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/CsvEditorImpl.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/CsvEditorImpl.java new file mode 100644 index 0000000..c0b9afe --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/CsvEditorImpl.java @@ -0,0 +1,42 @@ +package tech.pegase.z3.infrastructure.adapter.service; + +import jakarta.enterprise.context.ApplicationScoped; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.util.function.Function; +import org.apache.commons.csv.CSVFormat; +import tech.pegase.z3.domain.port.service.CsvEditor; +import tech.pegase.z3.domain.valueobject.Target; + +@ApplicationScoped +public class CsvEditorImpl implements CsvEditor { + + @Override + public InputStream doMagic(InputStream csvFile, Function getSource) { + try { + var reader = new InputStreamReader(csvFile); + var parser = CSVFormat.DEFAULT.parse(reader); + + var outputStream = new ByteArrayOutputStream(); + + var writer = new OutputStreamWriter(outputStream); + var printer = CSVFormat.DEFAULT.print(writer); + + for (var record : parser) { + var target = new Target(record.get(0)); + var shortUrl = getSource.apply(target); + printer.printRecord(target.value(), shortUrl); + } + + // create input stream from writer + writer.flush(); + + return new ByteArrayInputStream(outputStream.toByteArray()); + } catch (Exception e) { + throw new RuntimeException(e); + } + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/HttpUrlCheckerImpl.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/HttpUrlCheckerImpl.java new file mode 100644 index 0000000..0cacf5c --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/HttpUrlCheckerImpl.java @@ -0,0 +1,88 @@ +package tech.pegase.z3.infrastructure.adapter.service; + +import io.smallrye.mutiny.Uni; +import jakarta.enterprise.context.ApplicationScoped; +import java.io.IOException; +import java.net.HttpURLConnection; +import java.net.SocketTimeoutException; +import java.net.URL; +import org.eclipse.microprofile.config.inject.ConfigProperty; +import org.jboss.logging.Logger; +import tech.pegase.z3.domain.port.service.UrlChecker; + +@ApplicationScoped +public class HttpUrlCheckerImpl implements UrlChecker { + private static final Logger logger = Logger.getLogger(HttpUrlCheckerImpl.class); + private static final String HTTP_METHOD = "HEAD"; + private static final String USER_AGENT_PREFIX = "Z3-checker"; + private final String userAgent; + + public HttpUrlCheckerImpl(@ConfigProperty(name = "quarkus.application.version") String version) { + + if (version.isBlank()) { + throw new IllegalArgumentException("version is required"); + } + + userAgent = String.format("%s (%s)", USER_AGENT_PREFIX, version); + } + + @Override + public Uni verify(URL url, boolean assertIsHttps) { + return Uni.createFrom() + .deferred( + () -> { + try { + var code = getResponseCodeFrom(url); + + return switch (code) { + case HttpURLConnection.HTTP_OK, + HttpURLConnection.HTTP_MOVED_TEMP, + HttpURLConnection.HTTP_MOVED_PERM -> + Uni.createFrom().item(true); + // TEMP MOVED but use same method + case 307 -> Uni.createFrom().item(true); + // PERM MOVED but use same method + case 308 -> Uni.createFrom().item(true); + default -> Uni.createFrom().item(false); + }; + } catch (UrlconnectionException e) { + return Uni.createFrom().item(false); + } + }); + } + + private int getResponseCodeFrom(URL url) throws UrlconnectionException { + HttpURLConnection urlConnection = null; + try { + var connection = url.openConnection(); + + if (!(connection instanceof HttpURLConnection)) { + logger.debug("Url connection has to be https://, given target is: '%s'".formatted(url)); + throw new UrlconnectionException(); + } + + urlConnection = (HttpURLConnection) connection; + urlConnection.setRequestMethod(HTTP_METHOD); + urlConnection.setRequestProperty("User-Agent", userAgent); + urlConnection.connect(); + + var code = urlConnection.getResponseCode(); + logger.debug("Got '%d' response code calling '%s'".formatted(code, url)); + + return code; + } catch (SocketTimeoutException e) { + logger.debug("Initiating connection to '%s' timed out".formatted(url), e); + throw new UrlconnectionException(); + } catch (IOException e) { + logger.debug("Could not open a connection to '%s'".formatted(url), e); + throw new UrlconnectionException(); + } finally { + if (urlConnection != null) { + urlConnection.disconnect(); + } + } + } + + /** Local exception for connection. */ + private static class UrlconnectionException extends Exception {} +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/JwtGeneratorImpl.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/JwtGeneratorImpl.java new file mode 100644 index 0000000..d4e5b2c --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/JwtGeneratorImpl.java @@ -0,0 +1,29 @@ +package tech.pegase.z3.infrastructure.adapter.service; + +import io.smallrye.jwt.build.Jwt; +import jakarta.enterprise.context.ApplicationScoped; +import java.time.Instant; +import java.time.temporal.ChronoUnit; +import org.eclipse.microprofile.config.inject.ConfigProperty; +import tech.pegase.z3.domain.entity.User; +import tech.pegase.z3.domain.port.service.JwtGenerator; +import tech.pegase.z3.domain.valueobject.JwtToken; + +@ApplicationScoped +public class JwtGeneratorImpl implements JwtGenerator { + private final String jwtIssuer; + + JwtGeneratorImpl(@ConfigProperty(name = "mp.jwt.verify.issuer") String jwtIssuer) { + this.jwtIssuer = jwtIssuer; + } + + @Override + public JwtToken generateJwt(User user) { + return new JwtToken( + Jwt.issuer(jwtIssuer) + .subject(user.getUuid().toString()) + .groups(user.getRole().value().toString()) + .expiresAt(Instant.now().plus(8, ChronoUnit.HOURS)) + .sign()); + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/PasswordGeneratorImpl.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/PasswordGeneratorImpl.java new file mode 100644 index 0000000..a7e1294 --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/PasswordGeneratorImpl.java @@ -0,0 +1,67 @@ +package tech.pegase.z3.infrastructure.adapter.service; + +import jakarta.enterprise.context.ApplicationScoped; +import java.security.SecureRandom; +import java.util.Arrays; +import java.util.Collections; +import tech.pegase.z3.domain.port.service.PasswordGenerator; + +@ApplicationScoped +public class PasswordGeneratorImpl implements PasswordGenerator { + + private static final String CHAR_LOWERCASE = "abcdefghijklmnopqrstuvwxyz"; + private static final String CHAR_UPPERCASE = CHAR_LOWERCASE.toUpperCase(); + private static final String CHAR_DIGIT = "0123456789"; + private static final String CHAR_SPECIAL = "!@#$%^"; + private static final SecureRandom random = new SecureRandom(); + + private static String generateRandomString(String input, int size) { + + if (size < 1) { + throw new IllegalArgumentException("Invalid size."); + } + + var result = new StringBuilder(size); + + for (int i = 0; i < size; i++) { + int index = random.nextInt(input.length()); + result.append(input.charAt(index)); + } + + return result.toString(); + } + + private static String shuffleString(String input) { + var result = Arrays.asList(input.split("")); + + Collections.shuffle(result); + + return String.join("", result); + } + + @Override + public String generatePassword(int length) { + + if (length < 8) { + throw new IllegalArgumentException("Length must be at least 8."); + } + + var upperLength = Math.ceilDiv(length, 5); + length -= upperLength; + var lowerLength = Math.ceilDiv(length, 5); + length -= lowerLength; + var digitLength = Math.ceilDiv(length, 5); + length -= digitLength; + var specialLength = Math.ceilDiv(length, 5); + length -= specialLength; + + var password = + generateRandomString(CHAR_UPPERCASE, upperLength) + + generateRandomString(CHAR_LOWERCASE, lowerLength) + + generateRandomString(CHAR_DIGIT, digitLength) + + generateRandomString(CHAR_SPECIAL, specialLength) + + generateRandomString(CHAR_LOWERCASE, length); + + return shuffleString(password); + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/RandomSourceGeneratorBase32Impl.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/RandomSourceGeneratorBase32Impl.java new file mode 100644 index 0000000..d5ee8ce --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/RandomSourceGeneratorBase32Impl.java @@ -0,0 +1,21 @@ +package tech.pegase.z3.infrastructure.adapter.service; + +import jakarta.enterprise.context.ApplicationScoped; +import java.math.BigInteger; +import java.util.UUID; +import tech.pegase.z3.domain.port.service.RandomSourceGenerator; +import tech.pegase.z3.shared.valueobject.Source; + +@ApplicationScoped +public class RandomSourceGeneratorBase32Impl implements RandomSourceGenerator { + @Override + public Source generate() { + var base16 = UUID.randomUUID().toString().replace("-", ""); + var base32 = base16ToBase32(base16); + return new Source(base32); + } + + private String base16ToBase32(String base16) { + return new BigInteger(base16, 16).toString(32); + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/SlugifyierImpl.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/SlugifyierImpl.java new file mode 100644 index 0000000..8cefbed --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/SlugifyierImpl.java @@ -0,0 +1,33 @@ +package tech.pegase.z3.infrastructure.adapter.service; + +import com.github.slugify.Slugify; +import jakarta.enterprise.context.ApplicationScoped; +import tech.pegase.z3.domain.port.service.Slugifyier; +import tech.pegase.z3.domain.valueobject.Slug; + +@ApplicationScoped +public class SlugifyierImpl implements Slugifyier { + + @Override + public Slug slugify(String value) throws IllegalArgumentException { + String sluggedValue; + + if (value.isBlank()) { + throw new IllegalArgumentException("Value cannot be empty"); + } + + sluggedValue = + Slugify.builder() + .underscoreSeparator(false) + .customReplacement("_", "-") + .transliterator(true) + .build() + .slugify(value); + + if (sluggedValue.isBlank()) { + throw new IllegalArgumentException("Slugged value cannot be empty"); + } + + return Slug.of(sluggedValue); + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/SmtpMessageSenderImpl.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/SmtpMessageSenderImpl.java new file mode 100644 index 0000000..d973eb6 --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/SmtpMessageSenderImpl.java @@ -0,0 +1,29 @@ +package tech.pegase.z3.infrastructure.adapter.service; + +import io.quarkus.mailer.Mail; +import io.quarkus.mailer.Mailer; +import jakarta.enterprise.context.ApplicationScoped; +import org.jboss.logging.Logger; +import tech.pegase.z3.domain.port.service.MessageSender; +import tech.pegase.z3.domain.valueobject.Message; + +@ApplicationScoped +public class SmtpMessageSenderImpl implements MessageSender { + private static final Logger logger = Logger.getLogger(SmtpMessageSenderImpl.class); + private final Mailer mailer; + + SmtpMessageSenderImpl(Mailer mailer) { + this.mailer = mailer; + } + + @Override + public Status send(Message message) { + try { + mailer.send(Mail.withText(message.to().value(), message.subject(), message.message())); + return new Status.Success(); + } catch (Exception e) { + logger.warn("Failed to send message", e); + return new Status.Failed(); + } + } +} diff --git a/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/package-info.java b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/package-info.java new file mode 100644 index 0000000..abfa526 --- /dev/null +++ b/z3-infrastructure/src/main/java/tech/pegase/z3/infrastructure/adapter/service/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.infrastructure.adapter.service; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-infrastructure/src/main/resources/META-INF/beans.xml b/z3-infrastructure/src/main/resources/META-INF/beans.xml new file mode 100644 index 0000000..e69de29 diff --git a/z3-infrastructure/src/main/resources/application.properties b/z3-infrastructure/src/main/resources/application.properties new file mode 100644 index 0000000..2e604a0 --- /dev/null +++ b/z3-infrastructure/src/main/resources/application.properties @@ -0,0 +1,3 @@ +z3.infra.aes.key=${AES_KEY:password} +z3.infra.aes.salt=${AES_SALT:salt} +z3.infra.aes.key-length=${AES_KEY_LENGTH:32} \ No newline at end of file diff --git a/z3-infrastructure/src/test/java/tech/pegase/z3/infrastructure/adapter/service/AesEncryptionProviderImplTest.java b/z3-infrastructure/src/test/java/tech/pegase/z3/infrastructure/adapter/service/AesEncryptionProviderImplTest.java new file mode 100644 index 0000000..372bd33 --- /dev/null +++ b/z3-infrastructure/src/test/java/tech/pegase/z3/infrastructure/adapter/service/AesEncryptionProviderImplTest.java @@ -0,0 +1,73 @@ +package tech.pegase.z3.infrastructure.adapter.service; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import tech.pegase.z3.domain.port.service.EncryptionProvider; +import tech.pegase.z3.domain.port.service.EncryptionProvider.CryptException; + +public class AesEncryptionProviderImplTest { + + @Test + public void canEncryptString() { + Assertions.assertDoesNotThrow( + () -> getProvider("qwerty", "salt", 128).encrypt("je suis un password")); + Assertions.assertDoesNotThrow( + () -> getProvider("qwerty", "salt", 192).encrypt("je suis un password")); + Assertions.assertDoesNotThrow( + () -> getProvider("qwerty", "salt", 256).encrypt("je suis un password")); + } + + @Test + public void canDecryptString() throws CryptException { + Assertions.assertEquals( + "je suis un password", + getProvider("qwerty", "salt", 128) + .decrypt("sZzfp1F/Afq5/UnLWzx+W9mjKcBGpMTG2LRP8MdfLEAIEP0a2gihORQGb24sGNc")); + Assertions.assertEquals( + "je suis un password", + getProvider("qwerty", "salt", 192) + .decrypt("fYabjIDfVwoANWOxU0Jt1gZNQUz2IyKClwfD2BFqqUeGYWsIoW9uZc6nJTIjfvo")); + Assertions.assertEquals( + "je suis un password", + getProvider("qwerty", "salt", 256) + .decrypt("pquf/ZVxbxKESAqyfOjTfqT2JEKpAs4zamQcYLQtPukCP4RO+YnOF7XaqF2NdtI")); + } + + @Test + public void canEncryptOrDecryptEmptyStrings() throws CryptException { + Assertions.assertDoesNotThrow(() -> getProvider("qwerty", "salt", 128).encrypt("")); + Assertions.assertEquals( + "", + getProvider("qwerty", "salt", 128).decrypt(getProvider("qwerty", "salt", 128).encrypt(""))); + } + + @Test + public void canEncryptAndDecryptString() throws CryptException { + Assertions.assertEquals( + "je suis encore un password", + getProvider("azerty", "pepper", 128) + .decrypt(getProvider("azerty", "pepper", 128).encrypt("je suis encore un password"))); + Assertions.assertEquals( + "je suis encore un password", + getProvider("azerty", "pepper", 192) + .decrypt(getProvider("azerty", "pepper", 192).encrypt("je suis encore un password"))); + Assertions.assertEquals( + "je suis encore un password", + getProvider("azerty", "pepper", 256) + .decrypt(getProvider("azerty", "pepper", 256).encrypt("je suis encore un password"))); + } + + @Test + public void cannotGetProviderWithInvalidConfig() { + Assertions.assertThrows(NullPointerException.class, () -> getProvider(null, "pepper", 256)); + Assertions.assertThrows(IllegalArgumentException.class, () -> getProvider("", "pepper", 256)); + Assertions.assertThrows(NullPointerException.class, () -> getProvider("azerty", null, 256)); + Assertions.assertThrows(IllegalArgumentException.class, () -> getProvider("azerty", "", 256)); + Assertions.assertThrows( + IllegalArgumentException.class, () -> getProvider("azerty", "pepper", 123)); + } + + private EncryptionProvider getProvider(String secret, String salt, int keyLength) { + return new AesEncryptionProviderImpl(secret, salt, keyLength); + } +} diff --git a/z3-infrastructure/src/test/java/tech/pegase/z3/infrastructure/adapter/service/Argon2HashProviderImplTest.java b/z3-infrastructure/src/test/java/tech/pegase/z3/infrastructure/adapter/service/Argon2HashProviderImplTest.java new file mode 100644 index 0000000..b94343a --- /dev/null +++ b/z3-infrastructure/src/test/java/tech/pegase/z3/infrastructure/adapter/service/Argon2HashProviderImplTest.java @@ -0,0 +1,55 @@ +package tech.pegase.z3.infrastructure.adapter.service; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import tech.pegase.z3.domain.port.service.HashProvider; +import tech.pegase.z3.domain.valueobject.hashes.PasswordHash; + +public class Argon2HashProviderImplTest { + @Test + public void canCreateProvider() { + Assertions.assertDoesNotThrow(this::createProvider); + } + + @Test + public void canCreateHash() { + var provider = createProvider(); + Assertions.assertDoesNotThrow( + () -> { + provider.hash(PasswordHash.class, ""); + provider.hash(PasswordHash.class, "Any string to be hashed"); + }); + Assertions.assertEquals(PasswordHash.class, provider.hash(PasswordHash.class, "").getClass()); + } + + @Test + public void canCheckHashIsValid() { + var provider = createProvider(); + Assertions.assertDoesNotThrow( + () -> + provider.check( + PasswordHash.of("$argon2id$v=19$m=16,t=2,p=1$YXNkYXNkd3c$+ODsEqT2m/UjTDO5uh4WPw"))); + Assertions.assertFalse( + provider.check(PasswordHash.of("$asd$as$dadasd")), + "Checking Argon2 hash should be false using a wrong hash"); + Assertions.assertTrue( + provider.check( + PasswordHash.of( + "$argon2id$v=19$m=60000,t=10,p=1$uIY2pGtOoYznSARSFQ0Ddg$eSUmcOVHsz8boW8bOme/YaIR3mvazNvYsCrApKIngwI")), + "Checking Argon2 hash should be true using a correct hash"); + } + + @Test + public void canCheckHashEquality() { + var provider = createProvider(); + + Assertions.assertTrue( + provider.areEquals(provider.hash(PasswordHash.class, "qwerty"), "qwerty")); + Assertions.assertFalse( + provider.areEquals(provider.hash(PasswordHash.class, "azerty"), "qwerty")); + } + + private HashProvider createProvider() { + return new Argon2HashProviderImpl(); + } +} diff --git a/z3-infrastructure/src/test/java/tech/pegase/z3/infrastructure/adapter/service/HttpUrlCheckerImplTest.java b/z3-infrastructure/src/test/java/tech/pegase/z3/infrastructure/adapter/service/HttpUrlCheckerImplTest.java new file mode 100644 index 0000000..95e99b2 --- /dev/null +++ b/z3-infrastructure/src/test/java/tech/pegase/z3/infrastructure/adapter/service/HttpUrlCheckerImplTest.java @@ -0,0 +1,90 @@ +package tech.pegase.z3.infrastructure.adapter.service; + +import java.net.HttpURLConnection; +import java.net.URL; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; + +public class HttpUrlCheckerImplTest { + @Test + public void canInstantiateHttpUrlChecker() { + Assertions.assertDoesNotThrow(this::getNewUrlChecker); + } + + @Test + public void validUrlIsAccepted() throws Exception { + // Arrange + var urlChecker = getNewUrlChecker(); + + // Act + var output = urlChecker.verify(getNewURLWithWantedCode(HttpURLConnection.HTTP_OK)); + + // Assert + Assertions.assertTrue(output.await().indefinitely(), "Valid target should be accepted"); + } + + @Test + public void permanentRedirectionUrlIsAccepted() throws Exception { + // Arrange + var urlChecker = getNewUrlChecker(); + + // Act + var output = urlChecker.verify(getNewURLWithWantedCode(HttpURLConnection.HTTP_MOVED_PERM)); + + // Assert + Assertions.assertTrue( + output.await().indefinitely(), "Permanent redirections should be accepted"); + } + + @Test + public void tempRedirectionUrlIsAccepted() throws Exception { + // Arrange + var urlChecker = getNewUrlChecker(); + + // Act + var output = urlChecker.verify(getNewURLWithWantedCode(HttpURLConnection.HTTP_MOVED_TEMP)); + + // Assert + Assertions.assertTrue(output.await().indefinitely(), "Temp redirections should be accepted"); + } + + @Test + public void permRedirectionSameSchemeUrlIsAccepted() throws Exception { + // Arrange + var urlChecker = getNewUrlChecker(); + + // Act + var output = urlChecker.verify(getNewURLWithWantedCode(308)); + + // Assert + Assertions.assertTrue( + output.await().indefinitely(), + "Permanent redirections with same scheme should be accepted"); + } + + @Test + public void tempRedirectionSameSchemeUrlIsAccepted() throws Exception { + // Arrange + var urlChecker = getNewUrlChecker(); + + // Act + var output = urlChecker.verify(getNewURLWithWantedCode(307)); + + // Assert + Assertions.assertTrue( + output.await().indefinitely(), "Temp redirections with same scheme should be accepted"); + } + + private URL getNewURLWithWantedCode(int wantedCode) throws Exception { + var url = Mockito.mock(URL.class); + var urlConnection = Mockito.mock(HttpURLConnection.class); + Mockito.when(url.openConnection()).thenReturn(urlConnection); + Mockito.when(urlConnection.getResponseCode()).thenReturn(wantedCode); + return url; + } + + private HttpUrlCheckerImpl getNewUrlChecker() { + return new HttpUrlCheckerImpl("1.0"); + } +} diff --git a/z3-infrastructure/src/test/java/tech/pegase/z3/infrastructure/adapter/service/SmtpMessageSenderImplTest.java b/z3-infrastructure/src/test/java/tech/pegase/z3/infrastructure/adapter/service/SmtpMessageSenderImplTest.java new file mode 100644 index 0000000..66e2643 --- /dev/null +++ b/z3-infrastructure/src/test/java/tech/pegase/z3/infrastructure/adapter/service/SmtpMessageSenderImplTest.java @@ -0,0 +1,55 @@ +package tech.pegase.z3.infrastructure.adapter.service; + +import io.quarkus.mailer.Mail; +import io.quarkus.mailer.Mailer; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.domain.port.service.MessageSender; +import tech.pegase.z3.domain.valueobject.Email; +import tech.pegase.z3.domain.valueobject.Message; + +public class SmtpMessageSenderImplTest { + private final SmtpMessageSenderImpl smtpMessageSenderImpl; + private final Mailer mailer; + + SmtpMessageSenderImplTest() { + this.mailer = Mockito.mock(Mailer.class); + this.smtpMessageSenderImpl = new SmtpMessageSenderImpl(mailer); + } + + @Test + public void canSendMessage() { + // Arrange + var message = getNewMessage(); + Mockito.doNothing().when(mailer).send(Mockito.any(Mail.class)); + + // Act + var output = smtpMessageSenderImpl.send(message); + + // Assert + Mockito.verify(mailer).send(Mockito.any(Mail.class)); + Assertions.assertInstanceOf( + MessageSender.Status.Success.class, output, "message can effectively be sent"); + } + + @Test + public void canSendingMessageCanFail() { + // Arrange + var message = getNewMessage(); + Mockito.doThrow(RuntimeException.class).when(mailer).send(Mockito.any(Mail.class)); + + // Act + var output = smtpMessageSenderImpl.send(message); + + // Assert + Mockito.verify(mailer).send(Mockito.any(Mail.class)); + Assertions.assertInstanceOf( + MessageSender.Status.Failed.class, output, "message can sending can fail"); + } + + private Message getNewMessage() { + return new Message( + Email.of("user@example.net"), "New important message", "This is an actual message"); + } +} diff --git a/z3-infrastructure/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/z3-infrastructure/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker new file mode 100644 index 0000000..ca6ee9c --- /dev/null +++ b/z3-infrastructure/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker @@ -0,0 +1 @@ +mock-maker-inline \ No newline at end of file diff --git a/z3-shared/pom.xml b/z3-shared/pom.xml new file mode 100644 index 0000000..4f2f80e --- /dev/null +++ b/z3-shared/pom.xml @@ -0,0 +1,120 @@ + + + z3-shared + + + + + jacoco-maven-plugin + + + + + + true + ${project.build.directory}/coverage-reports/jacoco-ut.exec + surefire.jacoco.args + + + prepare-agent + + pre-unit-test + + + + + + ${project.build.directory}/coverage-reports/jacoco-ut.exec + ${project.build.directory}/coverage-jacoco/unit-tests + + + + report + + post-unit-test + test + + + + + + ${project.build.directory}/coverage-reports/jacoco-ut.exec + + + BUNDLE + + + LINE + 0.80 + COVEREDRATIO + + + + + + + check + + jacoco-check-ut + verify + + + + org.jacoco + ${jacoco.version} + + + maven-surefire-plugin + + + -XX:+EnableDynamicAgentLoading -Xmx1024m -Xshare:off + ${surefire.jacoco.args} -XX:+EnableDynamicAgentLoading -Xmx1024m -Xshare:off + + + + **/*IT.java + + + org.jboss.logmanager.LogManager + ${maven.home} + + + ${surefire-plugin.version} + + + + + + + quarkus-junit5-mockito + io.quarkus + test + + + quarkus-jacoco + io.quarkus + test + + + jakarta.persistence-api + jakarta.persistence + + + + 4.0.0 + + + z3 + tech.pegase.z3 + 1.1.0-SNAPSHOT + + + + 22 + 22 + UTF-8 + + + \ No newline at end of file diff --git a/z3-shared/src/main/java/tech/pegase/z3/shared/annotations/ExcludeFromJacocoGeneratedReport.java b/z3-shared/src/main/java/tech/pegase/z3/shared/annotations/ExcludeFromJacocoGeneratedReport.java new file mode 100644 index 0000000..d24f07b --- /dev/null +++ b/z3-shared/src/main/java/tech/pegase/z3/shared/annotations/ExcludeFromJacocoGeneratedReport.java @@ -0,0 +1,12 @@ +package tech.pegase.z3.shared.annotations; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.TYPE, ElementType.METHOD, ElementType.CONSTRUCTOR}) +public @interface ExcludeFromJacocoGeneratedReport {} diff --git a/z3-shared/src/main/java/tech/pegase/z3/shared/lib/ReadOnlyCollectors.java b/z3-shared/src/main/java/tech/pegase/z3/shared/lib/ReadOnlyCollectors.java new file mode 100644 index 0000000..3464b69 --- /dev/null +++ b/z3-shared/src/main/java/tech/pegase/z3/shared/lib/ReadOnlyCollectors.java @@ -0,0 +1,78 @@ +package tech.pegase.z3.shared.lib; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.function.BiConsumer; +import java.util.function.BinaryOperator; +import java.util.function.Function; +import java.util.function.Supplier; +import java.util.stream.Collector; + +public class ReadOnlyCollectors { + public static Collector, ReadOnlyList> toReadOnlyList() { + return new Collector<>() { + @Override + public Supplier> supplier() { + return ArrayList::new; + } + + @Override + public BiConsumer, T> accumulator() { + return List::add; + } + + @Override + public BinaryOperator> combiner() { + return (list1, list2) -> { + list1.addAll(list2); + return list1; + }; + } + + @Override + public Function, ReadOnlyList> finisher() { + return ReadOnlyList::new; + } + + @Override + public Set characteristics() { + return Collections.emptySet(); + } + }; + } + + public static Collector, ReadOnlySet> toReadOnlySet() { + return new Collector<>() { + @Override + public Supplier> supplier() { + return HashSet::new; + } + + @Override + public BiConsumer, T> accumulator() { + return Set::add; + } + + @Override + public BinaryOperator> combiner() { + return (set1, set2) -> { + set1.addAll(set2); + return set1; + }; + } + + @Override + public Function, ReadOnlySet> finisher() { + return ReadOnlySet::new; + } + + @Override + public Set characteristics() { + return Collections.emptySet(); + } + }; + } +} diff --git a/z3-shared/src/main/java/tech/pegase/z3/shared/lib/ReadOnlyList.java b/z3-shared/src/main/java/tech/pegase/z3/shared/lib/ReadOnlyList.java new file mode 100644 index 0000000..a756334 --- /dev/null +++ b/z3-shared/src/main/java/tech/pegase/z3/shared/lib/ReadOnlyList.java @@ -0,0 +1,131 @@ +package tech.pegase.z3.shared.lib; + +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.ListIterator; + +public final class ReadOnlyList implements List { + private final List unmodifiableList; + + public ReadOnlyList(List unmodifiableList) { + this.unmodifiableList = Collections.unmodifiableList(unmodifiableList); + } + + @Override + public int size() { + return unmodifiableList.size(); + } + + @Override + public boolean isEmpty() { + return unmodifiableList.isEmpty(); + } + + @Override + public boolean contains(Object o) { + return unmodifiableList.contains(o); + } + + @Override + public Iterator iterator() { + return unmodifiableList.iterator(); + } + + @Override + public Object[] toArray() { + return unmodifiableList.toArray(); + } + + @Override + public T[] toArray(T[] a) { + return unmodifiableList.toArray(a); + } + + @Override + public boolean add(V v) throws UnsupportedOperationException { + throw new UnsupportedOperationException(); + } + + @Override + public void add(int index, V element) throws UnsupportedOperationException { + throw new UnsupportedOperationException(); + } + + @Override + public boolean remove(Object o) throws UnsupportedOperationException { + throw new UnsupportedOperationException(); + } + + @Override + public V remove(int index) throws UnsupportedOperationException { + throw new UnsupportedOperationException(); + } + + @Override + public boolean containsAll(Collection c) { + return new HashSet<>(unmodifiableList).containsAll(c); + } + + @Override + public boolean addAll(Collection c) throws UnsupportedOperationException { + throw new UnsupportedOperationException(); + } + + @Override + public boolean addAll(int index, Collection c) throws UnsupportedOperationException { + throw new UnsupportedOperationException(); + } + + @Override + public boolean removeAll(Collection c) throws UnsupportedOperationException { + throw new UnsupportedOperationException(); + } + + @Override + public boolean retainAll(Collection c) throws UnsupportedOperationException { + throw new UnsupportedOperationException(); + } + + @Override + public void clear() throws UnsupportedOperationException { + throw new UnsupportedOperationException(); + } + + @Override + public V get(int index) { + return unmodifiableList.get(index); + } + + @Override + public V set(int index, V element) throws UnsupportedOperationException { + throw new UnsupportedOperationException(); + } + + @Override + public int indexOf(Object o) { + return unmodifiableList.indexOf(o); + } + + @Override + public int lastIndexOf(Object o) { + return unmodifiableList.lastIndexOf(o); + } + + @Override + public ListIterator listIterator() { + return unmodifiableList.listIterator(); + } + + @Override + public ListIterator listIterator(int index) { + return unmodifiableList.listIterator(index); + } + + @Override + public List subList(int fromIndex, int toIndex) { + return unmodifiableList.subList(fromIndex, toIndex); + } +} diff --git a/z3-shared/src/main/java/tech/pegase/z3/shared/lib/ReadOnlyMap.java b/z3-shared/src/main/java/tech/pegase/z3/shared/lib/ReadOnlyMap.java new file mode 100644 index 0000000..58ac70e --- /dev/null +++ b/z3-shared/src/main/java/tech/pegase/z3/shared/lib/ReadOnlyMap.java @@ -0,0 +1,70 @@ +package tech.pegase.z3.shared.lib; + +import java.util.Collection; +import java.util.Collections; +import java.util.Map; + +public final class ReadOnlyMap implements Map { + private final Map readOnlyMap; + + public ReadOnlyMap(Map readOnlyMap) { + this.readOnlyMap = Collections.unmodifiableMap(readOnlyMap); + } + + @Override + public int size() { + return readOnlyMap.size(); + } + + @Override + public boolean isEmpty() { + return readOnlyMap.isEmpty(); + } + + @Override + public boolean containsKey(Object key) { + return readOnlyMap.containsKey(key); + } + + @Override + public boolean containsValue(Object value) { + return readOnlyMap.containsValue(value); + } + + public V get(Object key) { + return readOnlyMap.get(key); + } + + @Override + public V put(K key, V value) throws UnsupportedOperationException { + throw new UnsupportedOperationException(); + } + + @Override + public V remove(Object key) throws UnsupportedOperationException { + throw new UnsupportedOperationException(); + } + + @Override + public void putAll(Map m) throws UnsupportedOperationException { + throw new UnsupportedOperationException(); + } + + @Override + public void clear() {} + + @Override + public ReadOnlySet keySet() { + return new ReadOnlySet<>(readOnlyMap.keySet()); + } + + @Override + public Collection values() { + return readOnlyMap.values(); + } + + @Override + public ReadOnlySet> entrySet() { + return new ReadOnlySet<>(readOnlyMap.entrySet()); + } +} diff --git a/z3-shared/src/main/java/tech/pegase/z3/shared/lib/ReadOnlySet.java b/z3-shared/src/main/java/tech/pegase/z3/shared/lib/ReadOnlySet.java new file mode 100644 index 0000000..cd1e8bc --- /dev/null +++ b/z3-shared/src/main/java/tech/pegase/z3/shared/lib/ReadOnlySet.java @@ -0,0 +1,79 @@ +package tech.pegase.z3.shared.lib; + +import java.util.Collection; +import java.util.Collections; +import java.util.Iterator; +import java.util.Set; + +public final class ReadOnlySet implements Set { + private final Set unmodifiableSet; + + public ReadOnlySet(Set unmodifiableSet) { + this.unmodifiableSet = Collections.unmodifiableSet(unmodifiableSet); + } + + @Override + public int size() { + return unmodifiableSet.size(); + } + + @Override + public boolean isEmpty() { + return unmodifiableSet.isEmpty(); + } + + @Override + public boolean contains(Object o) { + return unmodifiableSet.contains(o); + } + + @Override + public Iterator iterator() { + return unmodifiableSet.iterator(); + } + + @Override + public Object[] toArray() { + return unmodifiableSet.toArray(); + } + + @Override + public T[] toArray(T[] a) { + return unmodifiableSet.toArray(a); + } + + @Override + public boolean add(V v) throws UnsupportedOperationException { + throw new UnsupportedOperationException(); + } + + @Override + public boolean remove(Object o) throws UnsupportedOperationException { + throw new UnsupportedOperationException(); + } + + @Override + public boolean containsAll(Collection c) { + return unmodifiableSet.containsAll(c); + } + + @Override + public boolean addAll(Collection c) throws UnsupportedOperationException { + throw new UnsupportedOperationException(); + } + + @Override + public boolean retainAll(Collection c) throws UnsupportedOperationException { + throw new UnsupportedOperationException(); + } + + @Override + public boolean removeAll(Collection c) throws UnsupportedOperationException { + throw new UnsupportedOperationException(); + } + + @Override + public void clear() throws UnsupportedOperationException { + throw new UnsupportedOperationException(); + } +} diff --git a/z3-shared/src/main/java/tech/pegase/z3/shared/lib/package-info.java b/z3-shared/src/main/java/tech/pegase/z3/shared/lib/package-info.java new file mode 100644 index 0000000..26e5fc5 --- /dev/null +++ b/z3-shared/src/main/java/tech/pegase/z3/shared/lib/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.shared.lib; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-shared/src/main/java/tech/pegase/z3/shared/pagination/PaginatedData.java b/z3-shared/src/main/java/tech/pegase/z3/shared/pagination/PaginatedData.java new file mode 100644 index 0000000..9db72fe --- /dev/null +++ b/z3-shared/src/main/java/tech/pegase/z3/shared/pagination/PaginatedData.java @@ -0,0 +1,52 @@ +package tech.pegase.z3.shared.pagination; + +import java.util.List; +import java.util.Objects; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.stream.Collector; +import java.util.stream.Stream; +import org.jspecify.annotations.NullMarked; + +@NullMarked +public record PaginatedData(List items, long perPage, long offset, long total) { + public PaginatedData(List items, long perPage, long offset, long total) { + Objects.requireNonNull(items, "Items cannot be null"); + + this.items = List.copyOf(items); + this.perPage = perPage; + this.offset = offset; + this.total = total; + } + + public static PaginatedData empty() { + return new PaginatedData<>(List.of(), 50, 0, 0); + } + + public static PaginatedData wrap(List items, long perPage, long offset, long total) { + return new PaginatedData<>(items, perPage, offset, total); + } + + public boolean fullContent() { + return items.size() == total; + } + + public PaginatedData map(Function mapFunction) { + var items = this.items.stream().map(mapFunction).toList(); + return new PaginatedData<>(items, this.perPage, this.offset, this.total); + } + + public PaginatedData flatMap(Function> mapper) { + var items = this.items.stream().flatMap(mapper).toList(); + return new PaginatedData<>(items, this.perPage, this.offset, this.total); + } + + public PaginatedData filter(Predicate predicate) { + var items = this.items.stream().filter(predicate).toList(); + return new PaginatedData<>(items, this.perPage, this.offset, this.total); + } + + public R collect(Collector collector) { + return this.items.stream().collect(collector); + } +} diff --git a/z3-shared/src/main/java/tech/pegase/z3/shared/pagination/Pagination.java b/z3-shared/src/main/java/tech/pegase/z3/shared/pagination/Pagination.java new file mode 100644 index 0000000..0ba5207 --- /dev/null +++ b/z3-shared/src/main/java/tech/pegase/z3/shared/pagination/Pagination.java @@ -0,0 +1,59 @@ +package tech.pegase.z3.shared.pagination; + +import org.jspecify.annotations.NullMarked; + +@NullMarked +public sealed interface Pagination { + static Pagination fromStartAndEndInclusive(int start, int end) { + return new Paginated(start, end - start + 1); + } + + static Pagination fromOffsetAndLimit(int offset, int limit) { + return new Paginated(offset, limit); + } + + static Pagination fromPageNumberAndPageSize(int pageNumber, int pageSize) { + var offset = (pageNumber - 1) * pageSize; + return new Paginated(offset, pageSize); + } + + static Pagination none() { + return new None(); + } + + int offset(); + + int limit(); + + record None() implements Pagination { + @Override + public int offset() { + return 0; + } + + @Override + public int limit() { + return 0; + } + } + + record Paginated(int offset, int limit) implements Pagination { + public Paginated { + final var securityLimit = 50; + + if (limit > securityLimit) { + throw new IllegalArgumentException( + "Limit cannot exceed '%d' given is '%d'".formatted(securityLimit, limit)); + } + } + + public int lastIndex() { + return offset + limit - 1; + } + + @Override + public int limit() { + return limit; + } + } +} diff --git a/z3-shared/src/main/java/tech/pegase/z3/shared/valueobject/Source.java b/z3-shared/src/main/java/tech/pegase/z3/shared/valueobject/Source.java new file mode 100644 index 0000000..f555157 --- /dev/null +++ b/z3-shared/src/main/java/tech/pegase/z3/shared/valueobject/Source.java @@ -0,0 +1,63 @@ +package tech.pegase.z3.shared.valueobject; + +import jakarta.persistence.Embeddable; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.regex.Pattern; + +@Embeddable +public record Source(String value) implements Comparable { + + @SuppressWarnings("ConstantConditions") + public Source { + if (value == null) { + throw new IllegalStateException("la source ne peut être vide"); + } + if (startsWithFqdn(value)) { + throw new IllegalStateException( + "la source ne peut contenir une url complète, seulement la partie chemin"); + } + try { + var uri = new URI(value); + var scheme = uri.getScheme(); + var host = uri.getHost(); + var port = uri.getPort(); + var path = uri.getPath(); + var query = uri.getQuery(); + var fragment = uri.getFragment(); + var userInfo = uri.getUserInfo(); + if (path == null || path.isBlank()) { + throw new IllegalStateException("la source nécessite d'avoir un chemin d'url valide"); + } + if (scheme != null + || userInfo != null + || host != null + || port != -1 + || query != null + || fragment != null) { + throw new IllegalStateException("la source n'accepte seulement qu'un chemin d'url valide"); + } + } catch (URISyntaxException | NullPointerException e) { + throw new IllegalStateException("la source doit êre un chemin d'url valide"); + } + } + + public static Source of(String value) throws IllegalStateException { + return new Source(value); + } + + private Boolean startsWithFqdn(String value) { + if (value.isBlank()) { + return false; + } + + /* Regex to match a String that starts with a FQDN */ + final var regex = "^((?!-)[A-Za-z0-9-]{1,63}(? + + z3-statistics-domain + + + + + jacoco-maven-plugin + + + **/port/repository/*.class + **/port/service/*.class + + + + + + + + true + ${project.build.directory}/coverage-reports/jacoco-ut.exec + surefire.jacoco.args + + + prepare-agent + + pre-unit-test + + + + + + ${project.build.directory}/coverage-reports/jacoco-ut.exec + ${project.build.directory}/coverage-jacoco/unit-tests + + + + report + + post-unit-test + test + + + + + + ${project.build.directory}/coverage-reports/jacoco-ut.exec + + + BUNDLE + + + LINE + 1.00 + COVEREDRATIO + + + + + + + check + + jacoco-check-ut + verify + + + + org.jacoco + ${jacoco.version} + + + maven-surefire-plugin + + + -XX:+EnableDynamicAgentLoading -Xmx1024m -Xshare:off + ${surefire.jacoco.args} -XX:+EnableDynamicAgentLoading -Xmx1024m -Xshare:off + + + + **/*IT.java + + + org.jboss.logmanager.LogManager + ${maven.home} + + + ${surefire-plugin.version} + + + + + + + z3-shared + tech.pegase.z3 + ${z3.version} + + + quarkus-hibernate-orm + io.quarkus + + + quarkus-jdbc-postgresql + io.quarkus + + + quarkus-jdbc-h2 + io.quarkus + test + + + quarkus-junit5-mockito + io.quarkus + test + + + quarkus-jacoco + io.quarkus + test + + + + 4.0.0 + + + z3 + tech.pegase.z3 + 1.1.0-SNAPSHOT + + + + 22 + 22 + UTF-8 + + + \ No newline at end of file diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/entity/LinkStatistic.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/entity/LinkStatistic.java new file mode 100644 index 0000000..0e03568 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/entity/LinkStatistic.java @@ -0,0 +1,220 @@ +package tech.pegase.z3.statistics.domain.entity; + +import jakarta.persistence.AttributeOverride; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; +import java.time.ZonedDateTime; +import java.util.UUID; +import org.jspecify.annotations.Nullable; +import tech.pegase.happy.core.AggregateRoot; +import tech.pegase.z3.shared.annotations.ExcludeFromJacocoGeneratedReport; +import tech.pegase.z3.shared.valueobject.Source; +import tech.pegase.z3.statistics.domain.valueobject.BrowserInfo; +import tech.pegase.z3.statistics.domain.valueobject.Country; +import tech.pegase.z3.statistics.domain.valueobject.Fingerprint; +import tech.pegase.z3.statistics.domain.valueobject.Locale; +import tech.pegase.z3.statistics.domain.valueobject.OperatingSystemInfo; +import tech.pegase.z3.statistics.domain.valueobject.Referrer; +import tech.pegase.z3.statistics.domain.valueobject.ScreenProperties; +import tech.pegase.z3.statistics.domain.valueobject.UserType; + +@Entity +@Table(schema = "z3-statistics", name = "link_statistics") +public class LinkStatistic implements AggregateRoot { + @jakarta.persistence.Id + @Column(name = "uuid", columnDefinition = "uuid", nullable = false, updatable = false) + private final UUID uuid; + + @AttributeOverride( + name = "value", + column = + @Column(name = "source", columnDefinition = "value", nullable = false, updatable = false)) + private final Source linkSource; + + @Column(name = "was_valid", nullable = false, updatable = false) + private final Boolean linkWasValid; + + @Column(name = "do_not_track", nullable = false, updatable = false) + private final Boolean doNotTrack; + + @Column(name = "user_type", nullable = false, updatable = false) + private final UserType userType; + + @Nullable + @Column(name = "country", updatable = false) + private final Country country; + + @Nullable + @Column(name = "brand", updatable = false) + private final String brand; + + @Nullable + @Column(name = "catalog", updatable = false) + private final String catalog; + + @Nullable + @AttributeOverride( + name = "fingerprint", + column = @Column(name = "fingerprint", updatable = false)) + private final Fingerprint fingerprint; + + @Embedded + @Nullable + @AttributeOverride(name = "lang", column = @Column(name = "lang", updatable = false)) + @AttributeOverride(name = "region", column = @Column(name = "region", updatable = false)) + private final Locale locale; + + @Embedded + @Nullable + @AttributeOverride(name = "host", column = @Column(name = "referrer_host", updatable = false)) + @AttributeOverride(name = "path", column = @Column(name = "referrer_path", updatable = false)) + private final Referrer referrer; + + @Embedded + @Nullable + @AttributeOverride( + name = "classType", + column = @Column(name = "browser_class", updatable = false)) + @AttributeOverride(name = "name", column = @Column(name = "browser_name", updatable = false)) + @AttributeOverride( + name = "version", + column = @Column(name = "browser_version", updatable = false)) + private final BrowserInfo browser; + + @Embedded + @Nullable + @AttributeOverride(name = "height", column = @Column(name = "screen_height", updatable = false)) + @AttributeOverride(name = "width", column = @Column(name = "screen_width", updatable = false)) + @AttributeOverride(name = "dpi", column = @Column(name = "screen_dpi", updatable = false)) + private final ScreenProperties screen; + + @Embedded + @Nullable + @AttributeOverride(name = "classType", column = @Column(name = "os_class", updatable = false)) + @AttributeOverride(name = "name", column = @Column(name = "os_name", updatable = false)) + @AttributeOverride(name = "version", column = @Column(name = "os_version", updatable = false)) + private final OperatingSystemInfo operatingSystem; + + @Column(name = "visited_at", nullable = false, updatable = false) + private final ZonedDateTime visitedAt; + + public LinkStatistic( + Source linkSource, + Boolean linkWasValid, + Boolean doNotTrack, + UserType userType, + ZonedDateTime visitedAt, + @Nullable String brand, + @Nullable String catalog, + @Nullable Fingerprint fingerprint, + @Nullable ScreenProperties screen, + @Nullable Country country, + @Nullable Locale locale, + @Nullable OperatingSystemInfo operatingSystem, + @Nullable BrowserInfo browser, + @Nullable Referrer referrer) { + this.uuid = UUID.randomUUID(); + this.brand = brand; + this.catalog = catalog; + this.fingerprint = fingerprint; + this.linkSource = linkSource; + this.linkWasValid = linkWasValid; + this.doNotTrack = doNotTrack; + this.visitedAt = visitedAt; + this.screen = screen; + this.userType = userType; + this.country = country; + this.locale = locale; + this.operatingSystem = operatingSystem; + this.browser = browser; + this.referrer = referrer; + } + + /// Required by Hibernate + @SuppressWarnings("DataFlowIssue") + @ExcludeFromJacocoGeneratedReport + protected LinkStatistic() { + this.uuid = null; + this.brand = null; + this.catalog = null; + this.fingerprint = null; + this.screen = null; + this.userType = null; + this.country = null; + this.locale = null; + this.operatingSystem = null; + this.browser = null; + this.referrer = null; + this.linkSource = null; + this.linkWasValid = null; + this.doNotTrack = null; + this.visitedAt = null; + } + + @Override + public Id getId() { + return new Id<>(getLinkSource()); + } + + public Source getLinkSource() { + return linkSource; + } + + public UUID getUuid() { + return uuid; + } + + public @Nullable String getCatalog() { + return catalog; + } + + public @Nullable String getBrand() { + return brand; + } + + public @Nullable Fingerprint getFingerprint() { + return fingerprint; + } + + public Boolean getLinkWasValid() { + return linkWasValid; + } + + public Boolean getDoNotTrack() { + return doNotTrack; + } + + public ZonedDateTime getVisitedAt() { + return visitedAt; + } + + public @Nullable ScreenProperties getScreen() { + return screen; + } + + public UserType getUserType() { + return userType; + } + + public @Nullable Country getCountry() { + return country; + } + + public @Nullable Locale getLocale() { + return locale; + } + + public @Nullable OperatingSystemInfo getOperatingSystem() { + return operatingSystem; + } + + public @Nullable BrowserInfo getBrowser() { + return browser; + } + + public @Nullable Referrer getReferrer() { + return referrer; + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/entity/package-info.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/entity/package-info.java new file mode 100644 index 0000000..93d9287 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/entity/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.statistics.domain.entity; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/lib/link/statistic/builder/LinkStatisticBuilder.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/lib/link/statistic/builder/LinkStatisticBuilder.java new file mode 100644 index 0000000..7402105 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/lib/link/statistic/builder/LinkStatisticBuilder.java @@ -0,0 +1,65 @@ +package tech.pegase.z3.statistics.domain.lib.link.statistic.builder; + +import java.time.ZonedDateTime; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.shared.valueobject.Source; +import tech.pegase.z3.statistics.domain.entity.LinkStatistic; +import tech.pegase.z3.statistics.domain.valueobject.BrowserInfo; +import tech.pegase.z3.statistics.domain.valueobject.Country; +import tech.pegase.z3.statistics.domain.valueobject.Fingerprint; +import tech.pegase.z3.statistics.domain.valueobject.Locale; +import tech.pegase.z3.statistics.domain.valueobject.OperatingSystemInfo; +import tech.pegase.z3.statistics.domain.valueobject.Referrer; +import tech.pegase.z3.statistics.domain.valueobject.ScreenProperties; +import tech.pegase.z3.statistics.domain.valueobject.UserType; + +public interface LinkStatisticBuilder { + static LinkStatisticBuilderCountry make( + Source linkSource, Boolean linkWasValid, ZonedDateTime visitedAt) { + return new LinkStatisticBuilderImpl(linkSource, linkWasValid, visitedAt); + } + + interface LinkStatisticBuilderCountry { + LinkStatisticBuilderLocale setCountry(@Nullable Country country); + } + + interface LinkStatisticBuilderLocale { + LinkStatisticBuilderReferer setLocale(@Nullable Locale locale); + } + + interface LinkStatisticBuilderOs { + LinkStatisticBuilderBrowser setOs(@Nullable OperatingSystemInfo os); + } + + interface LinkStatisticBuilderBrowser { + LinkStatisticBuilderUserType setBrowser(@Nullable BrowserInfo browserInfo); + } + + interface LinkStatisticBuilderUserType { + LinkStatisticBuilderScreen setUserType(UserType userType); + } + + interface LinkStatisticBuilderReferer { + LinkStatisticBuilderOs setReferer(@Nullable Referrer referrer); + } + + interface LinkStatisticBuilderScreen { + LinkStatisticBuilderDoNotTrack setScreen(@Nullable ScreenProperties screenProperties); + } + + interface LinkStatisticBuilderDoNotTrack { + LinkStatisticBuilderFingerprint setDoNotTrack(Boolean doNotTrack); + } + + interface LinkStatisticBuilderFingerprint { + LinkStatisticBuilderFinal setFingerprint(@Nullable Fingerprint fingerprint); + } + + interface LinkStatisticBuilderFinal { + void setBrand(@Nullable String brand); + + void setCatalog(@Nullable String catalog); + + LinkStatistic make(); + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/lib/link/statistic/builder/LinkStatisticBuilderImpl.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/lib/link/statistic/builder/LinkStatisticBuilderImpl.java new file mode 100644 index 0000000..72c78f3 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/lib/link/statistic/builder/LinkStatisticBuilderImpl.java @@ -0,0 +1,143 @@ +package tech.pegase.z3.statistics.domain.lib.link.statistic.builder; + +import java.time.ZonedDateTime; +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.shared.valueobject.Source; +import tech.pegase.z3.statistics.domain.entity.LinkStatistic; +import tech.pegase.z3.statistics.domain.lib.link.statistic.builder.LinkStatisticBuilder.LinkStatisticBuilderBrowser; +import tech.pegase.z3.statistics.domain.lib.link.statistic.builder.LinkStatisticBuilder.LinkStatisticBuilderCountry; +import tech.pegase.z3.statistics.domain.lib.link.statistic.builder.LinkStatisticBuilder.LinkStatisticBuilderDoNotTrack; +import tech.pegase.z3.statistics.domain.lib.link.statistic.builder.LinkStatisticBuilder.LinkStatisticBuilderFinal; +import tech.pegase.z3.statistics.domain.lib.link.statistic.builder.LinkStatisticBuilder.LinkStatisticBuilderFingerprint; +import tech.pegase.z3.statistics.domain.lib.link.statistic.builder.LinkStatisticBuilder.LinkStatisticBuilderLocale; +import tech.pegase.z3.statistics.domain.lib.link.statistic.builder.LinkStatisticBuilder.LinkStatisticBuilderOs; +import tech.pegase.z3.statistics.domain.lib.link.statistic.builder.LinkStatisticBuilder.LinkStatisticBuilderReferer; +import tech.pegase.z3.statistics.domain.lib.link.statistic.builder.LinkStatisticBuilder.LinkStatisticBuilderScreen; +import tech.pegase.z3.statistics.domain.lib.link.statistic.builder.LinkStatisticBuilder.LinkStatisticBuilderUserType; +import tech.pegase.z3.statistics.domain.valueobject.BrowserInfo; +import tech.pegase.z3.statistics.domain.valueobject.Country; +import tech.pegase.z3.statistics.domain.valueobject.Fingerprint; +import tech.pegase.z3.statistics.domain.valueobject.Locale; +import tech.pegase.z3.statistics.domain.valueobject.OperatingSystemInfo; +import tech.pegase.z3.statistics.domain.valueobject.Referrer; +import tech.pegase.z3.statistics.domain.valueobject.ScreenProperties; +import tech.pegase.z3.statistics.domain.valueobject.UserType; + +public class LinkStatisticBuilderImpl + implements LinkStatisticBuilderUserType, + LinkStatisticBuilderCountry, + LinkStatisticBuilderLocale, + LinkStatisticBuilderOs, + LinkStatisticBuilderBrowser, + LinkStatisticBuilderReferer, + LinkStatisticBuilderScreen, + LinkStatisticBuilderDoNotTrack, + LinkStatisticBuilderFingerprint, + LinkStatisticBuilderFinal { + Source linkSource; + Boolean linkWasValid; + Boolean doNotTrack; + ZonedDateTime visitedAt; + UserType userType; + @Nullable String brand; + @Nullable String catalog; + @Nullable Fingerprint fingerprint; + @Nullable ScreenProperties screen; + @Nullable Country country; + @Nullable Locale locale; + @Nullable OperatingSystemInfo operatingSystem; + @Nullable BrowserInfo browser; + @Nullable Referrer referrer; + + protected LinkStatisticBuilderImpl( + Source linkSource, Boolean linkWasValid, ZonedDateTime visitedAt) { + this.linkSource = linkSource; + this.linkWasValid = linkWasValid; + this.visitedAt = visitedAt; + this.doNotTrack = false; + this.userType = UserType.UNKNOWN; + } + + @Override + public LinkStatisticBuilderUserType setBrowser(@Nullable BrowserInfo browser) { + this.browser = browser; + return this; + } + + @Override + public LinkStatisticBuilderLocale setCountry(@Nullable Country country) { + this.country = country; + return this; + } + + @Override + public void setBrand(@Nullable String brand) { + this.brand = brand; + } + + @Override + public void setCatalog(@Nullable String catalog) { + this.catalog = catalog; + } + + @Override + public LinkStatistic make() { + return new LinkStatistic( + linkSource, + linkWasValid, + doNotTrack, + userType, + visitedAt, + brand, + catalog, + fingerprint, + screen, + country, + locale, + operatingSystem, + browser, + referrer); + } + + @Override + public LinkStatisticBuilderReferer setLocale(@Nullable Locale locale) { + this.locale = locale; + return this; + } + + @Override + public LinkStatisticBuilderBrowser setOs(@Nullable OperatingSystemInfo os) { + this.operatingSystem = os; + return this; + } + + @Override + public LinkStatisticBuilderOs setReferer(@Nullable Referrer referrer) { + this.referrer = referrer; + return this; + } + + @Override + public LinkStatisticBuilderDoNotTrack setScreen(@Nullable ScreenProperties screenProperties) { + this.screen = screenProperties; + return this; + } + + @Override + public LinkStatisticBuilderScreen setUserType(UserType userType) { + this.userType = userType; + return this; + } + + @Override + public LinkStatisticBuilderFingerprint setDoNotTrack(Boolean doNotTrack) { + this.doNotTrack = doNotTrack; + return this; + } + + @Override + public LinkStatisticBuilderFinal setFingerprint(@Nullable Fingerprint fingerprint) { + this.fingerprint = fingerprint; + return this; + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/lib/link/statistic/builder/package-info.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/lib/link/statistic/builder/package-info.java new file mode 100644 index 0000000..f75dbfe --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/lib/link/statistic/builder/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.statistics.domain.lib.link.statistic.builder; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/port/repository/LinkStatisticRepository.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/port/repository/LinkStatisticRepository.java new file mode 100644 index 0000000..35cee6a --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/port/repository/LinkStatisticRepository.java @@ -0,0 +1,37 @@ +package tech.pegase.z3.statistics.domain.port.repository; + +import java.time.Duration; +import java.util.List; +import java.util.Optional; +import org.jspecify.annotations.NullMarked; +import tech.pegase.happy.core.DomainEntity; +import tech.pegase.happy.core.Repository; +import tech.pegase.z3.shared.valueobject.Source; +import tech.pegase.z3.statistics.domain.entity.LinkStatistic; +import tech.pegase.z3.statistics.domain.valueobject.statistics.StatisticLinePerInterval; +import tech.pegase.z3.statistics.domain.valueobject.statistics.StatisticLineWithEntity; + +@NullMarked +public interface LinkStatisticRepository extends Repository { + + Optional findByLinkSource(Source linkSource); + + void persist(LinkStatistic linkStatistic); + + @Override + default Optional find(DomainEntity.Id id) { + return findByLinkSource(id.value()); + } + + List getUniqueVisitorsPerDayForEachBrand(Duration duration); + + List getUniqueVisitorsPerDayForEachCatalog(Duration duration); + + List getMostVisitedSourcesWithBrandFromNow( + Duration duration, Integer amount); + + List getMostUsedReferrerWithBrandFromNow( + Duration duration, Integer amount); + + List getInvalidLinksPerWeeksByBrandsAndFromNow(Duration duration); +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/port/service/GeoIpService.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/port/service/GeoIpService.java new file mode 100644 index 0000000..d0d6352 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/port/service/GeoIpService.java @@ -0,0 +1,9 @@ +package tech.pegase.z3.statistics.domain.port.service; + +import java.net.InetAddress; +import java.util.Optional; +import tech.pegase.z3.statistics.domain.valueobject.Country; + +public interface GeoIpService { + Optional locateInetAddress(InetAddress inetAddress); +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/port/service/HashService.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/port/service/HashService.java new file mode 100644 index 0000000..955516e --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/port/service/HashService.java @@ -0,0 +1,5 @@ +package tech.pegase.z3.statistics.domain.port.service; + +public interface HashService { + String hash(String rawValue); +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/port/service/UserAgentService.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/port/service/UserAgentService.java new file mode 100644 index 0000000..f9a39df --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/port/service/UserAgentService.java @@ -0,0 +1,14 @@ +package tech.pegase.z3.statistics.domain.port.service; + +import org.jspecify.annotations.Nullable; +import tech.pegase.z3.statistics.domain.valueobject.BrowserInfo; +import tech.pegase.z3.statistics.domain.valueobject.OperatingSystemInfo; +import tech.pegase.z3.statistics.domain.valueobject.RawUserAgent; +import tech.pegase.z3.statistics.domain.valueobject.UserType; + +public interface UserAgentService { + UserAgentInfo getUserAgentFrom(RawUserAgent rawUserAgent); + + record UserAgentInfo( + @Nullable BrowserInfo browser, @Nullable OperatingSystemInfo systemInfo, UserType userType) {} +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/port/service/package-info.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/port/service/package-info.java new file mode 100644 index 0000000..b2baae2 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/port/service/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.statistics.domain.port.service; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/links/VisitLink.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/links/VisitLink.java new file mode 100644 index 0000000..5cc762d --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/links/VisitLink.java @@ -0,0 +1,39 @@ +package tech.pegase.z3.statistics.domain.usecase.links; + +import jakarta.annotation.Nullable; +import java.net.InetAddress; +import java.net.URI; +import java.time.ZonedDateTime; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.shared.valueobject.Source; +import tech.pegase.z3.statistics.domain.valueobject.Fingerprint; +import tech.pegase.z3.statistics.domain.valueobject.Locale; +import tech.pegase.z3.statistics.domain.valueobject.RawUserAgent; +import tech.pegase.z3.statistics.domain.valueobject.ScreenProperties; + +public interface VisitLink extends UseCase { + sealed interface Input { + record AddVisitFor( + Source source, + Boolean linkWasValid, + ZonedDateTime visitedAt, + AdditionalInputs additionalInputs) + implements Input { + + public record AdditionalInputs( + @Nullable String brand, + @Nullable String catalog, + @Nullable Boolean doNotTrack, + @Nullable Fingerprint fingerprint, + @Nullable InetAddress inetAddress, + @Nullable Locale locale, + @Nullable URI referrerUri, + @Nullable RawUserAgent rawUserAgent, + @Nullable ScreenProperties screenProperties) {} + } + } + + sealed interface Output { + record VisitAdded() implements Output {} + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/links/VisitLinkImpl.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/links/VisitLinkImpl.java new file mode 100644 index 0000000..eb32427 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/links/VisitLinkImpl.java @@ -0,0 +1,131 @@ +package tech.pegase.z3.statistics.domain.usecase.links; + +import jakarta.annotation.Nullable; +import jakarta.enterprise.context.ApplicationScoped; +import java.net.InetAddress; +import java.net.URI; +import java.util.Optional; +import tech.pegase.z3.statistics.domain.lib.link.statistic.builder.LinkStatisticBuilder; +import tech.pegase.z3.statistics.domain.lib.link.statistic.builder.LinkStatisticBuilder.LinkStatisticBuilderCountry; +import tech.pegase.z3.statistics.domain.lib.link.statistic.builder.LinkStatisticBuilder.LinkStatisticBuilderDoNotTrack; +import tech.pegase.z3.statistics.domain.lib.link.statistic.builder.LinkStatisticBuilder.LinkStatisticBuilderFinal; +import tech.pegase.z3.statistics.domain.lib.link.statistic.builder.LinkStatisticBuilder.LinkStatisticBuilderLocale; +import tech.pegase.z3.statistics.domain.lib.link.statistic.builder.LinkStatisticBuilder.LinkStatisticBuilderOs; +import tech.pegase.z3.statistics.domain.lib.link.statistic.builder.LinkStatisticBuilder.LinkStatisticBuilderReferer; +import tech.pegase.z3.statistics.domain.lib.link.statistic.builder.LinkStatisticBuilder.LinkStatisticBuilderScreen; +import tech.pegase.z3.statistics.domain.port.repository.LinkStatisticRepository; +import tech.pegase.z3.statistics.domain.port.service.GeoIpService; +import tech.pegase.z3.statistics.domain.port.service.UserAgentService; +import tech.pegase.z3.statistics.domain.port.service.UserAgentService.UserAgentInfo; +import tech.pegase.z3.statistics.domain.valueobject.Locale; +import tech.pegase.z3.statistics.domain.valueobject.RawUserAgent; +import tech.pegase.z3.statistics.domain.valueobject.Referrer; +import tech.pegase.z3.statistics.domain.valueobject.ScreenProperties; +import tech.pegase.z3.statistics.domain.valueobject.UserType; + +@ApplicationScoped +public class VisitLinkImpl implements VisitLink { + private final LinkStatisticRepository linkStatisticRepository; + private final GeoIpService geoIpService; + private final UserAgentService userAgentService; + + VisitLinkImpl( + LinkStatisticRepository linkStatisticRepository, + GeoIpService geoIpService, + UserAgentService userAgentService) { + this.linkStatisticRepository = linkStatisticRepository; + this.geoIpService = geoIpService; + this.userAgentService = userAgentService; + } + + private LinkStatisticBuilderReferer fillWithLocale( + LinkStatisticBuilderLocale builder, @Nullable Locale locale) { + return builder.setLocale(locale); + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.AddVisitFor inputCase -> run(inputCase); + }; + } + + private Output run(Input.AddVisitFor input) { + var source = input.source(); + var linkWasValid = input.linkWasValid(); + var visitedAt = input.visitedAt(); + var additionalInputs = input.additionalInputs(); + + var builder = LinkStatisticBuilder.make(source, linkWasValid, visitedAt); + var linkStatistic = fillWithAdditionalInputs(builder, additionalInputs).make(); + + linkStatisticRepository.persist(linkStatistic); + + return new Output.VisitAdded(); + } + + private LinkStatisticBuilderFinal fillWithAdditionalInputs( + LinkStatisticBuilderCountry builder, Input.AddVisitFor.AdditionalInputs additionalInputs) { + var inetAddress = additionalInputs.inetAddress(); + var referrerUri = additionalInputs.referrerUri(); + var screenProperties = additionalInputs.screenProperties(); + var rawUserAgent = additionalInputs.rawUserAgent(); + var locale = additionalInputs.locale(); + var doNotTrack = additionalInputs.doNotTrack(); + var brand = additionalInputs.brand(); + var catalog = additionalInputs.catalog(); + var fingerprint = additionalInputs.fingerprint(); + + return Optional.of(builder) + .map(b -> fillWithInetAddress(b, inetAddress)) + .map(b -> fillWithLocale(b, locale)) + .map(b -> fillWithRefererUri(b, referrerUri)) + .map(b -> fillWithUserAgentInfo(b, rawUserAgent)) + .map(b -> fillWithScreenProperties(b, screenProperties)) + .map(b -> b.setDoNotTrack(doNotTrack != null ? doNotTrack : false)) + .map(b -> b.setFingerprint(fingerprint)) + .map( + finalBuilder -> { + finalBuilder.setBrand(brand); + finalBuilder.setCatalog(catalog); + + return finalBuilder; + }) + .get(); + } + + private LinkStatisticBuilderLocale fillWithInetAddress( + LinkStatisticBuilderCountry builder, @Nullable InetAddress inetAddress) { + var country = + Optional.ofNullable(inetAddress).flatMap(geoIpService::locateInetAddress).orElse(null); + + return builder.setCountry(country); + } + + private LinkStatisticBuilderScreen fillWithUserAgentInfo( + LinkStatisticBuilderOs builder, @Nullable RawUserAgent rawUserAgent) { + var userAgentInfo = + Optional.ofNullable(rawUserAgent).map(userAgentService::getUserAgentFrom).orElse(null); + var browser = Optional.ofNullable(userAgentInfo).map(UserAgentInfo::browser).orElse(null); + var osInfo = Optional.ofNullable(userAgentInfo).map(UserAgentInfo::systemInfo).orElse(null); + var userType = + Optional.ofNullable(userAgentInfo).map(UserAgentInfo::userType).orElse(UserType.UNKNOWN); + + return Optional.of(builder) + .map(b -> b.setOs(osInfo)) + .map(b -> b.setBrowser(browser)) + .map(b -> b.setUserType(userType)) + .orElseThrow(); + } + + private LinkStatisticBuilderOs fillWithRefererUri( + LinkStatisticBuilderReferer builder, @Nullable URI referrerUri) { + var referrer = referrerUri != null ? Referrer.of(referrerUri) : null; + return builder.setReferer(referrer); + } + + private LinkStatisticBuilderDoNotTrack fillWithScreenProperties( + LinkStatisticBuilderScreen builder, @Nullable ScreenProperties screenProperties) { + return builder.setScreen(screenProperties); + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/links/package-info.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/links/package-info.java new file mode 100644 index 0000000..f69825d --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/links/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.statistics.domain.usecase.links; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/GetInvalidLinksCountsPerWeek.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/GetInvalidLinksCountsPerWeek.java new file mode 100644 index 0000000..0ca5a63 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/GetInvalidLinksCountsPerWeek.java @@ -0,0 +1,16 @@ +package tech.pegase.z3.statistics.domain.usecase.statistics; + +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.shared.lib.ReadOnlyList; +import tech.pegase.z3.statistics.domain.valueobject.statistics.StatisticLinePerInterval; + +public interface GetInvalidLinksCountsPerWeek + extends UseCase { + sealed interface Input { + record ByBrandForThePastYear() implements Input {} + } + + sealed interface Output { + record GetCounts(ReadOnlyList counts) implements Output {} + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/GetInvalidLinksCountsPerWeekImpl.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/GetInvalidLinksCountsPerWeekImpl.java new file mode 100644 index 0000000..01ec1f5 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/GetInvalidLinksCountsPerWeekImpl.java @@ -0,0 +1,35 @@ +package tech.pegase.z3.statistics.domain.usecase.statistics; + +import jakarta.enterprise.context.ApplicationScoped; +import java.time.Duration; +import java.time.ZonedDateTime; +import tech.pegase.z3.shared.lib.ReadOnlyList; +import tech.pegase.z3.statistics.domain.port.repository.LinkStatisticRepository; +import tech.pegase.z3.statistics.domain.usecase.statistics.GetInvalidLinksCountsPerWeek.Input.ByBrandForThePastYear; + +@ApplicationScoped +public class GetInvalidLinksCountsPerWeekImpl implements GetInvalidLinksCountsPerWeek { + private final LinkStatisticRepository linkStatisticRepository; + + GetInvalidLinksCountsPerWeekImpl(LinkStatisticRepository linkStatisticRepository) { + this.linkStatisticRepository = linkStatisticRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case ByBrandForThePastYear inputCase -> run(inputCase); + }; + } + + public Output run(ByBrandForThePastYear ignoredInputCase) { + var now = ZonedDateTime.now().minusMonths(1); + var limit = now.minusMonths(1); + var duration = Duration.between(now, limit); + + var invalidLinks = linkStatisticRepository.getInvalidLinksPerWeeksByBrandsAndFromNow(duration); + var readOnlyList = new ReadOnlyList<>(invalidLinks); + + return new Output.GetCounts(readOnlyList); + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostFrequentReferrers.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostFrequentReferrers.java new file mode 100644 index 0000000..d98eb9e --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostFrequentReferrers.java @@ -0,0 +1,16 @@ +package tech.pegase.z3.statistics.domain.usecase.statistics; + +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.shared.lib.ReadOnlyList; +import tech.pegase.z3.statistics.domain.valueobject.statistics.StatisticLineWithEntity; + +public interface MostFrequentReferrers + extends UseCase { + sealed interface Input { + record GetTop20() implements Input {} + } + + sealed interface Output { + record TopList(ReadOnlyList count) implements Output {} + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostFrequentReferrersImpl.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostFrequentReferrersImpl.java new file mode 100644 index 0000000..9dfb0d1 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostFrequentReferrersImpl.java @@ -0,0 +1,35 @@ +package tech.pegase.z3.statistics.domain.usecase.statistics; + +import jakarta.enterprise.context.ApplicationScoped; +import java.time.Duration; +import java.time.ZonedDateTime; +import tech.pegase.z3.shared.lib.ReadOnlyList; +import tech.pegase.z3.statistics.domain.port.repository.LinkStatisticRepository; + +@ApplicationScoped +public class MostFrequentReferrersImpl implements MostFrequentReferrers { + private final LinkStatisticRepository repository; + + MostFrequentReferrersImpl(LinkStatisticRepository repository) { + this.repository = repository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.GetTop20 inputCase -> run(inputCase); + }; + } + + private Output run(Input.GetTop20 ignoredInput) { + var now = ZonedDateTime.now().minusMonths(1); + var limit = now.minusMonths(1); + var duration = Duration.between(now, limit); + var resultAmount = 20; + + var results = repository.getMostUsedReferrerWithBrandFromNow(duration, resultAmount); + var readOnlyList = new ReadOnlyList<>(results); + + return new Output.TopList(readOnlyList); + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostVisitedSource.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostVisitedSource.java new file mode 100644 index 0000000..f33d0e3 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostVisitedSource.java @@ -0,0 +1,16 @@ +package tech.pegase.z3.statistics.domain.usecase.statistics; + +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.shared.lib.ReadOnlyList; +import tech.pegase.z3.statistics.domain.valueobject.statistics.StatisticLineWithEntity; + +public interface MostVisitedSource + extends UseCase { + sealed interface Input { + record GetTop30() implements Input {} + } + + sealed interface Output { + record TopList(ReadOnlyList count) implements Output {} + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostVisitedSourceImpl.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostVisitedSourceImpl.java new file mode 100644 index 0000000..09a0003 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostVisitedSourceImpl.java @@ -0,0 +1,35 @@ +package tech.pegase.z3.statistics.domain.usecase.statistics; + +import jakarta.enterprise.context.ApplicationScoped; +import java.time.Duration; +import java.time.ZonedDateTime; +import tech.pegase.z3.shared.lib.ReadOnlyList; +import tech.pegase.z3.statistics.domain.port.repository.LinkStatisticRepository; + +@ApplicationScoped +public class MostVisitedSourceImpl implements MostVisitedSource { + private final LinkStatisticRepository repository; + + MostVisitedSourceImpl(LinkStatisticRepository repository) { + this.repository = repository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.GetTop30 inputCase -> run(inputCase); + }; + } + + private Output run(Input.GetTop30 ignoredInput) { + var now = ZonedDateTime.now().minusMonths(1); + var limit = now.minusMonths(1); + var duration = Duration.between(now, limit); + var resultAmount = 30; + + var results = repository.getMostVisitedSourcesWithBrandFromNow(duration, resultAmount); + var readOnlyList = new ReadOnlyList<>(results); + + return new Output.TopList(readOnlyList); + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByBrand.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByBrand.java new file mode 100644 index 0000000..75c2b82 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByBrand.java @@ -0,0 +1,16 @@ +package tech.pegase.z3.statistics.domain.usecase.statistics; + +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.shared.lib.ReadOnlyList; +import tech.pegase.z3.statistics.domain.valueobject.statistics.StatisticLinePerInterval; + +public interface UniqueVisitorsByBrand + extends UseCase { + sealed interface Input { + record GetCountsForThePastYear() implements Input {} + } + + sealed interface Output { + record CountsForAll(ReadOnlyList counts) implements Output {} + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByBrandImpl.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByBrandImpl.java new file mode 100644 index 0000000..2bdb7d1 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByBrandImpl.java @@ -0,0 +1,34 @@ +package tech.pegase.z3.statistics.domain.usecase.statistics; + +import jakarta.enterprise.context.ApplicationScoped; +import java.time.Duration; +import java.time.ZonedDateTime; +import tech.pegase.z3.shared.lib.ReadOnlyList; +import tech.pegase.z3.statistics.domain.port.repository.LinkStatisticRepository; + +@ApplicationScoped +public class UniqueVisitorsByBrandImpl implements UniqueVisitorsByBrand { + private final LinkStatisticRepository linkStatisticRepository; + + UniqueVisitorsByBrandImpl(LinkStatisticRepository linkStatisticRepository) { + this.linkStatisticRepository = linkStatisticRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.GetCountsForThePastYear inputCase -> run(inputCase); + }; + } + + private Output run(Input.GetCountsForThePastYear ignoredInputCase) { + var now = ZonedDateTime.now().minusMonths(1); + var limit = now.minusMonths(1); + var duration = Duration.between(now, limit); + + var results = linkStatisticRepository.getUniqueVisitorsPerDayForEachBrand(duration); + var readOnlyList = new ReadOnlyList<>(results); + + return new Output.CountsForAll(readOnlyList); + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByCatalog.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByCatalog.java new file mode 100644 index 0000000..b872be5 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByCatalog.java @@ -0,0 +1,16 @@ +package tech.pegase.z3.statistics.domain.usecase.statistics; + +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.shared.lib.ReadOnlyList; +import tech.pegase.z3.statistics.domain.valueobject.statistics.StatisticLinePerInterval; + +public interface UniqueVisitorsByCatalog + extends UseCase { + sealed interface Input { + record GetCountsForThePastYear() implements Input {} + } + + sealed interface Output { + record CountsForAll(ReadOnlyList counts) implements Output {} + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByCatalogImpl.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByCatalogImpl.java new file mode 100644 index 0000000..94e5abe --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByCatalogImpl.java @@ -0,0 +1,34 @@ +package tech.pegase.z3.statistics.domain.usecase.statistics; + +import jakarta.enterprise.context.ApplicationScoped; +import java.time.Duration; +import java.time.ZonedDateTime; +import tech.pegase.z3.shared.lib.ReadOnlyList; +import tech.pegase.z3.statistics.domain.port.repository.LinkStatisticRepository; + +@ApplicationScoped +public class UniqueVisitorsByCatalogImpl implements UniqueVisitorsByCatalog { + private final LinkStatisticRepository linkStatisticRepository; + + UniqueVisitorsByCatalogImpl(LinkStatisticRepository linkStatisticRepository) { + this.linkStatisticRepository = linkStatisticRepository; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.GetCountsForThePastYear inputCase -> run(inputCase); + }; + } + + private Output run(Input.GetCountsForThePastYear ignoredInputCase) { + var now = ZonedDateTime.now().minusMonths(1); + var limit = now.minusMonths(1); + var duration = Duration.between(now, limit); + + var results = linkStatisticRepository.getUniqueVisitorsPerDayForEachCatalog(duration); + var readOnlyList = new ReadOnlyList<>(results); + + return new Output.CountsForAll(readOnlyList); + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/package-info.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/package-info.java new file mode 100644 index 0000000..9fd1c85 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/statistics/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.statistics.domain.usecase.statistics; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/tracking/CreateFingerprint.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/tracking/CreateFingerprint.java new file mode 100644 index 0000000..bb55107 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/tracking/CreateFingerprint.java @@ -0,0 +1,20 @@ +package tech.pegase.z3.statistics.domain.usecase.tracking; + +import java.net.InetAddress; +import tech.pegase.happy.core.usecase.UseCase; +import tech.pegase.z3.statistics.domain.valueobject.Fingerprint; +import tech.pegase.z3.statistics.domain.valueobject.Locale; +import tech.pegase.z3.statistics.domain.valueobject.ScreenProperties; + +public interface CreateFingerprint + extends UseCase { + sealed interface Input { + record MakeFrom( + InetAddress ipAddress, String userAgent, ScreenProperties screenProperties, Locale locale) + implements Input {} + } + + sealed interface Output { + record GeneratedFingerprint(Fingerprint fingerprint) implements Output {} + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/tracking/CreateFingerprintImpl.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/tracking/CreateFingerprintImpl.java new file mode 100644 index 0000000..eb6ec0a --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/tracking/CreateFingerprintImpl.java @@ -0,0 +1,55 @@ +package tech.pegase.z3.statistics.domain.usecase.tracking; + +import jakarta.enterprise.context.ApplicationScoped; +import java.net.InetAddress; +import tech.pegase.z3.statistics.domain.port.service.HashService; +import tech.pegase.z3.statistics.domain.valueobject.Fingerprint; +import tech.pegase.z3.statistics.domain.valueobject.Locale; +import tech.pegase.z3.statistics.domain.valueobject.ScreenProperties; + +@ApplicationScoped +public class CreateFingerprintImpl implements CreateFingerprint { + private final HashService hashService; + + CreateFingerprintImpl(HashService hashService) { + this.hashService = hashService; + } + + @Override + public Output run(Input input) { + return switch (input) { + case Input.MakeFrom inputCase -> run(inputCase); + }; + } + + public Output run(Input.MakeFrom inputCase) { + var ipAddress = inputCase.ipAddress(); + var locale = inputCase.locale(); + var screenProperties = inputCase.screenProperties(); + + var rawString = + inetAddressToString(ipAddress) + + localeToString(locale) + + screenPropertiesToString(screenProperties); + var hashedValue = hashService.hash(rawString); + var fingerPrint = new Fingerprint(hashedValue); + + return new Output.GeneratedFingerprint(fingerPrint); + } + + private String inetAddressToString(InetAddress ipAddress) { + return ipAddress.getHostAddress(); + } + + private String localeToString(Locale locale) { + return locale.toString(); + } + + private String screenPropertiesToString(ScreenProperties screenProperties) { + return screenProperties.height() + + "+" + + screenProperties.width() + + "+" + + screenProperties.dpi(); + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/tracking/package-info.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/tracking/package-info.java new file mode 100644 index 0000000..74a5764 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/usecase/tracking/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.statistics.domain.usecase.tracking; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/BrowserInfo.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/BrowserInfo.java new file mode 100644 index 0000000..642fc9a --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/BrowserInfo.java @@ -0,0 +1,32 @@ +package tech.pegase.z3.statistics.domain.valueobject; + +import jakarta.persistence.Embeddable; + +@Embeddable +public record BrowserInfo(String classType, String name, String version) { + public BrowserInfo { + if (classType.isEmpty()) { + throw new IllegalStateException("classType cannot be empty"); + } + + if (classType.length() > 255) { + throw new IllegalStateException("classType length exceeds 255 characters"); + } + + if (name.isEmpty()) { + throw new IllegalStateException("name cannot be empty"); + } + + if (name.length() > 255) { + throw new IllegalStateException("name length exceeds 255 characters"); + } + + if (version.isEmpty()) { + throw new IllegalStateException("version cannot be empty"); + } + + if (version.length() > 255) { + throw new IllegalStateException("version length exceeds 255 characters"); + } + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/Country.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/Country.java new file mode 100644 index 0000000..f1eefae --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/Country.java @@ -0,0 +1,309 @@ +package tech.pegase.z3.statistics.domain.valueobject; + +import java.util.HashMap; +import java.util.Map; + +public enum Country { + AFGHANISTAN(4, "AF", "Afghanistan"), + ALAND_ISLANDS(248, "AX", "Åland Islands"), + ALBANIA(8, "AL", "Albania"), + ALGERIA(12, "DZ", "Algeria"), + AMERICAN_SAMOA(16, "AS", "American Samoa"), + ANDORRA(20, "AD", "Andorra"), + ANGOLA(24, "AO", "Angola"), + ANGUILLA(660, "AI", "Anguilla"), + ANTARCTICA(10, "AQ", "Antarctica"), + ANTIGUA_AND_BARBUDA(28, "AG", "Antigua and Barbuda"), + ARGENTINA(32, "AR", "Argentina"), + ARMENIA(51, "AM", "Armenia"), + ARUBA(533, "AW", "Aruba"), + AUSTRALIA(36, "AU", "Australia"), + AUSTRIA(40, "AT", "Austria"), + AZERBAIJAN(31, "AZ", "Azerbaijan"), + BAHRAIN(48, "BH", "Bahrain"), + BAHAMAS(44, "BS", "Bahamas"), + BANGLADESH(50, "BD", "Bangladesh"), + BARBADOS(52, "BB", "Barbados"), + BELARUS(112, "BY", "Belarus"), + BELGIUM(56, "BE", "Belgium"), + BELIZE(84, "BZ", "Belize"), + BENIN(204, "BJ", "Benin"), + BERMUDA(60, "BM", "Bermuda"), + BHUTAN(64, "BT", "Bhutan"), + BOLIVIA_PLURINATIONAL_STATE_OF(68, "BO", "Bolivia, Plurinational State of"), + BONAIRE_SINT_EUSTATIUS_AND_SABA(535, "BQ", "Bonaire, Sint Eustatius and Saba"), + BOSNIA_AND_HERZEGOVINA(70, "BA", "Bosnia and Herzegovina"), + BOTSWANA(72, "BW", "Botswana"), + BOUVET_ISLAND(74, "BV", "Bouvet Island"), + BRAZIL(76, "BR", "Brazil"), + BRITISH_INDIAN_OCEAN_TERRITORY(86, "IO", "British Indian Ocean Territory"), + BRUNEI_DARUSSALAM(96, "BN", "Brunei Darussalam"), + BULGARIA(100, "BG", "Bulgaria"), + BURKINA_FASO(854, "BF", "Burkina Faso"), + BURUNDI(108, "BI", "Burundi"), + CAMBODIA(116, "KH", "Cambodia"), + CAMEROON(120, "CM", "Cameroon"), + CANADA(124, "CA", "Canada"), + CAPE_VERDE(132, "CV", "Cape Verde"), + CAYMAN_ISLANDS(136, "KY", "Cayman Islands"), + CENTRAL_AFRICAN_REPUBLIC(140, "CF", "Central African Republic"), + CHAD(148, "TD", "Chad"), + CHILE(152, "CL", "Chile"), + CHINA(156, "CN", "China"), + CHRISTMAS_ISLAND(162, "CX", "Christmas Island"), + COCOS_KEELING_ISLANDS(166, "CC", "Cocos (Keeling) Islands"), + COLOMBIA(170, "CO", "Colombia"), + COMOROS(174, "KM", "Comoros"), + CONGO(178, "CG", "Congo"), + CONGO_THE_DEMOCRATIC_REPUBLIC_OF_THE(180, "CD", "Congo, the Democratic Republic of the"), + COOK_ISLANDS(184, "CK", "Cook Islands"), + COSTA_RICA(188, "CR", "Costa Rica"), + COTE_DIVOIRE(384, "CI", "Côte d'Ivoire"), + CROATIA(191, "HR", "Croatia"), + CUBA(192, "CU", "Cuba"), + CURACAO(531, "CW", "Curaçao"), + CYPRUS(196, "CY", "Cyprus"), + CZECH_REPUBLIC(203, "CZ", "Czech Republic"), + DENMARK(208, "DK", "Denmark"), + DJIBOUTI(262, "DJ", "Djibouti"), + DOMINICA(212, "DM", "Dominica"), + DOMINICAN_REPUBLIC(214, "DO", "Dominican Republic"), + ECUADOR(218, "EC", "Ecuador"), + EGYPT(818, "EG", "Egypt"), + EL_SALVADOR(222, "SV", "El Salvador"), + EQUATORIAL_GUINEA(226, "GQ", "Equatorial Guinea"), + ERITREA(232, "ER", "Eritrea"), + ESTONIA(233, "EE", "Estonia"), + ETHIOPIA(231, "ET", "Ethiopia"), + FALKLAND_ISLANDS_MALVINAS(238, "FK", "Falkland Islands (Malvinas)"), + FAROE_ISLANDS(234, "FO", "Faroe Islands"), + FIJI(242, "FJ", "Fiji"), + FINLAND(246, "FI", "Finland"), + FRANCE(250, "FR", "France"), + FRENCH_GUIANA(254, "GF", "French Guiana"), + FRENCH_POLYNESIA(258, "PF", "French Polynesia"), + FRENCH_SOUTHERN_TERRITORIES(260, "TF", "French Southern Territories"), + GABON(266, "GA", "Gabon"), + GAMBIA(270, "GM", "Gambia"), + GEORGIA(268, "GE", "Georgia"), + GERMANY(276, "DE", "Germany"), + GHANA(288, "GH", "Ghana"), + GIBRALTAR(292, "GI", "Gibraltar"), + GREECE(300, "GR", "Greece"), + GREENLAND(304, "GL", "Greenland"), + GRENADA(308, "GD", "Grenada"), + GUADELOUPE(312, "GP", "Guadeloupe"), + GUAM(316, "GU", "Guam"), + GUATEMALA(320, "GT", "Guatemala"), + GUERNSEY(831, "GG", "Guernsey"), + GUINEA(324, "GN", "Guinea"), + GUINEA_BISSAU(624, "GW", "GuineaBissau"), + GUYANA(328, "GY", "Guyana"), + HAITI(332, "HT", "Haiti"), + HEARD_ISLAND_AND_MCDONALD_ISLANDS(334, "HM", "Heard Island and McDonald Islands"), + HOLY_SEE_VATICAN_CITY_STATE(336, "VA", "Holy See (Vatican City State)"), + HONDURAS(340, "HN", "Honduras"), + HONG_KONG(344, "HK", "Hong Kong"), + HUNGARY(348, "HU", "Hungary"), + ICELAND(352, "IS", "Iceland"), + INDIA(356, "IN", "India"), + INDONESIA(360, "ID", "Indonesia"), + IRAN_ISLAMIC_REPUBLIC_OF(364, "IR", "Iran, Islamic Republic of"), + IRAQ(368, "IQ", "Iraq"), + IRELAND(372, "IE", "Ireland"), + ISLE_OF_MAN(833, "IM", "Isle of Man"), + ISRAEL(376, "IL", "Israel"), + ITALY(380, "IT", "Italy"), + JAMAICA(388, "JM", "Jamaica"), + JAPAN(392, "JP", "Japan"), + JERSEY(832, "JE", "Jersey"), + JORDAN(400, "JO", "Jordan"), + KAZAKHSTAN(398, "KZ", "Kazakhstan"), + KENYA(404, "KE", "Kenya"), + KIRIBATI(296, "KI", "Kiribati"), + KOREA_DEMOCRATIC_PEOPLES_REPUBLIC_OF(408, "KP", "Korea, Democratic People's Republic of"), + KOREA_REPUBLIC_OF(410, "KR", "Korea, Republic of"), + KUWAIT(414, "KW", "Kuwait"), + KYRGYZSTAN(417, "KG", "Kyrgyzstan"), + LAO_PEOPLES_DEMOCRATIC_REPUBLIC(418, "LA", "Lao People's Democratic Republic"), + LATVIA(428, "LV", "Latvia"), + LEBANON(422, "LB", "Lebanon"), + LESOTHO(426, "LS", "Lesotho"), + LIBERIA(430, "LR", "Liberia"), + LIBYA(434, "LY", "Libya"), + LIECHTENSTEIN(438, "LI", "Liechtenstein"), + LITHUANIA(440, "LT", "Lithuania"), + LUXEMBOURG(442, "LU", "Luxembourg"), + MACAO(446, "MO", "Macao"), + MACEDONIA_THE_FORMER_YUGOSLAV_REPUBLIC_OF( + 807, "MK", "Macedonia, the Former Yugoslav Republic of"), + MADAGASCAR(450, "MG", "Madagascar"), + MALAWI(454, "MW", "Malawi"), + MALAYSIA(458, "MY", "Malaysia"), + MALDIVES(462, "MV", "Maldives"), + MALI(466, "ML", "Mali"), + MALTA(470, "MT", "Malta"), + MARSHALL_ISLANDS(584, "MH", "Marshall Islands"), + MARTINIQUE(474, "MQ", "Martinique"), + MAURITANIA(478, "MR", "Mauritania"), + MAURITIUS(480, "MU", "Mauritius"), + MAYOTTE(482, "YT", "Mayotte"), + MEXICO(484, "MX", "Mexico"), + MICRONESIA_FEDERATED_STATES_OF(583, "FM", "Micronesia, Federated States of"), + MOLDOVA_REPUBLIC_OF(498, "MD", "Moldova, Republic of"), + MONACO(492, "MC", "Monaco"), + MONGOLIA(496, "MN", "Mongolia"), + MONTENEGRO(499, "ME", "Montenegro"), + MONTSERRAT(500, "MS", "Montserrat"), + MOROCCO(504, "MA", "Morocco"), + MOZAMBIQUE(508, "MZ", "Mozambique"), + MYANMAR(104, "MM", "Myanmar"), + NAMIBIA(516, "NA", "Namibia"), + NAURU(520, "NR", "Nauru"), + NEPAL(524, "NP", "Nepal"), + NETHERLANDS(528, "NL", "Netherlands"), + NEW_CALEDONIA(540, "NC", "New Caledonia"), + NEW_ZEALAND(554, "NZ", "New Zealand"), + NICARAGUA(558, "NI", "Nicaragua"), + NIGER(562, "NE", "Niger"), + NIGERIA(566, "NG", "Nigeria"), + NIUE(570, "NU", "Niue"), + NORFOLK_ISLAND(574, "NF", "Norfolk Island"), + NORTHERN_MARIANA_ISLANDS(580, "MP", "Northern Mariana Islands"), + NORWAY(578, "NO", "Norway"), + OMAN(512, "OM", "Oman"), + PAKISTAN(586, "PK", "Pakistan"), + PALAU(585, "PW", "Palau"), + PALESTINE_STATE_OF(275, "PS", "Palestine, State of"), + PANAMA(590, "PA", "Panama"), + PAPUA_NEW_GUINEA(598, "PG", "Papua New Guinea"), + PARAGUAY(600, "PY", "Paraguay"), + PERU(604, "PE", "Peru"), + PHILIPPINES(608, "PH", "Philippines"), + PITCAIRN(612, "PN", "Pitcairn"), + POLAND(616, "PL", "Poland"), + PORTUGAL(620, "PT", "Portugal"), + PUERTO_RICO(630, "PR", "Puerto Rico"), + QATAR(634, "QA", "Qatar"), + REUNION(638, "RE", "Reunion"), + ROMANIA(642, "RO", "Romania"), + RUSSIAN_FEDERATION(643, "RU", "Russian Federation"), + RWANDA(646, "RW", "Rwanda"), + SAINT_BARTHELEMY(652, "BL", "Saint Barthélemy"), + SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA( + 654, "SH", "Saint Helena, Ascension and Tristan da Cunha"), + SAINT_KITTS_AND_NEVIS(659, "KN", "Saint Kitts and Nevis"), + SAINT_LUCIA(662, "LC", "Saint Lucia"), + SAINT_MARTIN_FRENCH_PART(663, "MF", "Saint Martin (French part)"), + SAINT_PIERRE_AND_MIQUELON(666, "PM", "Saint Pierre and Miquelon"), + SAINT_VINCENT_AND_THE_GRENADINES(670, "VC", "Saint Vincent and the Grenadines"), + SAMOA(672, "WS", "Samoa"), + SAN_MARINO(674, "SM", "San Marino"), + SAO_TOME_AND_PRINCIPE(678, "ST", "Sao Tome and Principe"), + SAUDI_ARABIA(682, "SA", "Saudi Arabia"), + SENEGAL(686, "SN", "Senegal"), + SERBIA(688, "RS", "Serbia"), + SEYCHELLES(690, "SC", "Seychelles"), + SIERRA_LEONE(694, "SL", "Sierra Leone"), + SINGAPORE(702, "SG", "Singapore"), + SINT_MAARTEN_DUTCH_PART(534, "SX", "Sint Maarten (Dutch part)"), + SLOVAKIA(703, "SK", "Slovakia"), + SLOVENIA(705, "SI", "Slovenia"), + SOLOMON_ISLANDS(90, "SB", "Solomon Islands"), + SOMALIA(706, "SO", "Somalia"), + SOUTH_AFRICA(710, "ZA", "South Africa"), + SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS( + 239, "GS", "South Georgia and the South Sandwich Islands"), + SOUTH_SUDAN(728, "SS", "South Sudan"), + SPAIN(724, "ES", "Spain"), + SRI_LANKA(144, "LK", "Sri Lanka"), + SUDAN(729, "SD", "Sudan"), + SURINAME(740, "SR", "Suriname"), + SVALBARD_AND_JAN_MAYEN(744, "SJ", "Svalbard and Jan Mayen"), + SWAZILAND(748, "SZ", "Swaziland"), // Now Eswatini, SZ remains valid + SWEDEN(752, "SE", "Sweden"), + SWITZERLAND(756, "CH", "Switzerland"), + SYRIAN_ARAB_REPUBLIC(760, "SY", "Syrian Arab Republic"), + TAIWAN_PROVINCE_OF_CHINA(158, "TW", "Taiwan, Province of China"), + TAJIKISTAN(762, "TJ", "Tajikistan"), + TANZANIA_UNITED_REPUBLIC_OF(834, "TZ", "Tanzania, United Republic of"), + THAILAND(764, "TH", "Thailand"), + TIMOR_LESTE(626, "TL", "Timor-Leste"), + TOGO(768, "TG", "Togo"), + TOKELAU(772, "TK", "Tokelau"), + TONGA(776, "TO", "Tonga"), + TRINIDAD_AND_TOBAGO(780, "TT", "Trinidad and Tobago"), + TUNISIA(788, "TN", "Tunisia"), + TURKEY(792, "TR", "Turkey"), + TURKMENISTAN(795, "TM", "Turkmenistan"), + TURKS_AND_CAICOS_ISLANDS(796, "TC", "Turks and Caicos Islands"), + TUVALU(798, "TV", "Tuvalu"), + UGANDA(800, "UG", "Uganda"), + UKRAINE(804, "UA", "Ukraine"), + UNITED_ARAB_EMIRATES(784, "AE", "United Arab Emirates"), + UNITED_KINGDOM(826, "GB", "United Kingdom"), + UNITED_STATES(840, "US", "United States"), + UNITED_STATES_MINOR_OUTLYING_ISLANDS(581, "UM", "United States Minor Outlying Islands"), + URUGUAY(858, "UY", "Uruguay"), + UZBEKISTAN(860, "UZ", "Uzbekistan"), + VANUATU(548, "VU", "Vanuatu"), + VENEZUELA_BOLIVARIAN_REPUBLIC_OF(862, "VE", "Venezuela, Bolivarian Republic of"), + VIET_NAM(704, "VN", "Viet Nam"), + VIRGIN_ISLANDS_BRITISH(92, "VG", "Virgin Islands, British"), + VIRGIN_ISLANDS_US(850, "VI", "Virgin Islands, U.S."), + WALLIS_AND_FUTUNA(876, "WF", "Wallis and Futuna"), + WESTERN_SAHARA(732, "EH", "Western Sahara"), + YEMEN(887, "YE", "Yemen"), + ZAMBIA(894, "ZM", "Zambia"), + ZIMBABWE(716, "ZW", "Zimbabwe"); + + private static final Map BY_NUMERIC_CODE = new HashMap<>(); + private static final Map BY_ISO_CODE = new HashMap<>(); + + static { + for (var e : values()) { + BY_NUMERIC_CODE.put(e.numericCode, e); + BY_ISO_CODE.put(e.isoCode, e); + } + } + + private final Integer numericCode; + private final String isoCode; + private final String label; + + Country(Integer numericCode, String isoCode, String label) { + this.numericCode = numericCode; + this.isoCode = isoCode; + this.label = label; + } + + /** + * Get country from numerical iso code. + * + * @param numericCode Iso 3166-1 Numerical code. + */ + public static Country fromNumericCode(Integer numericCode) { + return BY_NUMERIC_CODE.get(numericCode); + } + + /** + * Get country from alpha 2 iso code. + * + * @param isoCode Iso 3166-1 alpha 2 code. + */ + public static Country fromIsoCode(String isoCode) { + return BY_ISO_CODE.get(isoCode); + } + + public Integer getIsoNumericCode() { + return numericCode; + } + + public String getIsoAlpha2Code() { + return isoCode; + } + + public String getLabel() { + return label; + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/Fingerprint.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/Fingerprint.java new file mode 100644 index 0000000..55d039d --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/Fingerprint.java @@ -0,0 +1,12 @@ +package tech.pegase.z3.statistics.domain.valueobject; + +import jakarta.persistence.Embeddable; + +@Embeddable +public record Fingerprint(String fingerprint) { + public Fingerprint { + if (fingerprint.isBlank()) { + throw new IllegalStateException("CreateFingerprint cannot be blank"); + } + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/Locale.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/Locale.java new file mode 100644 index 0000000..e75e195 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/Locale.java @@ -0,0 +1,21 @@ +package tech.pegase.z3.statistics.domain.valueobject; + +import jakarta.persistence.Embeddable; + +@Embeddable +public record Locale(String lang, String region) { + public Locale { + if (lang.isEmpty()) { + throw new IllegalStateException("Language must not be empty"); + } + if (region.isEmpty()) { + throw new IllegalStateException("Region must not be empty"); + } + if (lang.length() != 2) { + throw new IllegalStateException("Language must 2 chars length"); + } + if (region.length() != 2) { + throw new IllegalStateException("Region must be 2 chars length"); + } + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/OperatingSystemInfo.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/OperatingSystemInfo.java new file mode 100644 index 0000000..26e88c6 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/OperatingSystemInfo.java @@ -0,0 +1,32 @@ +package tech.pegase.z3.statistics.domain.valueobject; + +import jakarta.persistence.Embeddable; + +@Embeddable +public record OperatingSystemInfo(String classType, String name, String version) { + public OperatingSystemInfo { + if (classType.isEmpty()) { + throw new IllegalStateException("classType cannot be empty"); + } + + if (classType.length() > 255) { + throw new IllegalStateException("classType length exceeds 255 characters"); + } + + if (name.isEmpty()) { + throw new IllegalStateException("name cannot be empty"); + } + + if (name.length() > 255) { + throw new IllegalStateException("name length exceeds 255 characters"); + } + + if (version.isEmpty()) { + throw new IllegalStateException("version cannot be empty"); + } + + if (version.length() > 255) { + throw new IllegalStateException("version length exceeds 255 characters"); + } + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/RawUserAgent.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/RawUserAgent.java new file mode 100644 index 0000000..b3d73bc --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/RawUserAgent.java @@ -0,0 +1,9 @@ +package tech.pegase.z3.statistics.domain.valueobject; + +public record RawUserAgent(String value) { + public RawUserAgent { + if (value.isBlank()) { + throw new IllegalStateException("Value cannot be blank."); + } + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/Referrer.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/Referrer.java new file mode 100644 index 0000000..a5aaebe --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/Referrer.java @@ -0,0 +1,23 @@ +package tech.pegase.z3.statistics.domain.valueobject; + +import jakarta.persistence.Embeddable; +import java.net.URI; + +@Embeddable +public record Referrer(String host, String path) { + public Referrer { + if (host.isBlank()) { + throw new IllegalStateException("Host cannot be empty"); + } + if (host.length() > 255) { + throw new IllegalStateException("Host cannot be longer than 255 characters"); + } + if (path.length() > 255) { + throw new IllegalStateException("Path cannot be longer than 255 characters"); + } + } + + public static Referrer of(URI uri) { + return new Referrer(uri.getHost(), uri.getPath()); + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/ScreenProperties.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/ScreenProperties.java new file mode 100644 index 0000000..97e5160 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/ScreenProperties.java @@ -0,0 +1,18 @@ +package tech.pegase.z3.statistics.domain.valueobject; + +import jakarta.persistence.Embeddable; + +@Embeddable +public record ScreenProperties(Integer height, Integer width, Integer dpi) { + public ScreenProperties { + if (height <= 0) { + throw new IllegalStateException("Height cannot be zero or negative"); + } + if (width <= 0) { + throw new IllegalStateException("Width cannot be zero or negative"); + } + if (dpi <= 0) { + throw new IllegalStateException("Dpi cannot be zero or negative"); + } + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/UserType.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/UserType.java new file mode 100644 index 0000000..abd5a17 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/UserType.java @@ -0,0 +1,9 @@ +package tech.pegase.z3.statistics.domain.valueobject; + +public enum UserType { + UNKNOWN, + HUMAN, + CRAWLER, + SPIDER, + BOT, +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/package-info.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/package-info.java new file mode 100644 index 0000000..242f5ab --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.statistics.domain.valueobject; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLine.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLine.java new file mode 100644 index 0000000..69a0c8b --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLine.java @@ -0,0 +1,9 @@ +package tech.pegase.z3.statistics.domain.valueobject.statistics; + +public record StatisticLine(String value, Integer count) { + public StatisticLine { + if (value.isBlank()) { + throw new IllegalStateException("Statistic line cannot be empty"); + } + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLinePerInterval.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLinePerInterval.java new file mode 100644 index 0000000..fab00f1 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLinePerInterval.java @@ -0,0 +1,11 @@ +package tech.pegase.z3.statistics.domain.valueobject.statistics; + +import java.time.ZonedDateTime; + +public record StatisticLinePerInterval(String value, ZonedDateTime interval, Integer count) { + public StatisticLinePerInterval { + if (value.isBlank()) { + throw new IllegalStateException("Statistic line per interval cannot be empty"); + } + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLineWithEntity.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLineWithEntity.java new file mode 100644 index 0000000..45ea34c --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLineWithEntity.java @@ -0,0 +1,12 @@ +package tech.pegase.z3.statistics.domain.valueobject.statistics; + +public record StatisticLineWithEntity(String value, String entity, Integer count) { + public StatisticLineWithEntity { + if (value.isBlank()) { + throw new IllegalStateException("Value cannot be empty"); + } + if (entity.isBlank()) { + throw new IllegalStateException("Entity cannot be empty"); + } + } +} diff --git a/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/statistics/package-info.java b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/statistics/package-info.java new file mode 100644 index 0000000..1a67f54 --- /dev/null +++ b/z3-statistics-domain/src/main/java/tech/pegase/z3/statistics/domain/valueobject/statistics/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.statistics.domain.valueobject.statistics; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-statistics-domain/src/main/resources/META-INF/beans.xml b/z3-statistics-domain/src/main/resources/META-INF/beans.xml new file mode 100644 index 0000000..e69de29 diff --git a/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/entity/LinkStatisticTest.java b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/entity/LinkStatisticTest.java new file mode 100644 index 0000000..2226cb1 --- /dev/null +++ b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/entity/LinkStatisticTest.java @@ -0,0 +1,113 @@ +package tech.pegase.z3.statistics.domain.entity; + +import java.time.ZonedDateTime; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import tech.pegase.z3.shared.valueobject.Source; +import tech.pegase.z3.statistics.domain.valueobject.BrowserInfo; +import tech.pegase.z3.statistics.domain.valueobject.Country; +import tech.pegase.z3.statistics.domain.valueobject.Fingerprint; +import tech.pegase.z3.statistics.domain.valueobject.Locale; +import tech.pegase.z3.statistics.domain.valueobject.OperatingSystemInfo; +import tech.pegase.z3.statistics.domain.valueobject.Referrer; +import tech.pegase.z3.statistics.domain.valueobject.ScreenProperties; +import tech.pegase.z3.statistics.domain.valueobject.UserType; + +public class LinkStatisticTest { + @Test + public void canCreateLinkStatistic() { + // THEN + Assertions.assertDoesNotThrow( + () -> { + // GIVEN + var source = new Source("source"); + var linkWasValid = true; + var brand = "brand"; + var catalog = "catalog"; + var visitedAt = ZonedDateTime.now(); + var browser = new BrowserInfo("classType", "Name", "Version"); + var country = Country.AFGHANISTAN; + var locale = new Locale("en", "US"); + var os = new OperatingSystemInfo("classType", "Name", "Version"); + var referrer = new Referrer("https://google.com", "/hello"); + var screenProperties = new ScreenProperties(1080, 1920, 1); + var userType = UserType.UNKNOWN; + var doNotTrack = false; + var fingerprint = new Fingerprint("fingerprint"); + + // WHEN + new LinkStatistic( + source, + linkWasValid, + doNotTrack, + userType, + visitedAt, + brand, + catalog, + fingerprint, + screenProperties, + country, + locale, + os, + browser, + referrer); + }); + } + + @Test + public void canUseLinkStatisticGetters() { + // THEN + Assertions.assertDoesNotThrow( + () -> { + // GIVEN + var source = new Source("source"); + var linkWasValid = true; + var brand = "brand"; + var catalog = "catalog"; + var visitedAt = ZonedDateTime.now(); + var browser = new BrowserInfo("classType", "Name", "Version"); + var country = Country.AFGHANISTAN; + var locale = new Locale("en", "US"); + var os = new OperatingSystemInfo("classType", "Name", "Version"); + var referrer = new Referrer("https://google.com", "/hello"); + var screenProperties = new ScreenProperties(1080, 1920, 1); + var userType = UserType.UNKNOWN; + var doNotTrack = false; + var fingerprint = new Fingerprint("fingerprint"); + var linkstatistic = + new LinkStatistic( + source, + linkWasValid, + doNotTrack, + userType, + visitedAt, + brand, + catalog, + fingerprint, + screenProperties, + country, + locale, + os, + browser, + referrer); + + // WHEN + Assertions.assertNotNull(linkstatistic.getId()); + Assertions.assertNotNull(linkstatistic.getUuid()); + Assertions.assertEquals(source, linkstatistic.getLinkSource()); + Assertions.assertEquals(brand, linkstatistic.getBrand()); + Assertions.assertEquals(catalog, linkstatistic.getCatalog()); + Assertions.assertEquals(screenProperties, linkstatistic.getScreen()); + Assertions.assertEquals(doNotTrack, linkstatistic.getDoNotTrack()); + Assertions.assertEquals(fingerprint, linkstatistic.getFingerprint()); + Assertions.assertEquals(linkWasValid, linkstatistic.getLinkWasValid()); + Assertions.assertEquals(visitedAt, linkstatistic.getVisitedAt()); + Assertions.assertEquals(browser, linkstatistic.getBrowser()); + Assertions.assertEquals(referrer, linkstatistic.getReferrer()); + Assertions.assertEquals(country, linkstatistic.getCountry()); + Assertions.assertEquals(locale, linkstatistic.getLocale()); + Assertions.assertEquals(os, linkstatistic.getOperatingSystem()); + Assertions.assertEquals(userType, linkstatistic.getUserType()); + }); + } +} diff --git a/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/lib/LinkStatisticsBuilderTest.java b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/lib/LinkStatisticsBuilderTest.java new file mode 100644 index 0000000..964b9a5 --- /dev/null +++ b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/lib/LinkStatisticsBuilderTest.java @@ -0,0 +1,87 @@ +package tech.pegase.z3.statistics.domain.lib; + +import java.time.ZonedDateTime; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import tech.pegase.z3.shared.valueobject.Source; +import tech.pegase.z3.statistics.domain.lib.link.statistic.builder.LinkStatisticBuilder; +import tech.pegase.z3.statistics.domain.valueobject.BrowserInfo; +import tech.pegase.z3.statistics.domain.valueobject.Country; +import tech.pegase.z3.statistics.domain.valueobject.Fingerprint; +import tech.pegase.z3.statistics.domain.valueobject.Locale; +import tech.pegase.z3.statistics.domain.valueobject.OperatingSystemInfo; +import tech.pegase.z3.statistics.domain.valueobject.Referrer; +import tech.pegase.z3.statistics.domain.valueobject.ScreenProperties; +import tech.pegase.z3.statistics.domain.valueobject.UserType; + +public class LinkStatisticsBuilderTest { + + @Test + public void canBuildLinkStatistics() { + // THEN + Assertions.assertDoesNotThrow( + () -> { + // GIVEN + var source = new Source("source"); + var linkWasValid = true; + var doNotTrack = false; + var fingerprint = new Fingerprint("fingerprint"); + var visitedAt = ZonedDateTime.now(); + var browser = new BrowserInfo("classType", "Name", "Version"); + var country = Country.AFGHANISTAN; + var locale = new Locale("en", "US"); + var os = new OperatingSystemInfo("classType", "Name", "Version"); + var referrer = new Referrer("https://google.com", "/hello"); + var screenProperties = new ScreenProperties(1080, 1920, 1); + var userType = UserType.UNKNOWN; + + // WHEN + LinkStatisticBuilder.make(source, linkWasValid, visitedAt) + .setCountry(country) + .setLocale(locale) + .setReferer(referrer) + .setOs(os) + .setBrowser(browser) + .setUserType(userType) + .setScreen(screenProperties) + .setDoNotTrack(doNotTrack) + .setFingerprint(fingerprint) + .make(); + }); + } + + @Test + public void canBuildLinkStatisticsSettingDoNotTrack() { + // THEN + Assertions.assertDoesNotThrow( + () -> { + // GIVEN + var source = new Source("source"); + var linkWasValid = true; + var fingerprint = new Fingerprint("fingerprint"); + var visitedAt = ZonedDateTime.now(); + var browser = new BrowserInfo("classType", "Name", "Version"); + var country = Country.AFGHANISTAN; + var doNotTrack = false; + var locale = new Locale("en", "US"); + var os = new OperatingSystemInfo("classType", "Name", "Version"); + var referrer = new Referrer("https://google.com", "/hello"); + var screenProperties = new ScreenProperties(1080, 1920, 1); + var userType = UserType.UNKNOWN; + + // WHEN + var builder = + LinkStatisticBuilder.make(source, linkWasValid, visitedAt) + .setCountry(country) + .setLocale(locale) + .setReferer(referrer) + .setOs(os) + .setBrowser(browser) + .setUserType(userType) + .setScreen(screenProperties) + .setDoNotTrack(doNotTrack) + .setFingerprint(fingerprint); + builder.make(); + }); + } +} diff --git a/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/links/VisitLinkImplTest.java b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/links/VisitLinkImplTest.java new file mode 100644 index 0000000..0d9cb24 --- /dev/null +++ b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/links/VisitLinkImplTest.java @@ -0,0 +1,112 @@ +package tech.pegase.z3.statistics.domain.usecase.links; + +import java.net.InetAddress; +import java.net.URI; +import java.net.UnknownHostException; +import java.time.ZonedDateTime; +import java.util.Optional; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.shared.valueobject.Source; +import tech.pegase.z3.statistics.domain.entity.LinkStatistic; +import tech.pegase.z3.statistics.domain.port.repository.LinkStatisticRepository; +import tech.pegase.z3.statistics.domain.port.service.GeoIpService; +import tech.pegase.z3.statistics.domain.port.service.UserAgentService; +import tech.pegase.z3.statistics.domain.port.service.UserAgentService.UserAgentInfo; +import tech.pegase.z3.statistics.domain.usecase.links.VisitLink.Input; +import tech.pegase.z3.statistics.domain.usecase.links.VisitLink.Input.AddVisitFor.AdditionalInputs; +import tech.pegase.z3.statistics.domain.usecase.links.VisitLink.Output; +import tech.pegase.z3.statistics.domain.valueobject.BrowserInfo; +import tech.pegase.z3.statistics.domain.valueobject.Country; +import tech.pegase.z3.statistics.domain.valueobject.Fingerprint; +import tech.pegase.z3.statistics.domain.valueobject.Locale; +import tech.pegase.z3.statistics.domain.valueobject.OperatingSystemInfo; +import tech.pegase.z3.statistics.domain.valueobject.RawUserAgent; +import tech.pegase.z3.statistics.domain.valueobject.ScreenProperties; +import tech.pegase.z3.statistics.domain.valueobject.UserType; + +public class VisitLinkImplTest { + private final LinkStatisticRepository linkStatisticRepository; + private final GeoIpService geoIpService; + private final UserAgentService userAgentService; + private final VisitLink visitLink; + + VisitLinkImplTest() { + this.linkStatisticRepository = Mockito.mock(LinkStatisticRepository.class); + this.geoIpService = Mockito.mock(GeoIpService.class); + this.userAgentService = Mockito.mock(UserAgentService.class); + this.visitLink = new VisitLinkImpl(linkStatisticRepository, geoIpService, userAgentService); + } + + @Test + public void canAddVisit() { + // GIVEN + var source = new Source("source"); + var linkWasValid = false; + var visitedAt = ZonedDateTime.now(); + var additionalInputs = + new AdditionalInputs(null, null, null, null, null, null, null, null, null); + + Mockito.doNothing().when(linkStatisticRepository).persist(Mockito.any(LinkStatistic.class)); + + // WHEN + var output = + visitLink.run(new Input.AddVisitFor(source, linkWasValid, visitedAt, additionalInputs)); + + // THEN + Mockito.verify(linkStatisticRepository).persist(Mockito.any(LinkStatistic.class)); + + Assertions.assertInstanceOf(Output.VisitAdded.class, output); + } + + @Test + public void canAddVisitWithAdditionalInputs() throws UnknownHostException { + // GIVEN + var source = new Source("source"); + var linkWasValid = false; + var brand = "brand"; + var catalog = "catalog"; + var visitedAt = ZonedDateTime.now(); + var doNotTrack = false; + var fingerprint = new Fingerprint("fingerprint"); + var inetAddress = InetAddress.getByAddress("local", new byte[] {127, 0, 0, 1}); + var locale = new Locale("fr", "FR"); + var referrerUri = URI.create("https://google.com/path"); + var rawUserAgent = new RawUserAgent("userAgent"); + var screenProperties = new ScreenProperties(1920, 1080, 1); + var additionalInputs = + new AdditionalInputs( + brand, + catalog, + doNotTrack, + fingerprint, + inetAddress, + locale, + referrerUri, + rawUserAgent, + screenProperties); + + var browser = new BrowserInfo("classType", "name", "version"); + var operatingSystem = new OperatingSystemInfo("classType", "name", "version"); + var userType = UserType.BOT; + var userAgentInfo = new UserAgentInfo(browser, operatingSystem, userType); + + var country = Country.AFGHANISTAN; + + Mockito.when(userAgentService.getUserAgentFrom(rawUserAgent)).thenReturn(userAgentInfo); + Mockito.when(geoIpService.locateInetAddress(inetAddress)).thenReturn(Optional.of(country)); + Mockito.doNothing().when(linkStatisticRepository).persist(Mockito.any(LinkStatistic.class)); + + // WHEN + var output = + visitLink.run(new Input.AddVisitFor(source, linkWasValid, visitedAt, additionalInputs)); + + // THEN + Mockito.verify(userAgentService).getUserAgentFrom(rawUserAgent); + Mockito.verify(geoIpService).locateInetAddress(inetAddress); + Mockito.verify(linkStatisticRepository).persist(Mockito.any(LinkStatistic.class)); + + Assertions.assertInstanceOf(Output.VisitAdded.class, output); + } +} diff --git a/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/statistics/GetInvalidLinksCountsPerWeekTest.java b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/statistics/GetInvalidLinksCountsPerWeekTest.java new file mode 100644 index 0000000..656614c --- /dev/null +++ b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/statistics/GetInvalidLinksCountsPerWeekTest.java @@ -0,0 +1,40 @@ +package tech.pegase.z3.statistics.domain.usecase.statistics; + +import java.time.Duration; +import java.util.List; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.statistics.domain.port.repository.LinkStatisticRepository; +import tech.pegase.z3.statistics.domain.usecase.statistics.GetInvalidLinksCountsPerWeek.Input.ByBrandForThePastYear; +import tech.pegase.z3.statistics.domain.usecase.statistics.GetInvalidLinksCountsPerWeek.Output; +import tech.pegase.z3.statistics.domain.valueobject.statistics.StatisticLinePerInterval; + +public class GetInvalidLinksCountsPerWeekTest { + private final LinkStatisticRepository linkStatisticRepository; + private final GetInvalidLinksCountsPerWeek invalidLinksPerWeek; + + GetInvalidLinksCountsPerWeekTest() { + this.linkStatisticRepository = Mockito.mock(LinkStatisticRepository.class); + this.invalidLinksPerWeek = new GetInvalidLinksCountsPerWeekImpl(linkStatisticRepository); + } + + @Test + public void canGetCountsForThePastYear() { + // GIVEN + var statisticLinesPerInterval = List.of(); + + Mockito.when( + linkStatisticRepository.getInvalidLinksPerWeeksByBrandsAndFromNow( + Mockito.any(Duration.class))) + .thenReturn(statisticLinesPerInterval); + + // WHEN + var output = invalidLinksPerWeek.run(new ByBrandForThePastYear()); + + // THEN + Mockito.verify(linkStatisticRepository) + .getInvalidLinksPerWeeksByBrandsAndFromNow(Mockito.any(Duration.class)); + Assertions.assertInstanceOf(Output.GetCounts.class, output); + } +} diff --git a/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostFrequentReferrersTest.java b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostFrequentReferrersTest.java new file mode 100644 index 0000000..98901d2 --- /dev/null +++ b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostFrequentReferrersTest.java @@ -0,0 +1,40 @@ +package tech.pegase.z3.statistics.domain.usecase.statistics; + +import java.time.Duration; +import java.util.List; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.statistics.domain.port.repository.LinkStatisticRepository; +import tech.pegase.z3.statistics.domain.usecase.statistics.MostFrequentReferrers.Input; +import tech.pegase.z3.statistics.domain.usecase.statistics.MostFrequentReferrers.Output; +import tech.pegase.z3.statistics.domain.valueobject.statistics.StatisticLineWithEntity; + +public class MostFrequentReferrersTest { + private final LinkStatisticRepository linkStatisticRepository; + private final MostFrequentReferrers mostFrequentReferrers; + + MostFrequentReferrersTest() { + this.linkStatisticRepository = Mockito.mock(LinkStatisticRepository.class); + this.mostFrequentReferrers = new MostFrequentReferrersImpl(linkStatisticRepository); + } + + @Test + public void canGetTop30() { + // GIVEN + var statisticLinesWithEntity = List.of(); + + Mockito.when( + linkStatisticRepository.getMostUsedReferrerWithBrandFromNow( + Mockito.any(Duration.class), Mockito.anyInt())) + .thenReturn(statisticLinesWithEntity); + + // WHEN + var output = mostFrequentReferrers.run(new Input.GetTop20()); + + // THEN + Mockito.verify(linkStatisticRepository) + .getMostUsedReferrerWithBrandFromNow(Mockito.any(Duration.class), Mockito.anyInt()); + Assertions.assertInstanceOf(Output.TopList.class, output); + } +} diff --git a/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostVisitedSourceTest.java b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostVisitedSourceTest.java new file mode 100644 index 0000000..3051df3 --- /dev/null +++ b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/statistics/MostVisitedSourceTest.java @@ -0,0 +1,40 @@ +package tech.pegase.z3.statistics.domain.usecase.statistics; + +import java.time.Duration; +import java.util.List; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.statistics.domain.port.repository.LinkStatisticRepository; +import tech.pegase.z3.statistics.domain.usecase.statistics.MostVisitedSource.Input; +import tech.pegase.z3.statistics.domain.usecase.statistics.MostVisitedSource.Output; +import tech.pegase.z3.statistics.domain.valueobject.statistics.StatisticLineWithEntity; + +public class MostVisitedSourceTest { + private final LinkStatisticRepository linkStatisticRepository; + private final MostVisitedSource mostVisitedSource; + + MostVisitedSourceTest() { + this.linkStatisticRepository = Mockito.mock(LinkStatisticRepository.class); + this.mostVisitedSource = new MostVisitedSourceImpl(linkStatisticRepository); + } + + @Test + public void canGetTop30() { + // GIVEN + var statisticLinesWithEntity = List.of(); + + Mockito.when( + linkStatisticRepository.getMostVisitedSourcesWithBrandFromNow( + Mockito.any(Duration.class), Mockito.anyInt())) + .thenReturn(statisticLinesWithEntity); + + // WHEN + var output = mostVisitedSource.run(new Input.GetTop30()); + + // THEN + Mockito.verify(linkStatisticRepository) + .getMostVisitedSourcesWithBrandFromNow(Mockito.any(Duration.class), Mockito.anyInt()); + Assertions.assertInstanceOf(Output.TopList.class, output); + } +} diff --git a/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByBrandTest.java b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByBrandTest.java new file mode 100644 index 0000000..1bc85d5 --- /dev/null +++ b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByBrandTest.java @@ -0,0 +1,40 @@ +package tech.pegase.z3.statistics.domain.usecase.statistics; + +import java.time.Duration; +import java.util.List; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.statistics.domain.port.repository.LinkStatisticRepository; +import tech.pegase.z3.statistics.domain.usecase.statistics.UniqueVisitorsByBrand.Input; +import tech.pegase.z3.statistics.domain.usecase.statistics.UniqueVisitorsByBrand.Output; +import tech.pegase.z3.statistics.domain.valueobject.statistics.StatisticLinePerInterval; + +public class UniqueVisitorsByBrandTest { + private final LinkStatisticRepository linkStatisticRepository; + private final UniqueVisitorsByBrand uniqueVisitorsByBrand; + + UniqueVisitorsByBrandTest() { + this.linkStatisticRepository = Mockito.mock(LinkStatisticRepository.class); + this.uniqueVisitorsByBrand = new UniqueVisitorsByBrandImpl(linkStatisticRepository); + } + + @Test + public void canGetCountsForThePastYear() { + // GIVEN + var statisticLinesPerInterval = List.of(); + + Mockito.when( + linkStatisticRepository.getUniqueVisitorsPerDayForEachBrand( + Mockito.any(Duration.class))) + .thenReturn(statisticLinesPerInterval); + + // WHEN + var output = uniqueVisitorsByBrand.run(new Input.GetCountsForThePastYear()); + + // THEN + Mockito.verify(linkStatisticRepository) + .getUniqueVisitorsPerDayForEachBrand(Mockito.any(Duration.class)); + Assertions.assertInstanceOf(Output.CountsForAll.class, output); + } +} diff --git a/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByCatalogTest.java b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByCatalogTest.java new file mode 100644 index 0000000..7e68a14 --- /dev/null +++ b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/statistics/UniqueVisitorsByCatalogTest.java @@ -0,0 +1,40 @@ +package tech.pegase.z3.statistics.domain.usecase.statistics; + +import java.time.Duration; +import java.util.List; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.statistics.domain.port.repository.LinkStatisticRepository; +import tech.pegase.z3.statistics.domain.usecase.statistics.UniqueVisitorsByCatalog.Input; +import tech.pegase.z3.statistics.domain.usecase.statistics.UniqueVisitorsByCatalog.Output; +import tech.pegase.z3.statistics.domain.valueobject.statistics.StatisticLinePerInterval; + +public class UniqueVisitorsByCatalogTest { + private final LinkStatisticRepository linkStatisticRepository; + private final UniqueVisitorsByCatalog uniqueVisitorsByCatalog; + + UniqueVisitorsByCatalogTest() { + this.linkStatisticRepository = Mockito.mock(LinkStatisticRepository.class); + this.uniqueVisitorsByCatalog = new UniqueVisitorsByCatalogImpl(linkStatisticRepository); + } + + @Test + public void canGetCountsForThePastYear() { + // GIVEN + var statisticLinesPerInterval = List.of(); + + Mockito.when( + linkStatisticRepository.getUniqueVisitorsPerDayForEachCatalog( + Mockito.any(Duration.class))) + .thenReturn(statisticLinesPerInterval); + + // WHEN + var output = uniqueVisitorsByCatalog.run(new Input.GetCountsForThePastYear()); + + // THEN + Mockito.verify(linkStatisticRepository) + .getUniqueVisitorsPerDayForEachCatalog(Mockito.any(Duration.class)); + Assertions.assertInstanceOf(Output.CountsForAll.class, output); + } +} diff --git a/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/tracking/CreateFingerprintTest.java b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/tracking/CreateFingerprintTest.java new file mode 100644 index 0000000..1acafa3 --- /dev/null +++ b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/usecase/tracking/CreateFingerprintTest.java @@ -0,0 +1,43 @@ +package tech.pegase.z3.statistics.domain.usecase.tracking; + +import java.net.InetAddress; +import java.net.UnknownHostException; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import tech.pegase.z3.statistics.domain.port.service.HashService; +import tech.pegase.z3.statistics.domain.usecase.tracking.CreateFingerprint.Input; +import tech.pegase.z3.statistics.domain.usecase.tracking.CreateFingerprint.Output; +import tech.pegase.z3.statistics.domain.valueobject.Locale; +import tech.pegase.z3.statistics.domain.valueobject.ScreenProperties; + +public class CreateFingerprintTest { + private final HashService hashService; + private final CreateFingerprint createFingerPrint; + + CreateFingerprintTest() { + this.hashService = Mockito.mock(HashService.class); + this.createFingerPrint = new CreateFingerprintImpl(hashService); + } + + @Test + public void canCreateFingerprint() throws UnknownHostException { + // GIVEN + var ipAddress = InetAddress.getByAddress("local", new byte[] {127, 0, 0, 1}); + var userAgent = "userAgent"; + var screenProperties = new ScreenProperties(1920, 1080, 1); + var locale = new Locale("en", "US"); + var hashedValue = "hashedValue"; + + Mockito.when(hashService.hash(Mockito.anyString())).thenReturn(hashedValue); + + // WHEN + var output = + createFingerPrint.run(new Input.MakeFrom(ipAddress, userAgent, screenProperties, locale)); + + // THEN + Mockito.verify(hashService).hash(Mockito.anyString()); + + Assertions.assertInstanceOf(Output.GeneratedFingerprint.class, output); + } +} diff --git a/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/BrowserInfoTest.java b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/BrowserInfoTest.java new file mode 100644 index 0000000..d62c9e3 --- /dev/null +++ b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/BrowserInfoTest.java @@ -0,0 +1,90 @@ +package tech.pegase.z3.statistics.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class BrowserInfoTest { + + @Test + public void canCreateBrowserInfo() { + // Arrange + var classType = "Browser"; + var name = "Firefox"; + var version = "136b.0.2"; + + // Assert & Act + Assertions.assertDoesNotThrow(() -> new BrowserInfo(classType, name, version)); + } + + @Test + public void cannotCreateBrowserInfoWithEmptyClassType() { + // Arrange + var classType = ""; + var name = "Firefox"; + var version = "136b.0.2"; + + // Assert & Act + Assertions.assertThrows( + IllegalStateException.class, () -> new BrowserInfo(classType, name, version)); + } + + @Test + public void cannotCreateBrowserInfoWithTooLongClassType() { + // Arrange + var classType = "Browser".repeat(256); + var name = "Firefox"; + var version = "136b.0.2"; + + // Assert & Act + Assertions.assertThrows( + IllegalStateException.class, () -> new BrowserInfo(classType, name, version)); + } + + @Test + public void cannotCreateBrowserInfoWithNameType() { + // Arrange + var classType = "Browser"; + var name = ""; + var version = "136b.0.2"; + + // Assert & Act + Assertions.assertThrows( + IllegalStateException.class, () -> new BrowserInfo(classType, name, version)); + } + + @Test + public void cannotCreateBrowserInfoWithTooLongName() { + // Arrange + var classType = "Browser"; + var name = "Firefox".repeat(256); + var version = "136b.0.2"; + + // Assert & Act + Assertions.assertThrows( + IllegalStateException.class, () -> new BrowserInfo(classType, name, version)); + } + + @Test + public void cannotCreateBrowserInfoWithNameVersion() { + // Arrange + var classType = "Browser"; + var name = "Firefox"; + var version = ""; + + // Assert & Act + Assertions.assertThrows( + IllegalStateException.class, () -> new BrowserInfo(classType, name, version)); + } + + @Test + public void cannotCreateBrowserInfoWithTooLongVersion() { + // Arrange + var classType = "Browser"; + var name = "Firefox"; + var version = "136b.0.2".repeat(256); + + // Assert & Act + Assertions.assertThrows( + IllegalStateException.class, () -> new BrowserInfo(classType, name, version)); + } +} diff --git a/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/CountryTest.java b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/CountryTest.java new file mode 100644 index 0000000..45be440 --- /dev/null +++ b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/CountryTest.java @@ -0,0 +1,66 @@ +package tech.pegase.z3.statistics.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class CountryTest { + @Test + public void canGetCountryFromIsoCode() { + // GIVEN + var isoCode = "US"; + + // WHEN + var country = Country.fromIsoCode(isoCode); + + // THEN + Assertions.assertEquals(Country.UNITED_STATES, country); + } + + @Test + public void canGetCountryFromNumericIsoCode() { + // GIVEN + var isoCode = 840; + + // WHEN + var country = Country.fromNumericCode(isoCode); + + // THEN + Assertions.assertEquals(Country.UNITED_STATES, country); + } + + @Test + public void canGetIsoNumericCodeFromCountry() { + // GIVEN + var country = Country.UNITED_STATES; + + // WHEN + var isoNumericCode = country.getIsoNumericCode(); + + // THEN + Assertions.assertEquals(840, isoNumericCode); + } + + @Test + public void canGetIsoCodeFromCountry() { + // GIVEN + var country = Country.UNITED_STATES; + + // WHEN + var isoNumericCode = country.getIsoAlpha2Code(); + + // THEN + Assertions.assertEquals("US", isoNumericCode); + } + + @Test + public void canGetLabelFromCountry() { + // GIVEN + var country = Country.UNITED_STATES; + + // WHEN + var isoNumericCode = country.getLabel(); + + // THEN + Assertions.assertEquals("United States", isoNumericCode); + } +} diff --git a/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/FingerprintTest.java b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/FingerprintTest.java new file mode 100644 index 0000000..bc0732f --- /dev/null +++ b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/FingerprintTest.java @@ -0,0 +1,25 @@ +package tech.pegase.z3.statistics.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class FingerprintTest { + + @Test + public void fingerprintCanBeCreated() { + // Act + var rawFingerprint = "fingerprint"; + + // Act & Assert + Assertions.assertDoesNotThrow(() -> new Fingerprint(rawFingerprint)); + } + + @Test + public void cannotCreateFingerprintWithValue() { + // Act + var rawFingerprint = ""; + + // Act & Assert + Assertions.assertThrows(IllegalStateException.class, () -> new Fingerprint(rawFingerprint)); + } +} diff --git a/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/LocaleTest.java b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/LocaleTest.java new file mode 100644 index 0000000..8f1dc7b --- /dev/null +++ b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/LocaleTest.java @@ -0,0 +1,57 @@ +package tech.pegase.z3.statistics.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class LocaleTest { + + @Test + public void localeCanBeCreated() { + // Act + var lang = "fr"; + var region = "FR"; + + // Act & Assert + Assertions.assertDoesNotThrow(() -> new Locale(lang, region)); + } + + @Test + public void cannotCreateLocaleWithEmptyLanguage() { + // Act + var lang = ""; + var region = "FR"; + + // Act & Assert + Assertions.assertThrows(IllegalStateException.class, () -> new Locale(lang, region)); + } + + @Test + public void cannotCreateLocaleWithWrongLengthLanguage() { + // Act + var lang = "fra"; + var region = "FR"; + + // Act & Assert + Assertions.assertThrows(IllegalStateException.class, () -> new Locale(lang, region)); + } + + @Test + public void cannotCreateLocaleWithEmptyRegion() { + // Act + var lang = "fr"; + var region = ""; + + // Act & Assert + Assertions.assertThrows(IllegalStateException.class, () -> new Locale(lang, region)); + } + + @Test + public void cannotCreateLocaleWithWrongLengthRegion() { + // Act + var lang = "fr"; + var region = "FRA"; + + // Act & Assert + Assertions.assertThrows(IllegalStateException.class, () -> new Locale(lang, region)); + } +} diff --git a/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/OperatingSystemInfoTest.java b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/OperatingSystemInfoTest.java new file mode 100644 index 0000000..891e13e --- /dev/null +++ b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/OperatingSystemInfoTest.java @@ -0,0 +1,89 @@ +package tech.pegase.z3.statistics.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class OperatingSystemInfoTest { + @Test + public void canCreateOperatingSystemInfo() { + // Arrange + var classType = "Desktop"; + var name = "Linux"; + var version = "6.2"; + + // Assert & Act + Assertions.assertDoesNotThrow(() -> new OperatingSystemInfo(classType, name, version)); + } + + @Test + public void cannotCreateOperatingSystemInfoWithEmptyClassType() { + // Arrange + var classType = ""; + var name = "Linux"; + var version = "6.2"; + + // Assert & Act + Assertions.assertThrows( + IllegalStateException.class, () -> new OperatingSystemInfo(classType, name, version)); + } + + @Test + public void cannotCreateOperatingSystemInfoWithTooLongClassType() { + // Arrange + var classType = "Desktop".repeat(256); + var name = "Linux"; + var version = "6.2"; + + // Assert & Act + Assertions.assertThrows( + IllegalStateException.class, () -> new OperatingSystemInfo(classType, name, version)); + } + + @Test + public void cannotCreateOperatingSystemInfoWithNameType() { + // Arrange + var classType = "Desktop"; + var name = ""; + var version = "6.2"; + + // Assert & Act + Assertions.assertThrows( + IllegalStateException.class, () -> new OperatingSystemInfo(classType, name, version)); + } + + @Test + public void cannotCreateOperatingSystemInfoWithTooLongName() { + // Arrange + var classType = "Desktop"; + var name = "Linux".repeat(256); + var version = "6.2"; + + // Assert & Act + Assertions.assertThrows( + IllegalStateException.class, () -> new OperatingSystemInfo(classType, name, version)); + } + + @Test + public void cannotCreateOperatingSystemInfoWithNameVersion() { + // Arrange + var classType = "Desktop"; + var name = "Linux"; + var version = ""; + + // Assert & Act + Assertions.assertThrows( + IllegalStateException.class, () -> new OperatingSystemInfo(classType, name, version)); + } + + @Test + public void cannotCreateOperatingSystemInfoWithTooLongVersion() { + // Arrange + var classType = "Desktop"; + var name = "Linux"; + var version = "6.2".repeat(256); + + // Assert & Act + Assertions.assertThrows( + IllegalStateException.class, () -> new OperatingSystemInfo(classType, name, version)); + } +} diff --git a/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/RawUserAgentTest.java b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/RawUserAgentTest.java new file mode 100644 index 0000000..471731a --- /dev/null +++ b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/RawUserAgentTest.java @@ -0,0 +1,33 @@ +package tech.pegase.z3.statistics.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class RawUserAgentTest { + @Test + public void canCreateRawUserAgent() { + // THEN + Assertions.assertDoesNotThrow( + () -> { + // GIVEN + var rawUserAgent = "userAgent"; + + // WHEN + new RawUserAgent(rawUserAgent); + }); + } + + @Test + public void cannotCreateRawUserAgentWithEmptyValue() { + // THEN + Assertions.assertThrows( + IllegalStateException.class, + () -> { + // GIVEN + var rawUserAgent = ""; + + // WHEN + new RawUserAgent(rawUserAgent); + }); + } +} diff --git a/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/ReferrerTest.java b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/ReferrerTest.java new file mode 100644 index 0000000..09458e5 --- /dev/null +++ b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/ReferrerTest.java @@ -0,0 +1,67 @@ +package tech.pegase.z3.statistics.domain.valueobject; + +import java.net.URI; +import java.net.URISyntaxException; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class ReferrerTest { + @Test + public void canCreateReferer() { + // GIVEN + var host = "google.com"; + var path = "/path"; + + // WHEN & THEN + Assertions.assertDoesNotThrow(() -> new Referrer(host, path)); + } + + @Test + public void canCreateRefererFromUri() throws URISyntaxException { + // GIVEN + var uri = new URI("http://google.com/chemin"); + + // WHEN & THEN + Assertions.assertDoesNotThrow(() -> Referrer.of(uri)); + } + + @Test + public void cannotCreateRefererWithEmptyHost() { + // GIVEN + var host = ""; + var path = "/path"; + + // WHEN & THEN + Assertions.assertThrows(IllegalStateException.class, () -> new Referrer(host, path)); + } + + @Test + public void canCreateRefererWithEmptyPath() { + // GIVEN + var host = "google.com"; + var path = ""; + + // WHEN & THEN + Assertions.assertDoesNotThrow(() -> new Referrer(host, path)); + } + + @Test + public void cannotCreateRefererWithTooLongHost() { + // GIVEN + var host = "too-long".repeat(255) + ".com"; + var path = "/path"; + + // WHEN & THEN + Assertions.assertThrows(IllegalStateException.class, () -> new Referrer(host, path)); + } + + @Test + public void cannotCreateRefererWithTooLongPath() { + // GIVEN + var host = "google.com"; + var path = "/path" + "too-long".repeat(255); + + // WHEN & THEN + Assertions.assertThrows(IllegalStateException.class, () -> new Referrer(host, path)); + } +} diff --git a/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/ScreenPropertiesTest.java b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/ScreenPropertiesTest.java new file mode 100644 index 0000000..80586bd --- /dev/null +++ b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/ScreenPropertiesTest.java @@ -0,0 +1,53 @@ +package tech.pegase.z3.statistics.domain.valueobject; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class ScreenPropertiesTest { + @Test + public void canCreateScreenProperties() { + // GIVEN + var height = 1; + var width = 1; + var dpi = 1; + + // WHEN & THEN + Assertions.assertDoesNotThrow(() -> new ScreenProperties(height, width, dpi)); + } + + @Test + public void cannotCreateWithZeroHeight() { + // GIVEN + var height = 0; + var width = 1; + var dpi = 1; + + // WHEN & THEN + Assertions.assertThrows( + IllegalStateException.class, () -> new ScreenProperties(height, width, dpi)); + } + + @Test + public void cannotCreateWithZeroWidth() { + // GIVEN + var height = 1; + var width = 0; + var dpi = 1; + + // WHEN & THEN + Assertions.assertThrows( + IllegalStateException.class, () -> new ScreenProperties(height, width, dpi)); + } + + @Test + public void cannotCreateWithZeroDpi() { + // GIVEN + var height = 1; + var width = 1; + var dpi = 0; + + // WHEN & THEN + Assertions.assertThrows( + IllegalStateException.class, () -> new ScreenProperties(height, width, dpi)); + } +} diff --git a/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLinePerIntervalTest.java b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLinePerIntervalTest.java new file mode 100644 index 0000000..79f616b --- /dev/null +++ b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLinePerIntervalTest.java @@ -0,0 +1,38 @@ +package tech.pegase.z3.statistics.domain.valueobject.statistics; + +import java.time.ZonedDateTime; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class StatisticLinePerIntervalTest { + @Test + public void canCreateStatisticLinePerInterval() { + // THEN + Assertions.assertDoesNotThrow( + () -> { + // GIVEN + var value = "value"; + var interval = ZonedDateTime.now(); + var count = 1; + + // WHEN + new StatisticLinePerInterval(value, interval, count); + }); + } + + @Test + public void cannotCreateStatisticLinePerIntervalWithEmptyName() { + // THEN + Assertions.assertThrows( + IllegalStateException.class, + () -> { + // GIVEN + var value = ""; + var interval = ZonedDateTime.now(); + var count = 1; + + // WHEN + new StatisticLinePerInterval(value, interval, count); + }); + } +} diff --git a/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLineTest.java b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLineTest.java new file mode 100644 index 0000000..2994ec2 --- /dev/null +++ b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLineTest.java @@ -0,0 +1,35 @@ +package tech.pegase.z3.statistics.domain.valueobject.statistics; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class StatisticLineTest { + @Test + public void canCreateStatisticLine() { + // THEN + Assertions.assertDoesNotThrow( + () -> { + // GIVEN + var value = "value"; + var count = 1; + + // WHEN + new StatisticLine(value, count); + }); + } + + @Test + public void cannotCreateStatisticLineWithEmptyName() { + // THEN + Assertions.assertThrows( + IllegalStateException.class, + () -> { + // GIVEN + var value = ""; + var count = 1; + + // WHEN + new StatisticLine(value, count); + }); + } +} diff --git a/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLineWithEntityTest.java b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLineWithEntityTest.java new file mode 100644 index 0000000..ba09929 --- /dev/null +++ b/z3-statistics-domain/src/test/java/tech/pegase/z3/statistics/domain/valueobject/statistics/StatisticLineWithEntityTest.java @@ -0,0 +1,53 @@ +package tech.pegase.z3.statistics.domain.valueobject.statistics; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class StatisticLineWithEntityTest { + @Test + public void canCreateStatisticLineWithEntity() { + // THEN + Assertions.assertDoesNotThrow( + () -> { + // GIVEN + var value = "value"; + var entity = "entity"; + var count = 1; + + // WHEN + new StatisticLineWithEntity(value, entity, count); + }); + } + + @Test + public void cannotCreateStatisticLineWithEntityUsingEmptyName() { + // THEN + Assertions.assertThrows( + IllegalStateException.class, + () -> { + // GIVEN + var value = ""; + var entity = "entity"; + var count = 1; + + // WHEN + new StatisticLineWithEntity(value, entity, count); + }); + } + + @Test + public void cannotCreateStatisticLineWithEntityUsingEmptyEntity() { + // THEN + Assertions.assertThrows( + IllegalStateException.class, + () -> { + // GIVEN + var value = "value"; + var entity = ""; + var count = 1; + + // WHEN + new StatisticLineWithEntity(value, entity, count); + }); + } +} diff --git a/z3-statistics-infrastructure/pom.xml b/z3-statistics-infrastructure/pom.xml new file mode 100644 index 0000000..07da033 --- /dev/null +++ b/z3-statistics-infrastructure/pom.xml @@ -0,0 +1,174 @@ + + + z3-statistics-infrastructure + + + + + jacoco-maven-plugin + + + + + + true + ${project.build.directory}/coverage-reports/jacoco-ut.exec + surefire.jacoco.args + + + prepare-agent + + pre-unit-test + + + + + + ${project.build.directory}/coverage-reports/jacoco-ut.exec + ${project.build.directory}/coverage-jacoco/unit-tests + + + + report + + post-unit-test + test + + + + + + ${project.build.directory}/coverage-reports/jacoco-ut.exec + + + BUNDLE + + + LINE + 0.10 + COVEREDRATIO + + + + + + + check + + jacoco-check-ut + verify + + + + org.jacoco + ${jacoco.version} + + + maven-surefire-plugin + + + -XX:+EnableDynamicAgentLoading -Xmx1024m -Xshare:off + ${surefire.jacoco.args} -XX:+EnableDynamicAgentLoading -Xmx1024m -Xshare:off + + + + **/*IT.java + + + org.jboss.logmanager.LogManager + ${maven.home} + + + ${surefire-plugin.version} + + + + + + + z3-statistics-domain + tech.pegase.z3 + ${z3.version} + + + z3-shared + tech.pegase.z3 + ${z3.version} + + + quarkus-hibernate-orm + io.quarkus + + + quarkus-junit5-mockito + io.quarkus + test + + + quarkus-jacoco + io.quarkus + test + + + quarkus-jdbc-postgresql + io.quarkus + + + blaze-persistence-integration-quarkus-3 + com.blazebit + ${blaze-persistence.version} + + + blaze-persistence-integration-hibernate-6.2 + com.blazebit + runtime + ${blaze-persistence.version} + + + yauaa + nl.basjes.parse.useragent + ${yauaa-useragent.version} + + + + log4j-core + org.apache.logging.log4j + ${log4j2.version} + + + + crawler-detect + org.nekosoft.utils + ${crawler-detect.version} + + + + geoip2 + com.maxmind.geoip2 + ${maxmind-geoip2.version} + + + + bcpkix-jdk18on + org.bouncycastle + ${bouncycastle-bcpkix.version} + + + + 4.0.0 + + + z3 + tech.pegase.z3 + 1.1.0-SNAPSHOT + + + + 22 + 22 + UTF-8 + + + \ No newline at end of file diff --git a/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/repository/link/statistic/LinkStatisticDatabaseRepository.java b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/repository/link/statistic/LinkStatisticDatabaseRepository.java new file mode 100644 index 0000000..f779197 --- /dev/null +++ b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/repository/link/statistic/LinkStatisticDatabaseRepository.java @@ -0,0 +1,329 @@ +package tech.pegase.z3.statistics.infrastructure.adapter.repository.link.statistic; + +import com.blazebit.persistence.CriteriaBuilder; +import com.blazebit.persistence.CriteriaBuilderFactory; +import io.quarkus.cache.Cache; +import io.quarkus.cache.CacheName; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.persistence.EntityManager; +import jakarta.persistence.NoResultException; +import jakarta.persistence.Tuple; +import java.time.Duration; +import java.time.ZonedDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import tech.pegase.z3.shared.valueobject.Source; +import tech.pegase.z3.statistics.domain.entity.LinkStatistic; +import tech.pegase.z3.statistics.domain.port.repository.LinkStatisticRepository; +import tech.pegase.z3.statistics.domain.valueobject.statistics.StatisticLinePerInterval; +import tech.pegase.z3.statistics.domain.valueobject.statistics.StatisticLineWithEntity; + +@ApplicationScoped +public class LinkStatisticDatabaseRepository implements LinkStatisticRepository { + private final Cache cache; + private final EntityManager em; + private final CriteriaBuilderFactory cbf; + + LinkStatisticDatabaseRepository( + @CacheName("z3-statistics-link") Cache cache, EntityManager em, CriteriaBuilderFactory cbf) { + this.cache = cache; + this.em = em; + this.cbf = cbf; + } + + @Override + public Optional findByLinkSource(Source linkSource) { + return cache + .>get( + linkSource, + k -> { + var typedQuery = query().where("linkSource").eq(linkSource).getQuery(); + try { + return Optional.of(typedQuery.getSingleResult()); + } catch (NoResultException e) { + return Optional.empty(); + } + }) + .await() + .indefinitely(); + } + + @Override + public void persist(LinkStatistic linkStatistic) { + em.persist(linkStatistic); + clearCache(); + } + + @Override + public List getUniqueVisitorsPerDayForEachBrand(Duration duration) { + List results = new ArrayList<>(); + var dateLimit = ZonedDateTime.now().minus(duration.abs()); + var maxPastDate = ZonedDateTime.now().minusYears(1); + + if (dateLimit.isBefore(maxPastDate)) { + dateLimit = maxPastDate; + } + + /* + Wanted query is : + SELECT + "brand" as "value", + date_trunc('week', "visited_at" AT TIME ZONE 'UTC') AS "interval", + COUNT(*) + FROM "z3-statistics"."link_statistics" + WHERE "brand" IS NOT NULL AND visited_at > (CURRENT_TIMESTAMP - INTERVAL '1 year') + GROUP BY "brand", "interval" + ORDER BY "brand", "interval" ASC; + */ + var typedQuery = cbf.create(em, Tuple.class).from(LinkStatistic.class); + var query = + typedQuery + .select("brand", "value") + .select("date_trunc('day', visitedAt)", "interval") + .select("COUNT(*)") + .where("brand") + .isNotNull() + .where("visitedAt") + .gt(dateLimit) + .groupBy("value") + .groupBy("interval") + .orderByAsc("value") + .orderByAsc("interval") + .getQuery(); + + query + .getResultList() + .forEach( + tuple -> + results.add( + new StatisticLinePerInterval( + tuple.get(0, String.class), + tuple.get(1, ZonedDateTime.class), + tuple.get(2, Long.class).intValue()))); + + return results; + } + + @Override + public List getUniqueVisitorsPerDayForEachCatalog(Duration duration) { + List results = new ArrayList<>(); + var dateLimit = ZonedDateTime.now().minus(duration.abs()); + var maxPastDate = ZonedDateTime.now().minusYears(1); + + if (dateLimit.isBefore(maxPastDate)) { + dateLimit = maxPastDate; + } + + /* + Wanted query is : + SELECT + "catalog" as "value", + date_trunc('day', "visited_at" AT TIME ZONE 'UTC') AS "interval", + COUNT(*) + FROM "z3-statistics"."link_statistics" + WHERE "catalog" IS NOT NULL AND visited_at > (CURRENT_TIMESTAMP - INTERVAL '1 year') + GROUP BY "catalog", "interval" + ORDER BY "catalog", "interval" ASC; + */ + var typedQuery = cbf.create(em, Tuple.class).from(LinkStatistic.class); + var query = + typedQuery + .select("catalog", "value") + .select("date_trunc('day', visitedAt)", "interval") + .select("COUNT(*)") + .where("catalog") + .isNotNull() + .where("visitedAt") + .gt(dateLimit) + .groupBy("value") + .groupBy("interval") + .orderByAsc("value") + .orderByAsc("interval") + .getQuery(); + + query + .getResultList() + .forEach( + tuple -> + results.add( + new StatisticLinePerInterval( + tuple.get(0, String.class), + tuple.get(1, ZonedDateTime.class), + tuple.get(2, Long.class).intValue()))); + + return results; + } + + @Override + public List getMostVisitedSourcesWithBrandFromNow( + Duration duration, Integer amount) { + List results = new ArrayList<>(); + var minResults = 1; + var maxResults = 50; + var resultLimit = Math.min(maxResults, Math.max(minResults, amount)); + var dateLimit = ZonedDateTime.now().minus(duration.abs()); + var maxPastDate = ZonedDateTime.now().minusYears(1); + + if (dateLimit.isBefore(maxPastDate)) { + dateLimit = maxPastDate; + } + + /* + Wanted query is : + SELECT "source", "brand", COUNT(*) + FROM "z3-statistics"."link_statistics" + WHERE + visited_at > (CURRENT_TIMESTAMP - INTERVAL '30 days') + GROUP BY "brand", "source" + ORDER BY "count" desc + LIMIT 30; + */ + var typedQuery = cbf.create(em, Tuple.class).from(LinkStatistic.class); + var query = + typedQuery + .select("linkSource", "source") + .select("brand", "brand") + .select("COUNT(*)", "amount") + .where("visitedAt") + .gt(dateLimit) + .groupBy("brand") + .groupBy("source") + .orderByDesc("amount") + .setMaxResults(resultLimit) + .getQuery(); + + query + .getResultList() + .forEach( + tuple -> + results.add( + new StatisticLineWithEntity( + tuple.get(0, Source.class).value(), + // * Brand can be null. + Optional.ofNullable(tuple.get(1, String.class)).orElse("__No Brand__"), + tuple.get(2, Long.class).intValue()))); + + return results; + } + + @Override + public List getMostUsedReferrerWithBrandFromNow( + Duration duration, Integer amount) { + List results = new ArrayList<>(); + var minResults = 1; + var maxResults = 50; + var resultLimit = Math.min(maxResults, Math.max(minResults, amount)); + var dateLimit = ZonedDateTime.now().minus(duration.abs()); + var maxPastDate = ZonedDateTime.now().minusYears(1); + + if (dateLimit.isBefore(maxPastDate)) { + dateLimit = maxPastDate; + } + + /* + Wanted query is : + SELECT "referrer_host", "referrer_path", "brand", COUNT(*) + FROM "z3-statistics"."link_statistics" + WHERE + visited_at > (CURRENT_TIMESTAMP - INTERVAL '30 days') + AND ("referrer_host" IS NOT NULL OR "referrer_path" IS NOT NULL) + GROUP BY "referrer_host", "referrer_path", "brand" + ORDER BY "count" desc + LIMIT 20; + */ + var typedQuery = cbf.create(em, Tuple.class).from(LinkStatistic.class); + var query = + typedQuery + .select("referrer.host", "referrer_host") + .select("referrer.path", "referrer_path") + .select("brand", "brand") + .select("COUNT(*)", "amount") + .where("visitedAt") + .gt(dateLimit) + // AND Where OR + .whereOr() + .where("referrer_host") + .isNotNull() + .where("referrer_path") + .isNotNull() + .endOr() + .groupBy("referrer_host") + .groupBy("referrer_path") + .orderByDesc("amount") + .setMaxResults(resultLimit) + .getQuery(); + + query + .getResultList() + .forEach( + tuple -> + results.add( + new StatisticLineWithEntity( + tuple.get(0, String.class) + + "/" + + tuple.get(1, String.class).replaceFirst("^/", ""), + // * Brand can be null. + Optional.ofNullable(tuple.get(2, String.class)).orElse("__No Brand__"), + tuple.get(3, Long.class).intValue()))); + + return results; + } + + @Override + public List getInvalidLinksPerWeeksByBrandsAndFromNow( + Duration duration) { + List results = new ArrayList<>(); + var dateLimit = ZonedDateTime.now().minus(duration.abs()); + var maxPastDate = ZonedDateTime.now().minusYears(1); + + if (dateLimit.isBefore(maxPastDate)) { + dateLimit = maxPastDate; + } + + /* + Wanted query is : + SELECT "brand", date_trunc('month', "visited_at" AT TIME ZONE 'UTC') AS "month", COUNT(*) + FROM "z3-statistics"."link_statistics" + WHERE "was_valid" = false AND visited_at > (CURRENT_TIMESTAMP - INTERVAL '1 year') + GROUP BY "brand", "month" + ORDER BY "brand", "month" ASC; + */ + var typedQuery = cbf.create(em, Tuple.class).from(LinkStatistic.class); + var query = + typedQuery + .select("brand", "brand") + .select("date_trunc('week', visitedAt)", "week") + .select("COUNT(*)", "amount") + .where("visitedAt") + .gt(dateLimit) + .where("linkWasValid") + .eq(true) + .groupBy("brand") + .groupBy("week") + .orderByAsc("brand") + .orderByAsc("week") + .getQuery(); + + query + .getResultList() + .forEach( + tuple -> + results.add( + new StatisticLinePerInterval( + // * Brand can be null. + Optional.ofNullable(tuple.get(0, String.class)).orElse("__No Brand__"), + tuple.get(1, ZonedDateTime.class), + tuple.get(2, Long.class).intValue()))); + + return results; + } + + private void clearCache() { + cache.invalidateAll().await().indefinitely(); + } + + private CriteriaBuilder query() { + return cbf.create(em, LinkStatistic.class).from(LinkStatistic.class); + } +} diff --git a/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/repository/link/statistic/package-info.java b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/repository/link/statistic/package-info.java new file mode 100644 index 0000000..fd3c53a --- /dev/null +++ b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/repository/link/statistic/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.statistics.infrastructure.adapter.repository.link.statistic; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/GeoIpServiceImpl.java b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/GeoIpServiceImpl.java new file mode 100644 index 0000000..8169388 --- /dev/null +++ b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/GeoIpServiceImpl.java @@ -0,0 +1,43 @@ +package tech.pegase.z3.statistics.infrastructure.adapter.service; + +import com.maxmind.geoip2.DatabaseReader; +import com.maxmind.geoip2.exception.GeoIp2Exception; +import com.maxmind.geoip2.model.CountryResponse; +import jakarta.enterprise.context.ApplicationScoped; +import java.io.IOException; +import java.net.InetAddress; +import java.util.Optional; +import org.jboss.logging.Logger; +import tech.pegase.z3.statistics.domain.port.service.GeoIpService; +import tech.pegase.z3.statistics.domain.valueobject.Country; + +@ApplicationScoped +public class GeoIpServiceImpl implements GeoIpService { + private static final String databasePathName = "GeoLite2-Country.mmdb"; + private final Logger logger = Logger.getLogger(GeoIpServiceImpl.class); + private final DatabaseReader reader; + + public GeoIpServiceImpl() { + var classloader = Thread.currentThread().getContextClassLoader(); + try (var inputStream = classloader.getResourceAsStream(databasePathName)) { + if (inputStream == null) { + throw new IllegalStateException("Database '%s' not found".formatted(databasePathName)); + } + this.reader = new DatabaseReader.Builder(inputStream).build(); + } catch (IOException e) { + throw new IllegalStateException("Failed to start geo ip database", e); + } + } + + @Override + public Optional locateInetAddress(InetAddress inetAddress) { + try { + return Optional.of(reader.country(inetAddress)) + .map(CountryResponse::getCountry) + .map(geoIpCountry -> Country.fromIsoCode(geoIpCountry.getIsoCode())); + } catch (GeoIp2Exception | IOException e) { + logger.warn("Failed to resolve a country using inet address '%s'".formatted(inetAddress)); + return Optional.empty(); + } + } +} diff --git a/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/UserAgentServiceImpl.java b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/UserAgentServiceImpl.java new file mode 100644 index 0000000..d044e88 --- /dev/null +++ b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/UserAgentServiceImpl.java @@ -0,0 +1,143 @@ +package tech.pegase.z3.statistics.infrastructure.adapter.service; + +import jakarta.enterprise.context.ApplicationScoped; +import java.util.Optional; +import java.util.Set; +import nl.basjes.parse.useragent.UserAgent; +import nl.basjes.parse.useragent.UserAgentAnalyzer; +import org.jboss.logging.Logger; +import org.nekosoft.utils.CrawlerDetect; +import tech.pegase.z3.statistics.domain.port.service.UserAgentService; +import tech.pegase.z3.statistics.domain.valueobject.BrowserInfo; +import tech.pegase.z3.statistics.domain.valueobject.OperatingSystemInfo; +import tech.pegase.z3.statistics.domain.valueobject.RawUserAgent; +import tech.pegase.z3.statistics.domain.valueobject.UserType; + +@ApplicationScoped +public class UserAgentServiceImpl implements UserAgentService { + private static final Set userAgentFields = + Set.of( + UserAgent.OPERATING_SYSTEM_CLASS, + UserAgent.OPERATING_SYSTEM_NAME, + UserAgent.AGENT_CLASS, + UserAgent.AGENT_NAME, + UserAgent.AGENT_VERSION); + private final Logger logger = Logger.getLogger(UserAgentServiceImpl.class); + private final UserAgentAnalyzer userAgentAnalyzer; + private final CrawlerDetect detector; + + public UserAgentServiceImpl() { + this.userAgentAnalyzer = getUserAgentAnalyzer(); + this.detector = CrawlerDetect.newInstance(); + } + + @Override + public UserAgentInfo getUserAgentFrom(RawUserAgent rawUserAgent) { + var rawUserAgentValue = rawUserAgent.value(); + var userAgent = userAgentAnalyzer.parse(rawUserAgentValue); + return extractInfoFrom(userAgent); + } + + private UserAgentInfo extractInfoFrom(UserAgent userAgent) { + var browserInfo = getBrowserInfoFrom(userAgent).orElse(null); + var operatingSystem = getIdentifiedOsInfoFrom(userAgent).orElse(null); + var userType = getUserTypeFrom(userAgent); + + return new UserAgentInfo(browserInfo, operatingSystem, userType); + } + + private Optional getBrowserInfoFrom(UserAgent userAgent) { + if (userAgent.hasSyntaxError()) { + return Optional.empty(); + } + + var browserClass = userAgent.getValue(UserAgent.AGENT_CLASS); + var browserName = userAgent.getValue(UserAgent.AGENT_NAME); + var browserVersion = userAgent.getValue(UserAgent.AGENT_VERSION); + + if (browserClass == null || browserClass.isBlank()) { + logger.warn("Empty browser class found for user agent: " + userAgent.getUserAgentString()); + return Optional.empty(); + } + + if (browserName == null || browserName.isBlank()) { + logger.warn("Empty browser name found for user agent: " + userAgent.getUserAgentString()); + return Optional.empty(); + } + + if (browserVersion == null || browserVersion.isBlank()) { + logger.warn("Empty browser version found for user agent: " + userAgent.getUserAgentString()); + return Optional.empty(); + } + + return Optional.of(new BrowserInfo(browserClass, browserName, browserVersion)); + } + + private Optional getIdentifiedOsInfoFrom(UserAgent userAgent) { + if (userAgent.hasSyntaxError()) { + return Optional.empty(); + } + + var osClass = userAgent.getValue(UserAgent.OPERATING_SYSTEM_CLASS); + var osName = userAgent.getValue(UserAgent.OPERATING_SYSTEM_NAME); + var osVersion = userAgent.getValue(UserAgent.OPERATING_SYSTEM_VERSION); + + if (osClass == null || osClass.isBlank()) { + logger.warn("Empty systemInfo class found for user agent: " + userAgent.getUserAgentString()); + return Optional.empty(); + } + + if (osName == null || osName.isBlank()) { + logger.warn("Empty systemInfo name found for user agent: " + userAgent.getUserAgentString()); + return Optional.empty(); + } + + if (osVersion == null || osVersion.isBlank()) { + logger.warn( + "Empty systemInfo version found for user agent: " + userAgent.getUserAgentString()); + return Optional.empty(); + } + + return Optional.of(new OperatingSystemInfo(osClass, osName, osVersion)); + } + + private UserType getUserTypeFrom(UserAgent userAgent) { + if (userAgent.hasSyntaxError()) { + return UserType.UNKNOWN; + } + + var userAgentString = userAgent.getUserAgentString(); + var isHuman = !detector.isCrawler(userAgentString); + + if (isHuman) { + return UserType.HUMAN; + } + + return findMorePreciseBotUserType(userAgent); + } + + private UserType findMorePreciseBotUserType(UserAgent userAgent) { + var userAgentString = userAgent.getUserAgentString(); + var result = detector.getMatchingCrawler(userAgentString); + return switch (result) { + case "crawler" -> UserType.CRAWLER; + case "spider" -> UserType.SPIDER; + default -> UserType.BOT; + }; + } + + private UserAgentAnalyzer getUserAgentAnalyzer() { + var analyserBuilder = + UserAgentAnalyzer.newBuilder() + .dropDefaultResources() + .addResources("classpath:UserAgents/**.yaml") + .hideMatcherLoadStats() + .withCache(10000); + + for (var analyserField : userAgentFields) { + analyserBuilder.withField(analyserField); + } + + return analyserBuilder.build(); + } +} diff --git a/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/hash/HashServiceProducer.java b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/hash/HashServiceProducer.java new file mode 100644 index 0000000..40adf8d --- /dev/null +++ b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/hash/HashServiceProducer.java @@ -0,0 +1,14 @@ +package tech.pegase.z3.statistics.infrastructure.adapter.service.hash; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; +import tech.pegase.z3.statistics.domain.port.service.HashService; + +public class HashServiceProducer { + + @Produces + @ApplicationScoped + public HashService getHashService() { + return new HashServiceWithBlake128Impl(); + } +} diff --git a/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/hash/HashServiceWithBlake128Impl.java b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/hash/HashServiceWithBlake128Impl.java new file mode 100644 index 0000000..e8596e8 --- /dev/null +++ b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/hash/HashServiceWithBlake128Impl.java @@ -0,0 +1,22 @@ +package tech.pegase.z3.statistics.infrastructure.adapter.service.hash; + +import java.nio.charset.StandardCharsets; +import org.bouncycastle.crypto.digests.Blake2bDigest; +import org.bouncycastle.util.encoders.Hex; +import tech.pegase.z3.statistics.domain.port.service.HashService; + +public class HashServiceWithBlake128Impl implements HashService { + + @Override + public String hash(String rawValue) { + var inputBytes = rawValue.getBytes(StandardCharsets.UTF_8); + + var digest = new Blake2bDigest(128); + digest.update(inputBytes, 0, inputBytes.length); + + var output = new byte[digest.getDigestSize()]; + digest.doFinal(output, 0); + + return Hex.toHexString(output); + } +} diff --git a/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/hash/package-info.java b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/hash/package-info.java new file mode 100644 index 0000000..ab53761 --- /dev/null +++ b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/hash/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.statistics.infrastructure.adapter.service.hash; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/package-info.java b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/package-info.java new file mode 100644 index 0000000..12e2009 --- /dev/null +++ b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/adapter/service/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.statistics.infrastructure.adapter.service; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/hibernate/functions/HqlDateTrunc.java b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/hibernate/functions/HqlDateTrunc.java new file mode 100644 index 0000000..44000ec --- /dev/null +++ b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/hibernate/functions/HqlDateTrunc.java @@ -0,0 +1,20 @@ +package tech.pegase.z3.statistics.infrastructure.hibernate.functions; + +import org.hibernate.boot.model.FunctionContributions; +import org.hibernate.boot.model.FunctionContributor; +import org.hibernate.type.StandardBasicTypes; + +public class HqlDateTrunc implements FunctionContributor { + + @Override + public void contributeFunctions(FunctionContributions functionContributions) { + var resultType = + functionContributions + .getTypeConfiguration() + .getBasicTypeRegistry() + .resolve(StandardBasicTypes.TIMESTAMP); + functionContributions + .getFunctionRegistry() + .registerPattern("date_trunc", "date_trunc('day', (?1 AT TIME ZONE 'UTC'))", resultType); + } +} diff --git a/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/hibernate/functions/HqlDayOfYear.java b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/hibernate/functions/HqlDayOfYear.java new file mode 100644 index 0000000..312b4dd --- /dev/null +++ b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/hibernate/functions/HqlDayOfYear.java @@ -0,0 +1,20 @@ +package tech.pegase.z3.statistics.infrastructure.hibernate.functions; + +import org.hibernate.boot.model.FunctionContributions; +import org.hibernate.boot.model.FunctionContributor; +import org.hibernate.type.StandardBasicTypes; + +public class HqlDayOfYear implements FunctionContributor { + + @Override + public void contributeFunctions(FunctionContributions functionContributions) { + var resultType = + functionContributions + .getTypeConfiguration() + .getBasicTypeRegistry() + .resolve(StandardBasicTypes.LONG); + functionContributions + .getFunctionRegistry() + .registerPattern("doy", "EXTRACT(DOY FROM ?1)", resultType); + } +} diff --git a/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/hibernate/functions/package-info.java b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/hibernate/functions/package-info.java new file mode 100644 index 0000000..aed4904 --- /dev/null +++ b/z3-statistics-infrastructure/src/main/java/tech/pegase/z3/statistics/infrastructure/hibernate/functions/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package tech.pegase.z3.statistics.infrastructure.hibernate.functions; + +import org.jspecify.annotations.NullMarked; diff --git a/z3-statistics-infrastructure/src/main/resources/GeoLite2-Country.mmdb b/z3-statistics-infrastructure/src/main/resources/GeoLite2-Country.mmdb new file mode 100644 index 0000000000000000000000000000000000000000..b700c7ac806eb25e72aae4a4a4a648b8a3cbc62b GIT binary patch literal 7774861 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

|;c0}Yt3@6TRP=vH*@K|3LUF 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≈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 z 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 z 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�+t1=Zwws5e0^=GXxB`l$8rSO5OiA{c7v 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 tDB8T_U2 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 z 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

)HGmWw$V>Ju45^5E_-D+hm(e&w*jb?H>o4dv# zpr%8Bkf^z+sjElLBl@TX8l;{4ZZb90BGl?is(y@GqSiD@i;^<3$p7uuRzYnG)K*1p zJ=9i1ZB5jKY)dr`0ku}BwdQ3Tb@?Impw^XY9Z_2gwNA=6 zlk1FH7u434>f(#Y8#G9>!6BfgLjZHQKFJMG>p@{dVmIPOsBMf|cd6ub{dMFgB>A4G zae%08%FE4A+gvt1YZ>>Z{$%&F+LoxDiCQnz_Cjqd)Or_L+8VVzQR~B4eNo%FWz;#S zZG+mjB2ey!+IAGSC+Lkm};b`^!IbDKrd*P^DA ze;rdap^2#7j@k{V-GbVrTobh$QIo?Tb^Jo@W)&{roU?W-qi__^)bBv;Zq(HOljji7 zEZ{w;-HX~}x%Kj?9To0F?J3lzqBaXPxs|4)rp_O=2T*&M!h@*M`HMlB8w)nAJ;KmO zi8F{ZHB_EsaS%Dk^WOF|?J6lQ3=hLXYjM_7(Jx~5w)HwgAaWXHU_M$3l ztd~%mlgl!lL+usR-a+kE)ZRjEF0H+W+8d}f{l6}B)ad{7^~u`X&A8HDYVBRU)I7Y8 zsEpbNs7aO1L+xXRen`|ojXIy8##w#sQ`F|8rk)?Q&(bBbyZCRYeXeS^O3#r`fJQUo zm#C@RN9`-Y=HyeOEJ025zeeo`)V@LOJJ!s%VvWk*qqa1c<&sI{{7M@{Gd%^7c0QaR5_ zR6(>lB7-PE1VmLt>immP2N8XK@v|6FF2BI|)wL;X6Jcod&4du2vLaB0lRhD1guc8i!I_hP!6rB*Ut)tFV?m}Ff z$dMwV|Bu#1w4TONgB${)4Jgz9N8KoIgot$*buTnIMnpXs${`@)5D;yq3gR)MEfDFP z1ksj=dLg<9(N>5KN7Nh9zKFI)v?HQEh_k>b3{#LkwZYlAs{+AJ^K(urw~sio<=;Kcm|>~DU1}9ae?wE zM57VW|7+`>c!04URHkYFVMO%y(R2psZ7As$p)(OZL4FpZ$CT8ZJf15cdJ@sI zWM&heLiBY0NQmeeRo0&W9HQq7{TGx}3ojyi3DK)mn1kqLlG-tZS%HXNL;Wp8ucI!` z=M6;PAbJzgM~H-ck5S%6^p5IlW2yg_`avZAe;%R_l-K@ts30Qs|5W=J(HDq5K{TH{ zmw+_-XNW#;xoa;(Iu_*0R9Hy-644?=>iqRLb{fgW#3hKnZt_~*ZxQ{2=sQHeAo?DW zSYDckBKo1Iho1^YH{zp_UlIL*=r=^aYlqBJX$Jj?=&wS58I{>}Woi?USU$;;%qh9!b$yL45v`{x{K{juw+XYia-684bOnwWX?xWtE|DzsikknE=LVYvT z>!`1ddW`z&s3)kef_h6~EiE)xEtsbNmrK;wK)n@()bCg2AJ?d*Rv;$H7 zKk920p`B1y=TEXrbJeuo74`0@uY)>0e0^Qi)&HZe&YyyO|9KIGZm4ghWL~#*9RgUc z9t`b?`X+f0FE=ehH%EOJ)VDyr59(W@-kYJlP+w{Nr@pl+=N+To7xf)b-v)IZ3uwQe z3Yw+uh&mR?Fpc_-sP9CkzhJsVT_x%}H%G(z0MvIweV{5U&mo|`t7=L=ukVh!;2x-} zhev%db@oJkFVy$`&%ZTGx-aVcQDF$`=c2wp>PMq~0P2ULo*O?9^@DZ!w|LXA;F=tReNqL4+`4rSoMO{{sCA$0zfZ*x5eaiA*9uj>d>Sv*THtM4^h^Y&rPIou; zeah#dJ{t8)D33vXtju*$ABXw`)W?%NUy#BDdY)!ezK~4bVdVS&+|;G0UrYWn)GtT< zO6KGWjl%ge>Q|wDbz$Keefy@FxeoQ)QNJGb8|B3l>Jw4Fq0o^}fV5YjeiQ1qqE7#> zm$wM1Z>dzit`r{%{=D1LQlJaaN^H1OFPm_5D^=DCkmGX0_ zKTqKW)aOum5%rfuXnK3K|1$aih5*#(qW&7m*NJbazG}Xyg68~f#OtE|4(flQ{x0fY zp#C1}pP(+iy4pf|`z1@m#ie2V%4kx`#d{4D1w>$(tyg{Vv1FHx7fRsBEe zi&U*?a|!C-k^CCax_`mc=gi$-B`MWVl> z{s-!RHpymM%MgdC|Bcw7{tx03>f-;^?W4ZDh}ck5a+F4_uK-k*(724alFLFucEyN2 z#5RMfg${>+*wss^+t_Dl)Bnq2AmSS0)e%RC6U23f#+pQ4OL0qKCq=vpLsvz-noK#w z5#@+@4a98_tN*7$>y>iY7I8bo?KOx?aERB`$Nabh;*J#7B6bp_&>3+T3TqR)64w!w zpIAV=9^#!5ua9_h#2X-1KaY4r#NCS2H!5=8yM<558EK#Hcv$u@$HD|{9|?gh-GX2yrOnQ+#m5yIs)dO z8fxe+i1$J~0P*fr)*%4#AjG>;*iFo)@s0V^4)Go&2P587grZz~BR&}MK8W+$-WTzH zh=;UH;&eCOpHU7_eR-S|RQm@aK1k(en;wGrNW_OCJ`C~DT&Lx>rw|`5Dloyj;F0~EZV$?_&6lrAU+<+T8L%w=WxWsk+elT0`W z4Y@>o3gS}{&p~_|;u{d3j`%{vXCOWg@tKH6$?n96M-p`l=(I)Ro{jh%5lHI(&*|V* z$&W@n4zce4j952+PM?{o`%%Z^5nq7#d|~vb%!FKKEHQXB;)@Yqf%p={mm$7%rO?Zp zv1ZIhe5J^UuTo~kF4^%lh_6L_J%i+505n&WC+2F1Cn0_q@r{V@MSK(D+Y#T4_*UxN zqIPD?rhHr4tuOO)2jaUB->H|~`ZBk7Bfdv=t#2}#hslWVM?3}bRK~qeHJj<`5ddiXVp`=T^ln$1iVzgRl`DMh*5Wj+W0peE?e}H%{VsY=UA$|j~ zZvJ1S^(NxCn$|QGiS-WR_n7Xxs`ku>h~Ll6lAMS5Q^Z1kjQAsAG)Q}k?jqhSofdXJ z;?FdcEr|GY#NQ+S0`Vdt5idmiCE~C0xYDmkE=DZ9dI{pM)17sH^*j{uw}`*f(*&43 zYA!|mE8-sz|BP5}il16$>TdA44&q-_U^^oI4e_6de@Fa>GI_Vr&LGA7E1lei*8WBk zA^rym5dVwBBDoxKhPa`o^16~JNePKTQbtlyer8WC@64Y1(@-0Ui$r(+N8$)JyIkTS z36N-UauP|1q}J@)c?%|WB)ZisWHltREZHX*GAH{ zsc`2IGV3B)PxWOB@nn4@n<3eN2U^MHhDf?0*(mL&r!6DdnAn}z14+*oIX>xQNn#Tb zkZh{4&Tg-$%9|tE0?A=WwnVZAl3qx5L9!K+K1g~a*_vw0((ONLnf@b^zDRaJvJH}c zQWhlJYKhdyc1X4tIo(muiXyWk5>e~T&A~^%enR!_R(=LB7 zp|kRgAvqh#xk%0tYw6lXQOk0k$jtK?BoDK~$08Xgf=o-0j7M@ll53G%faD4!6Odf0 zN5CW(BDo03#Zudhdx^BE7DT)5WmLFa2P`S9Dql&w3duD{uGVeO^B@XHu0wJ=lIxM& zjASB`NmRZ;kWF(VlAARDYld2`knmn;k)9=|ck2>~MdoX@rk(0rw4_MBqZ|AlEk2T^NPgty z586yptJ;x%LZautkpBhAuX?6K@*DAYw215e1Ia%~{zM{q`zt+ZY1(rUL;n^`PaaBH z{C|dIdD>MrfKn2Poa}4mm&$a#7cFw!i|qJQK?`_k1k;|sr6-R-i);ZpRAjWsmJl9V zT)jMXOFL<-;lN?poZv z#T|-UOL4d2?i6>oKmI-U&btN9ne&_{H#eC~l8H@nXXbyB9n4BF2f=Iv{_~goaip)l zAn-0gj}}A(LkVJnqRSJ30#*rZ3P9lNKY_3R1it?4?yz!rQ6<|6PeKnnR3JDA7iI{!P&$^5#t-+d54Z~PxDNMPfCf`x@n z79p_3e}csv7w^fJaHmfJg24ns-0AB-rflPX0-Foyb_B~(Ig~(TcfaFu1k3mCz5>CD z1nU#n|6d5K*CWv4&*cQGIF2A#HQcjeMP|a)&<@YpE_c2L!J1Cia$MVS9mjPE))TQ( zb|lz2{tG2UNYF2z)!0Mo7kj7I}L(O2{yCscK+-(2MlcehhR$rU-JpJvfR^O z&w_0TM%v1ocJ67-M0>>pTl^u|o9J=K}~X@c0iTIEdg3=ZfJFf}@-t z>Ufyr;RHtz94W3PBfnHPM!DC~1Sb+4LvTF7u>{AN-2*cxvV)eVT;T+vE%F2>5u8eJ zGQlaf_qeAA*i=3Q8a4x|Z=c9!>fJ1N|!TBO)uHmt~BH8*6 z!9}(tVwrz2!6iL@sY@;+P#w6^`4vL5LJ(Y)6Bk}XpnMza@mwo(avj0-J$?hhjV`>2 z;1&W~Aj(tj!dr7EfzNh>aRd*$d_2J&1ot|h;CLs&T?DrBV+WM978l&(hn1AK_qoFT zjt@9KNbu0)OjC9dJmT_430@(1jKCIl(01tH34)2vZPmzg{wV_O{M0e1{%m*OX9=Do zc#+_Ff)^&2m+QYo@N(F1H|7(wYZ1Ik@Dagl1n&~OPVg4N8w78fMGKv@mARPJx&&_% zydxX_lLHb=BKUydJ%ab`d~Q#f;6o+AY+qEDAW$KGPVk8*=~Dt*{4v8ROaA1NFU;A@ zo1L!+>jYmD&f#9)5PVDMBjMmXg6|1@4JY`4;75XATqlp@XN$zL_kRSx6Z}f>TP{(C zC|d~rAox>xE1@1=LV~|7csPaQl!Vg|PDMDi=V8AZAr?t#R@brhA3|UJ38yEV#ho)a z>Zq8`3CQ@ry%G7V;qqAtef=k#UC#dcZ;_~j2_9`CASBOK`RIUVN`$`%UY-0qx5*ptjhxGv%R z9{(W1mF-AFIE-*XmstDnWMRTZ2$yi~T|l@PVSoGYaV|-?40e2RDc2cdx9AVMw1~Z% z;ZXOoPXKcEe3v6!-sL{K2~Ca+wHU5sIvx+{bUESHg!d9| zLpaiUjq4U7+?Mb>YtqB*2)8FZ%J~k2I}+|qxD%l__~Fhj-$gsz%r;248{wXWyA$qV zCrw;v#Nv^q(6*hF57qu3OsMw%0K)wU_t&p5b--Euh^$Ev9!PjlcwkZ6yu;zG@ETRr zLkJHiJe2UT@IakJwn*&nnc)$HM@|l?AcUg`PbYNyZ=n)%GU2g=ClDS-c>LrD6$#;q zgeQeMbG^jvcAi=%`omK^k*5-#CSqRW_IAk`gn9bUB($Hu5S}fxOXqaLb6qmpam>Hu z=M&!G3KtMwNa%-p!i!vTG2tbI%JWMJFSA{v{kf#q`3gCejjnc;v)!-p~nDCJve^h2=#C?Ch zyq+MGtp<@N2`3UhNB9)sGlWl@zN$xm4A16H!siKJB7A{RCjz3pxV?N|CVb_;<@g%m zCxovPP9l7R@NL333E!F=M9PHk5WcIrl;6c`)O&;<5-I~fP-O_0Jl9NH3|3q55#h%= zJY|O<2CpqS;in2k_?hG9mKfQ5Fo|s42-W`okML{f-w=N9M2F(#r6XYW_=Gg_i|`M^KTUts(z;y!H<6A)N8z}#E|Wx4S*?qvCNdkI zMAJCRNdL4%(>ovFI9*<0h-M&~iD*U%?b4qAXy%-&RuIkV%J%aYC$kgHA!6s9E%K0P z4XM>kiKt9e5f626Otx`k$t0>0wTNm&4I(%GVCU%lq zIx-y1Pc%q}MDqB9+lLb^NVEviLPQHsPLl1#jTR-+ZoujD+u1p?XbDfil8%Fgeymsz zyA;t*L<+Jx(K19Uy24PRWr>z^KFpMLSSDJYXa)PS@K2HyTxnQ|Xav#9M61~OWhL+S z;dV?cT9s%uvn^mJ-?y@}@X;DXn-Q%^v;omtMC%f*O|*`VfY~jUINOdPN9z%-Z|CCw z3AG{7CPW(%ZTw%&|0CMePWR`>?T_js+MH-xqAiHFCfbr{D?4%jkMA}_BTb@nK)Obp zPP847>V`}JU1jY+f2rvR_EkEvN3^pDks5!YrVK)v021ylbbA`&dlH>x9ZIwp(cVOd zIN!%{U!whp4kS_qJ3x|f(5Aulsv+kP9Yl2SWTy^J5*}*s+wd)ijJ@2WWu+uCtqwcmy zEahi7o@vgpe-Y`-k%Vfsgy#}nLNuD_0-`Z4IgjZ4JkC4@q6=Mq5z)o|E?b;AA-a_4 zGIK6D-gT}Zt`I3PzY{6zo*}xL=m9$v7F|O$mgsJxYl&`jiB5q@e!b%jLRD{~n~3zr z-Ar^V(Jd0{9W*q}+f2va$8kgxh{hA$;R;LVZvoMrM0fr79l6H?-s^auZNv`ms9jIL5Y@+vxKFHs@p5!Bx(kT+Xv(j9Icx&QCiB}|Ej9A^P zgo_g|L9AoH;!6rW4MT{RntW@!srfELJd}7j;$?}|^8c&%iI*o{A#dLM+p%~!@%qFo z5wAhKGV!X!s}PTHt1Mm*H6D&vBi2CF+IDNJHI9wfBwmMjE#kHRGunyQC0@^K?7n#n z#2XNAM!X^MCd3;NTl;T=pS-7t|Bu+)|6bEaygBh!#9I(=sezCUeyrcwH@Dj(EZOHev4y?Pa!_ex&Im_KEe5kjwcbHY@=TpI&&mG)#ax-p6+-C@mWsJ z6l#(}e0EM;crNj0#G{EHCmut5C9(bgh4_5pOPyRmd?E40&M&eo@{u;N_Wvjw6~v|h z#FsnT_+LWjR}tS#?BoCV8sh7S$GY6602-h=zn<8K{jtq8BqYAc$k7$|y@hy!lUs>z zBevhZ5Zk=K>-Ko!JFKyql=!iK)vgzbpCJB#_(|e7h$nh7o+6g~Y2xRIpCNv>zuu}Us%4I!Cw^ga zgf?Q2Um|{$_+?^^|F_TW70B=u@oU7dn*}Oaol+IG2Yi!w67gHk-zI)1oOqb?cdeQF zCv)C&;rlkgeoWQR?Z3qzx$tAhPl!J?yLNWO_!>#9L5@Es{=$hGe>uMrI{BLT8zrIi+-VvAlKw)v>A4%>f{)uEI;-5(ZVz>Vm|BqNL?XMQUCEkAl5dZG{58^+G|FQwO z`{smX3X&;FrYD(-WLncqrY4z&1XG(lmrMq@*K|TFM^l@DWHyo+N&L4jiTwh`W|7G( zB(wfA2UL%i%n_F-`<~G8At|_%ug~m$-E@`JM6v*hS^l3KA<4odi{x|XJVKJiJmBIa%aANVGK6GFlEL}PgN+X@ z+NDU`{->`AXk~z8sLPiX_OB8o%Za;ic@nq(mbm@5WOy$3JY1Q?ZCWO)kc=R)} zNH+CbY(}yR$>t>6l59b;HOZDFYW(}BPKtqK8aKhh#UBJxO*ak@2@N{XN>?tw{DF*;|7OA5NeV1ed<@dYTU=nLu&~$tZUo>gW~}6SMzMas1ZhU5a0^GMEjN&gUq9EpHxlLcuakq=>@4}6kb*v-WfZ1$96(_@scCLy3MQYyaYo0PD9q+$X2)3^XBAon zD9lbFq%emI?f)-!=|9DV$R)8kRTC`E0)-ldq9s5JN`(>yjsHa|JxS`$syWq`7U~oh zG&7rp28AXCo%0oMIV$VK+m2cb+QjDX1uX$dI46a9DCo7YgZ3O8A7V`VNM@Se zloZBO+?m216c?s2fub6dJ1M+O;Vuf#>VrOoyD8j5;X&v3I^O4azf90mc))DbFL@k= zhbTNn;b96-P;DcEo}^$ue+);>=EgbQYGUDOkMo&u)n%MK z=lHzi3yv>3z9iITR_+V0Q24^O9~54tplIK5{<`BEj&D+Ui^ALDvT|mZ&KDQnb+1Vj zKB4d)g%2sbPvHZzk0doSxbzr>k0^W`T(6%o`TuBSWvK9}hx&|y7XMAhd`o)tUGB?>~qqj*rM2Wo(WaeDRwA!t&%CkK)>S&8N5y#dUjpJrRoQQ`~^! z#uPWCxRJdbgLbxSqRM>}b51lHuoO2{+H_IejN;}Lw{yOQ}=f@cbRLSD>i^ zI+Eg1A|BP+dWk3=O;NS_7>dWr8P@)?EBlq=@zN3TI8V&=DV{{}WS5-MlblNNG>RJk zt1PS>-SD%bi@} zc&X!MelOL5D=3bocqPTFDPAQnm*=r*Bp@Q4Yn^PNhw{R`p5hH6&Tpi66UEz|-|Tn` z#ak)fCT?xgrV#k(lJPVsJvFM1K&<9IK{`zSs`@qUUb zmj@_5Oz}aA4_VoH18epqi;qxzG`BdHx1tmur#O+~6BM7cXYr=hOYJF&Puok{9AfXX zmG!fZ&pE0PUl37Yd3nkAB{|*eWs3R)AcEh(sY!jr!=#il+*Ll^N>G}|QJ(eGqvbW$o^CNpi}$xD zUOy>m@n2C5wn!`o#Fui^X995z{+0P6Lmf5#x8k6r55bmlO3PDPfs%gjBEF)d#=YVz zQCgXjzW?g!4$jj+X;t@9)~OU$r?eKOH7Kpw{{~qC~PSDQ#eK zzi&8E`LmI@h{w4JWySV?l$DK}QhJrrW|U5$v^k}HDXAqHW?NWGTT? z1()wlN#^&JfgaBw<(oe4EA0N14x@B{9Zxprfs_vFah2mClr-|U#OQK`!zpPzFHOx0 zghx_3ijr3T#YYJ}&BstWR>YF$iKKMAD`*KwYMKHFPoi|P`40NXE|Z)}=`KpAQPQwk zf|5nw~e6|74?yFgVV*Z)ZSW4GZx|Y&) zc?`KGr5jAa^(kozpddFpYWzRW_Mn>NHpkl?Ex}I4Q@VrFoz5o+ZO`gHZ@BYrWecTy zC_PN+UdtkL-bd+vCl5G2Na-Pw{&F#eM_m3Wr6-*{=J>ed6GF4nS(-@cIZ97adWO=| zCR7>q$Ny|k=XpvmQF?*Wi~S1yb?jwIuh^5i(~e!2UZXrCrPnEaNa>9{C6wM2q4XA| zx1GF0X_Aw7b+4Yzdz9X%^nsifTU!mXf_&t0eoW~bN}t$`>=vI=`i#<-&Odkj!a|wX zSB_r`bBQ~@rSu)8zbSoB>3@`dp!Ac=e-wHSs3?E2r?y`J~C!<>@KU@SmN! z<(Vi4lxJ45?ZL~lIL=CWHYc+?&LOlEDkbGmyE<)SXIYK*lzU6$ zzMf-h|4*Q-?nby2<>j3$Oych88oGHtjSh?@#%FdG}!{VD86WBLF=+5d%6wod?*{WC%NXv)W-MY-~^_8nx9Mu}SN`hl{2|INQ{P(G3J z`IJwhe5M!5$&RNup6Ym-qi=mIpCN9mm*uluc(&s?j^{d#c2rT?j#+(Aw0~zz$J&P;ZE`DLOZmDU zzn=09l-1x%exswh0RMMe`4-BzQC3HGRW9*mH>r*DdyS|3m=o3B36$@rd?#i5=1ci5 zN3C}qqlGNW_qy}G-0A!Q%8xjCkn%&6^&6LC?0gt6YA;mcg}EPy6D^FF8?z@S2lX9A6dM-l6jAl;5HJ z2IaRXziC4I7hWFr?c7QET@lKYD8FZtTc)?mBp*;&jq-<-f2RBqWySWf-`)2AJNeYn zP61HdcEDSuD-ho0m|kKw2OJ=^79s0^n3KPvN5 z{*{Vv)Gz<$I=@r?gNokMKPmgR|FWGU2oK%>Rrt!3##gn|1mUWmP??$vRHiYfpJ<>m zEtLV24?)<8hRXC*>QrW+5>uHG{adhN_8+LsOl1~DJ2^rsvr!4C%uZzvMLzk61eK6V zl%J}w^AyKCMJ1t9p;DkyqGFr>B@}wJb~-?RGNqDIsZpuguYO%(c$9)PsPs{3QfX6Z zQOQic&l~z7jtG?wm9BnNYC`*8ZI{ZNROY5K7nOnf$EeAhseU<1#ZF;_<7V_w^Eu8> zWicv)#ND|7l?ACR?A(q3*hs9h2$e-`B-Wg#{~Slf_Wx7yLje^#vtyTfpUM!IFGXc} zDz^FGoy$1-5rB%0fDNOvoO!9m&Nu2;Z2!OOtVm@z72EJn#f|__S=qeQs#iw1vw#1; zOID|{Ih8f2Y)EBIQ!{rz?Ih3iwXf>S!}GBw-$?_^`gO{kdDxgPOfa zPW;?Nf1d0`Mdh`3Pjeqv*w=BtUcMdR&I5Zo2jy}X9%2SC?G}eoxrNH%RL-DsL^$|l zDs}|Sy^f+XN++YK98Kj^D#uVciOR85j(6YVgz9mqoIvG7>z*_f)!a>!P>c3t$5Vto z$!RV*-M+JElBGkel`~y(7L~K9Ttej>D(6!<*Me9KqaDXMo@YXR9jjbG@G}ZlH1*m9bPVcdsiPucUIdldG)5%6|}0(Xy@PfO%@KrE;AsTrafCp87_Y z+(hN(Tw-_8snyD@R34_H^S^3jZg-t=reJ9v?|6sf1jjoa?{d7G$~{i*b-d5f&VM<1 zfXahT9?B(o+B~BkrBr~#M@&=VRtyt~R-g11~V$fxp z@Ak+fD(~f7NaX`6ANIUHnk@GqpY&q;jLM%>KBw|Kl`rf|O65x`KU4XN$~W%(+D2;@ z+qYDHaLIR6zPH$1?q1&hSANQcRDN;c|IBFte|7xLoEHBd{Q-^tMLIQ=zfB@%It8h9 z0i;vq%Fd_x7oXN8e*P<+jx-^io-`tz!Gn8ina)Hyi#unwXf3u`N#}6MY^1YKj?KLS z$1oR?#ulVMRDm@0P({ZQY1x%4xw7->WNsB8tvfbUA)T~H+fFi}>vu@!B<+&+*}-|w zAFJW%T%@a$4kR5)IydP8r1O|HPFzF)UDr=H1 z>bRKD$>NSnI46PzqdI-GP^aFjB0ImhK4S8!ZW7~FM`p((87 zxU%Cajw2jbbzCjHY&8*k*vqdVU6bl|q-&9GM7lQVdZg=+u4|7ldYRzt?}7{T?CbZQ z$a(>E+CpJv&p+Lmsxn#iL{3YpF49d&HzSoP8}ZFaw;(-;bW76RNVg*0fplxqZArHw z)yj`n<9!icYiOyGp^v|hS>#&bv>WY6x-+S@|F$w|l3hrxUCP&`U9vmr-lThw?rBk( z*RG`c3VeXQR_Q*Z`;qGFtrpl9vYsW~pY%Xdt+v@(cdqa8C;>|FA*4r<9!h!y>0zXY zPhRzMog-~MO}Ee@TRMvLSkj|OkMTt|jr=X;q{opSpL3fJn&d>%Q%O(qP$!d~(*KP8 zsa4zM?SFc@?btE>GfAH&J&W{K(z8ibM(2=TNO~^md8DIB$5>mf&O(<){^|Lo7nnp7 z2W`LCAV0l`^itA`NiVU9p1y_)^$|S1jP!DK7PckHMx;}bUP*dA=~bj-Nv|gLZ~dCM zDQ3;E(rZbtv(#!6zP_95`&xPf>CL3N=}orFLfxDO(&~0KAxiE1m#6>|CB)LQ=j{4~iur1$Awr1#n#Er;(XeZUl~GtwuCVWba{K2G{D z>7({JK7B-GYUe3ZuSM6_?Mrm}1nEQ%{-n^NvN)fzwSBvb+W((PpC$dA^f}U3NS`Nt ziSz|hwfqNLJ;_sLl}DqUwXHiyUnTvN^fl7g<R>F=c8_^UW9@;^xbw7ctd z@H$EQw>ec6tJ-vD?-bRks9Lj6b!zj{YIYT>16*QVfJ>&MI(^P9g(|`7j8wO!I+GpA zug*+$L8`M*t*EJ_I;-PsjDv18&`pjs4hUUDo4SH9Mhq%NsC)~ME< zG|&>L-LXlvzG#r^n}|I-d*Y?@0zxT|m4SY9Xo{ zQeD_}7NNQ-)kUc;OLZ}qEZz&X1l1*bd@$7^J-(EyE$z4r)uFjO_&yIljH;~G=y8_M z-keT0+M99MT-L+C_Zz*E2=X7pX+Qxb!5(i@fQTLyrlm%RJW(5 zIYJUXP z*; zJ?7Kw6O6a#RL`J#8PzkXj-h%M)zMVXrg|>bb3EWMM|-op9ax*{c~mdPqj>@N0bms7ow>J?P4p?W3Nt1Pujvw3N!LH@jBsj4ilrKcwfufNzav%ac}=1=v-$*8 zAL>`1q&ku6Q|^^3=*4`7>hn~erTU!7eW^`pqxu5X7fs?>q^PLAO!Wh*uTXu9>Z?@W zp!yos*DY67LxlD$ZyGU)^xvjBiRwF4ZS#+1npFec@ja^Vdy!ei^TbH`Ll5#1)sHRN zx-9cQrK%eK8Py-Ceopmks$Wq3it3l9pd3*0bXgtyhU#}zef{U3#N<-|E$}M-AF2LC z)rbAnpZ%sviHg8K2wKX2qc$zo->FSO^$)6lQT@}^yee7@f9E%)HYK%bs7*y}YDS`>&0*Y4K2i&* zCDbCdUFssm&P}X@o-`q}Ft7 zQOiV}w;elC+bwzIidZ6vjAZ91k)4SP+`z9Y3A%qgQ-E~mDW&CayKP*eMV z2{l!%3#jczO_tCU!|slIP}`H*QPlRLb_lh-U4I{H2T5(T=kJ=8GG(^ZRqva_>TF7inR{B$mk+8!`E% z)Krd_QS)V=+U1(Qxx$syu7(0q;@^E8>roAjhi)bZ5Q55 z&DU^hx47o5)NZ48hx6O1jiWZ+`dr27NNs{~i~r7kx$(PQat}3I|8ee1K(+gA1nZJ; zxGMic)E;r)hvn>PK5E3C@o^T^yZHp!wbY)Zq53e9`jgb2qOKSDX=-Zjo}u<5wP&fl zLG3we&&w38MyEDFt-YXsmQj1r@g-_6+b_&a@`~fDj;~RB-Q<_e=gv2&{Xp$4YF|)$ z+a}kwcO2if`L#JGQG3tH`;H&<8IFtSBtIBhU`lK*`opzP^e37#*Q7pIPk(Oe zYfztu`Xbclr9Qt0pU>2kd-Xxo7qC26i7R{S3sUc`|I`T6M7 zhq{lcd})aKy6)?SKKjwvg8C-ZH>0koHVs$2CtPnT zUBUkMP~Tim5fhFW;gYSWZzCu5t#cvuk<@piuJ->|>f4#ne7C2*LyzxBeJ2<0?6^x$ zzN>;5*X=CG9@O`zz9;p4sVk%Qp}u#1>;43+Hx+gL{N-*7a>(7(_5T;)fz%HYF`fQ+ z4xxS$^+TzTqJ9|lBV6t9Uiy!uew00(x-bP9p)xv}y2|1h>c>$(RzgdaqPn|I{rLW9 z?baveochVs&!&C~_0y@Jnny+bH1oBmP=!B>`kA?0@mo|TKSvSf(R!hbHmj0WcIQ#Q zz=?MO_Rd~N{VG)n>K8d)?05>*J`8r*6$Yb?X=G zuMqV+soy1H`nojwt=~i4+x+^yX28Ma)a?@h^#`c?`hWc)cRuXs9YNh1f9gKGH}W|3 zCnU*Zpgxg?YNp!%H>f{N-A4G-pP~M&zbVf-J};rmUodjTH`HIE{wnpCslOsgIC7-P zHRi0pM*Ve@sOyorQH$zL>T37iqW%u`w{taXd+YBSmu6>L>hIA|*!OA7PCYNR52^n~ z{Uhq1QUBP+SM^UEKg|bS&OfLA3-vF=-T5W;ubg~s5)Dx6O6Rvd-|wh@-{U_}|Isyn za{SrkBTLTz=lH8oV>9Q!(@+ZkpfRO8|D^txi1WV<8&l+AoloUBwTSArWe)0maUEb_|l?mDyOP8v4;rxDOt)=5YsqA?eZm`068 zLZcjNU9?f4QKV544=%bbOuluY*?*>y(x}QAR;MsbzNJy8(WcR$(Q<{R(DgG@cxXDs zK%+yWk488561s3sp$8dAV__O|(^!DUJT&H~F)xkzf`gaRU4*7@w;m+)m=|_69Xe_RTS*Sd$BaOi{mZmX;hDDgCO~Gj_Lu07L^U!pbTD#FO8p~PL z(u}pSJdG7>O;wXhbFN5Zc<$vHXzf3ZRcLJLWCV>>X>3AcH5#j15PdOhtl3Dd zD;itd>my^uK7OMylE$`qYnIRcJhj`?*uf(4aV(9UXzWH~XZPBL#;%jcx556)yKr}# z9gKdS#-3zn)7Xnlg|#=WV`%I{Ycm@A(l~;~el!l(n1{yxG!C%$wBg488)p2UhW`$r zp^v}fhdLf6)D@mKlXbx+Ka$p_G>)?NvoVUM9_MHpztGT)zNT?3jcaHeN8?OaKAwh; z#2P2&@z6NQj^{gG zK;yz(9*kd$#>FnYB$v>*l*VN}ez|*H;drIvRgPB+&FX$*ERC0GTub9o8rRXdlg9Nl z+@ycw1{yb-nq|mMjyF5r;&`j$ZNl6@JqB*lp zGJYYnpWMye(|Cc#i#^|$dZq9R4YSx!<5e23(Rj!C>yB?Y>h5oeIDb1B_qmgIdy+}+ zR2T5RlMhTT%lZBKAGz>j$4?wTrSVzM_j4Lw^!S%FzRGzowcohDhJs4lcQn55Y5w4n zA02<9@pCR$!f5=DrrNPz-Rn1+1scE8oQ1|8G;!gdj(<7+O>+tnO)lb5@$Ox$^8i%{kl|&c8_k&4xKGRZW_$9?$y!L}2m`%`VM>H2ZqKbJCnE=e?WG z?J>+lQ{R6TWWJu}{O%m2O4ySuNOK{Y%hS~0Uz&^1T#n|VJ>SJ#xH!!vXfEx1Nyou7 zhd5bEnBUZ$%Qz0DscC{@8}@HsdxM%Q&|H`1iY7OO;WW+uv-6c{u0nGSnj?CWRcWr) z3GKmv2UM zb0=HS+|sv8LT+_RN=0VQA3uqof^Uz+{!(4v2 zIn~ZIkL<~ha``C7qiG(~lOOAnnkUdavFCdd&69il6xTeJrnmpi(@n0QbXelg zqCgEa4?d9QojMe}Y8Yl*zah}z`leeS%!Cx0MsH)uZ8lRQlG5!ZP%mw2eh zX+BN!377ZU|K>z@K4ohC+4~I5XKB9V^5+#oV zTH|k*y@PMj{8XIg+m7$hd^h){If>?bJ^nt;4_v`I6el0i^v1vWiAnOlqxl)lA8C3& z()^;Q`K9Yy7eMoC$8Q|JrTLwR^Y0z4{SU@(;ru6>KRfw_=HE{K=jdHP^Ec%*5WQ)f|fP@&Ii*P;$$hurF-&ajO4$|X)Q}@7_ALxEk|n&S6kk3 z1;-T~hdZuBYh_xi(pp7Mmy9rySFqM1xrFXNn zp-a5+Z*82*X>CI5|BQQ5ebs9wTAR~4iq;micBZwZ4ZK@hnU|&pt*vQo<78w{vaLI} zb5#2;ogHZHXufw}Noyye3wN=xcWYN#2hrM%mWKDc)7sNkL|c0V7d>QOkXw7v+B+D% zpe^m@N`2Wkb+{$(cRiyoqNFs(yq9Zu^|T8G(^h!*7a zLxFQ1r*#CaBQ5L=TiavWT}IJ5T12<@yC}iO(mIdUaW+A29q;J-NLwe`Tt?He)=7@O z|Fd<9^HXWr<{#&$JDx$yR=jDQ<#@KEegCC(uH$IOF+yFTzDl=j@rTw0WU8na(z=({ zMYOJ=buq0=Oid?NOyN>mm(jX{*5wvZ_LTbXtL(M)f7iKMvoQVZmeyEWx6`_omaqJ@ zu5;h(9dDpz`+V%uPPvw^|FnGlr*$i>+ia4U`)YNlHICNZw8qoYu?S0sE?N_4-RZ=) z0Ofx>ZQYYAgqMw^bsw$gY5C$$>j7H6;M4LYpw>fH3R;b6`T9@G*MC~J{zL2WUi`KM zMC(af6MK@UXxT?$mp|k9EUo8qiG56Iy+EcG<3(CO(|XAjUUqzi)|a$irS%1^*J$|y zPV04AZ@BN9j&C`>O>2^qcN~2Q$oFZ}dXLuo68^Ktxb>myeB}5stxueMYC4wk&upVw z>+{L_B4M^Rt*>bL&wp=KJ}c+H4UBx}_`Tx~jz2p7Bn;17*!eGH)6)7M8MJ;Sn~Iiy z07R~&IsR>!O+hxLh$SQ6S)ENyHch`|^5ZC}*#NTHq(e5HWjxEQ`u}#)-(sk@}oKxszF55WgJde;8tg?B@P9mGn73L>9o@@}AZsh;}$`&MB zoopepVPp%F4JKQJY;m$h$@KAe>u~AC!ofFKean_0TQXd_PpyPqCK*Du4B1j-ONUDh zkT6HGp=8U3OaGax3CWftTZwFWvK7fzFwMay2X~Gm8*VysE^`Oj%4DmOtwJ_Jkt-_c zghO5>Tg`OTtXVv3kZnx1CfWLAYmu#s>R7gp>vzHl=Y&f=O=iCU4hL)?B-?<@f5bWX z9S^=yIN>Ub%DgsF0>Y&_wxF7AO12rvhBmpUgAB;j%2%&?L@YVE9@K&*A69V?n<_sR*+0HM-%ShUVADm*l?SJO_jE;T!y z?2K@L2GR<3rgd}KS=KRGHTL~KM$RR(_TPnL9M5w+pX>tb!m(|4b`jadWS3a? zG*%zKtb?Fm1k2eNC(#s)Xt9Bx+$XL&aKM9%A& z_a3tA8K^A1fq|!x-N-l$ZY?A|Neaa#5Q}A><#;Poqy5J-XeS3?)8u4T{1iQMK;OKf5}T-VfMbG^&n0@ zvQ^XUV>!t_@g#lP-$myAb@n;g7pAPOFWHxlUpap5_>JSYj&A?K)PA5n6WNbszmutm z75~p7im{$muSoWXaCtcvt`##Y3p$P zLA0y+i9FhM+AZ1*+D(~0`{#UU+tBU$k~v(_V!3 z5Za5wv=`SFwcbHdJ>ZhGb@*4uoVC4Kmx^yG+Uw9>n)WijZChsQU!gse_Oi5B zp*@WD3TDQwy&Uc3?TP%kXs<|nCECO70IVN_rMzO`hPp$r&qU{*d-MEsZJuwmw?x(^Jp+4rxDD-{Xpf}5J?(92Z>Nm4%=G-Ey#wtX z`!lvbZ+E7>8|__a%d(1$37g$B+tc3Oowm*|=NX>o`ChaSr@c3ARfc_N?@xPQ+A{uN zcFFSmr+onJ1M`CLL%S*qRj@OMiih3-7pakQhdOEuvX7?9q+J;r<4e-THfh+m*d@z_Xs_P`)I4$-%ooY?FVQ-O8Y^tu@5<_lB@PUBDC1- zMV3=X0ECY_KH;eS|E56uDcaA|e%jynXB?k(e9r2>#ZY&rjsUAcc+pWufW==HdJIbK z`?O!9{Wk5_y?ozreADqQp~WM#7v~+vcO54=z9;l}KA`<6?GIh(?SK1Y=bz*Xh8DwT zj-NYz;rOM{WB8g*O8Xl$;AwwL`*+&kA)5*9?_KQ&#~&Sk%7YkMoWD5c{8#6{nV03y zA9SXq{ij}J+J8Cf{MWH`wE6#7doH0l)ddLE1qi2cR2N_hbOz9wgU)nxW~MW}%>2@s z!Er{%nS@dkx^ouCSsiC{oL%Vg1at~?WdC6d9kq(W*fFujL@9C0|8$BjEIF1PE9PY> zsnS`PPL0l7bn0~4bQ)@c=rkQ$j+xM7)9^!H9mlR?pW~cDk8L2G`RUB9hKr64@CxU3 zoX?svJ&}G`U_u!O6E5JmpyNV9k6{ryL+LC^XE2?`)b!C&7a)}V2chhxoMR~wnsbQb zQjSYIE+h1KmZh^IonhAdbYx#kxV)pf1AB0xJBK^2mJ*qpa3@aT=ZD=$u67c9ohd>RI;)wJj;$&+1=Ht$$5_BxsI{|YF>2CqjNc(^XXhn=K>pV zbS`wf$T~XD=OYtI+N%Qy3<^-Eo}bc%jEIfzCa2?o_u+=Pt*)tqWEtnUyx- zy^i-e-Y@h}57L=P=OH>$c-Xq>j*b8b?I4&GyvvsJaTh+}_+;)y=P5eR(Rtd1&p1At zdl_0J&pW>0_@W8zNnfTr51m)&PEF@kI-k>djm~>?UZ?Xmoi{Wvpd;fy!nbUYU}>;X z9G!O@-*ud1LW@mx{$n~HxKNw_rS?(oWoS-K0fe7Aer7@o^#z^Z=zK}%2RdKT`Ie53 zfJx0x`TgsT8hS~nQ($?hAL;x;=O-7+*3iE-HRqD%uRYD*>HJOS4;y)Q{&dug;0KTS z2Xl6(aGcU{s@#k2G;|ZX(4B?uv~*{nJ3s>=y3;vMZ-XM`hL4Wu&gjCK9B0nG=*~(v zpey@73(=k3aSoy1cOiGG3y_yeN2o5qyyzC_Hs}`VrgTd-Fz%KeD>mq|`eUOnx>ZNb z1;lkE(7fn2>CQ>FMYlsYvlqYH&R=|?J7on_!oGf?8iDRy))aIHI?mnyzIW%PyEEPS z=&nY0e!5H39Yl9Ax(m=&q&t-Ea&(uqm$xe`L;rfOyUV+9h5k3Xt0Gv1?n?H;c2~|{SVMD;aFhu+ ze~Y`T)7_Nr8g$pEyC&Ur=&ofiX?N}XB^A1JUB~ruA>9q=ZcJB=|6_F3`2Xvj?aBzS zg!T%1Zf{0+B;C#FZbf$sd#$=#=C75ZIk$G)CKuA(mhKL8w{zk4xzNxwcXZq-7t-B@ z?n!iarF#h7-RP=-cBi`+-94;gclZ2HZSU^w!hQN{dsh#5AYGj#lBSMO{p-Ex9^}G< zdzy#RJ(})ebdRJfBIYP)ES* zwW516-3#cRLicRCr_w!x?rHvNoSwfLhW09*>3CKyqQ^v|J@tt-a=PL0HkvhU0eJY??)5f>Rz|?3+<7|(H&3sPP+O8AcYD4)xXPycjrR7 z_tJfct_}iA^M1z%93RXT49)9dx{uI(lJ28))#gj`SigeZ@ri$>XQKN)mHX0thVDyr z)&48UbB=2K#nt!=Uljf;tR!kf)YOZ-O7}JMHEz2=dt6 z3w3n=Heufsj#D~LCA5_EO+%lWZV~94mcAM38(`~oeX{>1oZfK;TewqfxwXB%nOr!t z<1CJ|3O$n9>C5PwgT4}d0euO5p{*(PMUGkm8YeYF6BZnclZEt^>8sFJb9w5h^&bmD zU!A@teT~V=?%V45w&|OTzK&VR>(jrOg?)~5+Cr96ZvUi~aG>Mdj`KLqEA;s1r*B*O z2GKX1z6IzTLf?Y)Ek>W#0sfz=s{o&(`q~(;jiSF*Fi-@6-JPDp4sCwjLCH2~wxC?O*aaTd=*&XFQQ67x)9w-mdhEyI(99A?WK{|&M zM-at4Y9mB>FO)~2Jd(|3Z{j{h;}N8DG;s`ZtRO?}hq4%O2`*iL-~lKfi1MK*AH)W8 zF!7M0*$C2k81Zo85rPaj4&^B*ABFNnl#fRFc$8(ONE*+vMEQpCzb)znGRG4q6kaG# zLiuErPh@qUM4Vhyx*(mW5KkqZCdhcFqI^Eer=xr}%4e`r&Lo~yRE;2=ato+b?zzPC z1R3@MlrKj4LRNts9+s+^R#b!_otF?VC0-`TP?w`B&F>0S4ng@!l)pjwDwJuc%U7!* zDqn;043uZ0d@VD09Z?p4q%>slM^MK9_o&TjzF&I(C(1VwW&AI+jQ<5?{I6mt&qnz* zly67*NtEwEc|OW_qI@sPcc}p^&p}y)?`Dv>g)t<5p3++EB6A;o?z?B!t38FtI=z9;u^#?3o%sMqtXeLwNYt9WgU8TAg)VXuMktzh)Tru zi5n0*3ToOa8=|r)D!l)>!uy{qy#Kkv`=9^GT}AJIMx_gJb7I$)hAmL(he~%;d{la% zVxrQM0%c-_SS1>Q|H-38rcHE+E|H(ZXxai)dZAK7B}FBqS4517iQs><)yd3=Ik8a) zpdzXy@%&3gWovqEL)70`{6|A?GW!s>C-yA_P}u>MA*l36WfxQi$bIan>`2^+DElnJ z*;!Du3DPM`K*E$IAVFCI5|kw%!NGzehRRS>Mxincl|50B@xOQtC(7VoXc_$fSKD4> zjwJ3)+@}ygWi%@LqcVmG9!uPpxL=WYMXkF7hzAl6A|5QrlpKnR7`?+#Ib1)+m%HvO zN1$>xDo3JnA}ZrhIUbdxbjz=DH1QbXvBcv9<@Hfi0XYIBIG#9xIFUF>P~Wo3NvKRg zWipv36Hg(YN<2;QKiZ~}c{=e7;+e#=1gY&DRHmVFuHFt;IgfZg@dDz7#ES$)Sdh+( ziI)&BC0<6HPP|-@ny*CV1yrs=WezG=qjDoE*T}{nDl>@J60aj(PrN};Q?4>IQMnD3 zS^C$B%1y+ZiMJ4M6=Zq_(m9)WJMj+Uoy5BYnUcFvc?6ZYs62qmJ+h;R$~>Y>w1vKp zc)y_P>sIE!oTEzB+mmr<% z5IYdL3#>7=q1pr05~`h1T_4pAQQbf@Qte3WRAfg{nHv%LGll9Vg%_%uqS_VJ&FIyI z$jkr#DW7ULGPfXh7i4OCqH3bbYn`eUdR2+~{}&NZ)EM>uFR0o?hv*7YgRdtIssXA~ zP_3bQAgUp%JEIz*x-F_Pstr_S{eMeTW&K}J*8c@%{a-K_)SJ5m)hX-$f(0$>|3Ys~ z+(uAupsj9)>JF&N`u})TW&K}pd!j7<3oVQPa#hzif^^FIzc8f>5R@)JP`Us?=>k*? z)m>1PnjM7dP*iu73v*E2jkr5;FmZ^Wrch7?h7tE54kwNv%7H)?Lv=4y$Dle=|4dii zo45~g6mhhmYSW8zMPMv(U*dkm{fP$%QrkhqgHb&m)k9DnhpJxegX&?#!-+=_j}%nR z&2%0`=F!Ash{qC-6J(K|fa*!8%KiUyQJp}P^?#vd{a;Yl|L2M}K{{m#NSLzzFDUCj zg0lW2c$y$nI2F~)P(2;h^HG&6;66cB7Jmd~@kj7%;yJ`~iRTGwYKy--R4*X&LgGcl zX~c_(mk?zMNQ0m{9o5fJmGS?hs9u5U?WkUf>W!#gh3d7aUagbLs;vJA%KDE65u{Vr ze}pOPKY}+1Qrk>aZ$WjI&MB(0{v&v^Ak(%jowpKiBhD_oP`v}y`%t|TRVf77{M{GT zImEkl8mQ&Q8DdqgfEKTLMA^7kFI4YG^+8l0(CJKdK5>CgY9v%K->E)CrriG^0*@44 zs6K}3>!?1C>hq{BMD=M@pU^2-^-1DWIuTP1oTF8rA@f<{bA=bGFQEDgsxRu~tNIf0 zWu1aasA6_jmA?Rp*K5Q@g%_%eQT+hbH&A^C)i+rPZxLnj=f9;S>pxO-vi>jle&L1c zhp0+Xf2330>c_+-I^mTVi@9+1Q!GcHB_OoCULDot)ep5Cay!&btH|^ zSPzB=qYXw^7$q1R!&o0iCm0)OvoSgr%|?*U4T&2SOc>pxnCMVm3W1Y~dtNK<9Nuwj_m7!0du41#nP=oU;EK8&ql z1TZ8GH5f6BkQt1M3@U2g6JlC0VPr6R!N|4hjYd)Rf^=?4+^S&0*ak*F7^0yM3|ah< z{L13be`?>5^&esOZPvT71B@ME^k;Mfis%$I4LcDBHks1x8oR(4q~}6sT@Pbd;%>y< ziGyJb5rVYb|I@q|NV`Rq9}Z&#jOMqxa{g0K6&icNI0eQ?82iE48-~>2KEjuCq%cM? z)MyxENQ^CQRW9W}3av*;H8K0c;6|ZwfPV6997sF}#=#^GAs$LRjCi;pi6e+d634+f zip0^xV+2dR$B{mcu^bQML>MQ)mWM*^9bn4Hf4Uqak#it=ki%?) zxf#q7%uQjg4|5Zk8^GKUW=EKvWCvC^I(dE)=0-4O^H(-~_~UHZ>NPvd>#1{L!M@$} z5RTaeW;d9d>kBLAe9W$LmPWUC#Ri&N5M|Fr=pNE@X*Xe(VWu!EFl#WYFddkNwl~w1 zAJf3JVA|RNiG9`%SA2PL!}KWQ!<5Zm8S3b%S8YxjFeFAWW0+$3x%|j)6JSboz37_} zbE2Gdm5Ig#m|Mc^2XiZ!+riu#rY`gb6d?__fC51$?UCzShEkz?P2yUW(QKa zI(RmvFxB|$@`$En0L&f#t!r~2%>7{Q3{$*zfjI=`Aeg(u+!f|-+<4tvf9)zgpgCAK z7WG!l?l6bK+ymw?-K&yVRPAt>BeYfM?$!Fb4rA^Kb2QAoVD1BRBuovc0@Ow&qa>hi z>6&9;j%C$|=6%WJF2A`y%)_Ys0OEl#4z&sM>IOP}T z!OWv!{s!|Hm@{D>3sVYB8uMhB$HSZe^8}dVbv_nzvKsu69_2DGg?X8@dELp? zGqE?pyc{Oi`OPa}UJ3ImEozntU(ah`UdtTK&{Q>ZcOA^@Vcy6*-q5ltMVe>9ycedZ zm1cG`%-dkz0#m>IDzd3Xq$M-E^+MeN^KO{(JD7E0-UU+z|5LOuMNBS-H0Ks6fys>n zbDlU$o62i-AIxWA-VgH;m=C~w5axW9)IwVzR#YvgtjL)U@!gd5pW@wo6y`#hkG0zK zzod4My)_R&Rs|}WH`yLOgq=}c5 zTN}XYs9yod&mWn1SR2CX3~M7MW@A{J6lP6PdNFHLSevW0w`40&uuIG4-^-MAgS8W^ zEnuavy2El{^?+r=>Itg~s|>61KNj9HU|G5kWtmOe&Yc&{vY2Aag%!Z^VEOumg1+q2 znXeiwF8Es^tf<)(rKh%}3uyJWRvlJvSQ)IXVdbzI&E7$*y44F7zZsE^z>@VJ_A=Hs zu(s7VOI~n!JFM-Bo(@(YSp8sa&svcDN-v;&94z)h(z{vxVGV$_W2@U@&t(mSwHK_N zVeJNM7g)QpFbAm;c2A6AcUXJC8VqX)mCGKS9grcbbs(&RV0VOd zFl=d%hroIdmNcqoVI2l*Hmt*8T@Oo|(^;^Ngf$t~I9MmZIttdYu#SdxjG8YQjfln8 zT9cM3uZARByD+x%@vtVrlG2{2V#>Ui4fsS@Cuvw6N9pg(V4V!>G+3vojOOlCL0yEm zq~V3}}^ zrc8r%DXfcO=>gzo7Mk($6EIEB<*;VJx&qeKu&#vFvj37(W(3wXEp6-wtm~SpG_D(9 z@wlMHtR@r!g_>W zdlMx(b^)q+AuKTw!jb)7?cHF>L7-+_Oyo0~1+_EJ!FmxE$Nv_`|3xF$jJyQvWeUGS zd==K)uwH}p2CPM}7Bl$kMVYip=1o{{{V(SohJCk)j`aJmzK5ls1Jn5-tdB_O$6v6P z5I=$SC9F?jeFkeOtYyNK64o^hmH8aj7eYv}>x^Da&{wd&h4nS8Z<=CK9V)3^fL4vt zKfwBt&Z3%rg7q`3KVbbr-(P8CW&KC8_Pe0QB>}aF{)DxhGJg^ORwb%-5$qLUmtfP* zOBD7>uvad8VFUImu-AmWD(uy@F6`CROX|YbpZ{vTYml{IcYxg<_BwQ~ttOFTYU=HE zVT?&**wgKCsPO<-T7X4V*Hf%@b zWw=YT0NaBd!1l@PuK(1qYp`YUr**tgBZ^_?uoKvI*eNCXeSxim|K`^>b_2E+3+!IS z$QJfiu(xg|UcR%?^s|=j?I^~p&+I;=)&9fo3%lPxnI)$`?0sPmfW14NI}&#y4urik ziCqLq41!(M*KXo$wnKX`y@tRZ1$!v$eP9pM*}A<4>^)2QgRqAaM-cx{uymhfWG^~L z68A2cid*(AZMm9$s%(#jJqGqzo$2?wO;HvT?EQ+A=tso%0kF@7eIV@du*LpMdl377 zNU;u3>ifN}NZ5zLJ^}XOu#aMpBVZq?0veoC040v5B=3K=dH=Jm_dmlvUQmS#Y?ikiJ?8 z8JXKNV9$b0`)^-Iuj`375NZ7FnJTREBVgYIdmg>C3xItK>|0^q3HvtKx05qlUly6c z*>`9VdCm2GzYF$U*mGdttxORpUMS5be*vJXTJtsgKG^rGm@*$A&M#hk*bl;$H|QZa zBJ(huPOu+=Emr7J*ssBUtQG2U*b5o(3F4E)r&_*G!=~|9{m;_tIoP!Sw%UK#FA`sB z$+HWv*#+3I3R7;?&>IDtDSRFFVmKXPzoEBG+i$}D8}?hUzk&TW>?N?@f&C#Bz6<+3 z67R#N@n=D`^n3*SW2NPWjdk0>{si_i*q_2)s+oi%y`Lf z52plYZThYQr;S7hIP1cZe}T#LXGIxG$-9QBwXIbGy)ROgJtai%c7iQ`+mH(%^w@vp%A)2d4(dhZB@~|5TcIXxpss zN)yM!2@7o^3@3)O9h?MCMkOh+UK)J22*b(YYz?OYXG=QeF96?(0O_rip0^0jHsnZR zwk>?&^oFw|oIY^+QQP*6sITOUsoDWfe@OBF}?!z82%e@lrU<`-O0> zfpZa@%iv6db20CU{SeM2a4s!%{$8V=(7$bhRK#>RSHig*&K0H33nbFgMYHwlTIVV_ zS4%9C7$#Lz&44o#jwIj)IM>0sUNn?C-_CS?DEi^t$f8&PXBM1W;M@e~W=*pw)Z1u< zf2*qMxLm~G%;x*Wj=)j-59dzeU4kU$5Y?K&nF~i3e@M@R)3pCOx^wP_^B$ZB;5zE7zVPW%9l8h@tbRXDG~S)^sCS$Mt0Ukv9BIB&suQ#tINDeyL&ci_CMV+m@| zNvrcdoImL+nm?2)O5kw(?|cmBGdN3_$4}rag`@XBi&Hm5oMi<;-_MC(!1)QzmvFwP z^D8)C!}%7@H~&bI|6TEm5I8@GlN`MQn#9j=ekpDB2I*e~^)DXIZ*YEx^GER`j}~(| z+;(uJS^ljV5qm2=U@-`BS5S`R%UucHn{Zc#dpumg-4*UCa5K28!mYzy4Q>gp+JDWv zs|5mgO}J~dIPJ+<8}2$SP6u+Ik4SH9A9eY6(Qd7;Zv>Xf0HJWc*UxI4G#T_`z7GcGF+?rv}gle4=RB@#o3 zLv@SI9R~L>xO>1I1$Q{yz34RpZV}y{;?$>@uel@P?p<);?xTcEHr>&14}v=e?g4Pe z!rc$k2q8ue;rmyV;?%~8Eh)2Rb7VbE>N7H!} zcP==!bdUK@-j5SswL4|gKm38gJ{^sZwqcM{wamF6H2?n%@(8Scr-)JRW( z%kjT^TEStxPlbC1eNWfB<5cWScyGYf!GGI?v*4Z$_Z)bV>vQ4$0{1+)*TFp>?xk=q zfIAKDg>dEMj~u_BDp=|+C44bl`8HfaIb=U zwU!<=kUs{MBl_enVQM!-8eFpC1aG!*`5bhHiM8!1OaG!$vv~qMQ zSdQ^aN}h%L0^H}|%Hg@ zYWk%r_3{U<^xh-{+_&Mr2lpMg?{W)_)uAQ)zGj3~0QWhRWqw+1{p_Hz@wH6uc>C9ea#4dAT{ zuT2x|t*3=1>GVqQ*4LDXPAPfy>IiQ`c%76ZGMbEy;BBlkQ9j57fY(!Za3mt##1zdHcqY6mJVP}LQ+*}17Cc+S%8mCd z?N&-Wcmv`23>(0U;nm>D`cJbx!;6a2gO|W-z)RuPHLU8);K|`nt#0LL-h08@4&IjV zR?@0O{2JdicJ3^3YQ-n8;coe*&;c@+6(|IgBZ9J?vNuexION|RL9^Ps2 zCcv9029}&j#1n}p!8@7SCQDe!CcIPNovO8_!3zz1kv-u^ET=Qn8G;POW+3mBcQ(9- z;EDa07|(?#c3yF})_3RCpSM#X*O~#oa^D;Py}K6MSdpJJWHc!#(p!rTjAZJ zoMr>K4c-IrX2ZK1o+!DqRKEe9-2XF$?d>jjb0n-@syCmpOBbNohbP~ENl8j6Jq&LlyhqsDA0&8#mjUyKWPSus zS7YGm5)iy4kkgV%e5xzP-cop9lUPRl4BqELkp2SRmn6O_IJz?9$r+Er_gi>U;066X z#eRVIV^dP!sh{DC{$JqnhtV42Z!DkRnXf-IN1DMuiOb>rMdI%!-*2Z*e+6~Qa<{Yu ziQQireoy#--x2;Q@YjOBD*QFzuLgg0-ItU?mV-tTm%nDS>XmL!RXhvf^B|DlLED4B zE^$3#8?i*xE&%=pg8Il=6u%RE9lgWfP@9~;5q#|e;BTT8t^CgLIsW(6{*%)MKG*-% zx2v{5B_sHbfpaR$n>#CD>a~M=$>N@MY&$-eOuCEu04Ord!{baCnW^i}av-=VL{1OLu~hCippxx4Axz8Cy^goZz_)O#%adx`f6lKBAq`K9(V z+oqS>F5S1(ej)q^;lB(2A^6Y3e;EFgOu!@XABF!o{Kv$}N0KVSPYB(1Plp2G%j@$T z{HNhR3;!8q&YVkON8-|Frj)}A@Lz}jB78~qOYmQTFaLk(puU2ls_St0^7EI1SR_uN z;V*{&HvBh8zX|^>DIcL#Y|QUuzSAP!ga0*r$?s?IKY;%U{14%O4F4mQXDslS{D=Nj znDCdvU-l1^oX=HQy}p3|CH$|1F7+NN51H~chuGe4;eX#Y^Ah;q36lRqL6FJr#{ZdZ z=@(u9@qdN?7yRGg|3T*O(w0d434gh^F=^PsQLD=(AZdg_JGE?L%7PUUtd3wM1gjue z83DAtaj#8U9fDO6tX4F?W+M#NK%mP$2;@%q)>=f+9>LlOx*}Ky!Nv%<_!F!vVw7AD z0oQ*tR0+ZQE&c`wI#Qq$aYLf6|NQ$N1zZ9OI@60=00EbP0xkgso2#(&TtPQ2hhPgq z65SE>AkmZ9yp0(F{~8=r5g08=lL8h3n}pNi>;Hcdc)E?KM1bft1T{qaA_x(lk03%# z@*6W@32GZ5NJ-a;8G;)Th&1hgu$$0DqzDEh z7>-~Ff}so|sU3zuEWh-CG;Y$x1S1gasl%tBStAJcLNHSMCLJD6*D-Uj4}y~sj6!e} zg3$;LLNErwevEW10mk3gmX+sg0&!RZLJWDuOeduyfe&ngZ=Xm=c(gWw_r=OVZO z!FdSe{EvL-QPwfD)Ur0w3rm~-tpmAW8iGrx=VA>mqt@V31ecX^nW6lkC!ba3as*c+ zxS~iKf-4bRr8LJI2(Dr983?W;p`QSgxE{d`O3Qe-_$PZX6M>Y~ECeqhkcb{Ya5I8C z5!^!gTM^7gaGTIgixJ$8;0|%>VDHvl^(=RA7lL~zJO{zu2QlsPqZx_1GB#}Pb;K2$?;v;|!Mh0F z6Q<@`UoLr5K0xrHIwe)|$Ur*y7{R9qmLT|~nP8P1ieM=M8Trc+gbYNb6`hITa|GWr zJzpUB62UhJzCs{h1jtb|nO@0fbQ15k2xRa-Q@2f}&G6mP;X&{tYHK3+3Bg|oen#*+ z_56b1R}#MoHXEeo_YVYrDo5$%N)(+!pj`lJ?ND2RM61keE1|Zsim5M9zWMpd+ z+Yq-EB(WW8y$f1{sO0vj^(E1dxWhlbsL9V?r7qxMy?T6aIsO^v1fsFKklG9bvMuCHb!*m{k+To}j zirQfXr|k>*lu63)2-M`}|H0~ErU%R@r+efHfL!5!ywIr?+Byqi9+wDtGyOD{XNt{KziFh;d7D0KK zFZutM#JfR*d(Ne}9Yr0BZBeS%BJu zLKFd2Sfi6)fC)aL4Mw#+hT7ApJ&xLws4Yb82^EtXzp4`(%u^yP59w!Gwf3wK5*)SX zQTqV37f^eLI$tEdM0}abUm?DV+H0u2L3$DKb<`FMAx|q)Z<7BOYH$C;N9|qI-e;?R zPg^EaB25vs4^dmfSc)8dEHqR232I_+K1EG_{&gl5E@Rn#R_Y)&>T}{3#4m|o5x*AH zM~YXQf&5BiFvEV2Q0&zY2*ud`h;TL3enRax)PAP#FR1;>m+l-*u-bv&5w1!Nf3R@= zr1Isc{YBz$gexl%wnMlAi4_s9B!tAPC`~Jr!#^UhilFFJl!{=k5w4Dq-+_km(bTE{J!M(E37oa{s?zM zH~`^}!dJ~=dnHKaHG~5Z?ku&5P&)z^^&sM|2<87@Qu6ZuFG2bLSL>Y$hawz{a2Uc- z2=_p^591n696|g)gnO!fP5)j9N4Ds_i}c9b!BQQKa7?rAq~tXX`y$*Qq5k|!ii^Py zfOOeKf~A(VHV;O4IKo4iszdcf3$+W-hNtN~qDUvgBk3I1Z0$1M2)P#=9)nQF{|Jvm zI2qybq)#A@M|h$PpAb$U^82rFl6cX1QgdXb0w*^|0^un-9tck*o`!Hri!Y7s^cH;v z!ZRsw7V+#BUs~z8E&4p2IjX7)5J{uD5aAUFFG6?;!f8y~#hMKHU9#-FhnFIpPUdBT z%^xU-m#cux!9yvK=MY|n@M(lsBYcXI*C3psCyPRP*B(T89m07CuSa+bnKvN35#cP- zGv!p0p0f&XLU^;DX|f6!@UUSBfO9F{lo_Zs$COpoL>Q?-!H zCx}lLOhGLfEvsh`KC2}&>w3kTrHwt$0(pV>BJm|eDZrI_1PM1hZ0KpWu_ zN=n#I5q?I_QsS~gGs4g5{6fW4r$~N<@MnZyBjmgw{08B-l=-eHQ;gfgAISWXs7pXP za|wSzxEvwJ|KV>4<@Nl%NFIGT{%_{)uRA+#ED$m`N7Pk_B87;yKx81|_&@4_ zsDh{`qOu5-`Zhm6KvY%vVu>I!mDWftM7GjJ6-Sb!0f;MBDs(x=h~mXgfsPBkGN)Pjk&pY=|bW zFQWd4`nB}zpnocqBYg6w^<#cRv?HQ@5bcC$X9^E2^&Qoc+y&8~Vl@xZu0kN%jkr6a z!6b$dhYFGyM%)9@@D^tTB0V-w{+`6W5RD|Uw_xe{&ZI{n8iQ!G#w+WGa`rMBTcklP zShOD^n&@bMrtknn2a-6bkU?}Xoq7Za5tlNe!$=>F=m-)=62~E;&5w=}XYsKKqGJjg z(Q!(shT{>@{zqK@QO*QJ6I;G&Nf4b#JPFZc5+@T+A?o74KJsl&GzDoNL{kwxgy?ic z3lN=w=w3u;BDx-tp8r8~HloW*Jt9Qs(0MMR^9l`!&POEnpQ}C5h4j4$(KJLf{_-J} zJgVVRq8fh^+84CEbO{L2m56lx2hr8UYlt%hNnDFa7lK-?_XaX=L^O}YOhmIt+(f*Y zcnk4XK@ztin%$yrM|207cM|U+&T0AHjc9I*zDEc>Q7=kl)~w09k9a?#2N2CKIx=k! z6hQQ#h?T~UMf5O|4u~E>yb7X65&e$nF+?9CdYr)*5}(jes`E)i?DC?g5iKI;8AQ*L zc#cT>AH6`D_CI=w^vi-IUP1I~i+-)`pH-&lb^0zw^ahDHiEk0#CcZ;_SCGVeh~96} zA2e-|rjT7g^f96(h(1H~38JNl^#3o-RkCQAhALLfqR$bD)%}7Bza)O8wo%p`qOXZu ze~7+CB#ZyTl#KvES^qC&enj+Bi~bqWFG|avte^~IqTiY;fzcm`mQ(qkMb(hjE&$Qr zim`S9h*vcR{=f;!Wx7 zET}g##G9#@6s)FgbHrO9?uxjZGAD6IPgQkSr#!N4s?MH>wF^L8K`a`oh)p^TEi~m@ zi0vYU`tg_aiLr~=r$??_??Vt?WQL6+N2 zbPgo$tV~V7E?O)~>`L5?xVs>U!AcY>^YKu`!}QmL@g6#+iiaaUjWQz;OYjpA?}>Oc z;=K^>jd-N|W4CnIp`~fNA>Ie^sM54ir8QpD=km z@c_h!k~olf5aNS{Abm*b{L@JsMm!wxIK)Q?6Y-IS7wMyvR_4(fP-vr2B~3zq{#)Ah z5alnu5Ak@!lMzoqd?MnBh$pG!>+?!$EGaF03h_xotNgT4h)+g*ie!iJo~prLUr2gN z+YR3!p30KZ!=H%HD2{-VJ`3?(h|gw0(fG&bBEA~&d5AAVd_Lj}w1j0A5MPLR8e;kR z#=s)FgJe8}X$|ETtierz5_czS1zRR1LDf5MRXwWNjyiY5(IHh;O9w zYstKhcs)_?f6#U5cqZao5zj(=3u1i->8s~L3tEjvEU)wJ)H7Stu&%twceIE*#YwL@ zh`BVXv8(+@d=KKKh^4xpMSL&fM-WSaFF<^ME0zZ+Hea3ck%b0%5b;AK9#*FO!C9G) z5+6gX1|RX`#D%T)|0Lq45v%>zr|4zkXOxz2BI4%|t6@j{JmMD+zl@mnKYpo@q|7T# zT5CZX;S$7)5Etc4`yVfEseKdiTTNlr`8HzO|M*?~qjdb9Ac^-8e?a0x;zz`f1*LV7 z{)9>TR1+0gMywhH-oI{!fYH{w4LFBhk5!OMgAuVzk@c1U#bU!77c$%>kCNkFnPlGTu? z@kg?X3MjE^E7a;p)4anx`fiA1BP1IaeWh@;85jL#q8))c#quXzkaR<`Ig+mbl!Lw_ z$rebuYujcJ@j}uQiI0T#KdI>dQZ?~a=Gs8Qjv%p+ct~t|IY?a9DH8;FWG9rfCwc`) zYDgq_h-7;t5t1#D#7OE$lD4_ykff!-Mk#tx5J`rlfg~4Nyp*rZUImS0D3q!xcN5?%j6!o{CN7k}tHt=JDjG8M^mB&Q>}2+0{p&O)N=Kh51D z4R|(^b6TO!MRHz?KA(CnKyqQhQB$8xYx!PGU+n^rsQpKBS=*fJTfUc*a|MzsNnAy| zns|*Mi5W<)Eof@K9?2s}Za{J;5_S#AOp58x-;vxzyt$A^ato4MTeN*!lKYUb3s9N4NbV_Qkjz7JZy`*{`&;}6kjy7%L5uSs68(~t%!dW3|4}6G zA$g3<$C121Vj)qkHIulWBtC`YX(32IgXGy3{T!0#3!2(qq=4FgBrg+RLGlKPSBbA7 zSw!M>q8fh*C`jj<#J7;V-Qv81Lh=iep9}ex*st{Zjrco~ zKS*%!uSK!ECH6Pc)sVI;!XjM(>546SB@L3Uj1(=-D&(mBZw60SN4iGKcTJ>gQJ_6> zZQ?pD-wsIEC1<@Br%edagLHkQJ&|sJbW@}qTfUu;ZrGwXLb|cgNH-yN7HlP8vzAO3 zdToxhD~WEzEn2?a>Fm)8Ro2&P&hh>KuI`Jv& z64Dr{4*QYn6hQ4*T1Tpbe@%(3F2aB0awCoXe3Or-O5qJVEtb z(vI{5q?0H-QI86!?})$4sZR_*0pk(}`yg&umr` zM?2(j3XqtgbKsr|kTIrp{yO7R7dbiLjFK1>{{vM?F>JTfP*PLjl_vwry zmH)rUITnrp)A>lBLb?Fyqeve_`Y_UmnqxB=p~*St^btKvrrI7u`UKL)kuH>(I6pnm ztC{rRbo!(oMv_(H^l79oB7Fwwb96q-#N3PYd89A!GQ;U@dXw8!q%R?T1u55m^k>=M zA$=9;YjSj_v`IU?olj$Y9qGqN7bATSDW?PJn@Hb5`WDi+OZB;W-4=fmiu7GZv_3<< zk5vBoauHJb|BKcpnIGwaE7iFK=@&>p(fN4#Dbml7E=4Lg|4-0GY+37**;e|whLXFm zRQ^k(lD4mqe%)NRNu^A_)lYY(vUGr661NDxmuZj9PsIS#F=Nr`93zAq{HfTy?KSjL*>TTq#OI%O%ly+K-dWp{U zQQx3#{_&;g5t$2=9;%?;N%wl{8`5_p;>M_NQj+7x#U7>nLsLv^eN)solPMMIT~OZw z_04rxNE6UiH-_rn1f>{J@2<%ZT2`LxJyEYP7v<)xq+Uhc&i zw?e(O{3+l=^gbD_8a@Am`i`jYq`AAQ zQ``I-$!V_tl)6Zv4MKf))Y%c#)&3Vf1?q!QKN$5PsPBim8h zwI}MMD6<#pBU|#)1?*GMYAEWXDKMtxI~H}?rPgW#>ieU90A=(YByo@uayN4Q5IURV zf7B17^KjIUK>Z}tk3@YU>f=y9O6`xvCFlRAqkatP#}*tqg?~JW6Nuvl#TRvX0p+Bh z$jkR%f^ztCx;A^IC!>BA>L;T<74=h4KUFtYHf@LcX{b-py86e}>-D zP(M?!@J0P>4Wa_)lyXV!xy18OKcB<}g3{PXUxfN&s82&(;=LGkHT$Svq9ss_7V4KN zt#x`i>i4341?o4Uer2)ZggU!``qd0|4eB#czk&3%sIw!e>*9|*C0S9d-$<{S#97MZ zLOtp?>&jLA7S!)So%UbTa2x8gQNIiI+eMN=?jYXTcFI~L<`C~D>iSQy3QFfZI;8>M zN9X;-2T-4{{9^K6UqI%A#D|Cvqy7j9UH@sN?QvvllDUxh1nN(s{vPVO{)76{s4ph* z4DngwbHwL~FA!fu{Us7=|51O1_$u)=;v%9h{^%q9Z=LqP{wDcv5#J`hgZjILOwre) z{yyq|qW%HupQHXEWj;cE35kzYQucG}pV0X!>dR1HS}@7^OldL2nyN2QXUA9n67{c? zuT5Il|4VC2e!o?YihW1?9`zqc(Ecm`Cpv#7{(^d8&wmpqIlmLN3utbh)|aFHSIhTr z_08HLYubNgE0VJkvXx1INaLTaDm0y|AzQsguOSVL%(am1jjTN~7unj#)+KWtWE~1g z9fW7=A?tyx4Ov%YC1jf*TOV1+lKkdA+o067~f7%0E z2)lqxy8vXg|JqJy|Fc7p9ggfUm8VIh%n`&Rl_>+5>?mZ%Av;=~s^J*ovHy`jo}3ei z>6a(Q*s8eXy@0pLfwGuHe@#)3kj+ANDy_O-P{a5;PWM8yozC=d*FO#NbD0vsYMP8WV z?~r{@RX-r3wa>H*K&JLz`c`D}|CjFM{EF;14syC9`yJUII_$~*Y;l$&`-_~v74vpY zey;aFAYYNVlIkq9$xj6GRgjCoN^^tc*zJbtmb|iKpZisxN7GHM(kZ+<+=^XP-Tl~$CccItj#I7xV zH#$`(lh*@zg1jdaR)+l4Ag{=lJ@P8i(CvG5n#kqjUm;`*SkP(lUF5X?xi2{?ZK3%> zUPB(Tl!~ws^0?{LqT7{m)zO%ZJVU-0@*Mdt$Q#H9BJZV=s$@&#Teaw|k#9rhw#4m- zy@`DUNo-H-OYBG70eOEC0|ZIzNR(dypV8v%TpXE0J_z{;`tC~H4f*aQ1|#1?H^}lK z$cO6YkzKBi|SKA;|Ybeh~8g^-IS50OSYihSbct`sJg1Mw%b2gnXttK$_5@ z$PW`jIbKKkfD|&K&ZYK`M1C~#aSS5Pqr^);Yt4@-$+ai>vFcQL(RMuY6Z9)ijcdGq z8JbVfk6y)B^-n^69`X~BpN#w@!^$RNKG`Beqo;#`CLTI4hSBXb?{>;G5gM&!35mjb*Q`7Go&6~09xk>B#4u(u(< z1GzNX+nX9DEnsQfS(>y!9@2A=zl~g4$P37&NFPCd5Ap@b=OMoj`Mp|VMV0lIdcPm} z1IXtWMWJ3=Ru3Y782LjgCTjo9-J{5#LjD-?$D6Us2eA1<h|+jQo{mbu`6uzyx`{+ONOOP)`{t5C=3z?RlWynAKmvilS zmui+s6i82+NX_%cY)*T2yYjTO*XSto-Hj{h4g=^BE10rHok z2FL#m9si@T8d1mpXsjVfVol;&XtXD>c8k9b8an<*V_o8U#J0j$3=|scld}P_W5GwG z6P+6pH&Ukb@{LWQ{SB+D9Wmqoz(xm39GWM1?Oo2^#yN zk)p8!8e;!@p`qh{H1g(Xs?p%sEJ9;TH2R>i6&l;3u{9bx@|U?lbL7?#<-HlCk7B>B zXlyS88hz2|r=vAts{93L^haYb8UxVS1&tli7>LGB^kqN|BIAFNlvoC#u^Sr2*j|0n z*qxFxdKY>K8hfEJ6b;GIF!F`D2O7iC7*SdlXr!;Mpo9u@3ZOd0{_jK1-b}oBjY4BA zIiqE6g~piDb(^;)S$)vZ@jn{-qj4}A2cU7F7G1I8(P)kT8;78A3>s2#I?hMqFf z(x*I<1)a-G^glAFo`>qSWa=P`YVopMi0VbCjze`csxRvHO1w<@ zTH7m7<@pa)p8p{Jhw4@BPYFtor|<+7)>5u!l54b98oUnGiKt#*#@>MHjpW}%yjl7D z3eYk5P*f)oZz0NF0O8z<>TN=hz8%#&P`y)wx9q2v3fv7t9?(57q(9#aV+B;Fpn6}a zH120951{%xst=;7#x1H3p*j`S*HN9upxXZ=bP9l~dVx@VjQBY52~?j%^<`9_LiKr6 zr=$8Ts!yZ(jKr$xSXhsmN`3)(xmsn_7ntxxROQc)m#ctG(28a4Rh91{(gkG`>yZRBTvr777R6kL#mplm3 z7_vvWs`fvspP~9Cs-L6!Me)@`1@!69(S$;4SDZ^pwf|B5n)r>zYVcd)cc^|(;s>JW z;_{}xojSc14D3@U$P zX$F@eLXgC=FsT0x)&K2sjTK?+0i%<22^gJW7%;lP=zyX6A4b*bzoy|Fg}Fo%F+v)KmU?W9-7@{j^GYk5x^jgbBlk zVZo64+l8?W!%+wF>Wg61DMS0;;4p1?MGo5K#7SZ_VFWNz7$J-p2JQdFUm1)<=RTrg zj10!E%qoY`(j5Mg*$sx;|9VM-YnApS?geA-f)8UK82gf`69*Cn?hoSt1`jOx{TVz6 z#=#}$5EzG+^Z+GfzF?^SmkY)b?OBO&6pS-r91UX-`NzN*sNZXhV;MXShN^cMIt0Kt z0R{&J<0J`^b8;~pkUo`o8jSX^Udo)IgqSzRU>G;RI19%0`tis(8^$>>E`~7##wZ=L zjG-`w!5G0VJzO~Aje#)|#<_)CMn`Ay*BR%*xRCPa!;sz0I=og=bwa|p2!?FI^au{@J8kcFT`t(!=#udaXWfcL5t6<0u0^y7QN0N*Gr>Mi#Fx2e>L-t=6 zoa;!4!LY2{U8SL84U8LgUZ%v&u%t;R!h8V6BpCBx+ydhz7?WW<593xC&%wBjlDETn z1jZdOrogxp#@#UPl7ofys*Z<_@E$(heV9T zG#C%diNuxaR0-;F#KxmAyrpl4>Wz0`%v3$8 zkpQwN~^=uf_|HfwweqQpwfbk_cs{dhd zh%{9H>!p?X8s=z5eFNiLn6yp}`3qzZ7~jMA0p{i~euOEi@+X+f!T1^GQZVMjSODV} zRWEYM$zaApm`lR=Re~`72ZO5K_zi}nFqeSw7YuR!@bjfA#+t4Q zki+_@8DK6A6EIc(>m@}<ttH4y}k7lK<{Uyv*VXg;rHJEF|Tpi|`ENhLjQ2qJ43X3K;*MZrc`q^Y~ zU8Uvco96m3d%@fQW>4~a=xv%C!rX|DelScKAoOojFgMX8^1m%pPGT9Pv6`*^0$ypo z$1Ms&l=N0Gw}yEH%-%3}g(-R3F#EvVfw9}d+)kCSsrG-{d^P*Rtis$8=FTv8Qa+<# z?gF!)?f{iwv4_i4{|`(PrllOQe&rI~XgV;PFl#VX)x)gAY`}E&r-4Oo^5+iISNZ|f zt1ttY^!At`gB$`hAGz5aW(qS?VJv!ni3&Ul!+G0E;QCC@!z?!}<$|FV*M!`ug^ zDu4Y#s@Hs&Qs}`j_lMaZ<^eDd)IXxCz;?3i1m;1cwh(&Jx-; zL{h7LxGw5Y;z*c-U>*hYRG3G@JdVs`hy>Fpt#}EXTeJ^LUsi!Q>ftrt1Hql9W6d zrVbGQ;+#f4hX8GjGhhxS=S-M`VV(n14u6v#d$w-$C@f^H%#b1zn8RR>f;k-KNTwQ5 z^0m&IM1{|Tc>zo{{`HdgOPLoEFH(+{doj#OFvq~0s4EuCOJH6~;xd@yVCv6bU|vDw zs#kL?>8k|gYA>KQ$HSZe^9Dv;4f7h9*O9(f#iScNAT4~o5}MnM#G8mW3s!o*ET|&_ zcgVuLg*BW^ycH((zj-^%d&s#1=A9(&BHk@ntZadKFF8|)_Yvz4?^I@2ezPm-x)mR@4vn@_`h4(2m3pVijp zT#x+cDKNf}g!v-Omtf9-`7+E`g$YxC0bItu2J>|?+xCC?jNT;kEtqeYk~#&DSeVky z^ayG(7HM$AcYCBgLsR}oxGa5aHmk*N%FC#G0W)woVCTAg?y!3_is!HooU zO%;Qv%|)h5&`|wFb9Lh>1RlXif)+tc;1dJ{ZGw(!E5dI(+{A_ikt$YMBYTb@A;<|* zg3O3Rlvy<_2+F>3yK3$3o7?i6Hm}9 zgY|w`kvy5;{@TD5^}cecm)ztVJV+pQe~92=)nDCgO(}xl5rRjxTp^0xJ?#Ap+Y|Y6BM{ zc$MHog4YP%CU~9TO_4zGhT1{?J2!Z%asU(Z4#9f_?TNbAe>XpD>qq77YOGf9H=tI;l<$6rlG|D8llAhzHYN-GwbEH;k<-;nX+<9E#y!3 z!UYHyBV3Sh5yFKC7uG^01`30?hnPB)Awa7}xHzHkFG09uMbQ|m-AZ_D6p*@y%MzYS zxE$fGgv%2SAzXoQZNe1^2NSMDxU%Mz3JR1v)5BE=?fzfun}n+ouC6u=*Dz>zf9s?4 zce(UjDzy&bMuh7UuGe>^^rM#u*ViN&V!{pjCf!W9p*o2o8xw9uxQX_iaMRkh_t&N= z)N;k6!p#Y{Biw>;Yr-uFx6;n5;X?14C)|c`TNPV%Rh6(k;ZB4*5bmfK=86#ERLk#7 zX!pM>MTvyF5gtakJK?^BLkWdv55hhBMw*AnWKYetH{m{Ngv(yg_LBG38Kjh1Zthl>9z$q%K+B`fbNUF!5#C97JK-Iwr(U_P0g&)6!tp9r@4L4fqQeP9 z;wKY{<{`X?@KeHj37;gqkMLo_Nrcj@lL_zFvLuUGTje}R_>fWhD^Yvj6vD>{1$k7R zzZ$Q##UCepLU?K?eyrsxgYX%`XZ!Az7%SPI(;8`DdEVd)246JzlEIe= zUlGLcR|#M1;jar)lfR1z-z1bTf1i{a%r(Mm?|6ssBf@tHKO}t5G=HD)gT9H^_g(r= zZN_i)YI~`dw$8_dpQz2HI?@r;yFMfQh46F2X@p-8eogo#;aAF_Gpk$76TTswYT3Uf z{7$orw+~xUT~w_k3j9PU4)cS?H>Lb2mZ=Rmwl+ZY|5*(s(zN6JN;Es+Z$z^a{!Rp; z&YcMVB$`Fy3E^J`|2Fs!q5Sv7VMOwIwZIt#8Zr~n%!1TT{YT+hPHoyw+NY#;Q9q*D zsy?Ec%i1%VgJ>X8f1>jv79(0*<6iU)(Gqfzf&Sh- zh-fLIrEBZXWWK6{9nrExgNc?ST9IgZq7_sVsgC4T-Bu#9_+Qyj`Bx!YooH2})zs%j z2MtqF!8NeSiA^D7Ji3u+ZK9os)*;%0XkDU>iPkeKtxvQO(FQ~tYJH_OWlkc6%7+Z{ z1~A%$Xmg@XjdL@iAv!CNm7Oi_G~!7wh_)o!j%X_)oBxZc#R;Qrh_+QxvKo?>jkYJU zc%?e;sPZMY%+(;;nP@MfU5JJfiK%x}8;T<-+wOwb)|alj2hpBN)Ui_Hk2KKUMEeo# zL$t3NNBXsm-9-Bn9iWaO%%kqs@g@2X@!UiQ5=rZe!QUr3nCK0nLx^4_I+WK@EC)~5*;Uq;l~@4Tj1yHyXz&QlZZ|;%E?4B1XMhy z8WItmZb>>PH{?u%XW3(9xLEsKL(U_*$dL1ih8uE$KtnE6M9b14fJnSoX1s!2s`L>m zMVNQCh{V%I z6Foq5E0K7`7@|9f#uAOQ?6>_7^X(N*bSKexOTFuVO1!(5D)E03(LKg+ufh8?$rK=( zT;W9bo6b^;2aV?;gAWr;sW>Z0^eE9YM2`{aq@Cz-gHQAtMJP`h<>{WypC!`S3(<21 zpYPFMlt-hyROwtBv>VYYeIx%d- z9Eoge5dB81Zes zPj&#}S%~K#hIlsOS&92uEi85id$SFY!Xe^ASt%pCV#wtFK4AfKChJ1y!0Bv@r1^I-Y81vXLlW zjCdL1#fg_DUcz{mBwniT^0Q=4-gntIeePviqD;c$Wr>$lT&6l=CHb0LCPMKV#48dH zCSHknWy!8d7ORO@AzqzWmH?u^3;|PW8$42*YeoyOLRpho)DvV~u`Ti1#J2x$$IrCY zRNM85H|W+{{7MG6cq8JSh&LwQf_M|+&4@SE04q(V`V1l7Ts71fzLpG3#9I|`wG4o{ND~VI$tB7wTmTF!{EM~t}wbGWFu5*LKDWr@hIY)cqDN_T&m7h z*Hf>!$!t4BLK*SR#G|d^x5%W?RJxUTjA|?4PP|3!a~tui#N&t`C%&C{GVvY66Nv95 zzMEM7d*>F7sIiU(HQ9}kiJw|>BJm{RdrZQ;#P{`mxVG4&w&U)#L2GIj<+-2uA>s#! zA2f4Kk#>|#E#ilXZL2?)))(VES{pD*^&cT4h=p7&?g`>&iJv5Xn)s=%x5(z0n)eyg zTx$9p@e9PytC6KO*PV&@MdFwGWVb=1!OPZ_UeSun?(S-T5x++K8S(4HVwpFH-y?pL z*fxK(=e{j!6Td_Ju4=3HoMPI(PyB%@AQZ8idhAEUpAdg+mC{+ORrb@GtGfZjpA&ye z`~~q>#9wMgS@g|)AMw}3->8sc7gbp0d`B!+no2y)C>9oE2PyuZSazhJ)6gmAd&cH zy+b0HM1W*wl37V+A;GFV-Gb*@B>hNcv*xJwErl`%NsXjG$=oD!k_?hkNCuG1MKVzL zpmaD;Z`YqpL6dn%`qa%Nj9X_RnU`b%lKDvHR~>{XA3TcXlLbi@()qBgO_GJB+tzM* zr?%ovB#V*^CRvPRS(3#`mLge#MD~Bw=F*@#awSWXEK|uh`dE_XNLD0So@52pf81-T zgBT}SiKL4EHbSX}tB|ZsvMR|MB&(6EuKJ66i()EyO_H^0Cw{NaJn9iOW3mp(`XuX; z$dG4d5&7b2$p$1F*81(M*`+M$Q_0382a;?;vMb4^BwLegMzRIT5R%QSSXb*;s1GDt zl5C|J#W5rbNuW!%A=#c}TaxXxMxu;5{duSZidL&iDYMzU9^s3MtMzezzZb1 zk?cdVJIS6TLrM0~$RN!jYk_`ul8ErVHTcW$Dn#*+WM7g4NcJPy-`rRRH3@4kkqjgG zkLoGak#Vl0!(2AUTx8=KrFSboS)%+5&&-@R1xza+G;arK%(yLvlQc znDjVpciq<-qO+Ie1dA!;${gUQt-*Yw>hi{h7bmtH;UIueKEdXl;+e*=lW{MDa? zqt$M&tsp+&k~Bx*t;1eqcx0ZC|MkXqGBiAge&gd|lt zVlMS(u|Q5zsBU6U4V$9RNRr=3ZX)@HWE9E!BsY`1Mq>WKW&s}NS+nse@c-dKyr!y zzew^LiOi_wQR07<>lJ%^wJOE%*Gb+WdE0QA=Lqv#y_&uwk4BMK09sS^9PO1KkbF(@ zA<4&P%#YOOGKWuO3usP~Pf5No*)vamA^BC`i9~jnx^n(bIupqsB!83qN%EI6 zS5ddK9?3tXGn#w+tD98m3<7J@&QbkkeL z*-39Cor82i(*C6Lkj_aukaPg)T*9DESiMDm=ex(=x<2W*`ydj;wGq??j%K)MO(hC(OZsK>eSe^;-4lce;` z`X=ovNZ*|wl5S4AGwBwj+mUW*xwh)%+8X&!&U9OQjH

F>Ft|gCRQ_+^J$Pd>7K) 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%0AADg9UsktY0@MG& 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%0De{<5UNVg!}QguUASAH^T(yd9iQHmKHRnd;u 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 z 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 z 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%0A=ih-W6A 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

0Qv9!JCMK| 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%0A=qQESDAYlrJ(<}H_r|uk5AKWm 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

-48YYk@#`Se@b&Y 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 &V^%vA5 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 z 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�*#YtoY+rj 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 XGk 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 `DkC$9ypojhKhgM*%wS}OBQpdUwMGsQ%3Q-7 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

Jp%U4)JKZ0uUz&h*bl+J74~@8 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

}It0 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

t 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%0Aa!IJlS8A6 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

  • p;4u!Wc{9eR@5*3=H7whc8iaBAC9+fKpuUPEmM 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%0DD-YD;*0>=B2`=Q)h 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�e(Elsq|Fx}FyW&))os7yU4Ejnw=gg0%q0*1R>Esz?e^k!Y4uHy8sN8@G z-~UkI`yVQN|3iiEf2i>N4;8-up~Ck+RQUdf%7v(0iOL{3Ju4TH7o&11gTbiC`yWub zgdD1W5_#Dxs$L@$PMf@KX zF@IFvB*p)0`EyYD7!~?|h5lcm|5xb$75aaL{$F{I)6)Md;{T{DBL_}|7(j|g3401iut3mj9gBxAXk!~lAn>Q$j=oSd_jJR%2y1&uIZ~)pq7Hlx2XJp z%6B{#;{Rebawe`Je^iuAQP!cd5ta3*{EW&5DnBXK&dOh?{Hj>X{|%KaD)j$~_VV%I;wFQ-})VGoU39H+Y+mkzxO~@TlZI0?rjGL0p z6dCM{D&PN8-IX7AQ%nzfwFQ-y^*FYQ|EG7*)n2IfMYT7oeNYwuM^)HpRKjWW+d^=4GhMs*mf=b(Bqs^_9Q0M+w2 z?fHsoLvsf>}S^qp7rPE_wkbu4w+-rAnLhswQFSO-?`NA(d@A3${+st>aDA!*h3 zDb?{*9u`I4Ayywn^>I|i|51HRbX}uX>Hk&we{~{TCn?r<+Qj&2{JuY`&!DP0#LiHU~XQTQys&m--7F+e6pG#$4BjsIG7ohqc_4%Uf@1d#-sk|>rdNdcI z`W31lqPh~*k5FBL>SE@6EIInFxw@3fC*(46IVtsjZ6AJ$>gT9_M*aUWbso@CQ{VTW zo(F=!K6#>o(nPTW`o#uT?4sDkE>;u^_JSxDP>Kx|6;x0Z5dl%b-mzoD-V65bOJ*jM znPlddv+te%|E=}bXPvk2$xU+a&CZ=9lX-=@Ilf+{!uh}XjNkSK+TKIkn`m2!wzpWy z`M>Q8^?$T+{%?EjeYAauHqQUswBPM~vW@=V_OU8<_epAKP_6OREX!{dw zZD{+8`JDf^asJ+sTOYiN#_(j3zcUWSUE>1^+Kd3Y`G3e+9dP5oX6Djk{0{_;A(TMJ%icmi)t zmUbb#lHEuo)C&>1UYBfD#oR^py2D!+9_RnwI;z`s^%%(?`;cjD7@{cZ?C%Di(yoDNa%LinDI{V_J_AKyglLV z0&h2XyHX#X&|dNL=>H!5-|qWf@b-nbH#7IqOk4j5D*LHoTX-bAW8fVC?_hWbvh*M= zHRHiMgvz0$`aitG;T;KY6ucu^hhNe<{JPfRx3>!!@CyVRCwzD@TO>vZD%u{r&C#jr8mI48QzVIZ&Ka% z(F`iLsA8T2^lpPU2i{D0cfz}!rRx99aXyR6Z1OHr{U6>v37cbkF1&g0=>Oh*s@wj( zpP3J+V%`kn(f_>#GBUA(hh#ku-a>I6hW9X{o8T=%5W-uG(#7zWpqLEHN8rBzZz((< z-lOnV!Fvqe%kUnD_YAyc@ScRXoNIZ4>wSf>`aisii$x=j0a&oAs;z!~0ql^F1c-TX;Xf`;Pkes$2hDP31>s z8u$Ad-e2&3f%iK+`oBm2xBL4C^Z(R*JC^>2_a8j^zxS`|_NZ@Trl*RzBjy$1Cu61r z-+@<#pMn>_OYFVE%#c+7hgTz`g!cNXSEtgT@}I_j8h#FbhH+N)


    Y&y(u^cHjLL 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

    ~8SNu|QbkSiq}CEFI0;tleKBwH2odSt$Cm-GTX zIW(QJbNxdy6l(P=leE*OIit2bxTJCJLsFH44>MIMYbrZC0y*5iIEs#WTL(0g>;syW zRQ$A$4>T38j8@;3T|B2ch~~2nOzMl3rnsfRlw@-x$uN?Su2O5+jrz}=CgF8cxSiLt zewwj1ZE^EfJA9NZTx5%dtCnb6S*xczclva9p1Z$1-QFF{3sQWbY!S%*o3v%;-o*pi z6ev67HtEj--FgyJllNHpMk;%Y@|=5CK)}1$zs`p8X?rx?+|(WTUNg~ zR==i|Y176jlQxeSEnT75oVz?P?X_*&`}o7qwS+9yj+%{=|O5+hh8VPp+~ZH(^ik97wft-+Rs`cy;wBq z#axlfEiBbxvud7LW8?7UrPnCi_c%G!5mdI<6;gw}t|;d2ot4AAvvL^S%7NOAw%-cx zd)uKt7v2k(;_?A*`;D=jLsG?Jxih={u(_<%%bM5zrw#`^SPa(oD&yhy=G3vY(*@s{ zF4-aaQeJ+=KsWBm<1gyZq?ep`-wtDNMIj!m+c{KeZhw0i+MnqOtSn^peh_&Y7 z0Qm~sAsxtk-@8LvzMR#>^pm*;N{-sSNs8S!sp2m* zQF}wd=s{QH#Dd}Hoa$TwiRcE7v zHay7qvR5oyFl9$(xv?!X+7f=rmkoEB+Ddmnx^|G03@au;2%bGMs z%<9p2_lV8oX3BbI+o!c{J%(Lk+mU<(D%QKC2{_%99B=zlRJQ-_62AZLrA<;&mS*y> z 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≺0A*02(ItQ7lIpm^M&AMf?El0>CG1c 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

  • 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

    F~~gccw(;T`S0BNRYGPodfR@c;||Qy~#Td9@{y+ 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�y-?!h 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