From fa685dc541f3f63f18518cc7b665d354ad8f4ca1 Mon Sep 17 00:00:00 2001 From: grimsi <9295182+grimsi@users.noreply.github.com> Date: Tue, 8 Oct 2024 21:15:49 +0200 Subject: [PATCH] Preparation for plugins --- .gitignore | 14 +- .run/GameyfinApplication.run.xml | 2 +- build.gradle.kts | 113 +- gameyfin/build.gradle.kts | 93 + components.json => gameyfin/components.json | 2 +- gameyfin/gradle/libs.versions.toml | 26 + gameyfin/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43453 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + gameyfin/gradlew | 249 + gameyfin/gradlew.bat | 92 + nextui.ts => gameyfin/nextui.ts | 0 .../package-lock.json | 6126 +++++++++-------- package.json => gameyfin/package.json | 112 +- .../postcss.config.js | 0 .../main/frontend/@/components/ui/alert.tsx | 0 .../main/frontend/@/components/ui/sonner.tsx | 0 {src => gameyfin/src}/main/frontend/App.tsx | 0 .../main/frontend/components/ProfileMenu.tsx | 0 .../administration/ConfigFormField.tsx | 0 .../administration/LibraryManagement.tsx | 0 .../administration/LogManagement.tsx | 0 .../administration/MessageManagement.tsx | 0 .../administration/ProfileManagement.tsx | 0 .../administration/SsoManagement.tsx | 0 .../administration/UserManagement.tsx | 0 .../messages/EditTemplateModel.tsx | 0 .../messages/SendTestNotificationModal.tsx | 0 .../administration/withConfigPage.tsx | 0 .../components/general/AssignRolesModal.tsx | 0 .../frontend/components/general/Avatar.tsx | 0 .../components/general/CheckboxInput.tsx | 0 .../general/ConfirmUserDeletionModal.tsx | 0 .../frontend/components/general/Input.tsx | 0 .../components/general/InviteUserModal.tsx | 0 .../components/general/PasswordResetModal.tsx | 0 .../general/PasswortResetTokenModal.tsx | 0 .../frontend/components/general/RoleChip.tsx | 0 .../frontend/components/general/Section.tsx | 0 .../components/general/SelectInput.tsx | 0 .../components/general/SignUpModal.tsx | 0 .../components/general/SmallInfoField.tsx | 0 .../components/general/UserManagementCard.tsx | 0 .../components/general/withSideMenu.tsx | 0 .../components/theming/GameyfinLogo.tsx | 0 .../components/theming/ThemePreview.tsx | 0 .../components/theming/ThemeSelector.tsx | 0 .../frontend/components/wizard/Wizard.tsx | 0 .../frontend/components/wizard/WizardStep.tsx | 0 .../main/frontend/endpoints/AvatarEndpoint.ts | 0 .../src}/main/frontend/endpoints/endpoints.ts | 0 .../src}/main/frontend/index.html | 0 {src => gameyfin/src}/main/frontend/index.tsx | 0 {src => gameyfin/src}/main/frontend/main.css | 0 .../src}/main/frontend/routes.tsx | 0 .../src}/main/frontend/theming/theme.ts | 0 .../src}/main/frontend/theming/themes.ts | 0 .../src}/main/frontend/theming/themes/blue.ts | 0 .../frontend/theming/themes/colorblind.ts | 0 .../frontend/theming/themes/gameyfin-blue.ts | 0 .../theming/themes/gameyfin-classic.ts | 0 .../theming/themes/gameyfin-violet.ts | 0 .../main/frontend/theming/themes/neutral.ts | 0 .../main/frontend/theming/themes/orange.ts | 0 .../main/frontend/theming/themes/purple.ts | 0 .../src}/main/frontend/theming/themes/red.ts | 0 .../src}/main/frontend/theming/themes/rose.ts | 0 .../main/frontend/theming/themes/slate.ts | 0 .../main/frontend/theming/themes/violet.ts | 0 .../main/frontend/theming/themes/yellow.ts | 0 .../src}/main/frontend/util/auth.ts | 0 .../main/frontend/util/custom-validators.ts | 0 .../src}/main/frontend/util/middleware.ts | 0 .../src}/main/frontend/util/routing.ts | 0 .../src}/main/frontend/util/utils.ts | 0 .../frontend/views/AdministrationView.tsx | 0 .../frontend/views/EmailConfirmationView.tsx | 0 .../views/InvitationRegistrationView.tsx | 0 .../src}/main/frontend/views/LoginView.tsx | 0 .../src}/main/frontend/views/MainLayout.tsx | 0 .../main/frontend/views/PasswordResetView.tsx | 0 .../src}/main/frontend/views/ProfileView.tsx | 0 .../src}/main/frontend/views/SetupView.tsx | 0 .../src}/main/frontend/views/TestView.tsx | 3 +- .../de/grimsi/gameyfin/GameyfinApplication.kt | 0 .../grimsi/gameyfin/config/ConfigEndpoint.kt | 0 .../gameyfin/config/ConfigProperties.kt | 7 + .../grimsi/gameyfin/config/ConfigService.kt | 0 .../gameyfin/config/dto/ConfigEntryDto.kt | 0 .../gameyfin/config/dto/ConfigValuePairDto.kt | 0 .../gameyfin/config/entities/ConfigEntry.kt | 0 .../config/persistence/ConfigRepository.kt | 0 .../gameyfin/core/PluginManagerConfig.kt | 11 + .../kotlin/de/grimsi/gameyfin/core/Role.kt | 0 .../grimsi/gameyfin/core/SetupDataLoader.kt | 0 .../kotlin/de/grimsi/gameyfin/core/Utils.kt | 0 .../annotations/DynamicAccessInterceptor.kt | 0 .../core/annotations/DynamicPublicAccess.kt | 0 .../core/annotations/NullOrNotBlank.kt | 0 .../annotations/NullOrNotBlankValidator.kt | 0 .../core/development/DelayInterceptor.kt | 0 .../gameyfin/core/events/AsyncConfig.kt | 0 .../de/grimsi/gameyfin/core/events/Events.kt | 0 .../security/AuthenticationProviderConfig.kt | 0 .../core/security/AuthorityMapperConfig.kt | 0 .../core/security/EncryptionConverter.kt | 0 .../core/security/EncryptionMapConverter.kt | 0 .../gameyfin/core/security/EncryptionUtils.kt | 0 .../core/security/PasswordEncoderConfig.kt | 0 .../core/security/RoleHierarchyConfig.kt | 0 .../gameyfin/core/security/SecurityConfig.kt | 0 .../core/security/SessionRegistryConfig.kt | 0 .../SsoAuthenticationSuccessHandler.kt | 0 .../core/security/SsoEnabledCondition.kt | 0 .../gameyfin/core/security/WebConfig.kt | 0 .../kotlin/de/grimsi/gameyfin/games/Game.kt | 24 + .../de/grimsi/gameyfin/games/GameDto.kt | 6 + .../grimsi/gameyfin/games/GameRepository.kt | 5 + .../de/grimsi/gameyfin/games/GameService.kt | 54 + .../de/grimsi/gameyfin/libraries/Library.kt | 19 + .../grimsi/gameyfin/libraries/LibraryDto.kt | 7 + .../gameyfin/libraries/LibraryEndpoint.kt | 11 +- .../gameyfin/libraries}/LibraryRepository.kt | 3 +- .../gameyfin/libraries/LibraryService.kt | 88 + .../de/grimsi/gameyfin/logs/LogEndpoint.kt | 0 .../de/grimsi/gameyfin/logs/LogService.kt | 0 .../grimsi/gameyfin/logs/dto/LogConfigDto.kt | 0 .../gameyfin/logs/util/AsyncFileTailer.kt | 0 .../gameyfin/messages/MessageEndpoint.kt | 0 .../gameyfin/messages/MessageService.kt | 0 .../providers/AbstractMessageProvider.kt | 0 .../providers/EmailMessageProvider.kt | 0 .../messages/templates/MessageTemplateDto.kt | 0 .../templates/MessageTemplateEndpoint.kt | 0 .../templates/MessageTemplateService.kt | 0 .../messages/templates/MessageTemplates.kt | 0 .../messages/templates/MjmlTemplate.kt | 0 .../messages/templates/TemplateType.kt | 0 .../de/grimsi/gameyfin/setup/SetupEndpoint.kt | 0 .../de/grimsi/gameyfin/setup/SetupFilter.kt | 0 .../de/grimsi/gameyfin/setup/SetupService.kt | 0 .../de/grimsi/gameyfin/shared/token/Token.kt | 0 .../grimsi/gameyfin/shared/token/TokenDto.kt | 0 .../gameyfin/shared/token/TokenRepository.kt | 0 .../gameyfin/shared/token/TokenService.kt | 0 .../grimsi/gameyfin/shared/token/TokenType.kt | 0 .../shared/token/TokenTypeUserType.kt | 0 .../shared/token/TokenValidationResult.kt | 0 .../grimsi/gameyfin/system/SystemEndpoint.kt | 0 .../grimsi/gameyfin/system/SystemService.kt | 0 .../de/grimsi/gameyfin/users/RoleService.kt | 0 .../grimsi/gameyfin/users/SessionService.kt | 0 .../de/grimsi/gameyfin/users/UserEndpoint.kt | 0 .../de/grimsi/gameyfin/users/UserService.kt | 0 .../gameyfin/users/avatar/AvatarController.kt | 0 .../grimsi/gameyfin/users/dto/UserInfoDto.kt | 0 .../gameyfin/users/dto/UserRegistrationDto.kt | 0 .../gameyfin/users/dto/UserUpdateDto.kt | 0 .../EmailConfirmationEndpoint.kt | 0 .../EmailConfirmationService.kt | 0 .../grimsi/gameyfin/users/entities/Avatar.kt | 0 .../de/grimsi/gameyfin/users/entities/User.kt | 0 .../users/enums/RoleAssignmentResult.kt | 0 .../enums/UserInvitationAcceptanceResult.kt | 0 .../passwordreset/PasswordResetEndpoint.kt | 0 .../passwordreset/PasswordResetService.kt | 0 .../users/persistence/AvatarContentStore.kt | 0 .../users/persistence/UserRepository.kt | 0 .../users/preferences/UserPreference.kt | 0 .../preferences/UserPreferenceRepository.kt | 0 .../users/preferences/UserPreferences.kt | 0 .../preferences/UserPreferencesEndpoint.kt | 0 .../preferences/UserPreferencesService.kt | 0 .../users/registration/InvitationService.kt | 0 .../registration/RegistrationEndpoint.kt | 0 .../users/util/UserDetailsExtensions.kt | 0 .../META-INF/resources/images/Logo.svg | 0 .../src}/main/resources/application.yml | 4 + .../src}/main/resources/banner.txt | 0 .../templates/log-config-template.xml | 0 .../templates/messages/account-deleted.mjml | 0 .../templates/messages/account-disabled.mjml | 0 .../templates/messages/account-enabled.mjml | 0 .../messages/email-already-registered.mjml | 0 .../messages/email-confirmation.mjml | 0 .../messages/password-reset-request.mjml | 0 .../templates/messages/user-invitation.mjml | 0 .../messages/waiting-for-approval.mjml | 0 .../tailwind.config.ts | 0 tsconfig.json => gameyfin/tsconfig.json | 0 types.d.ts => gameyfin/types.d.ts | 0 vite.config.ts => gameyfin/vite.config.ts | 0 .../vite.generated.ts | 0 gradle.properties | 8 +- plugin-api/build.gradle.kts | 21 + .../pluginapi/gamemetadata/GameMetadata.kt | 106 + .../gamemetadata/GameMetadataPlugin.kt | 7 + plugins/igdb/build.gradle.kts | 17 + .../gameyfin/plugins/igdb/IgdbPlugin.kt | 33 + settings.gradle.kts | 9 +- .../gameyfin/libraries/LibraryService.kt | 26 - .../gameyfin/libraries/entities/Library.kt | 15 - 201 files changed, 4339 insertions(+), 2981 deletions(-) create mode 100644 gameyfin/build.gradle.kts rename components.json => gameyfin/components.json (88%) create mode 100644 gameyfin/gradle/libs.versions.toml create mode 100644 gameyfin/gradle/wrapper/gradle-wrapper.jar create mode 100644 gameyfin/gradle/wrapper/gradle-wrapper.properties create mode 100644 gameyfin/gradlew create mode 100644 gameyfin/gradlew.bat rename nextui.ts => gameyfin/nextui.ts (100%) rename package-lock.json => gameyfin/package-lock.json (84%) rename package.json => gameyfin/package.json (66%) rename postcss.config.js => gameyfin/postcss.config.js (100%) rename {src => gameyfin/src}/main/frontend/@/components/ui/alert.tsx (100%) rename {src => gameyfin/src}/main/frontend/@/components/ui/sonner.tsx (100%) rename {src => gameyfin/src}/main/frontend/App.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/ProfileMenu.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/administration/ConfigFormField.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/administration/LibraryManagement.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/administration/LogManagement.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/administration/MessageManagement.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/administration/ProfileManagement.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/administration/SsoManagement.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/administration/UserManagement.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/administration/messages/EditTemplateModel.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/administration/messages/SendTestNotificationModal.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/administration/withConfigPage.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/general/AssignRolesModal.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/general/Avatar.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/general/CheckboxInput.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/general/ConfirmUserDeletionModal.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/general/Input.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/general/InviteUserModal.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/general/PasswordResetModal.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/general/PasswortResetTokenModal.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/general/RoleChip.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/general/Section.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/general/SelectInput.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/general/SignUpModal.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/general/SmallInfoField.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/general/UserManagementCard.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/general/withSideMenu.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/theming/GameyfinLogo.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/theming/ThemePreview.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/theming/ThemeSelector.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/wizard/Wizard.tsx (100%) rename {src => gameyfin/src}/main/frontend/components/wizard/WizardStep.tsx (100%) rename {src => gameyfin/src}/main/frontend/endpoints/AvatarEndpoint.ts (100%) rename {src => gameyfin/src}/main/frontend/endpoints/endpoints.ts (100%) rename {src => gameyfin/src}/main/frontend/index.html (100%) rename {src => gameyfin/src}/main/frontend/index.tsx (100%) rename {src => gameyfin/src}/main/frontend/main.css (100%) rename {src => gameyfin/src}/main/frontend/routes.tsx (100%) rename {src => gameyfin/src}/main/frontend/theming/theme.ts (100%) rename {src => gameyfin/src}/main/frontend/theming/themes.ts (100%) rename {src => gameyfin/src}/main/frontend/theming/themes/blue.ts (100%) rename {src => gameyfin/src}/main/frontend/theming/themes/colorblind.ts (100%) rename {src => gameyfin/src}/main/frontend/theming/themes/gameyfin-blue.ts (100%) rename {src => gameyfin/src}/main/frontend/theming/themes/gameyfin-classic.ts (100%) rename {src => gameyfin/src}/main/frontend/theming/themes/gameyfin-violet.ts (100%) rename {src => gameyfin/src}/main/frontend/theming/themes/neutral.ts (100%) rename {src => gameyfin/src}/main/frontend/theming/themes/orange.ts (100%) rename {src => gameyfin/src}/main/frontend/theming/themes/purple.ts (100%) rename {src => gameyfin/src}/main/frontend/theming/themes/red.ts (100%) rename {src => gameyfin/src}/main/frontend/theming/themes/rose.ts (100%) rename {src => gameyfin/src}/main/frontend/theming/themes/slate.ts (100%) rename {src => gameyfin/src}/main/frontend/theming/themes/violet.ts (100%) rename {src => gameyfin/src}/main/frontend/theming/themes/yellow.ts (100%) rename {src => gameyfin/src}/main/frontend/util/auth.ts (100%) rename {src => gameyfin/src}/main/frontend/util/custom-validators.ts (100%) rename {src => gameyfin/src}/main/frontend/util/middleware.ts (100%) rename {src => gameyfin/src}/main/frontend/util/routing.ts (100%) rename {src => gameyfin/src}/main/frontend/util/utils.ts (100%) rename {src => gameyfin/src}/main/frontend/views/AdministrationView.tsx (100%) rename {src => gameyfin/src}/main/frontend/views/EmailConfirmationView.tsx (100%) rename {src => gameyfin/src}/main/frontend/views/InvitationRegistrationView.tsx (100%) rename {src => gameyfin/src}/main/frontend/views/LoginView.tsx (100%) rename {src => gameyfin/src}/main/frontend/views/MainLayout.tsx (100%) rename {src => gameyfin/src}/main/frontend/views/PasswordResetView.tsx (100%) rename {src => gameyfin/src}/main/frontend/views/ProfileView.tsx (100%) rename {src => gameyfin/src}/main/frontend/views/SetupView.tsx (100%) rename {src => gameyfin/src}/main/frontend/views/TestView.tsx (90%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/GameyfinApplication.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/config/ConfigEndpoint.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/config/ConfigProperties.kt (94%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/config/ConfigService.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/config/dto/ConfigEntryDto.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/config/dto/ConfigValuePairDto.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/config/entities/ConfigEntry.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/config/persistence/ConfigRepository.kt (100%) create mode 100644 gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/PluginManagerConfig.kt rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/Role.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/SetupDataLoader.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/Utils.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/annotations/DynamicAccessInterceptor.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/annotations/DynamicPublicAccess.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/annotations/NullOrNotBlank.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/annotations/NullOrNotBlankValidator.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/development/DelayInterceptor.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/events/AsyncConfig.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/events/Events.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/security/AuthenticationProviderConfig.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/security/AuthorityMapperConfig.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/security/EncryptionConverter.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/security/EncryptionMapConverter.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/security/EncryptionUtils.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/security/PasswordEncoderConfig.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/security/RoleHierarchyConfig.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/security/SecurityConfig.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/security/SessionRegistryConfig.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/security/SsoAuthenticationSuccessHandler.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/security/SsoEnabledCondition.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/core/security/WebConfig.kt (100%) create mode 100644 gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/Game.kt create mode 100644 gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/GameDto.kt create mode 100644 gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/GameRepository.kt create mode 100644 gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/GameService.kt create mode 100644 gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/Library.kt create mode 100644 gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/LibraryDto.kt rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/libraries/LibraryEndpoint.kt (50%) rename {src/main/kotlin/de/grimsi/gameyfin/libraries/persistence => gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries}/LibraryRepository.kt (54%) create mode 100644 gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/LibraryService.kt rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/logs/LogEndpoint.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/logs/LogService.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/logs/dto/LogConfigDto.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/logs/util/AsyncFileTailer.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/messages/MessageEndpoint.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/messages/MessageService.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/messages/providers/AbstractMessageProvider.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/messages/providers/EmailMessageProvider.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/messages/templates/MessageTemplateDto.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/messages/templates/MessageTemplateEndpoint.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/messages/templates/MessageTemplateService.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/messages/templates/MessageTemplates.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/messages/templates/MjmlTemplate.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/messages/templates/TemplateType.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/setup/SetupEndpoint.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/setup/SetupFilter.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/setup/SetupService.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/shared/token/Token.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/shared/token/TokenDto.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/shared/token/TokenRepository.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/shared/token/TokenService.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/shared/token/TokenType.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/shared/token/TokenTypeUserType.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/shared/token/TokenValidationResult.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/system/SystemEndpoint.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/system/SystemService.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/RoleService.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/SessionService.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/UserEndpoint.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/UserService.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/avatar/AvatarController.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/dto/UserInfoDto.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/dto/UserRegistrationDto.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/dto/UserUpdateDto.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/emailconfirmation/EmailConfirmationEndpoint.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/emailconfirmation/EmailConfirmationService.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/entities/Avatar.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/entities/User.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/enums/RoleAssignmentResult.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/enums/UserInvitationAcceptanceResult.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/passwordreset/PasswordResetEndpoint.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/passwordreset/PasswordResetService.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/persistence/AvatarContentStore.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/persistence/UserRepository.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/preferences/UserPreference.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/preferences/UserPreferenceRepository.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/preferences/UserPreferences.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/preferences/UserPreferencesEndpoint.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/preferences/UserPreferencesService.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/registration/InvitationService.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/registration/RegistrationEndpoint.kt (100%) rename {src => gameyfin/src}/main/kotlin/de/grimsi/gameyfin/users/util/UserDetailsExtensions.kt (100%) rename {src => gameyfin/src}/main/resources/META-INF/resources/images/Logo.svg (100%) rename {src => gameyfin/src}/main/resources/application.yml (91%) rename {src => gameyfin/src}/main/resources/banner.txt (100%) rename {src => gameyfin/src}/main/resources/templates/log-config-template.xml (100%) rename {src => gameyfin/src}/main/resources/templates/messages/account-deleted.mjml (100%) rename {src => gameyfin/src}/main/resources/templates/messages/account-disabled.mjml (100%) rename {src => gameyfin/src}/main/resources/templates/messages/account-enabled.mjml (100%) rename {src => gameyfin/src}/main/resources/templates/messages/email-already-registered.mjml (100%) rename {src => gameyfin/src}/main/resources/templates/messages/email-confirmation.mjml (100%) rename {src => gameyfin/src}/main/resources/templates/messages/password-reset-request.mjml (100%) rename {src => gameyfin/src}/main/resources/templates/messages/user-invitation.mjml (100%) rename {src => gameyfin/src}/main/resources/templates/messages/waiting-for-approval.mjml (100%) rename tailwind.config.ts => gameyfin/tailwind.config.ts (100%) rename tsconfig.json => gameyfin/tsconfig.json (100%) rename types.d.ts => gameyfin/types.d.ts (100%) rename vite.config.ts => gameyfin/vite.config.ts (100%) rename vite.generated.ts => gameyfin/vite.generated.ts (100%) create mode 100644 plugin-api/build.gradle.kts create mode 100644 plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/gamemetadata/GameMetadata.kt create mode 100644 plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/gamemetadata/GameMetadataPlugin.kt create mode 100644 plugins/igdb/build.gradle.kts create mode 100644 plugins/igdb/src/main/kotlin/de/grimsi/gameyfin/plugins/igdb/IgdbPlugin.kt delete mode 100644 src/main/kotlin/de/grimsi/gameyfin/libraries/LibraryService.kt delete mode 100644 src/main/kotlin/de/grimsi/gameyfin/libraries/entities/Library.kt diff --git a/.gitignore b/.gitignore index 5702948..7933b50 100644 --- a/.gitignore +++ b/.gitignore @@ -41,11 +41,9 @@ out/ .kotlin ### Custom ### -/data/ -/backend/src/main/resources/static/ -/docker/docker-compose.yml -/.gameyfin/ -/src/main/frontend/generated/ -/db/ -/logs/ -/templates/ +docker-compose.yml +generated +db +data +logs +templates diff --git a/.run/GameyfinApplication.run.xml b/.run/GameyfinApplication.run.xml index 795dfd6..2dfa2a0 100644 --- a/.run/GameyfinApplication.run.xml +++ b/.run/GameyfinApplication.run.xml @@ -5,7 +5,7 @@ - +