diff --git a/.gitignore b/.gitignore index 426a94c..88ff6ff 100644 --- a/.gitignore +++ b/.gitignore @@ -41,13 +41,12 @@ out/ .kotlin ### Custom ### -docker-compose.yml -generated -db -data -packaged_plugins -logs -templates +/generated +/db +/data +/packaged_plugins +/logs +/templates /gameyfin/src/main/frontend/**/*.js /gameyfin/src/main/frontend/**/*.js.map /gameyfin/src/main/bundles/ diff --git a/.run/GameyfinApplication.run.xml b/.run/GameyfinApplication.run.xml index 2b37e24..1c36705 100644 --- a/.run/GameyfinApplication.run.xml +++ b/.run/GameyfinApplication.run.xml @@ -1,22 +1,23 @@ - - + + \ No newline at end of file diff --git a/gameyfin/build.gradle.kts b/app/build.gradle.kts similarity index 97% rename from gameyfin/build.gradle.kts rename to app/build.gradle.kts index 92b302c..17ba943 100644 --- a/gameyfin/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,5 +1,5 @@ group = "de.grimsi" -val appMainClass = "de.grimsi.gameyfin.GameyfinApplicationKt" +val appMainClass = "org.gameyfin.GameyfinApplicationKt" plugins { id("org.springframework.boot") diff --git a/gameyfin/gradle/libs.versions.toml b/app/gradle/libs.versions.toml similarity index 100% rename from gameyfin/gradle/libs.versions.toml rename to app/gradle/libs.versions.toml diff --git a/gameyfin/gradle/wrapper/gradle-wrapper.jar b/app/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from gameyfin/gradle/wrapper/gradle-wrapper.jar rename to app/gradle/wrapper/gradle-wrapper.jar diff --git a/gameyfin/gradle/wrapper/gradle-wrapper.properties b/app/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from gameyfin/gradle/wrapper/gradle-wrapper.properties rename to app/gradle/wrapper/gradle-wrapper.properties diff --git a/gameyfin/gradlew b/app/gradlew old mode 100755 new mode 100644 similarity index 100% rename from gameyfin/gradlew rename to app/gradlew diff --git a/gameyfin/gradlew.bat b/app/gradlew.bat similarity index 100% rename from gameyfin/gradlew.bat rename to app/gradlew.bat diff --git a/gameyfin/heroui.ts b/app/heroui.ts similarity index 100% rename from gameyfin/heroui.ts rename to app/heroui.ts diff --git a/gameyfin/package-lock.json b/app/package-lock.json similarity index 100% rename from gameyfin/package-lock.json rename to app/package-lock.json diff --git a/gameyfin/package.json b/app/package.json similarity index 100% rename from gameyfin/package.json rename to app/package.json diff --git a/gameyfin/postcss.config.js b/app/postcss.config.js similarity index 100% rename from gameyfin/postcss.config.js rename to app/postcss.config.js diff --git a/app/src/main/bundles/prod.bundle b/app/src/main/bundles/prod.bundle new file mode 100644 index 0000000..25fcf28 Binary files /dev/null and b/app/src/main/bundles/prod.bundle differ diff --git a/gameyfin/src/main/frontend/App.tsx b/app/src/main/frontend/App.tsx similarity index 100% rename from gameyfin/src/main/frontend/App.tsx rename to app/src/main/frontend/App.tsx diff --git a/gameyfin/src/main/frontend/components/ProfileMenu.tsx b/app/src/main/frontend/components/ProfileMenu.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/ProfileMenu.tsx rename to app/src/main/frontend/components/ProfileMenu.tsx diff --git a/gameyfin/src/main/frontend/components/administration/ConfigFormField.tsx b/app/src/main/frontend/components/administration/ConfigFormField.tsx similarity index 95% rename from gameyfin/src/main/frontend/components/administration/ConfigFormField.tsx rename to app/src/main/frontend/components/administration/ConfigFormField.tsx index 1e03040..9efa46f 100644 --- a/gameyfin/src/main/frontend/components/administration/ConfigFormField.tsx +++ b/app/src/main/frontend/components/administration/ConfigFormField.tsx @@ -1,4 +1,4 @@ -import ConfigEntryDto from "Frontend/generated/de/grimsi/gameyfin/config/dto/ConfigEntryDto"; +import ConfigEntryDto from "Frontend/generated/org/gameyfin/app/config/dto/ConfigEntryDto"; import React from "react"; import Input from "Frontend/components/general/input/Input"; import CheckboxInput from "Frontend/components/general/input/CheckboxInput"; diff --git a/gameyfin/src/main/frontend/components/administration/LibraryManagement.tsx b/app/src/main/frontend/components/administration/LibraryManagement.tsx similarity index 95% rename from gameyfin/src/main/frontend/components/administration/LibraryManagement.tsx rename to app/src/main/frontend/components/administration/LibraryManagement.tsx index cfb240c..11fa2e8 100644 --- a/gameyfin/src/main/frontend/components/administration/LibraryManagement.tsx +++ b/app/src/main/frontend/components/administration/LibraryManagement.tsx @@ -8,8 +8,8 @@ import {Plus} from "@phosphor-icons/react"; import {LibraryEndpoint} from "Frontend/generated/endpoints"; import {LibraryOverviewCard} from "Frontend/components/general/cards/LibraryOverviewCard"; import LibraryCreationModal from "Frontend/components/general/modals/LibraryCreationModal"; -import LibraryUpdateDto from "Frontend/generated/de/grimsi/gameyfin/libraries/dto/LibraryUpdateDto"; -import LibraryDto from "Frontend/generated/de/grimsi/gameyfin/libraries/dto/LibraryDto"; +import LibraryUpdateDto from "Frontend/generated/org/gameyfin/app/libraries/dto/LibraryUpdateDto"; +import LibraryDto from "Frontend/generated/org/gameyfin/app/libraries/dto/LibraryDto"; import {useSnapshot} from "valtio/react"; import {libraryState} from "Frontend/state/LibraryState"; diff --git a/gameyfin/src/main/frontend/components/administration/LogManagement.tsx b/app/src/main/frontend/components/administration/LogManagement.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/administration/LogManagement.tsx rename to app/src/main/frontend/components/administration/LogManagement.tsx diff --git a/gameyfin/src/main/frontend/components/administration/MessageManagement.tsx b/app/src/main/frontend/components/administration/MessageManagement.tsx similarity index 98% rename from gameyfin/src/main/frontend/components/administration/MessageManagement.tsx rename to app/src/main/frontend/components/administration/MessageManagement.tsx index 0e84ce5..8ad552b 100644 --- a/gameyfin/src/main/frontend/components/administration/MessageManagement.tsx +++ b/app/src/main/frontend/components/administration/MessageManagement.tsx @@ -5,7 +5,7 @@ import Section from "Frontend/components/general/Section"; import {addToast, Button, Card, Tooltip, useDisclosure} from "@heroui/react"; import {MessageEndpoint, MessageTemplateEndpoint} from "Frontend/generated/endpoints"; import {PaperPlaneRight, Pencil} from "@phosphor-icons/react"; -import MessageTemplateDto from "Frontend/generated/de/grimsi/gameyfin/messages/templates/MessageTemplateDto"; +import MessageTemplateDto from "Frontend/generated/org/gameyfin/app/messages/templates/MessageTemplateDto"; import SendTestNotificationModal from "Frontend/components/administration/messages/SendTestNotificationModal"; import EditTemplateModal from "Frontend/components/administration/messages/EditTemplateModel"; diff --git a/gameyfin/src/main/frontend/components/administration/PluginManagement.tsx b/app/src/main/frontend/components/administration/PluginManagement.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/administration/PluginManagement.tsx rename to app/src/main/frontend/components/administration/PluginManagement.tsx diff --git a/gameyfin/src/main/frontend/components/administration/ProfileManagement.tsx b/app/src/main/frontend/components/administration/ProfileManagement.tsx similarity index 98% rename from gameyfin/src/main/frontend/components/administration/ProfileManagement.tsx rename to app/src/main/frontend/components/administration/ProfileManagement.tsx index ae0808c..c965cc1 100644 --- a/gameyfin/src/main/frontend/components/administration/ProfileManagement.tsx +++ b/app/src/main/frontend/components/administration/ProfileManagement.tsx @@ -6,7 +6,7 @@ import {ArrowCounterClockwise, Check, Info, Trash} from "@phosphor-icons/react"; import React, {useEffect, useState} from "react"; import {useAuth} from "Frontend/util/auth"; import * as Yup from "yup"; -import UserUpdateDto from "Frontend/generated/de/grimsi/gameyfin/users/dto/UserUpdateDto"; +import UserUpdateDto from "Frontend/generated/org/gameyfin/app/users/dto/UserUpdateDto"; import {EmailConfirmationEndpoint, MessageEndpoint, UserEndpoint} from "Frontend/generated/endpoints"; import {SmallInfoField} from "Frontend/components/general/SmallInfoField"; import {removeAvatar, uploadAvatar} from "Frontend/endpoints/AvatarEndpoint"; diff --git a/gameyfin/src/main/frontend/components/administration/SsoManagement.tsx b/app/src/main/frontend/components/administration/SsoManagement.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/administration/SsoManagement.tsx rename to app/src/main/frontend/components/administration/SsoManagement.tsx diff --git a/gameyfin/src/main/frontend/components/administration/SystemManagement.tsx b/app/src/main/frontend/components/administration/SystemManagement.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/administration/SystemManagement.tsx rename to app/src/main/frontend/components/administration/SystemManagement.tsx diff --git a/gameyfin/src/main/frontend/components/administration/UserManagement.tsx b/app/src/main/frontend/components/administration/UserManagement.tsx similarity index 96% rename from gameyfin/src/main/frontend/components/administration/UserManagement.tsx rename to app/src/main/frontend/components/administration/UserManagement.tsx index 74a4a64..4c38313 100644 --- a/gameyfin/src/main/frontend/components/administration/UserManagement.tsx +++ b/app/src/main/frontend/components/administration/UserManagement.tsx @@ -3,7 +3,7 @@ import ConfigFormField from "Frontend/components/administration/ConfigFormField" import withConfigPage from "Frontend/components/administration/withConfigPage"; import Section from "Frontend/components/general/Section"; import {UserEndpoint} from "Frontend/generated/endpoints"; -import UserInfoDto from "Frontend/generated/de/grimsi/gameyfin/users/dto/UserInfoDto"; +import UserInfoDto from "Frontend/generated/org/gameyfin/app/users/dto/UserInfoDto"; import {UserManagementCard} from "Frontend/components/general/cards/UserManagementCard"; import {SmallInfoField} from "Frontend/components/general/SmallInfoField"; import {Info, UserPlus} from "@phosphor-icons/react"; diff --git a/gameyfin/src/main/frontend/components/administration/messages/EditTemplateModel.tsx b/app/src/main/frontend/components/administration/messages/EditTemplateModel.tsx similarity index 96% rename from gameyfin/src/main/frontend/components/administration/messages/EditTemplateModel.tsx rename to app/src/main/frontend/components/administration/messages/EditTemplateModel.tsx index 6e81971..63604df 100644 --- a/gameyfin/src/main/frontend/components/administration/messages/EditTemplateModel.tsx +++ b/app/src/main/frontend/components/administration/messages/EditTemplateModel.tsx @@ -12,8 +12,8 @@ import { Textarea } from "@heroui/react"; import {MessageTemplateEndpoint} from "Frontend/generated/endpoints"; -import MessageTemplateDto from "Frontend/generated/de/grimsi/gameyfin/messages/templates/MessageTemplateDto"; -import TemplateType from "Frontend/generated/de/grimsi/gameyfin/messages/templates/TemplateType"; +import MessageTemplateDto from "Frontend/generated/org/gameyfin/app/messages/templates/MessageTemplateDto"; +import TemplateType from "Frontend/generated/org/gameyfin/app/messages/templates/TemplateType"; interface EditTemplateModalProps { isOpen: boolean; diff --git a/gameyfin/src/main/frontend/components/administration/messages/SendTestNotificationModal.tsx b/app/src/main/frontend/components/administration/messages/SendTestNotificationModal.tsx similarity index 97% rename from gameyfin/src/main/frontend/components/administration/messages/SendTestNotificationModal.tsx rename to app/src/main/frontend/components/administration/messages/SendTestNotificationModal.tsx index 3999955..7c2d065 100644 --- a/gameyfin/src/main/frontend/components/administration/messages/SendTestNotificationModal.tsx +++ b/app/src/main/frontend/components/administration/messages/SendTestNotificationModal.tsx @@ -4,7 +4,7 @@ import {addToast, Button, Modal, ModalBody, ModalContent, ModalFooter, ModalHead import Input from "Frontend/components/general/input/Input"; import {MessageEndpoint} from "Frontend/generated/endpoints"; import * as Yup from "yup"; -import MessageTemplateDto from "Frontend/generated/de/grimsi/gameyfin/messages/templates/MessageTemplateDto"; +import MessageTemplateDto from "Frontend/generated/org/gameyfin/app/messages/templates/MessageTemplateDto"; interface SendTestNotificationModalProps { isOpen: boolean; diff --git a/gameyfin/src/main/frontend/components/administration/withConfigPage.tsx b/app/src/main/frontend/components/administration/withConfigPage.tsx similarity index 98% rename from gameyfin/src/main/frontend/components/administration/withConfigPage.tsx rename to app/src/main/frontend/components/administration/withConfigPage.tsx index 7ee261d..b49b766 100644 --- a/gameyfin/src/main/frontend/components/administration/withConfigPage.tsx +++ b/app/src/main/frontend/components/administration/withConfigPage.tsx @@ -1,6 +1,6 @@ import React, {useEffect, useState} from "react"; import {ConfigEndpoint} from "Frontend/generated/endpoints"; -import ConfigEntryDto from "Frontend/generated/de/grimsi/gameyfin/config/dto/ConfigEntryDto"; +import ConfigEntryDto from "Frontend/generated/org/gameyfin/app/config/dto/ConfigEntryDto"; import {Form, Formik} from "formik"; import {Button, Skeleton} from "@heroui/react"; import {Check, Info} from "@phosphor-icons/react"; diff --git a/gameyfin/src/main/frontend/components/general/Avatar.tsx b/app/src/main/frontend/components/general/Avatar.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/general/Avatar.tsx rename to app/src/main/frontend/components/general/Avatar.tsx diff --git a/gameyfin/src/main/frontend/components/general/IconBackgroundPattern.tsx b/app/src/main/frontend/components/general/IconBackgroundPattern.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/general/IconBackgroundPattern.tsx rename to app/src/main/frontend/components/general/IconBackgroundPattern.tsx diff --git a/gameyfin/src/main/frontend/components/general/RoleChip.tsx b/app/src/main/frontend/components/general/RoleChip.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/general/RoleChip.tsx rename to app/src/main/frontend/components/general/RoleChip.tsx diff --git a/gameyfin/src/main/frontend/components/general/ScanProgressPopover.tsx b/app/src/main/frontend/components/general/ScanProgressPopover.tsx similarity index 96% rename from gameyfin/src/main/frontend/components/general/ScanProgressPopover.tsx rename to app/src/main/frontend/components/general/ScanProgressPopover.tsx index 3804475..449cb4c 100644 --- a/gameyfin/src/main/frontend/components/general/ScanProgressPopover.tsx +++ b/app/src/main/frontend/components/general/ScanProgressPopover.tsx @@ -11,11 +11,11 @@ import { } from "@heroui/react"; import {useSnapshot} from "valtio/react"; import {scanState} from "Frontend/state/ScanState"; -import LibraryScanProgress from "Frontend/generated/de/grimsi/gameyfin/libraries/dto/LibraryScanProgress"; +import LibraryScanProgress from "Frontend/generated/org/gameyfin/app/libraries/dto/LibraryScanProgress"; import {libraryState} from "Frontend/state/LibraryState"; import {Target} from "@phosphor-icons/react"; import {timeBetween, timeUntil} from "Frontend/util/utils"; -import LibraryScanStatus from "Frontend/generated/de/grimsi/gameyfin/libraries/dto/LibraryScanStatus"; +import LibraryScanStatus from "Frontend/generated/org/gameyfin/app/libraries/dto/LibraryScanStatus"; import {useEffect, useState} from "react"; export default function ScanProgressPopover() { diff --git a/gameyfin/src/main/frontend/components/general/SearchBar.tsx b/app/src/main/frontend/components/general/SearchBar.tsx similarity index 96% rename from gameyfin/src/main/frontend/components/general/SearchBar.tsx rename to app/src/main/frontend/components/general/SearchBar.tsx index b160046..877e7dd 100644 --- a/gameyfin/src/main/frontend/components/general/SearchBar.tsx +++ b/app/src/main/frontend/components/general/SearchBar.tsx @@ -2,7 +2,7 @@ import {Autocomplete, AutocompleteItem} from "@heroui/react"; import {CaretRight, MagnifyingGlass} from "@phosphor-icons/react"; import {useSnapshot} from "valtio/react"; import {gameState} from "Frontend/state/GameState"; -import GameDto from "Frontend/generated/de/grimsi/gameyfin/games/dto/GameDto"; +import GameDto from "Frontend/generated/org/gameyfin/app/games/dto/GameDto"; import {useNavigate} from "react-router"; import {GameCover} from "Frontend/components/general/covers/GameCover"; diff --git a/gameyfin/src/main/frontend/components/general/Section.tsx b/app/src/main/frontend/components/general/Section.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/general/Section.tsx rename to app/src/main/frontend/components/general/Section.tsx diff --git a/gameyfin/src/main/frontend/components/general/SmallInfoField.tsx b/app/src/main/frontend/components/general/SmallInfoField.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/general/SmallInfoField.tsx rename to app/src/main/frontend/components/general/SmallInfoField.tsx diff --git a/gameyfin/src/main/frontend/components/general/cards/LibraryOverviewCard.tsx b/app/src/main/frontend/components/general/cards/LibraryOverviewCard.tsx similarity index 92% rename from gameyfin/src/main/frontend/components/general/cards/LibraryOverviewCard.tsx rename to app/src/main/frontend/components/general/cards/LibraryOverviewCard.tsx index 8dde4c2..a773b31 100644 --- a/gameyfin/src/main/frontend/components/general/cards/LibraryOverviewCard.tsx +++ b/app/src/main/frontend/components/general/cards/LibraryOverviewCard.tsx @@ -1,11 +1,11 @@ import {Button, Card, Chip, Tooltip} from "@heroui/react"; -import LibraryDto from "Frontend/generated/de/grimsi/gameyfin/libraries/dto/LibraryDto"; -import GameDto from "Frontend/generated/de/grimsi/gameyfin/games/dto/GameDto"; +import LibraryDto from "Frontend/generated/org/gameyfin/app/libraries/dto/LibraryDto"; +import GameDto from "Frontend/generated/org/gameyfin/app/games/dto/GameDto"; import React from "react"; import {LibraryEndpoint} from "Frontend/generated/endpoints"; import {GameCover} from "Frontend/components/general/covers/GameCover"; import {MagnifyingGlass, SlidersHorizontal} from "@phosphor-icons/react"; -import ScanType from "Frontend/generated/de/grimsi/gameyfin/libraries/enums/ScanType"; +import ScanType from "Frontend/generated/org/gameyfin/app/libraries/enums/ScanType"; import {useNavigate} from "react-router"; import {useSnapshot} from "valtio/react"; import {gameState} from "Frontend/state/GameState"; diff --git a/gameyfin/src/main/frontend/components/general/cards/PluginManagementCard.tsx b/app/src/main/frontend/components/general/cards/PluginManagementCard.tsx similarity index 94% rename from gameyfin/src/main/frontend/components/general/cards/PluginManagementCard.tsx rename to app/src/main/frontend/components/general/cards/PluginManagementCard.tsx index 301a086..1dbb71a 100644 --- a/gameyfin/src/main/frontend/components/general/cards/PluginManagementCard.tsx +++ b/app/src/main/frontend/components/general/cards/PluginManagementCard.tsx @@ -19,13 +19,13 @@ import PluginState from "Frontend/generated/org/pf4j/PluginState"; import React, {ReactNode} from "react"; import PluginDetailsModal from "Frontend/components/general/modals/PluginDetailsModal"; import PluginLogo from "Frontend/components/general/plugin/PluginLogo"; -import PluginTrustLevel from "Frontend/generated/de/grimsi/gameyfin/core/plugins/management/PluginTrustLevel"; +import PluginTrustLevel from "Frontend/generated/org/gameyfin/app/core/plugins/management/PluginTrustLevel"; import {PluginEndpoint} from "Frontend/generated/endpoints"; -import PluginDto from "Frontend/generated/de/grimsi/gameyfin/core/plugins/dto/PluginDto"; +import PluginDto from "Frontend/generated/org/gameyfin/app/core/plugins/dto/PluginDto"; import PluginConfigValidationResult - from "Frontend/generated/de/grimsi/gameyfin/pluginapi/core/config/PluginConfigValidationResult"; + from "Frontend/generated/org/gameyfin/pluginapi/core/config/PluginConfigValidationResult"; import PluginConfigValidationResultType - from "Frontend/generated/de/grimsi/gameyfin/pluginapi/core/config/PluginConfigValidationResultType"; + from "Frontend/generated/org/gameyfin/pluginapi/core/config/PluginConfigValidationResultType"; export function PluginManagementCard({plugin}: { plugin: PluginDto }) { const pluginDetailsModal = useDisclosure(); diff --git a/gameyfin/src/main/frontend/components/general/cards/UserManagementCard.tsx b/app/src/main/frontend/components/general/cards/UserManagementCard.tsx similarity index 97% rename from gameyfin/src/main/frontend/components/general/cards/UserManagementCard.tsx rename to app/src/main/frontend/components/general/cards/UserManagementCard.tsx index 86eec03..cd33c65 100644 --- a/gameyfin/src/main/frontend/components/general/cards/UserManagementCard.tsx +++ b/app/src/main/frontend/components/general/cards/UserManagementCard.tsx @@ -7,8 +7,8 @@ import {AvatarEndpoint} from "Frontend/endpoints/endpoints"; import Avatar from "Frontend/components/general/Avatar"; import ConfirmUserDeletionModal from "Frontend/components/general/modals/ConfirmUserDeletionModal"; import PasswordResetTokenModal from "Frontend/components/general/modals/PasswortResetTokenModal"; -import TokenDto from "Frontend/generated/de/grimsi/gameyfin/shared/token/TokenDto"; -import UserInfoDto from "Frontend/generated/de/grimsi/gameyfin/users/dto/UserInfoDto"; +import TokenDto from "Frontend/generated/org/gameyfin/app/shared/token/TokenDto"; +import UserInfoDto from "Frontend/generated/org/gameyfin/app/users/dto/UserInfoDto"; import RoleChip from "Frontend/components/general/RoleChip"; import AssignRolesModal from "Frontend/components/general/modals/AssignRolesModal"; diff --git a/gameyfin/src/main/frontend/components/general/covers/CoverGrid.tsx b/app/src/main/frontend/components/general/covers/CoverGrid.tsx similarity index 85% rename from gameyfin/src/main/frontend/components/general/covers/CoverGrid.tsx rename to app/src/main/frontend/components/general/covers/CoverGrid.tsx index b902c91..303703a 100644 --- a/gameyfin/src/main/frontend/components/general/covers/CoverGrid.tsx +++ b/app/src/main/frontend/components/general/covers/CoverGrid.tsx @@ -1,4 +1,4 @@ -import GameDto from "Frontend/generated/de/grimsi/gameyfin/games/dto/GameDto"; +import GameDto from "Frontend/generated/org/gameyfin/app/games/dto/GameDto"; import {GameCover} from "Frontend/components/general/covers/GameCover"; interface CoverGridProps { diff --git a/gameyfin/src/main/frontend/components/general/covers/CoverRow.tsx b/app/src/main/frontend/components/general/covers/CoverRow.tsx similarity index 97% rename from gameyfin/src/main/frontend/components/general/covers/CoverRow.tsx rename to app/src/main/frontend/components/general/covers/CoverRow.tsx index 9880e6d..dbe1c1a 100644 --- a/gameyfin/src/main/frontend/components/general/covers/CoverRow.tsx +++ b/app/src/main/frontend/components/general/covers/CoverRow.tsx @@ -1,6 +1,6 @@ import React, {useEffect, useRef, useState} from "react"; import {GameCover} from "Frontend/components/general/covers/GameCover"; -import GameDto from "Frontend/generated/de/grimsi/gameyfin/games/dto/GameDto"; +import GameDto from "Frontend/generated/org/gameyfin/app/games/dto/GameDto"; import {ArrowRight} from "@phosphor-icons/react"; import {useNavigate} from "react-router"; diff --git a/gameyfin/src/main/frontend/components/general/covers/GameCover.tsx b/app/src/main/frontend/components/general/covers/GameCover.tsx similarity index 93% rename from gameyfin/src/main/frontend/components/general/covers/GameCover.tsx rename to app/src/main/frontend/components/general/covers/GameCover.tsx index 98c8443..00e99d7 100644 --- a/gameyfin/src/main/frontend/components/general/covers/GameCover.tsx +++ b/app/src/main/frontend/components/general/covers/GameCover.tsx @@ -1,4 +1,4 @@ -import GameDto from "Frontend/generated/de/grimsi/gameyfin/games/dto/GameDto"; +import GameDto from "Frontend/generated/org/gameyfin/app/games/dto/GameDto"; import {Image} from "@heroui/react"; import {GameCoverFallback} from "Frontend/components/general/covers/GameCoverFallback"; diff --git a/gameyfin/src/main/frontend/components/general/covers/GameCoverFallback.tsx b/app/src/main/frontend/components/general/covers/GameCoverFallback.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/general/covers/GameCoverFallback.tsx rename to app/src/main/frontend/components/general/covers/GameCoverFallback.tsx diff --git a/gameyfin/src/main/frontend/components/general/covers/ImageCarousel.tsx b/app/src/main/frontend/components/general/covers/ImageCarousel.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/general/covers/ImageCarousel.tsx rename to app/src/main/frontend/components/general/covers/ImageCarousel.tsx diff --git a/gameyfin/src/main/frontend/components/general/covers/LibraryHeader.tsx b/app/src/main/frontend/components/general/covers/LibraryHeader.tsx similarity index 91% rename from gameyfin/src/main/frontend/components/general/covers/LibraryHeader.tsx rename to app/src/main/frontend/components/general/covers/LibraryHeader.tsx index e2c603b..963195d 100644 --- a/gameyfin/src/main/frontend/components/general/covers/LibraryHeader.tsx +++ b/app/src/main/frontend/components/general/covers/LibraryHeader.tsx @@ -1,6 +1,6 @@ -import LibraryDto from "Frontend/generated/de/grimsi/gameyfin/libraries/dto/LibraryDto"; +import LibraryDto from "Frontend/generated/org/gameyfin/app/libraries/dto/LibraryDto"; import React from "react"; -import GameDto from "Frontend/generated/de/grimsi/gameyfin/games/dto/GameDto"; +import GameDto from "Frontend/generated/org/gameyfin/app/games/dto/GameDto"; import {useSnapshot} from "valtio/react"; import {gameState} from "Frontend/state/GameState"; import IconBackgroundPattern from "Frontend/components/general/IconBackgroundPattern"; diff --git a/gameyfin/src/main/frontend/components/general/input/ArrayInput.tsx b/app/src/main/frontend/components/general/input/ArrayInput.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/general/input/ArrayInput.tsx rename to app/src/main/frontend/components/general/input/ArrayInput.tsx diff --git a/gameyfin/src/main/frontend/components/general/input/CheckboxInput.tsx b/app/src/main/frontend/components/general/input/CheckboxInput.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/general/input/CheckboxInput.tsx rename to app/src/main/frontend/components/general/input/CheckboxInput.tsx diff --git a/gameyfin/src/main/frontend/components/general/input/ComboButton.tsx b/app/src/main/frontend/components/general/input/ComboButton.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/general/input/ComboButton.tsx rename to app/src/main/frontend/components/general/input/ComboButton.tsx diff --git a/gameyfin/src/main/frontend/components/general/input/DatePickerInput.tsx b/app/src/main/frontend/components/general/input/DatePickerInput.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/general/input/DatePickerInput.tsx rename to app/src/main/frontend/components/general/input/DatePickerInput.tsx diff --git a/gameyfin/src/main/frontend/components/general/input/DirectoryMappingInput.tsx b/app/src/main/frontend/components/general/input/DirectoryMappingInput.tsx similarity index 96% rename from gameyfin/src/main/frontend/components/general/input/DirectoryMappingInput.tsx rename to app/src/main/frontend/components/general/input/DirectoryMappingInput.tsx index 7813eef..4174997 100644 --- a/gameyfin/src/main/frontend/components/general/input/DirectoryMappingInput.tsx +++ b/app/src/main/frontend/components/general/input/DirectoryMappingInput.tsx @@ -3,7 +3,7 @@ import {Button, Code, useDisclosure} from "@heroui/react"; import {ArrowRight, Minus, Plus, XCircle} from "@phosphor-icons/react"; import PathPickerModal from "Frontend/components/general/modals/PathPickerModal"; import {SmallInfoField} from "Frontend/components/general/SmallInfoField"; -import DirectoryMappingDto from "Frontend/generated/de/grimsi/gameyfin/libraries/dto/DirectoryMappingDto"; +import DirectoryMappingDto from "Frontend/generated/org/gameyfin/app/libraries/dto/DirectoryMappingDto"; import {useField} from "formik"; interface DirectoryMappingInputProps { diff --git a/gameyfin/src/main/frontend/components/general/input/FileTreeView.tsx b/app/src/main/frontend/components/general/input/FileTreeView.tsx similarity index 95% rename from gameyfin/src/main/frontend/components/general/input/FileTreeView.tsx rename to app/src/main/frontend/components/general/input/FileTreeView.tsx index 07a7387..08f4738 100644 --- a/gameyfin/src/main/frontend/components/general/input/FileTreeView.tsx +++ b/app/src/main/frontend/components/general/input/FileTreeView.tsx @@ -2,10 +2,10 @@ import TreeView, {flattenTree, INode, NodeId} from "react-accessible-treeview"; import {File, Folder, FolderOpen, IconContext} from "@phosphor-icons/react"; import {useEffect, useState} from "react"; import {FilesystemEndpoint} from "Frontend/generated/endpoints"; -import FileDto from "Frontend/generated/de/grimsi/gameyfin/core/filesystem/FileDto"; -import FileType from "Frontend/generated/de/grimsi/gameyfin/core/filesystem/FileType"; +import FileDto from "Frontend/generated/org/gameyfin/app/core/filesystem/FileDto"; +import FileType from "Frontend/generated/org/gameyfin/app/core/filesystem/FileType"; import {IFlatMetadata} from "react-accessible-treeview/dist/TreeView/utils"; -import OperatingSystemType from "Frontend/generated/de/grimsi/gameyfin/core/filesystem/OperatingSystemType"; +import OperatingSystemType from "Frontend/generated/org/gameyfin/app/core/filesystem/OperatingSystemType"; interface ITreeNode { id?: NodeId; diff --git a/gameyfin/src/main/frontend/components/general/input/GameCoverPicker.tsx b/app/src/main/frontend/components/general/input/GameCoverPicker.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/general/input/GameCoverPicker.tsx rename to app/src/main/frontend/components/general/input/GameCoverPicker.tsx diff --git a/gameyfin/src/main/frontend/components/general/input/Input.tsx b/app/src/main/frontend/components/general/input/Input.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/general/input/Input.tsx rename to app/src/main/frontend/components/general/input/Input.tsx diff --git a/gameyfin/src/main/frontend/components/general/input/SelectInput.tsx b/app/src/main/frontend/components/general/input/SelectInput.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/general/input/SelectInput.tsx rename to app/src/main/frontend/components/general/input/SelectInput.tsx diff --git a/gameyfin/src/main/frontend/components/general/input/TextAreaInput.tsx b/app/src/main/frontend/components/general/input/TextAreaInput.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/general/input/TextAreaInput.tsx rename to app/src/main/frontend/components/general/input/TextAreaInput.tsx diff --git a/gameyfin/src/main/frontend/components/general/library/LibraryManagementDetails.tsx b/app/src/main/frontend/components/general/library/LibraryManagementDetails.tsx similarity index 94% rename from gameyfin/src/main/frontend/components/general/library/LibraryManagementDetails.tsx rename to app/src/main/frontend/components/general/library/LibraryManagementDetails.tsx index 03e11bf..23cbb23 100644 --- a/gameyfin/src/main/frontend/components/general/library/LibraryManagementDetails.tsx +++ b/app/src/main/frontend/components/general/library/LibraryManagementDetails.tsx @@ -1,10 +1,10 @@ -import LibraryDto from "Frontend/generated/de/grimsi/gameyfin/libraries/dto/LibraryDto"; +import LibraryDto from "Frontend/generated/org/gameyfin/app/libraries/dto/LibraryDto"; import {Check} from "@phosphor-icons/react"; import {addToast, Button} from "@heroui/react"; import React from "react"; import {Form, Formik} from "formik"; import {deepDiff} from "Frontend/util/utils"; -import LibraryUpdateDto from "Frontend/generated/de/grimsi/gameyfin/libraries/dto/LibraryUpdateDto"; +import LibraryUpdateDto from "Frontend/generated/org/gameyfin/app/libraries/dto/LibraryUpdateDto"; import {LibraryEndpoint} from "Frontend/generated/endpoints"; import Input from "Frontend/components/general/input/Input"; import DirectoryMappingInput from "Frontend/components/general/input/DirectoryMappingInput"; diff --git a/gameyfin/src/main/frontend/components/general/library/LibraryManagementGames.tsx b/app/src/main/frontend/components/general/library/LibraryManagementGames.tsx similarity index 97% rename from gameyfin/src/main/frontend/components/general/library/LibraryManagementGames.tsx rename to app/src/main/frontend/components/general/library/LibraryManagementGames.tsx index a0dd2f9..de50c1b 100644 --- a/gameyfin/src/main/frontend/components/general/library/LibraryManagementGames.tsx +++ b/app/src/main/frontend/components/general/library/LibraryManagementGames.tsx @@ -1,5 +1,5 @@ -import LibraryDto from "Frontend/generated/de/grimsi/gameyfin/libraries/dto/LibraryDto"; -import GameDto from "Frontend/generated/de/grimsi/gameyfin/games/dto/GameDto"; +import LibraryDto from "Frontend/generated/org/gameyfin/app/libraries/dto/LibraryDto"; +import GameDto from "Frontend/generated/org/gameyfin/app/games/dto/GameDto"; import { Button, Input, @@ -21,7 +21,7 @@ import {CheckCircle, MagnifyingGlass, Pencil, Trash} from "@phosphor-icons/react import {useSnapshot} from "valtio/react"; import {gameState} from "Frontend/state/GameState"; import {GameEndpoint} from "Frontend/generated/endpoints"; -import GameUpdateDto from "Frontend/generated/de/grimsi/gameyfin/games/dto/GameUpdateDto"; +import GameUpdateDto from "Frontend/generated/org/gameyfin/app/games/dto/GameUpdateDto"; import {useMemo, useState} from "react"; import EditGameMetadataModal from "Frontend/components/general/modals/EditGameMetadataModal"; import MatchGameModal from "Frontend/components/general/modals/MatchGameModal"; diff --git a/gameyfin/src/main/frontend/components/general/library/LibraryManagementUnmatchedPaths.tsx b/app/src/main/frontend/components/general/library/LibraryManagementUnmatchedPaths.tsx similarity index 96% rename from gameyfin/src/main/frontend/components/general/library/LibraryManagementUnmatchedPaths.tsx rename to app/src/main/frontend/components/general/library/LibraryManagementUnmatchedPaths.tsx index a256b30..d1925f6 100644 --- a/gameyfin/src/main/frontend/components/general/library/LibraryManagementUnmatchedPaths.tsx +++ b/app/src/main/frontend/components/general/library/LibraryManagementUnmatchedPaths.tsx @@ -1,4 +1,4 @@ -import LibraryDto from "Frontend/generated/de/grimsi/gameyfin/libraries/dto/LibraryDto"; +import LibraryDto from "Frontend/generated/org/gameyfin/app/libraries/dto/LibraryDto"; import { Button, Input, @@ -16,7 +16,7 @@ import { import {MagnifyingGlass, Trash} from "@phosphor-icons/react"; import {LibraryEndpoint} from "Frontend/generated/endpoints"; import {useMemo, useState} from "react"; -import LibraryUpdateDto from "Frontend/generated/de/grimsi/gameyfin/libraries/dto/LibraryUpdateDto"; +import LibraryUpdateDto from "Frontend/generated/org/gameyfin/app/libraries/dto/LibraryUpdateDto"; import {fileNameFromPath, hashCode} from "Frontend/util/utils"; import MatchGameModal from "Frontend/components/general/modals/MatchGameModal"; diff --git a/gameyfin/src/main/frontend/components/general/modals/AssignRolesModal.tsx b/app/src/main/frontend/components/general/modals/AssignRolesModal.tsx similarity index 95% rename from gameyfin/src/main/frontend/components/general/modals/AssignRolesModal.tsx rename to app/src/main/frontend/components/general/modals/AssignRolesModal.tsx index d9783a5..58598c1 100644 --- a/gameyfin/src/main/frontend/components/general/modals/AssignRolesModal.tsx +++ b/app/src/main/frontend/components/general/modals/AssignRolesModal.tsx @@ -12,9 +12,9 @@ import { SelectItem } from "@heroui/react"; import {UserEndpoint} from "Frontend/generated/endpoints"; -import UserInfoDto from "Frontend/generated/de/grimsi/gameyfin/users/dto/UserInfoDto"; +import UserInfoDto from "Frontend/generated/org/gameyfin/app/users/dto/UserInfoDto"; import RoleChip from "Frontend/components/general/RoleChip"; -import RoleAssignmentResult from "Frontend/generated/de/grimsi/gameyfin/users/enums/RoleAssignmentResult"; +import RoleAssignmentResult from "Frontend/generated/org/gameyfin/app/users/enums/RoleAssignmentResult"; interface AssignRolesModalProps { isOpen: boolean; diff --git a/gameyfin/src/main/frontend/components/general/modals/ConfirmUserDeletionModal.tsx b/app/src/main/frontend/components/general/modals/ConfirmUserDeletionModal.tsx similarity index 95% rename from gameyfin/src/main/frontend/components/general/modals/ConfirmUserDeletionModal.tsx rename to app/src/main/frontend/components/general/modals/ConfirmUserDeletionModal.tsx index 1150c86..066a383 100644 --- a/gameyfin/src/main/frontend/components/general/modals/ConfirmUserDeletionModal.tsx +++ b/app/src/main/frontend/components/general/modals/ConfirmUserDeletionModal.tsx @@ -1,7 +1,7 @@ import React, {useEffect, useState} from "react"; import {Button, Code, Input, Modal, ModalBody, ModalContent, ModalFooter, ModalHeader} from "@heroui/react"; import {UserEndpoint} from "Frontend/generated/endpoints"; -import UserInfoDto from "Frontend/generated/de/grimsi/gameyfin/users/dto/UserInfoDto"; +import UserInfoDto from "Frontend/generated/org/gameyfin/app/users/dto/UserInfoDto"; interface ConfirmUserDeletionModalProps { isOpen: boolean; diff --git a/gameyfin/src/main/frontend/components/general/modals/EditGameMetadataModal.tsx b/app/src/main/frontend/components/general/modals/EditGameMetadataModal.tsx similarity index 97% rename from gameyfin/src/main/frontend/components/general/modals/EditGameMetadataModal.tsx rename to app/src/main/frontend/components/general/modals/EditGameMetadataModal.tsx index 554de6c..b4886c7 100644 --- a/gameyfin/src/main/frontend/components/general/modals/EditGameMetadataModal.tsx +++ b/app/src/main/frontend/components/general/modals/EditGameMetadataModal.tsx @@ -1,4 +1,4 @@ -import GameDto from "Frontend/generated/de/grimsi/gameyfin/games/dto/GameDto"; +import GameDto from "Frontend/generated/org/gameyfin/app/games/dto/GameDto"; import { Accordion, AccordionItem, @@ -12,7 +12,7 @@ import { import {Form, Formik} from "formik"; import Input from "Frontend/components/general/input/Input"; import React from "react"; -import GameUpdateDto from "Frontend/generated/de/grimsi/gameyfin/games/dto/GameUpdateDto"; +import GameUpdateDto from "Frontend/generated/org/gameyfin/app/games/dto/GameUpdateDto"; import {deepDiff} from "Frontend/util/utils"; import {GameEndpoint} from "Frontend/generated/endpoints"; import TextAreaInput from "Frontend/components/general/input/TextAreaInput"; diff --git a/gameyfin/src/main/frontend/components/general/modals/GameCoverPickerModal.tsx b/app/src/main/frontend/components/general/modals/GameCoverPickerModal.tsx similarity index 96% rename from gameyfin/src/main/frontend/components/general/modals/GameCoverPickerModal.tsx rename to app/src/main/frontend/components/general/modals/GameCoverPickerModal.tsx index 2508d01..cab5ff9 100644 --- a/gameyfin/src/main/frontend/components/general/modals/GameCoverPickerModal.tsx +++ b/app/src/main/frontend/components/general/modals/GameCoverPickerModal.tsx @@ -1,7 +1,7 @@ -import GameDto from "Frontend/generated/de/grimsi/gameyfin/games/dto/GameDto"; +import GameDto from "Frontend/generated/org/gameyfin/app/games/dto/GameDto"; import {Button, Image, Input, Modal, ModalBody, ModalContent, ModalHeader, ScrollShadow} from "@heroui/react"; import React, {useEffect, useState} from "react"; -import GameSearchResultDto from "Frontend/generated/de/grimsi/gameyfin/games/dto/GameSearchResultDto"; +import GameSearchResultDto from "Frontend/generated/org/gameyfin/app/games/dto/GameSearchResultDto"; import {GameEndpoint} from "Frontend/generated/endpoints"; import {ArrowRight, MagnifyingGlass} from "@phosphor-icons/react"; diff --git a/gameyfin/src/main/frontend/components/general/modals/InviteUserModal.tsx b/app/src/main/frontend/components/general/modals/InviteUserModal.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/general/modals/InviteUserModal.tsx rename to app/src/main/frontend/components/general/modals/InviteUserModal.tsx diff --git a/gameyfin/src/main/frontend/components/general/modals/LibraryCreationModal.tsx b/app/src/main/frontend/components/general/modals/LibraryCreationModal.tsx similarity index 98% rename from gameyfin/src/main/frontend/components/general/modals/LibraryCreationModal.tsx rename to app/src/main/frontend/components/general/modals/LibraryCreationModal.tsx index af9a9b8..bc4f2d1 100644 --- a/gameyfin/src/main/frontend/components/general/modals/LibraryCreationModal.tsx +++ b/app/src/main/frontend/components/general/modals/LibraryCreationModal.tsx @@ -1,7 +1,7 @@ import React, {useState} from "react"; import {addToast, Button, Checkbox, Modal, ModalBody, ModalContent, ModalFooter, ModalHeader} from "@heroui/react"; import {Form, Formik} from "formik"; -import LibraryDto from "Frontend/generated/de/grimsi/gameyfin/libraries/dto/LibraryDto"; +import LibraryDto from "Frontend/generated/org/gameyfin/app/libraries/dto/LibraryDto"; import {LibraryEndpoint} from "Frontend/generated/endpoints"; import Input from "Frontend/components/general/input/Input"; import * as Yup from "yup"; diff --git a/gameyfin/src/main/frontend/components/general/modals/MatchGameModal.tsx b/app/src/main/frontend/components/general/modals/MatchGameModal.tsx similarity index 98% rename from gameyfin/src/main/frontend/components/general/modals/MatchGameModal.tsx rename to app/src/main/frontend/components/general/modals/MatchGameModal.tsx index 2f8863d..bacc7c1 100644 --- a/gameyfin/src/main/frontend/components/general/modals/MatchGameModal.tsx +++ b/app/src/main/frontend/components/general/modals/MatchGameModal.tsx @@ -15,7 +15,7 @@ import { import React, {useEffect, useState} from "react"; import {ArrowRight, MagnifyingGlass} from "@phosphor-icons/react"; import {GameEndpoint} from "Frontend/generated/endpoints"; -import GameSearchResultDto from "Frontend/generated/de/grimsi/gameyfin/games/dto/GameSearchResultDto"; +import GameSearchResultDto from "Frontend/generated/org/gameyfin/app/games/dto/GameSearchResultDto"; import PluginIcon from "../plugin/PluginIcon"; interface EditGameMetadataModalProps { diff --git a/gameyfin/src/main/frontend/components/general/modals/PasswordResetModal.tsx b/app/src/main/frontend/components/general/modals/PasswordResetModal.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/general/modals/PasswordResetModal.tsx rename to app/src/main/frontend/components/general/modals/PasswordResetModal.tsx diff --git a/gameyfin/src/main/frontend/components/general/modals/PasswortResetTokenModal.tsx b/app/src/main/frontend/components/general/modals/PasswortResetTokenModal.tsx similarity index 96% rename from gameyfin/src/main/frontend/components/general/modals/PasswortResetTokenModal.tsx rename to app/src/main/frontend/components/general/modals/PasswortResetTokenModal.tsx index 5a6ca04..6574079 100644 --- a/gameyfin/src/main/frontend/components/general/modals/PasswortResetTokenModal.tsx +++ b/app/src/main/frontend/components/general/modals/PasswortResetTokenModal.tsx @@ -1,6 +1,6 @@ import React, {useEffect, useState} from "react"; import {Button, Modal, ModalBody, ModalContent, ModalFooter, ModalHeader, Snippet} from "@heroui/react"; -import TokenDto from "Frontend/generated/de/grimsi/gameyfin/shared/token/TokenDto"; +import TokenDto from "Frontend/generated/org/gameyfin/app/shared/token/TokenDto"; import {timeUntil} from "Frontend/util/utils"; interface PasswordResetTokenModalProps { diff --git a/gameyfin/src/main/frontend/components/general/modals/PathPickerModal.tsx b/app/src/main/frontend/components/general/modals/PathPickerModal.tsx similarity index 97% rename from gameyfin/src/main/frontend/components/general/modals/PathPickerModal.tsx rename to app/src/main/frontend/components/general/modals/PathPickerModal.tsx index 4a185dd..3db7420 100644 --- a/gameyfin/src/main/frontend/components/general/modals/PathPickerModal.tsx +++ b/app/src/main/frontend/components/general/modals/PathPickerModal.tsx @@ -3,7 +3,7 @@ import {Form, Formik} from "formik"; import React, {useEffect, useState} from "react"; import Input from "Frontend/components/general/input/Input"; import FileTreeView from "Frontend/components/general/input/FileTreeView"; -import DirectoryMappingDto from "Frontend/generated/de/grimsi/gameyfin/libraries/dto/DirectoryMappingDto"; +import DirectoryMappingDto from "Frontend/generated/org/gameyfin/app/libraries/dto/DirectoryMappingDto"; import {ArrowRight} from "@phosphor-icons/react"; interface PathPickerModalProps { diff --git a/gameyfin/src/main/frontend/components/general/modals/PluginDetailsModal.tsx b/app/src/main/frontend/components/general/modals/PluginDetailsModal.tsx similarity index 98% rename from gameyfin/src/main/frontend/components/general/modals/PluginDetailsModal.tsx rename to app/src/main/frontend/components/general/modals/PluginDetailsModal.tsx index 984ef4f..bc8cb72 100644 --- a/gameyfin/src/main/frontend/components/general/modals/PluginDetailsModal.tsx +++ b/app/src/main/frontend/components/general/modals/PluginDetailsModal.tsx @@ -5,9 +5,9 @@ import PluginLogo from "Frontend/components/general/plugin/PluginLogo"; import Markdown from "react-markdown"; import remarkBreaks from "remark-breaks"; import {PluginEndpoint} from "Frontend/generated/endpoints"; -import PluginDto from "Frontend/generated/de/grimsi/gameyfin/core/plugins/dto/PluginDto"; +import PluginDto from "Frontend/generated/org/gameyfin/app/core/plugins/dto/PluginDto"; import {ArrowClockwise} from "@phosphor-icons/react"; -import PluginConfigMetadataDto from "Frontend/generated/de/grimsi/gameyfin/core/plugins/dto/PluginConfigMetadataDto"; +import PluginConfigMetadataDto from "Frontend/generated/org/gameyfin/app/core/plugins/dto/PluginConfigMetadataDto"; import PluginConfigFormField from "Frontend/components/general/plugin/PluginConfigFormField"; interface PluginDetailsModalProps { diff --git a/gameyfin/src/main/frontend/components/general/modals/PluginPrioritiesModal.tsx b/app/src/main/frontend/components/general/modals/PluginPrioritiesModal.tsx similarity index 98% rename from gameyfin/src/main/frontend/components/general/modals/PluginPrioritiesModal.tsx rename to app/src/main/frontend/components/general/modals/PluginPrioritiesModal.tsx index b77287f..9152608 100644 --- a/gameyfin/src/main/frontend/components/general/modals/PluginPrioritiesModal.tsx +++ b/app/src/main/frontend/components/general/modals/PluginPrioritiesModal.tsx @@ -3,7 +3,7 @@ import {addToast, Button, Chip, Modal, ModalBody, ModalContent, ModalFooter, Mod import {ListBox, ListBoxItem, useDragAndDrop} from "react-aria-components"; import {CaretUpDown} from "@phosphor-icons/react"; import {useListData} from "@react-stately/data"; -import PluginDto from "Frontend/generated/de/grimsi/gameyfin/core/plugins/dto/PluginDto"; +import PluginDto from "Frontend/generated/org/gameyfin/app/core/plugins/dto/PluginDto"; import {PluginEndpoint} from "Frontend/generated/endpoints"; interface PluginPrioritiesModalProps { diff --git a/gameyfin/src/main/frontend/components/general/modals/SignUpModal.tsx b/app/src/main/frontend/components/general/modals/SignUpModal.tsx similarity index 97% rename from gameyfin/src/main/frontend/components/general/modals/SignUpModal.tsx rename to app/src/main/frontend/components/general/modals/SignUpModal.tsx index fc0a76b..4c07005 100644 --- a/gameyfin/src/main/frontend/components/general/modals/SignUpModal.tsx +++ b/app/src/main/frontend/components/general/modals/SignUpModal.tsx @@ -1,7 +1,7 @@ import React from "react"; import {addToast, Button, Modal, ModalBody, ModalContent, ModalFooter, ModalHeader} from "@heroui/react"; import {RegistrationEndpoint} from "Frontend/generated/endpoints"; -import UserRegistrationDto from "Frontend/generated/de/grimsi/gameyfin/users/dto/UserRegistrationDto"; +import UserRegistrationDto from "Frontend/generated/org/gameyfin/app/users/dto/UserRegistrationDto"; import {Form, Formik} from "formik"; import * as Yup from "yup"; import Input from "Frontend/components/general/input/Input"; diff --git a/gameyfin/src/main/frontend/components/general/plugin/PluginConfigFormField.tsx b/app/src/main/frontend/components/general/plugin/PluginConfigFormField.tsx similarity index 95% rename from gameyfin/src/main/frontend/components/general/plugin/PluginConfigFormField.tsx rename to app/src/main/frontend/components/general/plugin/PluginConfigFormField.tsx index 8ea1f44..652e45b 100644 --- a/gameyfin/src/main/frontend/components/general/plugin/PluginConfigFormField.tsx +++ b/app/src/main/frontend/components/general/plugin/PluginConfigFormField.tsx @@ -2,7 +2,7 @@ import SelectInput from "Frontend/components/general/input/SelectInput"; import CheckboxInput from "Frontend/components/general/input/CheckboxInput"; import Input from "Frontend/components/general/input/Input"; import React from "react"; -import PluginConfigMetadataDto from "Frontend/generated/de/grimsi/gameyfin/core/plugins/dto/PluginConfigMetadataDto"; +import PluginConfigMetadataDto from "Frontend/generated/org/gameyfin/app/core/plugins/dto/PluginConfigMetadataDto"; export default function PluginConfigFormField({pluginConfigMetadata, ...props}: any) { function inputElement(metadata: PluginConfigMetadataDto) { diff --git a/gameyfin/src/main/frontend/components/general/plugin/PluginIcon.tsx b/app/src/main/frontend/components/general/plugin/PluginIcon.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/general/plugin/PluginIcon.tsx rename to app/src/main/frontend/components/general/plugin/PluginIcon.tsx diff --git a/gameyfin/src/main/frontend/components/general/plugin/PluginLogo.tsx b/app/src/main/frontend/components/general/plugin/PluginLogo.tsx similarity index 84% rename from gameyfin/src/main/frontend/components/general/plugin/PluginLogo.tsx rename to app/src/main/frontend/components/general/plugin/PluginLogo.tsx index 112ea90..f4c2a95 100644 --- a/gameyfin/src/main/frontend/components/general/plugin/PluginLogo.tsx +++ b/app/src/main/frontend/components/general/plugin/PluginLogo.tsx @@ -1,7 +1,7 @@ import {Plug} from "@phosphor-icons/react"; import React from "react"; import {Image} from "@heroui/react"; -import PluginDto from "Frontend/generated/de/grimsi/gameyfin/core/plugins/dto/PluginDto"; +import PluginDto from "Frontend/generated/org/gameyfin/app/core/plugins/dto/PluginDto"; interface PluginLogoProps { plugin: PluginDto; diff --git a/gameyfin/src/main/frontend/components/general/plugin/PluginManagementSection.tsx b/app/src/main/frontend/components/general/plugin/PluginManagementSection.tsx similarity index 95% rename from gameyfin/src/main/frontend/components/general/plugin/PluginManagementSection.tsx rename to app/src/main/frontend/components/general/plugin/PluginManagementSection.tsx index 9155d4a..62ca5e8 100644 --- a/gameyfin/src/main/frontend/components/general/plugin/PluginManagementSection.tsx +++ b/app/src/main/frontend/components/general/plugin/PluginManagementSection.tsx @@ -4,7 +4,7 @@ import {PluginManagementCard} from "Frontend/components/general/cards/PluginMana import React from "react"; import PluginPrioritiesModal from "Frontend/components/general/modals/PluginPrioritiesModal"; import {camelCaseToTitle} from "Frontend/util/utils"; -import PluginDto from "Frontend/generated/de/grimsi/gameyfin/core/plugins/dto/PluginDto"; +import PluginDto from "Frontend/generated/org/gameyfin/app/core/plugins/dto/PluginDto"; interface PluginManagementSectionProps { type: string; diff --git a/gameyfin/src/main/frontend/components/general/withSideMenu.tsx b/app/src/main/frontend/components/general/withSideMenu.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/general/withSideMenu.tsx rename to app/src/main/frontend/components/general/withSideMenu.tsx diff --git a/gameyfin/src/main/frontend/components/theming/GameyfinLogo.tsx b/app/src/main/frontend/components/theming/GameyfinLogo.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/theming/GameyfinLogo.tsx rename to app/src/main/frontend/components/theming/GameyfinLogo.tsx diff --git a/gameyfin/src/main/frontend/components/theming/ThemePreview.tsx b/app/src/main/frontend/components/theming/ThemePreview.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/theming/ThemePreview.tsx rename to app/src/main/frontend/components/theming/ThemePreview.tsx diff --git a/gameyfin/src/main/frontend/components/theming/ThemeSelector.tsx b/app/src/main/frontend/components/theming/ThemeSelector.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/theming/ThemeSelector.tsx rename to app/src/main/frontend/components/theming/ThemeSelector.tsx diff --git a/gameyfin/src/main/frontend/components/wizard/Wizard.tsx b/app/src/main/frontend/components/wizard/Wizard.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/wizard/Wizard.tsx rename to app/src/main/frontend/components/wizard/Wizard.tsx diff --git a/gameyfin/src/main/frontend/components/wizard/WizardStep.tsx b/app/src/main/frontend/components/wizard/WizardStep.tsx similarity index 100% rename from gameyfin/src/main/frontend/components/wizard/WizardStep.tsx rename to app/src/main/frontend/components/wizard/WizardStep.tsx diff --git a/gameyfin/src/main/frontend/endpoints/AvatarEndpoint.ts b/app/src/main/frontend/endpoints/AvatarEndpoint.ts similarity index 100% rename from gameyfin/src/main/frontend/endpoints/AvatarEndpoint.ts rename to app/src/main/frontend/endpoints/AvatarEndpoint.ts diff --git a/gameyfin/src/main/frontend/endpoints/DownloadEndpoint.ts b/app/src/main/frontend/endpoints/DownloadEndpoint.ts similarity index 100% rename from gameyfin/src/main/frontend/endpoints/DownloadEndpoint.ts rename to app/src/main/frontend/endpoints/DownloadEndpoint.ts diff --git a/gameyfin/src/main/frontend/endpoints/endpoints.ts b/app/src/main/frontend/endpoints/endpoints.ts similarity index 100% rename from gameyfin/src/main/frontend/endpoints/endpoints.ts rename to app/src/main/frontend/endpoints/endpoints.ts diff --git a/gameyfin/src/main/frontend/index.html b/app/src/main/frontend/index.html similarity index 100% rename from gameyfin/src/main/frontend/index.html rename to app/src/main/frontend/index.html diff --git a/gameyfin/src/main/frontend/index.tsx b/app/src/main/frontend/index.tsx similarity index 100% rename from gameyfin/src/main/frontend/index.tsx rename to app/src/main/frontend/index.tsx diff --git a/gameyfin/src/main/frontend/main.css b/app/src/main/frontend/main.css similarity index 100% rename from gameyfin/src/main/frontend/main.css rename to app/src/main/frontend/main.css diff --git a/gameyfin/src/main/frontend/routes.tsx b/app/src/main/frontend/routes.tsx similarity index 100% rename from gameyfin/src/main/frontend/routes.tsx rename to app/src/main/frontend/routes.tsx diff --git a/gameyfin/src/main/frontend/state/ConfigState.ts b/app/src/main/frontend/state/ConfigState.ts similarity index 91% rename from gameyfin/src/main/frontend/state/ConfigState.ts rename to app/src/main/frontend/state/ConfigState.ts index 61aab5c..5bc4078 100644 --- a/gameyfin/src/main/frontend/state/ConfigState.ts +++ b/app/src/main/frontend/state/ConfigState.ts @@ -1,7 +1,7 @@ import {proxy} from 'valtio'; -import ConfigEntryDto from "Frontend/generated/de/grimsi/gameyfin/config/dto/ConfigEntryDto"; +import ConfigEntryDto from "Frontend/generated/org/gameyfin/app/config/dto/ConfigEntryDto"; import {ConfigEndpoint} from "Frontend/generated/endpoints"; -import ConfigUpdateDto from "Frontend/generated/de/grimsi/gameyfin/config/dto/ConfigUpdateDto"; +import ConfigUpdateDto from "Frontend/generated/org/gameyfin/app/config/dto/ConfigUpdateDto"; import {Subscription} from "@vaadin/hilla-frontend"; type ConfigState = { diff --git a/gameyfin/src/main/frontend/state/GameState.ts b/app/src/main/frontend/state/GameState.ts similarity index 96% rename from gameyfin/src/main/frontend/state/GameState.ts rename to app/src/main/frontend/state/GameState.ts index 5ae0713..23e097d 100644 --- a/gameyfin/src/main/frontend/state/GameState.ts +++ b/app/src/main/frontend/state/GameState.ts @@ -1,8 +1,8 @@ import {Subscription} from "@vaadin/hilla-frontend"; import {proxy} from "valtio/index"; import {GameEndpoint} from "Frontend/generated/endpoints"; -import GameEvent from "Frontend/generated/de/grimsi/gameyfin/libraries/dto/LibraryEvent"; -import GameDto from "Frontend/generated/de/grimsi/gameyfin/games/dto/GameDto"; +import GameEvent from "Frontend/generated/org/gameyfin/app/libraries/dto/LibraryEvent"; +import GameDto from "Frontend/generated/org/gameyfin/app/games/dto/GameDto"; import Rand from "rand-seed"; type GameState = { diff --git a/gameyfin/src/main/frontend/state/LibraryState.ts b/app/src/main/frontend/state/LibraryState.ts similarity index 91% rename from gameyfin/src/main/frontend/state/LibraryState.ts rename to app/src/main/frontend/state/LibraryState.ts index 5f11f8c..a4a651d 100644 --- a/gameyfin/src/main/frontend/state/LibraryState.ts +++ b/app/src/main/frontend/state/LibraryState.ts @@ -1,8 +1,8 @@ import {Subscription} from "@vaadin/hilla-frontend"; import {proxy} from "valtio/index"; import {LibraryEndpoint} from "Frontend/generated/endpoints"; -import LibraryDto from "Frontend/generated/de/grimsi/gameyfin/libraries/dto/LibraryDto"; -import LibraryEvent from "Frontend/generated/de/grimsi/gameyfin/libraries/dto/LibraryEvent"; +import LibraryDto from "Frontend/generated/org/gameyfin/app/libraries/dto/LibraryDto"; +import LibraryEvent from "Frontend/generated/org/gameyfin/app/libraries/dto/LibraryEvent"; import {handleLibraryDeletion} from "./ScanState"; type LibraryState = { diff --git a/gameyfin/src/main/frontend/state/PluginState.ts b/app/src/main/frontend/state/PluginState.ts similarity index 92% rename from gameyfin/src/main/frontend/state/PluginState.ts rename to app/src/main/frontend/state/PluginState.ts index 4a0198b..aecc300 100644 --- a/gameyfin/src/main/frontend/state/PluginState.ts +++ b/app/src/main/frontend/state/PluginState.ts @@ -1,6 +1,6 @@ import {Subscription} from "@vaadin/hilla-frontend"; -import PluginDto from "Frontend/generated/de/grimsi/gameyfin/core/plugins/dto/PluginDto"; -import PluginUpdateDto from "Frontend/generated/de/grimsi/gameyfin/core/plugins/dto/PluginUpdateDto"; +import PluginDto from "Frontend/generated/org/gameyfin/app/core/plugins/dto/PluginDto"; +import PluginUpdateDto from "Frontend/generated/org/gameyfin/app/core/plugins/dto/PluginUpdateDto"; import {proxy} from "valtio/index"; import {PluginEndpoint} from "Frontend/generated/endpoints"; diff --git a/gameyfin/src/main/frontend/state/ScanState.ts b/app/src/main/frontend/state/ScanState.ts similarity index 89% rename from gameyfin/src/main/frontend/state/ScanState.ts rename to app/src/main/frontend/state/ScanState.ts index e56ce2b..48a31bc 100644 --- a/gameyfin/src/main/frontend/state/ScanState.ts +++ b/app/src/main/frontend/state/ScanState.ts @@ -1,8 +1,8 @@ import {proxy} from 'valtio'; -import type LibraryScanProgress from "Frontend/generated/de/grimsi/gameyfin/libraries/dto/LibraryScanProgress"; +import type LibraryScanProgress from "Frontend/generated/org/gameyfin/app/libraries/dto/LibraryScanProgress"; import {LibraryEndpoint} from "Frontend/generated/endpoints"; import {Subscription} from "@vaadin/hilla-frontend"; -import LibraryScanStatus from "Frontend/generated/de/grimsi/gameyfin/libraries/dto/LibraryScanStatus"; +import LibraryScanStatus from "Frontend/generated/org/gameyfin/app/libraries/dto/LibraryScanStatus"; import {libraryState} from "Frontend/state/LibraryState"; type ScanState = { diff --git a/gameyfin/src/main/frontend/theming/theme.ts b/app/src/main/frontend/theming/theme.ts similarity index 100% rename from gameyfin/src/main/frontend/theming/theme.ts rename to app/src/main/frontend/theming/theme.ts diff --git a/gameyfin/src/main/frontend/theming/themes.ts b/app/src/main/frontend/theming/themes.ts similarity index 100% rename from gameyfin/src/main/frontend/theming/themes.ts rename to app/src/main/frontend/theming/themes.ts diff --git a/gameyfin/src/main/frontend/theming/themes/blue.ts b/app/src/main/frontend/theming/themes/blue.ts similarity index 100% rename from gameyfin/src/main/frontend/theming/themes/blue.ts rename to app/src/main/frontend/theming/themes/blue.ts diff --git a/gameyfin/src/main/frontend/theming/themes/colorblind.ts b/app/src/main/frontend/theming/themes/colorblind.ts similarity index 100% rename from gameyfin/src/main/frontend/theming/themes/colorblind.ts rename to app/src/main/frontend/theming/themes/colorblind.ts diff --git a/gameyfin/src/main/frontend/theming/themes/gameyfin-blue.ts b/app/src/main/frontend/theming/themes/gameyfin-blue.ts similarity index 100% rename from gameyfin/src/main/frontend/theming/themes/gameyfin-blue.ts rename to app/src/main/frontend/theming/themes/gameyfin-blue.ts diff --git a/gameyfin/src/main/frontend/theming/themes/gameyfin-classic.ts b/app/src/main/frontend/theming/themes/gameyfin-classic.ts similarity index 100% rename from gameyfin/src/main/frontend/theming/themes/gameyfin-classic.ts rename to app/src/main/frontend/theming/themes/gameyfin-classic.ts diff --git a/gameyfin/src/main/frontend/theming/themes/gameyfin-violet.ts b/app/src/main/frontend/theming/themes/gameyfin-violet.ts similarity index 100% rename from gameyfin/src/main/frontend/theming/themes/gameyfin-violet.ts rename to app/src/main/frontend/theming/themes/gameyfin-violet.ts diff --git a/gameyfin/src/main/frontend/theming/themes/neutral.ts b/app/src/main/frontend/theming/themes/neutral.ts similarity index 100% rename from gameyfin/src/main/frontend/theming/themes/neutral.ts rename to app/src/main/frontend/theming/themes/neutral.ts diff --git a/gameyfin/src/main/frontend/theming/themes/orange.ts b/app/src/main/frontend/theming/themes/orange.ts similarity index 100% rename from gameyfin/src/main/frontend/theming/themes/orange.ts rename to app/src/main/frontend/theming/themes/orange.ts diff --git a/gameyfin/src/main/frontend/theming/themes/purple.ts b/app/src/main/frontend/theming/themes/purple.ts similarity index 100% rename from gameyfin/src/main/frontend/theming/themes/purple.ts rename to app/src/main/frontend/theming/themes/purple.ts diff --git a/gameyfin/src/main/frontend/theming/themes/red.ts b/app/src/main/frontend/theming/themes/red.ts similarity index 100% rename from gameyfin/src/main/frontend/theming/themes/red.ts rename to app/src/main/frontend/theming/themes/red.ts diff --git a/gameyfin/src/main/frontend/theming/themes/rose.ts b/app/src/main/frontend/theming/themes/rose.ts similarity index 100% rename from gameyfin/src/main/frontend/theming/themes/rose.ts rename to app/src/main/frontend/theming/themes/rose.ts diff --git a/gameyfin/src/main/frontend/theming/themes/slate.ts b/app/src/main/frontend/theming/themes/slate.ts similarity index 100% rename from gameyfin/src/main/frontend/theming/themes/slate.ts rename to app/src/main/frontend/theming/themes/slate.ts diff --git a/gameyfin/src/main/frontend/theming/themes/violet.ts b/app/src/main/frontend/theming/themes/violet.ts similarity index 100% rename from gameyfin/src/main/frontend/theming/themes/violet.ts rename to app/src/main/frontend/theming/themes/violet.ts diff --git a/gameyfin/src/main/frontend/theming/themes/yellow.ts b/app/src/main/frontend/theming/themes/yellow.ts similarity index 100% rename from gameyfin/src/main/frontend/theming/themes/yellow.ts rename to app/src/main/frontend/theming/themes/yellow.ts diff --git a/gameyfin/src/main/frontend/util/auth.ts b/app/src/main/frontend/util/auth.ts similarity index 100% rename from gameyfin/src/main/frontend/util/auth.ts rename to app/src/main/frontend/util/auth.ts diff --git a/gameyfin/src/main/frontend/util/custom-validators.ts b/app/src/main/frontend/util/custom-validators.ts similarity index 100% rename from gameyfin/src/main/frontend/util/custom-validators.ts rename to app/src/main/frontend/util/custom-validators.ts diff --git a/gameyfin/src/main/frontend/util/middleware.ts b/app/src/main/frontend/util/middleware.ts similarity index 100% rename from gameyfin/src/main/frontend/util/middleware.ts rename to app/src/main/frontend/util/middleware.ts diff --git a/gameyfin/src/main/frontend/util/routing.ts b/app/src/main/frontend/util/routing.ts similarity index 100% rename from gameyfin/src/main/frontend/util/routing.ts rename to app/src/main/frontend/util/routing.ts diff --git a/gameyfin/src/main/frontend/util/user-preference-service.ts b/app/src/main/frontend/util/user-preference-service.ts similarity index 100% rename from gameyfin/src/main/frontend/util/user-preference-service.ts rename to app/src/main/frontend/util/user-preference-service.ts diff --git a/gameyfin/src/main/frontend/util/utils.ts b/app/src/main/frontend/util/utils.ts similarity index 100% rename from gameyfin/src/main/frontend/util/utils.ts rename to app/src/main/frontend/util/utils.ts diff --git a/gameyfin/src/main/frontend/views/AdministrationView.tsx b/app/src/main/frontend/views/AdministrationView.tsx similarity index 100% rename from gameyfin/src/main/frontend/views/AdministrationView.tsx rename to app/src/main/frontend/views/AdministrationView.tsx diff --git a/gameyfin/src/main/frontend/views/EmailConfirmationView.tsx b/app/src/main/frontend/views/EmailConfirmationView.tsx similarity index 96% rename from gameyfin/src/main/frontend/views/EmailConfirmationView.tsx rename to app/src/main/frontend/views/EmailConfirmationView.tsx index 36cd2c0..468706c 100644 --- a/gameyfin/src/main/frontend/views/EmailConfirmationView.tsx +++ b/app/src/main/frontend/views/EmailConfirmationView.tsx @@ -2,7 +2,7 @@ import {Card, CardBody, CardHeader} from "@heroui/react"; import {useNavigate, useSearchParams} from "react-router"; import React, {useEffect, useState} from "react"; import {CheckCircle, Warning, WarningCircle} from "@phosphor-icons/react"; -import TokenValidationResult from "Frontend/generated/de/grimsi/gameyfin/shared/token/TokenValidationResult"; +import TokenValidationResult from "Frontend/generated/org/gameyfin/app/shared/token/TokenValidationResult"; import {EmailConfirmationEndpoint} from "Frontend/generated/endpoints"; import {useAuth} from "Frontend/util/auth"; diff --git a/gameyfin/src/main/frontend/views/GameView.tsx b/app/src/main/frontend/views/GameView.tsx similarity index 98% rename from gameyfin/src/main/frontend/views/GameView.tsx rename to app/src/main/frontend/views/GameView.tsx index c42a268..d866847 100644 --- a/gameyfin/src/main/frontend/views/GameView.tsx +++ b/app/src/main/frontend/views/GameView.tsx @@ -9,12 +9,12 @@ import {humanFileSize, isAdmin, toTitleCase} from "Frontend/util/utils"; import {DownloadEndpoint} from "Frontend/endpoints/endpoints"; import {gameState, initializeGameState} from "Frontend/state/GameState"; import {useSnapshot} from "valtio/react"; -import GameDto from "Frontend/generated/de/grimsi/gameyfin/games/dto/GameDto"; +import GameDto from "Frontend/generated/org/gameyfin/app/games/dto/GameDto"; import {CheckCircle, Info, MagnifyingGlass, Pencil, Trash, TriangleDashed} from "@phosphor-icons/react"; import {useAuth} from "Frontend/util/auth"; import MatchGameModal from "Frontend/components/general/modals/MatchGameModal"; import EditGameMetadataModal from "Frontend/components/general/modals/EditGameMetadataModal"; -import GameUpdateDto from "Frontend/generated/de/grimsi/gameyfin/games/dto/GameUpdateDto"; +import GameUpdateDto from "Frontend/generated/org/gameyfin/app/games/dto/GameUpdateDto"; import Markdown from "react-markdown"; import remarkBreaks from "remark-breaks"; diff --git a/gameyfin/src/main/frontend/views/HomeView.tsx b/app/src/main/frontend/views/HomeView.tsx similarity index 93% rename from gameyfin/src/main/frontend/views/HomeView.tsx rename to app/src/main/frontend/views/HomeView.tsx index 107219f..93f63bc 100644 --- a/gameyfin/src/main/frontend/views/HomeView.tsx +++ b/app/src/main/frontend/views/HomeView.tsx @@ -1,4 +1,4 @@ -import GameDto from "Frontend/generated/de/grimsi/gameyfin/games/dto/GameDto"; +import GameDto from "Frontend/generated/org/gameyfin/app/games/dto/GameDto"; import {CoverRow} from "Frontend/components/general/covers/CoverRow"; import {useSnapshot} from "valtio/react"; import {libraryState} from "Frontend/state/LibraryState"; diff --git a/gameyfin/src/main/frontend/views/InvitationRegistrationView.tsx b/app/src/main/frontend/views/InvitationRegistrationView.tsx similarity index 98% rename from gameyfin/src/main/frontend/views/InvitationRegistrationView.tsx rename to app/src/main/frontend/views/InvitationRegistrationView.tsx index b64377e..0d7e475 100644 --- a/gameyfin/src/main/frontend/views/InvitationRegistrationView.tsx +++ b/app/src/main/frontend/views/InvitationRegistrationView.tsx @@ -7,7 +7,7 @@ import {RegistrationEndpoint} from "Frontend/generated/endpoints"; import React, {useEffect, useState} from "react"; import {Warning} from "@phosphor-icons/react"; import UserInvitationAcceptanceResult - from "Frontend/generated/de/grimsi/gameyfin/users/enums/UserInvitationAcceptanceResult"; + from "Frontend/generated/org/gameyfin/app/users/enums/UserInvitationAcceptanceResult"; export default function InvitationRegistrationView() { const [searchParams] = useSearchParams(); diff --git a/gameyfin/src/main/frontend/views/LibraryManagementView.tsx b/app/src/main/frontend/views/LibraryManagementView.tsx similarity index 100% rename from gameyfin/src/main/frontend/views/LibraryManagementView.tsx rename to app/src/main/frontend/views/LibraryManagementView.tsx diff --git a/gameyfin/src/main/frontend/views/LibraryView.tsx b/app/src/main/frontend/views/LibraryView.tsx similarity index 93% rename from gameyfin/src/main/frontend/views/LibraryView.tsx rename to app/src/main/frontend/views/LibraryView.tsx index 4069167..d52badf 100644 --- a/gameyfin/src/main/frontend/views/LibraryView.tsx +++ b/app/src/main/frontend/views/LibraryView.tsx @@ -4,7 +4,7 @@ import {gameState} from "Frontend/state/GameState"; import React, {useEffect} from "react"; import {useNavigate, useParams} from "react-router"; import CoverGrid from "Frontend/components/general/covers/CoverGrid"; -import GameDto from "Frontend/generated/de/grimsi/gameyfin/games/dto/GameDto"; +import GameDto from "Frontend/generated/org/gameyfin/app/games/dto/GameDto"; export default function LibraryView() { const {libraryId} = useParams(); diff --git a/gameyfin/src/main/frontend/views/LoginView.tsx b/app/src/main/frontend/views/LoginView.tsx similarity index 100% rename from gameyfin/src/main/frontend/views/LoginView.tsx rename to app/src/main/frontend/views/LoginView.tsx diff --git a/gameyfin/src/main/frontend/views/MainLayout.tsx b/app/src/main/frontend/views/MainLayout.tsx similarity index 100% rename from gameyfin/src/main/frontend/views/MainLayout.tsx rename to app/src/main/frontend/views/MainLayout.tsx diff --git a/gameyfin/src/main/frontend/views/PasswordResetView.tsx b/app/src/main/frontend/views/PasswordResetView.tsx similarity index 97% rename from gameyfin/src/main/frontend/views/PasswordResetView.tsx rename to app/src/main/frontend/views/PasswordResetView.tsx index 8028dea..223bbea 100644 --- a/gameyfin/src/main/frontend/views/PasswordResetView.tsx +++ b/app/src/main/frontend/views/PasswordResetView.tsx @@ -6,7 +6,7 @@ import * as Yup from "yup"; import {PasswordResetEndpoint} from "Frontend/generated/endpoints"; import React, {useEffect, useState} from "react"; import {Warning} from "@phosphor-icons/react"; -import TokenValidationResult from "Frontend/generated/de/grimsi/gameyfin/shared/token/TokenValidationResult"; +import TokenValidationResult from "Frontend/generated/org/gameyfin/app/shared/token/TokenValidationResult"; export default function PasswordResetView() { const [searchParams, setSearchParams] = useSearchParams(); diff --git a/gameyfin/src/main/frontend/views/ProfileView.tsx b/app/src/main/frontend/views/ProfileView.tsx similarity index 100% rename from gameyfin/src/main/frontend/views/ProfileView.tsx rename to app/src/main/frontend/views/ProfileView.tsx diff --git a/gameyfin/src/main/frontend/views/RecentlyAddedView.tsx b/app/src/main/frontend/views/RecentlyAddedView.tsx similarity index 86% rename from gameyfin/src/main/frontend/views/RecentlyAddedView.tsx rename to app/src/main/frontend/views/RecentlyAddedView.tsx index 45603bf..8a02161 100644 --- a/gameyfin/src/main/frontend/views/RecentlyAddedView.tsx +++ b/app/src/main/frontend/views/RecentlyAddedView.tsx @@ -1,6 +1,6 @@ import {useSnapshot} from "valtio/react"; import {gameState} from "Frontend/state/GameState"; -import GameDto from "Frontend/generated/de/grimsi/gameyfin/games/dto/GameDto"; +import GameDto from "Frontend/generated/org/gameyfin/app/games/dto/GameDto"; import React from "react"; import CoverGrid from "Frontend/components/general/covers/CoverGrid"; diff --git a/gameyfin/src/main/frontend/views/SearchView.tsx b/app/src/main/frontend/views/SearchView.tsx similarity index 98% rename from gameyfin/src/main/frontend/views/SearchView.tsx rename to app/src/main/frontend/views/SearchView.tsx index 8c4e17b..261141b 100644 --- a/gameyfin/src/main/frontend/views/SearchView.tsx +++ b/app/src/main/frontend/views/SearchView.tsx @@ -6,8 +6,8 @@ import {libraryState} from "Frontend/state/LibraryState"; import {useSearchParams} from "react-router"; import {useEffect, useMemo, useState} from "react"; import {Fzf} from "fzf"; -import GameDto from "Frontend/generated/de/grimsi/gameyfin/games/dto/GameDto"; -import LibraryDto from "Frontend/generated/de/grimsi/gameyfin/libraries/dto/LibraryDto"; +import GameDto from "Frontend/generated/org/gameyfin/app/games/dto/GameDto"; +import LibraryDto from "Frontend/generated/org/gameyfin/app/libraries/dto/LibraryDto"; import CoverGrid from "Frontend/components/general/covers/CoverGrid"; import {toTitleCase} from "Frontend/util/utils"; diff --git a/gameyfin/src/main/frontend/views/SetupView.tsx b/app/src/main/frontend/views/SetupView.tsx similarity index 100% rename from gameyfin/src/main/frontend/views/SetupView.tsx rename to app/src/main/frontend/views/SetupView.tsx diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/GameyfinApplication.kt b/app/src/main/kotlin/org/gameyfin/app/GameyfinApplication.kt similarity index 95% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/GameyfinApplication.kt rename to app/src/main/kotlin/org/gameyfin/app/GameyfinApplication.kt index d1174e3..358b1ef 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/GameyfinApplication.kt +++ b/app/src/main/kotlin/org/gameyfin/app/GameyfinApplication.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin +package org.gameyfin.app import org.springframework.boot.autoconfigure.SpringBootApplication import org.springframework.boot.runApplication diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/config/ConfigEndpoint.kt b/app/src/main/kotlin/org/gameyfin/app/config/ConfigEndpoint.kt similarity index 84% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/config/ConfigEndpoint.kt rename to app/src/main/kotlin/org/gameyfin/app/config/ConfigEndpoint.kt index bdc80e8..0077b70 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/config/ConfigEndpoint.kt +++ b/app/src/main/kotlin/org/gameyfin/app/config/ConfigEndpoint.kt @@ -1,13 +1,13 @@ -package de.grimsi.gameyfin.config +package org.gameyfin.app.config import com.vaadin.hilla.Endpoint -import de.grimsi.gameyfin.config.dto.ConfigEntryDto -import de.grimsi.gameyfin.config.dto.ConfigUpdateDto -import de.grimsi.gameyfin.core.Role -import de.grimsi.gameyfin.users.util.isAdmin import io.github.oshai.kotlinlogging.KotlinLogging import jakarta.annotation.security.PermitAll import jakarta.annotation.security.RolesAllowed +import org.gameyfin.app.config.dto.ConfigEntryDto +import org.gameyfin.app.config.dto.ConfigUpdateDto +import org.gameyfin.app.core.Role +import org.gameyfin.app.users.util.isAdmin import org.springframework.security.core.context.SecurityContextHolder import org.springframework.security.core.userdetails.UserDetails import reactor.core.publisher.Flux diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/config/ConfigProperties.kt b/app/src/main/kotlin/org/gameyfin/app/config/ConfigProperties.kt similarity index 99% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/config/ConfigProperties.kt rename to app/src/main/kotlin/org/gameyfin/app/config/ConfigProperties.kt index 2214884..6034db7 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/config/ConfigProperties.kt +++ b/app/src/main/kotlin/org/gameyfin/app/config/ConfigProperties.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.config +package org.gameyfin.app.config import org.springframework.boot.logging.LogLevel import java.io.Serializable diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/config/ConfigService.kt b/app/src/main/kotlin/org/gameyfin/app/config/ConfigService.kt similarity index 97% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/config/ConfigService.kt rename to app/src/main/kotlin/org/gameyfin/app/config/ConfigService.kt index 818b976..2caa883 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/config/ConfigService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/config/ConfigService.kt @@ -1,10 +1,10 @@ -package de.grimsi.gameyfin.config +package org.gameyfin.app.config -import de.grimsi.gameyfin.config.dto.ConfigEntryDto -import de.grimsi.gameyfin.config.dto.ConfigUpdateDto -import de.grimsi.gameyfin.config.entities.ConfigEntry -import de.grimsi.gameyfin.config.persistence.ConfigRepository import io.github.oshai.kotlinlogging.KotlinLogging +import org.gameyfin.app.config.dto.ConfigEntryDto +import org.gameyfin.app.config.dto.ConfigUpdateDto +import org.gameyfin.app.config.entities.ConfigEntry +import org.gameyfin.app.config.persistence.ConfigRepository import org.springframework.data.repository.findByIdOrNull import org.springframework.stereotype.Service import reactor.core.publisher.Flux diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/config/dto/ConfigEntryDto.kt b/app/src/main/kotlin/org/gameyfin/app/config/dto/ConfigEntryDto.kt similarity index 90% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/config/dto/ConfigEntryDto.kt rename to app/src/main/kotlin/org/gameyfin/app/config/dto/ConfigEntryDto.kt index ef69b3c..30f632a 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/config/dto/ConfigEntryDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/config/dto/ConfigEntryDto.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.config.dto +package org.gameyfin.app.config.dto import com.fasterxml.jackson.annotation.JsonInclude import java.io.Serializable diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/config/dto/ConfigUpdateDto.kt b/app/src/main/kotlin/org/gameyfin/app/config/dto/ConfigUpdateDto.kt similarity index 69% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/config/dto/ConfigUpdateDto.kt rename to app/src/main/kotlin/org/gameyfin/app/config/dto/ConfigUpdateDto.kt index 5452d63..182c53f 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/config/dto/ConfigUpdateDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/config/dto/ConfigUpdateDto.kt @@ -1,7 +1,7 @@ -package de.grimsi.gameyfin.config.dto +package org.gameyfin.app.config.dto import com.fasterxml.jackson.databind.annotation.JsonDeserialize -import de.grimsi.gameyfin.core.serialization.ArrayDeserializer +import org.gameyfin.app.core.serialization.ArrayDeserializer import java.io.Serializable data class ConfigUpdateDto( diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/config/entities/ConfigEntry.kt b/app/src/main/kotlin/org/gameyfin/app/config/entities/ConfigEntry.kt similarity index 72% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/config/entities/ConfigEntry.kt rename to app/src/main/kotlin/org/gameyfin/app/config/entities/ConfigEntry.kt index dcf4217..64fe3cf 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/config/entities/ConfigEntry.kt +++ b/app/src/main/kotlin/org/gameyfin/app/config/entities/ConfigEntry.kt @@ -1,7 +1,7 @@ -package de.grimsi.gameyfin.config.entities +package org.gameyfin.app.config.entities -import de.grimsi.gameyfin.core.security.EncryptionConverter import jakarta.persistence.* +import org.gameyfin.app.core.security.EncryptionConverter @Entity @Table(name = "app_config") diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/config/persistence/ConfigRepository.kt b/app/src/main/kotlin/org/gameyfin/app/config/persistence/ConfigRepository.kt similarity index 55% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/config/persistence/ConfigRepository.kt rename to app/src/main/kotlin/org/gameyfin/app/config/persistence/ConfigRepository.kt index d69fc3b..76e0c21 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/config/persistence/ConfigRepository.kt +++ b/app/src/main/kotlin/org/gameyfin/app/config/persistence/ConfigRepository.kt @@ -1,6 +1,6 @@ -package de.grimsi.gameyfin.config.persistence +package org.gameyfin.app.config.persistence -import de.grimsi.gameyfin.config.entities.ConfigEntry +import org.gameyfin.app.config.entities.ConfigEntry import org.springframework.data.jpa.repository.JpaRepository interface ConfigRepository : JpaRepository diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/Role.kt b/app/src/main/kotlin/org/gameyfin/app/core/Role.kt similarity index 50% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/Role.kt rename to app/src/main/kotlin/org/gameyfin/app/core/Role.kt index 22d264c..0401300 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/Role.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/Role.kt @@ -1,8 +1,9 @@ -package de.grimsi.gameyfin.core +package org.gameyfin.app.core import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.annotation.JsonValue -import de.grimsi.gameyfin.users.RoleService.Companion.INTERNAL_ROLE_PREFIX +import org.gameyfin.app.users.RoleService +import java.lang.Enum enum class Role(val roleName: String, val powerLevel: Int) { @@ -20,22 +21,22 @@ enum class Role(val roleName: String, val powerLevel: Int) { @JsonCreator @JvmStatic fun fromValue(value: String): Role? { - val enumString = value.removePrefix(INTERNAL_ROLE_PREFIX) - return Role.entries.find { it.roleName == enumString } + val enumString = value.removePrefix(RoleService.Companion.INTERNAL_ROLE_PREFIX) + return entries.find { it.roleName == enumString } } fun safeValueOf(type: String): Role? { - val enumString = type.removePrefix(INTERNAL_ROLE_PREFIX) - return java.lang.Enum.valueOf(Role::class.java, enumString) + val enumString = type.removePrefix(RoleService.Companion.INTERNAL_ROLE_PREFIX) + return Enum.valueOf(Role::class.java, enumString) } } // necessary for the ability to use the Roles class in the @RolesAllowed annotation class Names { companion object { - const val SUPERADMIN = "${INTERNAL_ROLE_PREFIX}SUPERADMIN" - const val ADMIN = "${INTERNAL_ROLE_PREFIX}ADMIN" - const val USER = "${INTERNAL_ROLE_PREFIX}USER" + const val SUPERADMIN = "${RoleService.Companion.INTERNAL_ROLE_PREFIX}SUPERADMIN" + const val ADMIN = "${RoleService.Companion.INTERNAL_ROLE_PREFIX}ADMIN" + const val USER = "${RoleService.Companion.INTERNAL_ROLE_PREFIX}USER" } } } \ No newline at end of file diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/SetupDataLoader.kt b/app/src/main/kotlin/org/gameyfin/app/core/SetupDataLoader.kt similarity index 92% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/SetupDataLoader.kt rename to app/src/main/kotlin/org/gameyfin/app/core/SetupDataLoader.kt index 7fefa37..6ef13a3 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/SetupDataLoader.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/SetupDataLoader.kt @@ -1,9 +1,9 @@ -package de.grimsi.gameyfin.core +package org.gameyfin.app.core -import de.grimsi.gameyfin.setup.SetupService -import de.grimsi.gameyfin.users.UserService -import de.grimsi.gameyfin.users.entities.User +import org.gameyfin.app.setup.SetupService +import org.gameyfin.app.users.UserService import io.github.oshai.kotlinlogging.KotlinLogging +import org.gameyfin.app.users.entities.User import org.springframework.boot.context.event.ApplicationReadyEvent import org.springframework.context.event.EventListener import org.springframework.core.env.Environment diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/Utils.kt b/app/src/main/kotlin/org/gameyfin/app/core/Utils.kt similarity index 98% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/Utils.kt rename to app/src/main/kotlin/org/gameyfin/app/core/Utils.kt index 342b0a0..6409c68 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/Utils.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/Utils.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core +package org.gameyfin.app.core import org.apache.tika.Tika import org.springframework.core.io.ByteArrayResource @@ -7,6 +7,7 @@ import org.springframework.http.MediaType import org.springframework.http.ResponseEntity import org.springframework.web.context.request.RequestContextHolder import org.springframework.web.context.request.ServletRequestAttributes +import kotlin.text.iterator class Utils { diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/annotations/DynamicAccessInterceptor.kt b/app/src/main/kotlin/org/gameyfin/app/core/annotations/DynamicAccessInterceptor.kt similarity index 89% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/annotations/DynamicAccessInterceptor.kt rename to app/src/main/kotlin/org/gameyfin/app/core/annotations/DynamicAccessInterceptor.kt index 56800a0..8595a18 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/annotations/DynamicAccessInterceptor.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/annotations/DynamicAccessInterceptor.kt @@ -1,9 +1,9 @@ -package de.grimsi.gameyfin.core.annotations +package org.gameyfin.app.core.annotations -import de.grimsi.gameyfin.config.ConfigProperties -import de.grimsi.gameyfin.config.ConfigService +import org.gameyfin.app.config.ConfigService import jakarta.servlet.http.HttpServletRequest import jakarta.servlet.http.HttpServletResponse +import org.gameyfin.app.config.ConfigProperties import org.springframework.stereotype.Component import org.springframework.web.method.HandlerMethod import org.springframework.web.servlet.HandlerInterceptor diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/annotations/DynamicPublicAccess.kt b/app/src/main/kotlin/org/gameyfin/app/core/annotations/DynamicPublicAccess.kt similarity index 90% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/annotations/DynamicPublicAccess.kt rename to app/src/main/kotlin/org/gameyfin/app/core/annotations/DynamicPublicAccess.kt index 92076a3..4176bc5 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/annotations/DynamicPublicAccess.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/annotations/DynamicPublicAccess.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.annotations +package org.gameyfin.app.core.annotations import kotlin.annotation.AnnotationRetention.RUNTIME import kotlin.annotation.AnnotationTarget.CLASS diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/annotations/NullOrNotBlank.kt b/app/src/main/kotlin/org/gameyfin/app/core/annotations/NullOrNotBlank.kt similarity index 91% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/annotations/NullOrNotBlank.kt rename to app/src/main/kotlin/org/gameyfin/app/core/annotations/NullOrNotBlank.kt index 006683f..a6f0913 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/annotations/NullOrNotBlank.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/annotations/NullOrNotBlank.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.annotations +package org.gameyfin.app.core.annotations import jakarta.validation.Constraint import jakarta.validation.Payload diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/annotations/NullOrNotBlankValidator.kt b/app/src/main/kotlin/org/gameyfin/app/core/annotations/NullOrNotBlankValidator.kt similarity index 88% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/annotations/NullOrNotBlankValidator.kt rename to app/src/main/kotlin/org/gameyfin/app/core/annotations/NullOrNotBlankValidator.kt index fcd2d1d..a58b5e5 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/annotations/NullOrNotBlankValidator.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/annotations/NullOrNotBlankValidator.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.annotations +package org.gameyfin.app.core.annotations import jakarta.validation.ConstraintValidator import jakarta.validation.ConstraintValidatorContext diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/development/DelayInterceptor.kt b/app/src/main/kotlin/org/gameyfin/app/core/development/DelayInterceptor.kt similarity index 92% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/development/DelayInterceptor.kt rename to app/src/main/kotlin/org/gameyfin/app/core/development/DelayInterceptor.kt index eb87e43..89c55c9 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/development/DelayInterceptor.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/development/DelayInterceptor.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.development +package org.gameyfin.app.core.development import jakarta.servlet.http.HttpServletRequest import jakarta.servlet.http.HttpServletResponse diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/download/DownloadEndpoint.kt b/app/src/main/kotlin/org/gameyfin/app/core/download/DownloadEndpoint.kt similarity index 82% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/download/DownloadEndpoint.kt rename to app/src/main/kotlin/org/gameyfin/app/core/download/DownloadEndpoint.kt index c4d22a0..b5f604d 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/download/DownloadEndpoint.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/download/DownloadEndpoint.kt @@ -1,9 +1,9 @@ -package de.grimsi.gameyfin.core.download +package org.gameyfin.app.core.download -import de.grimsi.gameyfin.core.annotations.DynamicPublicAccess -import de.grimsi.gameyfin.games.GameService -import de.grimsi.gameyfin.pluginapi.download.FileDownload -import de.grimsi.gameyfin.pluginapi.download.LinkDownload +import org.gameyfin.app.core.annotations.DynamicPublicAccess +import org.gameyfin.app.games.GameService +import org.gameyfin.pluginapi.download.FileDownload +import org.gameyfin.pluginapi.download.LinkDownload import org.springframework.http.ResponseEntity import org.springframework.web.bind.annotation.* import org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/download/DownloadProviderDto.kt b/app/src/main/kotlin/org/gameyfin/app/core/download/DownloadProviderDto.kt similarity index 86% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/download/DownloadProviderDto.kt rename to app/src/main/kotlin/org/gameyfin/app/core/download/DownloadProviderDto.kt index eb1e59c..ce828d8 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/download/DownloadProviderDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/download/DownloadProviderDto.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.download +package org.gameyfin.app.core.download import com.fasterxml.jackson.annotation.JsonInclude diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/download/DownloadProviderEndpoint.kt b/app/src/main/kotlin/org/gameyfin/app/core/download/DownloadProviderEndpoint.kt similarity index 88% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/download/DownloadProviderEndpoint.kt rename to app/src/main/kotlin/org/gameyfin/app/core/download/DownloadProviderEndpoint.kt index ce874bf..933b1f8 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/download/DownloadProviderEndpoint.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/download/DownloadProviderEndpoint.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.download +package org.gameyfin.app.core.download import com.vaadin.hilla.Endpoint import jakarta.annotation.security.PermitAll diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/download/DownloadService.kt b/app/src/main/kotlin/org/gameyfin/app/core/download/DownloadService.kt similarity index 80% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/download/DownloadService.kt rename to app/src/main/kotlin/org/gameyfin/app/core/download/DownloadService.kt index 0404f70..efed758 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/download/DownloadService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/download/DownloadService.kt @@ -1,9 +1,9 @@ -package de.grimsi.gameyfin.core.download +package org.gameyfin.app.core.download -import de.grimsi.gameyfin.core.plugins.management.GameyfinPluginDescriptor -import de.grimsi.gameyfin.core.plugins.management.GameyfinPluginManager -import de.grimsi.gameyfin.pluginapi.download.Download -import de.grimsi.gameyfin.pluginapi.download.DownloadProvider +import org.gameyfin.app.core.plugins.management.GameyfinPluginDescriptor +import org.gameyfin.app.core.plugins.management.GameyfinPluginManager +import org.gameyfin.pluginapi.download.Download +import org.gameyfin.pluginapi.download.DownloadProvider import org.springframework.stereotype.Service import kotlin.io.path.Path diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/events/Events.kt b/app/src/main/kotlin/org/gameyfin/app/core/events/Events.kt similarity index 63% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/events/Events.kt rename to app/src/main/kotlin/org/gameyfin/app/core/events/Events.kt index 7fdb782..db5131b 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/events/Events.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/events/Events.kt @@ -1,24 +1,24 @@ -package de.grimsi.gameyfin.core.events +package org.gameyfin.app.core.events -import de.grimsi.gameyfin.shared.token.Token -import de.grimsi.gameyfin.shared.token.TokenType.* -import de.grimsi.gameyfin.users.entities.User +import org.gameyfin.app.shared.token.Token +import org.gameyfin.app.shared.token.TokenType +import org.gameyfin.app.users.entities.User import org.springframework.context.ApplicationEvent -class UserInvitationEvent(source: Any, val token: Token, val baseUrl: String, val email: String) : +class UserInvitationEvent(source: Any, val token: Token, val baseUrl: String, val email: String) : ApplicationEvent(source) class UserRegistrationWaitingForApprovalEvent(source: Any, val newUser: User) : ApplicationEvent(source) class AccountStatusChangedEvent(source: Any, val user: User, val baseUrl: String) : ApplicationEvent(source) -class EmailNeedsConfirmationEvent(source: Any, val token: Token, val baseUrl: String) : +class EmailNeedsConfirmationEvent(source: Any, val token: Token, val baseUrl: String) : ApplicationEvent(source) class RegistrationAttemptWithExistingEmailEvent(source: Any, val existingUser: User, val baseUrl: String) : ApplicationEvent(source) -class PasswordResetRequestEvent(source: Any, val token: Token, val baseUrl: String) : +class PasswordResetRequestEvent(source: Any, val token: Token, val baseUrl: String) : ApplicationEvent(source) class AccountDeletedEvent(source: Any, val user: User, val baseUrl: String) : ApplicationEvent(source) diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/filesystem/FileDto.kt b/app/src/main/kotlin/org/gameyfin/app/core/filesystem/FileDto.kt similarity index 66% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/filesystem/FileDto.kt rename to app/src/main/kotlin/org/gameyfin/app/core/filesystem/FileDto.kt index 00f22cd..d8e216d 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/filesystem/FileDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/filesystem/FileDto.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.filesystem +package org.gameyfin.app.core.filesystem data class FileDto( val name: String, diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/filesystem/FileType.kt b/app/src/main/kotlin/org/gameyfin/app/core/filesystem/FileType.kt similarity index 53% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/filesystem/FileType.kt rename to app/src/main/kotlin/org/gameyfin/app/core/filesystem/FileType.kt index 8136f26..d24b102 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/filesystem/FileType.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/filesystem/FileType.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.filesystem +package org.gameyfin.app.core.filesystem enum class FileType { FILE, diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/filesystem/FilesystemEndpoint.kt b/app/src/main/kotlin/org/gameyfin/app/core/filesystem/FilesystemEndpoint.kt similarity index 85% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/filesystem/FilesystemEndpoint.kt rename to app/src/main/kotlin/org/gameyfin/app/core/filesystem/FilesystemEndpoint.kt index c1cfbe5..8c935b7 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/filesystem/FilesystemEndpoint.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/filesystem/FilesystemEndpoint.kt @@ -1,8 +1,8 @@ -package de.grimsi.gameyfin.core.filesystem +package org.gameyfin.app.core.filesystem import com.vaadin.hilla.Endpoint -import de.grimsi.gameyfin.core.Role import jakarta.annotation.security.RolesAllowed +import org.gameyfin.app.core.Role @Endpoint @RolesAllowed(Role.Names.ADMIN) diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/filesystem/FilesystemScanResult.kt b/app/src/main/kotlin/org/gameyfin/app/core/filesystem/FilesystemScanResult.kt similarity index 80% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/filesystem/FilesystemScanResult.kt rename to app/src/main/kotlin/org/gameyfin/app/core/filesystem/FilesystemScanResult.kt index 86eb2db..8bb0f7f 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/filesystem/FilesystemScanResult.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/filesystem/FilesystemScanResult.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.filesystem +package org.gameyfin.app.core.filesystem import java.nio.file.Path diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/filesystem/FilesystemService.kt b/app/src/main/kotlin/org/gameyfin/app/core/filesystem/FilesystemService.kt similarity index 97% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/filesystem/FilesystemService.kt rename to app/src/main/kotlin/org/gameyfin/app/core/filesystem/FilesystemService.kt index 9ec1ec9..f126d77 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/filesystem/FilesystemService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/filesystem/FilesystemService.kt @@ -1,10 +1,10 @@ -package de.grimsi.gameyfin.core.filesystem +package org.gameyfin.app.core.filesystem -import de.grimsi.gameyfin.config.ConfigProperties -import de.grimsi.gameyfin.config.ConfigService -import de.grimsi.gameyfin.libraries.Library +import org.gameyfin.app.config.ConfigService import io.github.oshai.kotlinlogging.KotlinLogging import org.apache.commons.io.FilenameUtils +import org.gameyfin.app.config.ConfigProperties +import org.gameyfin.app.libraries.Library import org.springframework.stereotype.Service import java.io.File import java.nio.file.FileSystems diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/filesystem/OperatingSystemType.kt b/app/src/main/kotlin/org/gameyfin/app/core/filesystem/OperatingSystemType.kt similarity index 65% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/filesystem/OperatingSystemType.kt rename to app/src/main/kotlin/org/gameyfin/app/core/filesystem/OperatingSystemType.kt index 8c40b25..ec3b269 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/filesystem/OperatingSystemType.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/filesystem/OperatingSystemType.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.filesystem +package org.gameyfin.app.core.filesystem enum class OperatingSystemType { WINDOWS, diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/logging/LogEndpoint.kt b/app/src/main/kotlin/org/gameyfin/app/core/logging/LogEndpoint.kt similarity index 85% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/logging/LogEndpoint.kt rename to app/src/main/kotlin/org/gameyfin/app/core/logging/LogEndpoint.kt index ae52aeb..d455884 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/logging/LogEndpoint.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/logging/LogEndpoint.kt @@ -1,10 +1,10 @@ -package de.grimsi.gameyfin.core.logging +package org.gameyfin.app.core.logging import com.vaadin.hilla.Endpoint -import de.grimsi.gameyfin.core.Role -import de.grimsi.gameyfin.users.util.isAdmin import jakarta.annotation.security.PermitAll import jakarta.annotation.security.RolesAllowed +import org.gameyfin.app.core.Role +import org.gameyfin.app.users.util.isAdmin import org.springframework.security.core.context.SecurityContextHolder import org.springframework.security.core.userdetails.UserDetails import reactor.core.publisher.Flux diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/logging/LogService.kt b/app/src/main/kotlin/org/gameyfin/app/core/logging/LogService.kt similarity index 94% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/logging/LogService.kt rename to app/src/main/kotlin/org/gameyfin/app/core/logging/LogService.kt index 97b702a..3518963 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/logging/LogService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/logging/LogService.kt @@ -1,11 +1,11 @@ -package de.grimsi.gameyfin.core.logging +package org.gameyfin.app.core.logging import ch.qos.logback.classic.LoggerContext import ch.qos.logback.classic.joran.JoranConfigurator -import de.grimsi.gameyfin.config.ConfigProperties -import de.grimsi.gameyfin.config.ConfigService -import de.grimsi.gameyfin.core.logging.util.AsyncFileTailer +import org.gameyfin.app.config.ConfigService import io.github.oshai.kotlinlogging.KotlinLogging +import org.gameyfin.app.config.ConfigProperties +import org.gameyfin.app.core.logging.util.AsyncFileTailer import org.slf4j.LoggerFactory import org.springframework.boot.context.event.ApplicationStartedEvent import org.springframework.boot.logging.LogLevel diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/logging/dto/LogConfigDto.kt b/app/src/main/kotlin/org/gameyfin/app/core/logging/dto/LogConfigDto.kt similarity index 78% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/logging/dto/LogConfigDto.kt rename to app/src/main/kotlin/org/gameyfin/app/core/logging/dto/LogConfigDto.kt index 72757b9..4d89ccd 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/logging/dto/LogConfigDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/logging/dto/LogConfigDto.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.logging.dto +package org.gameyfin.app.core.logging.dto import org.springframework.boot.logging.LogLevel diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/logging/util/AsyncFileTailer.kt b/app/src/main/kotlin/org/gameyfin/app/core/logging/util/AsyncFileTailer.kt similarity index 97% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/logging/util/AsyncFileTailer.kt rename to app/src/main/kotlin/org/gameyfin/app/core/logging/util/AsyncFileTailer.kt index 1abf827..f143963 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/logging/util/AsyncFileTailer.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/logging/util/AsyncFileTailer.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.logging.util +package org.gameyfin.app.core.logging.util import io.github.oshai.kotlinlogging.KotlinLogging import kotlinx.coroutines.CoroutineScope diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/PluginEndpoint.kt b/app/src/main/kotlin/org/gameyfin/app/core/plugins/PluginEndpoint.kt similarity index 85% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/PluginEndpoint.kt rename to app/src/main/kotlin/org/gameyfin/app/core/plugins/PluginEndpoint.kt index 1f65268..75df853 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/PluginEndpoint.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/plugins/PluginEndpoint.kt @@ -1,12 +1,12 @@ -package de.grimsi.gameyfin.core.plugins +package org.gameyfin.app.core.plugins import com.vaadin.hilla.Endpoint -import de.grimsi.gameyfin.core.Role -import de.grimsi.gameyfin.core.plugins.dto.PluginUpdateDto -import de.grimsi.gameyfin.pluginapi.core.config.PluginConfigValidationResult -import de.grimsi.gameyfin.users.util.isAdmin import jakarta.annotation.security.PermitAll import jakarta.annotation.security.RolesAllowed +import org.gameyfin.app.core.Role +import org.gameyfin.app.core.plugins.dto.PluginUpdateDto +import org.gameyfin.app.users.util.isAdmin +import org.gameyfin.pluginapi.core.config.PluginConfigValidationResult import org.springframework.security.core.context.SecurityContextHolder import org.springframework.security.core.userdetails.UserDetails import reactor.core.publisher.Flux diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/PluginService.kt b/app/src/main/kotlin/org/gameyfin/app/core/plugins/PluginService.kt similarity index 88% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/PluginService.kt rename to app/src/main/kotlin/org/gameyfin/app/core/plugins/PluginService.kt index 8006762..bd15f64 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/PluginService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/plugins/PluginService.kt @@ -1,19 +1,19 @@ -package de.grimsi.gameyfin.core.plugins +package org.gameyfin.app.core.plugins -import de.grimsi.gameyfin.core.plugins.config.PluginConfigEntry -import de.grimsi.gameyfin.core.plugins.config.PluginConfigEntryKey -import de.grimsi.gameyfin.core.plugins.config.PluginConfigRepository -import de.grimsi.gameyfin.core.plugins.dto.PluginConfigMetadataDto -import de.grimsi.gameyfin.core.plugins.dto.PluginDto -import de.grimsi.gameyfin.core.plugins.dto.PluginUpdateDto -import de.grimsi.gameyfin.core.plugins.management.GameyfinPluginDescriptor -import de.grimsi.gameyfin.core.plugins.management.GameyfinPluginManager -import de.grimsi.gameyfin.core.plugins.management.PluginManagementEntry -import de.grimsi.gameyfin.core.plugins.management.PluginManagementRepository -import de.grimsi.gameyfin.pluginapi.core.config.Configurable -import de.grimsi.gameyfin.pluginapi.core.config.PluginConfigValidationResult -import de.grimsi.gameyfin.pluginapi.core.wrapper.GameyfinPlugin import io.github.oshai.kotlinlogging.KotlinLogging +import org.gameyfin.app.core.plugins.config.PluginConfigEntry +import org.gameyfin.app.core.plugins.config.PluginConfigEntryKey +import org.gameyfin.app.core.plugins.config.PluginConfigRepository +import org.gameyfin.app.core.plugins.dto.PluginConfigMetadataDto +import org.gameyfin.app.core.plugins.dto.PluginDto +import org.gameyfin.app.core.plugins.dto.PluginUpdateDto +import org.gameyfin.app.core.plugins.management.GameyfinPluginDescriptor +import org.gameyfin.app.core.plugins.management.GameyfinPluginManager +import org.gameyfin.app.core.plugins.management.PluginManagementEntry +import org.gameyfin.app.core.plugins.management.PluginManagementRepository +import org.gameyfin.pluginapi.core.config.Configurable +import org.gameyfin.pluginapi.core.config.PluginConfigValidationResult +import org.gameyfin.pluginapi.core.wrapper.GameyfinPlugin import org.pf4j.ExtensionPoint import org.pf4j.PluginWrapper import org.springframework.data.repository.findByIdOrNull diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/config/PluginConfigEntry.kt b/app/src/main/kotlin/org/gameyfin/app/core/plugins/config/PluginConfigEntry.kt similarity index 80% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/config/PluginConfigEntry.kt rename to app/src/main/kotlin/org/gameyfin/app/core/plugins/config/PluginConfigEntry.kt index 8b28a1f..87c2174 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/config/PluginConfigEntry.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/plugins/config/PluginConfigEntry.kt @@ -1,7 +1,7 @@ -package de.grimsi.gameyfin.core.plugins.config +package org.gameyfin.app.core.plugins.config -import de.grimsi.gameyfin.core.security.EncryptionConverter import jakarta.persistence.* +import org.gameyfin.app.core.security.EncryptionConverter import java.io.Serializable @Entity diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/config/PluginConfigRepository.kt b/app/src/main/kotlin/org/gameyfin/app/core/plugins/config/PluginConfigRepository.kt similarity index 86% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/config/PluginConfigRepository.kt rename to app/src/main/kotlin/org/gameyfin/app/core/plugins/config/PluginConfigRepository.kt index a6e6aeb..e64b79e 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/config/PluginConfigRepository.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/plugins/config/PluginConfigRepository.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.plugins.config +package org.gameyfin.app.core.plugins.config import org.springframework.data.jpa.repository.JpaRepository diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/dto/PluginConfigMetadataDto.kt b/app/src/main/kotlin/org/gameyfin/app/core/plugins/dto/PluginConfigMetadataDto.kt similarity index 89% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/dto/PluginConfigMetadataDto.kt rename to app/src/main/kotlin/org/gameyfin/app/core/plugins/dto/PluginConfigMetadataDto.kt index d98f9ad..5e7b1c6 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/dto/PluginConfigMetadataDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/plugins/dto/PluginConfigMetadataDto.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.plugins.dto +package org.gameyfin.app.core.plugins.dto import com.fasterxml.jackson.annotation.JsonInclude import java.io.Serializable diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/dto/PluginDto.kt b/app/src/main/kotlin/org/gameyfin/app/core/plugins/dto/PluginDto.kt similarity index 75% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/dto/PluginDto.kt rename to app/src/main/kotlin/org/gameyfin/app/core/plugins/dto/PluginDto.kt index bbf092f..c0112ee 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/dto/PluginDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/plugins/dto/PluginDto.kt @@ -1,7 +1,7 @@ -package de.grimsi.gameyfin.core.plugins.dto +package org.gameyfin.app.core.plugins.dto -import de.grimsi.gameyfin.core.plugins.management.PluginTrustLevel -import de.grimsi.gameyfin.pluginapi.core.config.PluginConfigValidationResult +import org.gameyfin.app.core.plugins.management.PluginTrustLevel +import org.gameyfin.pluginapi.core.config.PluginConfigValidationResult import org.pf4j.PluginState data class PluginDto( diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/dto/PluginUpdateDto.kt b/app/src/main/kotlin/org/gameyfin/app/core/plugins/dto/PluginUpdateDto.kt similarity index 74% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/dto/PluginUpdateDto.kt rename to app/src/main/kotlin/org/gameyfin/app/core/plugins/dto/PluginUpdateDto.kt index 6a84ba8..2501aa6 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/dto/PluginUpdateDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/plugins/dto/PluginUpdateDto.kt @@ -1,7 +1,7 @@ -package de.grimsi.gameyfin.core.plugins.dto +package org.gameyfin.app.core.plugins.dto import com.fasterxml.jackson.annotation.JsonInclude -import de.grimsi.gameyfin.pluginapi.core.config.PluginConfigValidationResult +import org.gameyfin.pluginapi.core.config.PluginConfigValidationResult import org.pf4j.PluginState @JsonInclude(JsonInclude.Include.NON_NULL) diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/DatabasePluginStatusProvider.kt b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/DatabasePluginStatusProvider.kt similarity index 95% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/DatabasePluginStatusProvider.kt rename to app/src/main/kotlin/org/gameyfin/app/core/plugins/management/DatabasePluginStatusProvider.kt index c83a6ea..a827ae9 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/DatabasePluginStatusProvider.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/DatabasePluginStatusProvider.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.plugins.management +package org.gameyfin.app.core.plugins.management import org.pf4j.PluginStatusProvider import org.springframework.data.repository.findByIdOrNull diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/GameyfinDevelopmentPluginLoader.kt b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/GameyfinDevelopmentPluginLoader.kt similarity index 92% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/GameyfinDevelopmentPluginLoader.kt rename to app/src/main/kotlin/org/gameyfin/app/core/plugins/management/GameyfinDevelopmentPluginLoader.kt index fabc5dd..431a257 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/GameyfinDevelopmentPluginLoader.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/GameyfinDevelopmentPluginLoader.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.plugins.management +package org.gameyfin.app.core.plugins.management import org.pf4j.DevelopmentPluginLoader import org.pf4j.PluginClassLoader diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/GameyfinExtensionFinder.kt b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/GameyfinExtensionFinder.kt similarity index 97% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/GameyfinExtensionFinder.kt rename to app/src/main/kotlin/org/gameyfin/app/core/plugins/management/GameyfinExtensionFinder.kt index 095a00d..c2cf86d 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/GameyfinExtensionFinder.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/GameyfinExtensionFinder.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.plugins.management +package org.gameyfin.app.core.plugins.management import io.github.oshai.kotlinlogging.KotlinLogging import org.pf4j.ExtensionDescriptor diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/GameyfinJarPluginLoader.kt b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/GameyfinJarPluginLoader.kt similarity index 94% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/GameyfinJarPluginLoader.kt rename to app/src/main/kotlin/org/gameyfin/app/core/plugins/management/GameyfinJarPluginLoader.kt index 5b9b60d..15171f0 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/GameyfinJarPluginLoader.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/GameyfinJarPluginLoader.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.plugins.management +package org.gameyfin.app.core.plugins.management import org.pf4j.DevelopmentPluginLoader import org.pf4j.PluginDescriptor diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/GameyfinManifestPluginDescriptorFinder.kt b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/GameyfinManifestPluginDescriptorFinder.kt similarity index 96% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/GameyfinManifestPluginDescriptorFinder.kt rename to app/src/main/kotlin/org/gameyfin/app/core/plugins/management/GameyfinManifestPluginDescriptorFinder.kt index 8d95d58..eadcf0b 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/GameyfinManifestPluginDescriptorFinder.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/GameyfinManifestPluginDescriptorFinder.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.plugins.management +package org.gameyfin.app.core.plugins.management import org.pf4j.ManifestPluginDescriptorFinder import java.util.jar.Manifest diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/GameyfinPluginClassLoader.kt b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/GameyfinPluginClassLoader.kt similarity index 92% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/GameyfinPluginClassLoader.kt rename to app/src/main/kotlin/org/gameyfin/app/core/plugins/management/GameyfinPluginClassLoader.kt index df8986a..bf7a7f7 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/GameyfinPluginClassLoader.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/GameyfinPluginClassLoader.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.plugins.management +package org.gameyfin.app.core.plugins.management import org.pf4j.PluginClassLoader import org.pf4j.PluginDescriptor diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/GameyfinPluginDescriptor.kt b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/GameyfinPluginDescriptor.kt similarity index 96% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/GameyfinPluginDescriptor.kt rename to app/src/main/kotlin/org/gameyfin/app/core/plugins/management/GameyfinPluginDescriptor.kt index 9a4d106..c9f952e 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/GameyfinPluginDescriptor.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/GameyfinPluginDescriptor.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.plugins.management +package org.gameyfin.app.core.plugins.management import org.pf4j.DefaultPluginDescriptor import org.pf4j.PluginDescriptor diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/GameyfinPluginManager.kt b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/GameyfinPluginManager.kt similarity index 97% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/GameyfinPluginManager.kt rename to app/src/main/kotlin/org/gameyfin/app/core/plugins/management/GameyfinPluginManager.kt index 36427bb..8946ae4 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/GameyfinPluginManager.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/GameyfinPluginManager.kt @@ -1,10 +1,10 @@ -package de.grimsi.gameyfin.core.plugins.management +package org.gameyfin.app.core.plugins.management -import de.grimsi.gameyfin.core.plugins.config.PluginConfigRepository -import de.grimsi.gameyfin.pluginapi.core.config.Configurable -import de.grimsi.gameyfin.pluginapi.core.config.PluginConfigValidationResult -import de.grimsi.gameyfin.pluginapi.core.config.PluginConfigValidationResultType import io.github.oshai.kotlinlogging.KotlinLogging +import org.gameyfin.app.core.plugins.config.PluginConfigRepository +import org.gameyfin.pluginapi.core.config.Configurable +import org.gameyfin.pluginapi.core.config.PluginConfigValidationResult +import org.gameyfin.pluginapi.core.config.PluginConfigValidationResultType import org.pf4j.* import org.springframework.data.repository.findByIdOrNull import org.springframework.stereotype.Component diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/PluginManagementEntry.kt b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/PluginManagementEntry.kt similarity index 84% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/PluginManagementEntry.kt rename to app/src/main/kotlin/org/gameyfin/app/core/plugins/management/PluginManagementEntry.kt index a194a21..b2cf1b6 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/PluginManagementEntry.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/PluginManagementEntry.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.plugins.management +package org.gameyfin.app.core.plugins.management import jakarta.persistence.Entity import jakarta.persistence.Id diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/PluginManagementRepository.kt b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/PluginManagementRepository.kt similarity index 85% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/PluginManagementRepository.kt rename to app/src/main/kotlin/org/gameyfin/app/core/plugins/management/PluginManagementRepository.kt index cfc9ab1..6c3f570 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/PluginManagementRepository.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/PluginManagementRepository.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.plugins.management +package org.gameyfin.app.core.plugins.management import org.springframework.data.jpa.repository.JpaRepository import org.springframework.data.jpa.repository.Query diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/PluginManagerConfig.kt b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/PluginManagerConfig.kt similarity index 92% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/PluginManagerConfig.kt rename to app/src/main/kotlin/org/gameyfin/app/core/plugins/management/PluginManagerConfig.kt index a4478cf..b167663 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/PluginManagerConfig.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/PluginManagerConfig.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.plugins.management +package org.gameyfin.app.core.plugins.management import io.github.oshai.kotlinlogging.KotlinLogging import org.springframework.boot.context.event.ApplicationReadyEvent diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/PluginTrustLevel.kt b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/PluginTrustLevel.kt similarity index 67% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/PluginTrustLevel.kt rename to app/src/main/kotlin/org/gameyfin/app/core/plugins/management/PluginTrustLevel.kt index 7383719..dcfe4a8 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/plugins/management/PluginTrustLevel.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/plugins/management/PluginTrustLevel.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.plugins.management +package org.gameyfin.app.core.plugins.management enum class PluginTrustLevel { BUNDLED, diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/AppKeyValidator.kt b/app/src/main/kotlin/org/gameyfin/app/core/security/AppKeyValidator.kt similarity index 95% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/AppKeyValidator.kt rename to app/src/main/kotlin/org/gameyfin/app/core/security/AppKeyValidator.kt index d2a8fc3..c082c92 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/AppKeyValidator.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/security/AppKeyValidator.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.security +package org.gameyfin.app.core.security import io.github.oshai.kotlinlogging.KotlinLogging import org.springframework.boot.CommandLineRunner diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/AuthenticationProviderConfig.kt b/app/src/main/kotlin/org/gameyfin/app/core/security/AuthenticationProviderConfig.kt similarity index 91% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/AuthenticationProviderConfig.kt rename to app/src/main/kotlin/org/gameyfin/app/core/security/AuthenticationProviderConfig.kt index cbcffba..83095e4 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/AuthenticationProviderConfig.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/security/AuthenticationProviderConfig.kt @@ -1,6 +1,6 @@ -package de.grimsi.gameyfin.core.security +package org.gameyfin.app.core.security -import de.grimsi.gameyfin.users.UserService +import org.gameyfin.app.users.UserService import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import org.springframework.security.access.hierarchicalroles.RoleHierarchy diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/AuthorityMapperConfig.kt b/app/src/main/kotlin/org/gameyfin/app/core/security/AuthorityMapperConfig.kt similarity index 84% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/AuthorityMapperConfig.kt rename to app/src/main/kotlin/org/gameyfin/app/core/security/AuthorityMapperConfig.kt index f2ee79c..a83f629 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/AuthorityMapperConfig.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/security/AuthorityMapperConfig.kt @@ -1,6 +1,6 @@ -package de.grimsi.gameyfin.core.security +package org.gameyfin.app.core.security -import de.grimsi.gameyfin.users.RoleService +import org.gameyfin.app.users.RoleService import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import org.springframework.security.core.authority.mapping.GrantedAuthoritiesMapper diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/EncryptionConverter.kt b/app/src/main/kotlin/org/gameyfin/app/core/security/EncryptionConverter.kt similarity index 91% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/EncryptionConverter.kt rename to app/src/main/kotlin/org/gameyfin/app/core/security/EncryptionConverter.kt index c81d094..408260a 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/EncryptionConverter.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/security/EncryptionConverter.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.security +package org.gameyfin.app.core.security import jakarta.persistence.AttributeConverter import jakarta.persistence.Converter diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/EncryptionMapConverter.kt b/app/src/main/kotlin/org/gameyfin/app/core/security/EncryptionMapConverter.kt similarity index 95% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/EncryptionMapConverter.kt rename to app/src/main/kotlin/org/gameyfin/app/core/security/EncryptionMapConverter.kt index e78eccf..2e78223 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/EncryptionMapConverter.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/security/EncryptionMapConverter.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.security +package org.gameyfin.app.core.security import com.fasterxml.jackson.databind.ObjectMapper import jakarta.persistence.AttributeConverter diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/EncryptionUtils.kt b/app/src/main/kotlin/org/gameyfin/app/core/security/EncryptionUtils.kt similarity index 96% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/EncryptionUtils.kt rename to app/src/main/kotlin/org/gameyfin/app/core/security/EncryptionUtils.kt index 08efa18..c382de6 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/EncryptionUtils.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/security/EncryptionUtils.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.security +package org.gameyfin.app.core.security import java.util.* import javax.crypto.Cipher diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/PasswordEncoderConfig.kt b/app/src/main/kotlin/org/gameyfin/app/core/security/PasswordEncoderConfig.kt similarity index 90% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/PasswordEncoderConfig.kt rename to app/src/main/kotlin/org/gameyfin/app/core/security/PasswordEncoderConfig.kt index 7e132a8..0f88c50 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/PasswordEncoderConfig.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/security/PasswordEncoderConfig.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.security +package org.gameyfin.app.core.security import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/RoleHierarchyConfig.kt b/app/src/main/kotlin/org/gameyfin/app/core/security/RoleHierarchyConfig.kt similarity index 92% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/RoleHierarchyConfig.kt rename to app/src/main/kotlin/org/gameyfin/app/core/security/RoleHierarchyConfig.kt index 0573ecc..84651d8 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/RoleHierarchyConfig.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/security/RoleHierarchyConfig.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.security +package org.gameyfin.app.core.security import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/SecurityConfig.kt b/app/src/main/kotlin/org/gameyfin/app/core/security/SecurityConfig.kt similarity index 97% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/SecurityConfig.kt rename to app/src/main/kotlin/org/gameyfin/app/core/security/SecurityConfig.kt index 42f89b2..b6598bd 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/SecurityConfig.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/security/SecurityConfig.kt @@ -1,8 +1,8 @@ -package de.grimsi.gameyfin.core.security +package org.gameyfin.app.core.security import com.vaadin.flow.spring.security.VaadinWebSecurity -import de.grimsi.gameyfin.config.ConfigProperties -import de.grimsi.gameyfin.config.ConfigService +import org.gameyfin.app.config.ConfigService +import org.gameyfin.app.config.ConfigProperties import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Conditional import org.springframework.context.annotation.Configuration diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/SessionRegistryConfig.kt b/app/src/main/kotlin/org/gameyfin/app/core/security/SessionRegistryConfig.kt similarity index 90% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/SessionRegistryConfig.kt rename to app/src/main/kotlin/org/gameyfin/app/core/security/SessionRegistryConfig.kt index d878b2d..90aecdc 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/SessionRegistryConfig.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/security/SessionRegistryConfig.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.security +package org.gameyfin.app.core.security import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/SsoAuthenticationSuccessHandler.kt b/app/src/main/kotlin/org/gameyfin/app/core/security/SsoAuthenticationSuccessHandler.kt similarity index 88% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/SsoAuthenticationSuccessHandler.kt rename to app/src/main/kotlin/org/gameyfin/app/core/security/SsoAuthenticationSuccessHandler.kt index 08f9953..30784d4 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/SsoAuthenticationSuccessHandler.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/security/SsoAuthenticationSuccessHandler.kt @@ -1,13 +1,13 @@ -package de.grimsi.gameyfin.core.security +package org.gameyfin.app.core.security -import de.grimsi.gameyfin.config.ConfigProperties -import de.grimsi.gameyfin.config.ConfigService -import de.grimsi.gameyfin.config.MatchUsersBy -import de.grimsi.gameyfin.users.RoleService -import de.grimsi.gameyfin.users.UserService -import de.grimsi.gameyfin.users.entities.User +import org.gameyfin.app.config.ConfigService +import org.gameyfin.app.users.UserService import jakarta.servlet.http.HttpServletRequest import jakarta.servlet.http.HttpServletResponse +import org.gameyfin.app.config.ConfigProperties +import org.gameyfin.app.config.MatchUsersBy +import org.gameyfin.app.users.RoleService +import org.gameyfin.app.users.entities.User import org.springframework.security.core.Authentication import org.springframework.security.oauth2.core.oidc.user.OidcUser import org.springframework.security.web.authentication.AuthenticationSuccessHandler diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/SsoEnabledCondition.kt b/app/src/main/kotlin/org/gameyfin/app/core/security/SsoEnabledCondition.kt similarity index 94% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/SsoEnabledCondition.kt rename to app/src/main/kotlin/org/gameyfin/app/core/security/SsoEnabledCondition.kt index 6e88a42..af4ae64 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/SsoEnabledCondition.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/security/SsoEnabledCondition.kt @@ -1,6 +1,6 @@ -package de.grimsi.gameyfin.core.security +package org.gameyfin.app.core.security -import de.grimsi.gameyfin.config.ConfigProperties +import org.gameyfin.app.config.ConfigProperties import org.springframework.context.annotation.Condition import org.springframework.context.annotation.ConditionContext import org.springframework.core.env.Environment diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/WebConfig.kt b/app/src/main/kotlin/org/gameyfin/app/core/security/WebConfig.kt similarity index 80% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/WebConfig.kt rename to app/src/main/kotlin/org/gameyfin/app/core/security/WebConfig.kt index a152ed6..28f1af0 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/security/WebConfig.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/security/WebConfig.kt @@ -1,7 +1,7 @@ -package de.grimsi.gameyfin.core.security +package org.gameyfin.app.core.security -import de.grimsi.gameyfin.core.annotations.DynamicAccessInterceptor -import de.grimsi.gameyfin.core.development.DelayInterceptor +import org.gameyfin.app.core.development.DelayInterceptor +import org.gameyfin.app.core.annotations.DynamicAccessInterceptor import org.springframework.beans.factory.annotation.Autowired import org.springframework.context.annotation.Configuration import org.springframework.web.servlet.config.annotation.InterceptorRegistry diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/serialization/ArrayDeseriazlizer.kt b/app/src/main/kotlin/org/gameyfin/app/core/serialization/ArrayDeseriazlizer.kt similarity index 93% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/serialization/ArrayDeseriazlizer.kt rename to app/src/main/kotlin/org/gameyfin/app/core/serialization/ArrayDeseriazlizer.kt index 51b026c..db637c4 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/core/serialization/ArrayDeseriazlizer.kt +++ b/app/src/main/kotlin/org/gameyfin/app/core/serialization/ArrayDeseriazlizer.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.core.serialization +package org.gameyfin.app.core.serialization import com.fasterxml.jackson.core.JsonParser import com.fasterxml.jackson.databind.DeserializationContext diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/CompanyService.kt b/app/src/main/kotlin/org/gameyfin/app/games/CompanyService.kt similarity index 73% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/CompanyService.kt rename to app/src/main/kotlin/org/gameyfin/app/games/CompanyService.kt index 14bd41d..eef4931 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/CompanyService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/CompanyService.kt @@ -1,7 +1,7 @@ -package de.grimsi.gameyfin.games +package org.gameyfin.app.games -import de.grimsi.gameyfin.games.entities.Company -import de.grimsi.gameyfin.games.repositories.CompanyRepository +import org.gameyfin.app.games.entities.Company +import org.gameyfin.app.games.repositories.CompanyRepository import org.springframework.stereotype.Service @Service diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/GameEndpoint.kt b/app/src/main/kotlin/org/gameyfin/app/games/GameEndpoint.kt similarity index 79% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/GameEndpoint.kt rename to app/src/main/kotlin/org/gameyfin/app/games/GameEndpoint.kt index 1769606..222ceea 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/GameEndpoint.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/GameEndpoint.kt @@ -1,11 +1,15 @@ -package de.grimsi.gameyfin.games +package org.gameyfin.app.games import com.vaadin.hilla.Endpoint -import de.grimsi.gameyfin.core.Role -import de.grimsi.gameyfin.games.dto.* -import de.grimsi.gameyfin.libraries.LibraryService import jakarta.annotation.security.PermitAll import jakarta.annotation.security.RolesAllowed +import org.gameyfin.app.core.Role +import org.gameyfin.app.games.dto.GameDto +import org.gameyfin.app.games.dto.GameEvent +import org.gameyfin.app.games.dto.GameSearchResultDto +import org.gameyfin.app.games.dto.GameUpdateDto +import org.gameyfin.app.games.dto.OriginalIdDto +import org.gameyfin.app.libraries.LibraryService import reactor.core.publisher.Flux import java.nio.file.Path diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/GameService.kt b/app/src/main/kotlin/org/gameyfin/app/games/GameService.kt similarity index 96% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/GameService.kt rename to app/src/main/kotlin/org/gameyfin/app/games/GameService.kt index 5a5b0f8..a1717ff 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/GameService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/GameService.kt @@ -1,28 +1,27 @@ -package de.grimsi.gameyfin.games +package org.gameyfin.app.games -import de.grimsi.gameyfin.config.ConfigProperties -import de.grimsi.gameyfin.config.ConfigService -import de.grimsi.gameyfin.core.alphaNumeric -import de.grimsi.gameyfin.core.filesystem.FilesystemService -import de.grimsi.gameyfin.core.filterValuesNotNull -import de.grimsi.gameyfin.core.plugins.PluginService -import de.grimsi.gameyfin.core.plugins.management.GameyfinPluginManager -import de.grimsi.gameyfin.core.plugins.management.PluginManagementEntry -import de.grimsi.gameyfin.core.replaceRomanNumerals -import de.grimsi.gameyfin.games.dto.* -import de.grimsi.gameyfin.games.entities.* -import de.grimsi.gameyfin.games.entities.GameMetadata -import de.grimsi.gameyfin.games.repositories.GameRepository -import de.grimsi.gameyfin.libraries.Library -import de.grimsi.gameyfin.media.ImageService -import de.grimsi.gameyfin.pluginapi.gamemetadata.* -import de.grimsi.gameyfin.users.UserService import io.github.oshai.kotlinlogging.KotlinLogging import kotlinx.coroutines.async import kotlinx.coroutines.coroutineScope import kotlinx.coroutines.runBlocking import me.xdrop.fuzzywuzzy.FuzzySearch import org.apache.commons.io.FilenameUtils +import org.gameyfin.app.config.ConfigProperties +import org.gameyfin.app.config.ConfigService +import org.gameyfin.app.core.alphaNumeric +import org.gameyfin.app.core.filesystem.FilesystemService +import org.gameyfin.app.core.filterValuesNotNull +import org.gameyfin.app.core.plugins.PluginService +import org.gameyfin.app.core.plugins.management.GameyfinPluginManager +import org.gameyfin.app.core.plugins.management.PluginManagementEntry +import org.gameyfin.app.core.replaceRomanNumerals +import org.gameyfin.app.games.dto.* +import org.gameyfin.app.games.entities.* +import org.gameyfin.app.games.repositories.GameRepository +import org.gameyfin.app.libraries.Library +import org.gameyfin.app.media.ImageService +import org.gameyfin.app.users.UserService +import org.gameyfin.pluginapi.gamemetadata.* import org.springframework.data.repository.findByIdOrNull import org.springframework.security.core.context.SecurityContextHolder import org.springframework.security.core.userdetails.UserDetails @@ -36,7 +35,7 @@ import java.time.ZoneId import java.time.ZoneOffset import kotlin.time.Duration.Companion.milliseconds import kotlin.time.toJavaDuration -import de.grimsi.gameyfin.pluginapi.gamemetadata.GameMetadata as PluginApiMetadata +import org.gameyfin.pluginapi.gamemetadata.GameMetadata as PluginApiMetadata @Service class GameService( diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/NoMatchException.kt b/app/src/main/kotlin/org/gameyfin/app/games/NoMatchException.kt similarity index 67% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/NoMatchException.kt rename to app/src/main/kotlin/org/gameyfin/app/games/NoMatchException.kt index a32c9f4..bbd810d 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/NoMatchException.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/NoMatchException.kt @@ -1,3 +1,3 @@ -package de.grimsi.gameyfin.games +package org.gameyfin.app.games class NoMatchException(message: String) : RuntimeException(message) \ No newline at end of file diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/dto/GameDto.kt b/app/src/main/kotlin/org/gameyfin/app/games/dto/GameDto.kt similarity index 95% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/dto/GameDto.kt rename to app/src/main/kotlin/org/gameyfin/app/games/dto/GameDto.kt index 8738122..e97ae3b 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/dto/GameDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/dto/GameDto.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.games.dto +package org.gameyfin.app.games.dto import com.fasterxml.jackson.annotation.JsonInclude import java.time.Instant diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/dto/GameEvent.kt b/app/src/main/kotlin/org/gameyfin/app/games/dto/GameEvent.kt similarity index 90% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/dto/GameEvent.kt rename to app/src/main/kotlin/org/gameyfin/app/games/dto/GameEvent.kt index 0c4b5c8..8186ff3 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/dto/GameEvent.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/dto/GameEvent.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.games.dto +package org.gameyfin.app.games.dto sealed class GameEvent { abstract val type: String diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/dto/GameFieldMetadataDto.kt b/app/src/main/kotlin/org/gameyfin/app/games/dto/GameFieldMetadataDto.kt similarity index 85% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/dto/GameFieldMetadataDto.kt rename to app/src/main/kotlin/org/gameyfin/app/games/dto/GameFieldMetadataDto.kt index 284748b..014addf 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/dto/GameFieldMetadataDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/dto/GameFieldMetadataDto.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.games.dto +package org.gameyfin.app.games.dto import java.time.Instant diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/dto/GameMetadataDto.kt b/app/src/main/kotlin/org/gameyfin/app/games/dto/GameMetadataDto.kt similarity index 89% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/dto/GameMetadataDto.kt rename to app/src/main/kotlin/org/gameyfin/app/games/dto/GameMetadataDto.kt index 4ef8347..2caf243 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/dto/GameMetadataDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/dto/GameMetadataDto.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.games.dto +package org.gameyfin.app.games.dto import com.fasterxml.jackson.annotation.JsonInclude diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/dto/GameSearchResultDto.kt b/app/src/main/kotlin/org/gameyfin/app/games/dto/GameSearchResultDto.kt similarity index 92% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/dto/GameSearchResultDto.kt rename to app/src/main/kotlin/org/gameyfin/app/games/dto/GameSearchResultDto.kt index 4654ffc..f98be5d 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/dto/GameSearchResultDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/dto/GameSearchResultDto.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.games.dto +package org.gameyfin.app.games.dto import java.time.Instant import java.util.* diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/dto/GameUpdateDto.kt b/app/src/main/kotlin/org/gameyfin/app/games/dto/GameUpdateDto.kt similarity index 92% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/dto/GameUpdateDto.kt rename to app/src/main/kotlin/org/gameyfin/app/games/dto/GameUpdateDto.kt index c8dd4c7..5d5b0a9 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/dto/GameUpdateDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/dto/GameUpdateDto.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.games.dto +package org.gameyfin.app.games.dto import java.time.LocalDate diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/dto/GameUpdateMetadataDto.kt b/app/src/main/kotlin/org/gameyfin/app/games/dto/GameUpdateMetadataDto.kt similarity index 65% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/dto/GameUpdateMetadataDto.kt rename to app/src/main/kotlin/org/gameyfin/app/games/dto/GameUpdateMetadataDto.kt index 9486346..90ba396 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/dto/GameUpdateMetadataDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/dto/GameUpdateMetadataDto.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.games.dto +package org.gameyfin.app.games.dto data class GameUpdateMetadataDto( val matchConfirmed: Boolean? diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/Company.kt b/app/src/main/kotlin/org/gameyfin/app/games/entities/Company.kt similarity index 88% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/Company.kt rename to app/src/main/kotlin/org/gameyfin/app/games/entities/Company.kt index aba58bf..b425de9 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/Company.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/entities/Company.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.games.entities +package org.gameyfin.app.games.entities import jakarta.persistence.* diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/Game.kt b/app/src/main/kotlin/org/gameyfin/app/games/entities/Game.kt similarity index 87% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/Game.kt rename to app/src/main/kotlin/org/gameyfin/app/games/entities/Game.kt index f03124f..8c0959e 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/Game.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/entities/Game.kt @@ -1,11 +1,11 @@ -package de.grimsi.gameyfin.games.entities +package org.gameyfin.app.games.entities -import de.grimsi.gameyfin.libraries.Library -import de.grimsi.gameyfin.pluginapi.gamemetadata.GameFeature -import de.grimsi.gameyfin.pluginapi.gamemetadata.Genre -import de.grimsi.gameyfin.pluginapi.gamemetadata.PlayerPerspective -import de.grimsi.gameyfin.pluginapi.gamemetadata.Theme import jakarta.persistence.* +import org.gameyfin.app.libraries.Library +import org.gameyfin.pluginapi.gamemetadata.GameFeature +import org.gameyfin.pluginapi.gamemetadata.Genre +import org.gameyfin.pluginapi.gamemetadata.PlayerPerspective +import org.gameyfin.pluginapi.gamemetadata.Theme import org.hibernate.annotations.CreationTimestamp import org.hibernate.annotations.UpdateTimestamp import java.net.URI diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/GameEntityListener.kt b/app/src/main/kotlin/org/gameyfin/app/games/entities/GameEntityListener.kt similarity index 61% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/GameEntityListener.kt rename to app/src/main/kotlin/org/gameyfin/app/games/entities/GameEntityListener.kt index f056c81..33c9902 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/GameEntityListener.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/entities/GameEntityListener.kt @@ -1,28 +1,28 @@ -package de.grimsi.gameyfin.games.entities +package org.gameyfin.app.games.entities -import de.grimsi.gameyfin.games.GameService -import de.grimsi.gameyfin.games.dto.GameEvent -import de.grimsi.gameyfin.games.toDto import jakarta.persistence.PostPersist import jakarta.persistence.PostRemove import jakarta.persistence.PostUpdate +import org.gameyfin.app.games.GameService +import org.gameyfin.app.games.dto.GameEvent +import org.gameyfin.app.games.toDto class GameEntityListener { @PostPersist fun created(game: Game) { val event = GameEvent.Created(game.toDto()) - GameService.emit(event) + GameService.Companion.emit(event) } @PostUpdate fun updated(game: Game) { val event = GameEvent.Updated(game.toDto()) - GameService.emit(event) + GameService.Companion.emit(event) } @PostRemove fun deleted(game: Game) { val event = GameEvent.Deleted(game.id!!) - GameService.emit(event) + GameService.Companion.emit(event) } } \ No newline at end of file diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/GameFieldMetadata.kt b/app/src/main/kotlin/org/gameyfin/app/games/entities/GameFieldMetadata.kt similarity index 82% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/GameFieldMetadata.kt rename to app/src/main/kotlin/org/gameyfin/app/games/entities/GameFieldMetadata.kt index 69a432a..345acd5 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/GameFieldMetadata.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/entities/GameFieldMetadata.kt @@ -1,8 +1,8 @@ -package de.grimsi.gameyfin.games.entities +package org.gameyfin.app.games.entities -import de.grimsi.gameyfin.core.plugins.management.PluginManagementEntry -import de.grimsi.gameyfin.users.entities.User import jakarta.persistence.* +import org.gameyfin.app.core.plugins.management.PluginManagementEntry +import org.gameyfin.app.users.entities.User import org.hibernate.annotations.UpdateTimestamp import java.time.Instant diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/GameMetadata.kt b/app/src/main/kotlin/org/gameyfin/app/games/entities/GameMetadata.kt similarity index 80% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/GameMetadata.kt rename to app/src/main/kotlin/org/gameyfin/app/games/entities/GameMetadata.kt index c02e00b..86de8ca 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/GameMetadata.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/entities/GameMetadata.kt @@ -1,7 +1,7 @@ -package de.grimsi.gameyfin.games.entities +package org.gameyfin.app.games.entities -import de.grimsi.gameyfin.core.plugins.management.PluginManagementEntry import jakarta.persistence.* +import org.gameyfin.app.core.plugins.management.PluginManagementEntry @Embeddable class GameMetadata( diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/Image.kt b/app/src/main/kotlin/org/gameyfin/app/games/entities/Image.kt similarity index 94% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/Image.kt rename to app/src/main/kotlin/org/gameyfin/app/games/entities/Image.kt index a383a51..66d2ce6 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/Image.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/entities/Image.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.games.entities +package org.gameyfin.app.games.entities import jakarta.persistence.Entity import jakarta.persistence.GeneratedValue diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/LibraryEntityListener.kt b/app/src/main/kotlin/org/gameyfin/app/games/entities/LibraryEntityListener.kt similarity index 58% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/LibraryEntityListener.kt rename to app/src/main/kotlin/org/gameyfin/app/games/entities/LibraryEntityListener.kt index 85ac207..2e49038 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/LibraryEntityListener.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/entities/LibraryEntityListener.kt @@ -1,29 +1,29 @@ -package de.grimsi.gameyfin.games.entities +package org.gameyfin.app.games.entities -import de.grimsi.gameyfin.libraries.Library -import de.grimsi.gameyfin.libraries.LibraryService -import de.grimsi.gameyfin.libraries.dto.LibraryEvent -import de.grimsi.gameyfin.libraries.toDto +import org.gameyfin.app.libraries.dto.LibraryEvent import jakarta.persistence.PostPersist import jakarta.persistence.PostRemove import jakarta.persistence.PostUpdate +import org.gameyfin.app.libraries.Library +import org.gameyfin.app.libraries.LibraryService +import org.gameyfin.app.libraries.toDto class LibraryEntityListener { @PostPersist fun created(library: Library) { val event = LibraryEvent.Created(library.toDto()) - LibraryService.emit(event) + LibraryService.Companion.emit(event) } @PostUpdate fun updated(library: Library) { val event = LibraryEvent.Updated(library.toDto()) - LibraryService.emit(event) + LibraryService.Companion.emit(event) } @PostRemove fun deleted(library: Library) { val event = LibraryEvent.Deleted(library.id!!) - LibraryService.emit(event) + LibraryService.Companion.emit(event) } } \ No newline at end of file diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/repositories/CompanyRepository.kt b/app/src/main/kotlin/org/gameyfin/app/games/repositories/CompanyRepository.kt similarity index 56% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/repositories/CompanyRepository.kt rename to app/src/main/kotlin/org/gameyfin/app/games/repositories/CompanyRepository.kt index e0325a0..21ec07f 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/repositories/CompanyRepository.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/repositories/CompanyRepository.kt @@ -1,7 +1,7 @@ -package de.grimsi.gameyfin.games.repositories +package org.gameyfin.app.games.repositories -import de.grimsi.gameyfin.games.entities.Company -import de.grimsi.gameyfin.games.entities.CompanyType +import org.gameyfin.app.games.entities.Company +import org.gameyfin.app.games.entities.CompanyType import org.springframework.data.jpa.repository.JpaRepository interface CompanyRepository : JpaRepository { diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/repositories/FieldMetadataRepository.kt b/app/src/main/kotlin/org/gameyfin/app/games/repositories/FieldMetadataRepository.kt similarity index 56% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/repositories/FieldMetadataRepository.kt rename to app/src/main/kotlin/org/gameyfin/app/games/repositories/FieldMetadataRepository.kt index 918a662..b286fc9 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/repositories/FieldMetadataRepository.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/repositories/FieldMetadataRepository.kt @@ -1,6 +1,6 @@ -package de.grimsi.gameyfin.games.repositories +package org.gameyfin.app.games.repositories -import de.grimsi.gameyfin.games.entities.GameFieldMetadata +import org.gameyfin.app.games.entities.GameFieldMetadata import org.springframework.data.jpa.repository.JpaRepository interface FieldMetadataRepository : JpaRepository \ No newline at end of file diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/repositories/GameRepository.kt b/app/src/main/kotlin/org/gameyfin/app/games/repositories/GameRepository.kt similarity index 81% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/repositories/GameRepository.kt rename to app/src/main/kotlin/org/gameyfin/app/games/repositories/GameRepository.kt index 77eb31e..e2b3819 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/repositories/GameRepository.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/repositories/GameRepository.kt @@ -1,6 +1,6 @@ -package de.grimsi.gameyfin.games.repositories +package org.gameyfin.app.games.repositories -import de.grimsi.gameyfin.games.entities.Game +import org.gameyfin.app.games.entities.Game import org.springframework.data.domain.Limit import org.springframework.data.jpa.repository.JpaRepository diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/repositories/ImageContentStore.kt b/app/src/main/kotlin/org/gameyfin/app/games/repositories/ImageContentStore.kt similarity index 66% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/repositories/ImageContentStore.kt rename to app/src/main/kotlin/org/gameyfin/app/games/repositories/ImageContentStore.kt index f793d3a..d247b15 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/repositories/ImageContentStore.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/repositories/ImageContentStore.kt @@ -1,6 +1,6 @@ -package de.grimsi.gameyfin.games.repositories +package org.gameyfin.app.games.repositories -import de.grimsi.gameyfin.games.entities.Image +import org.gameyfin.app.games.entities.Image import org.springframework.content.commons.store.ContentStore import org.springframework.stereotype.Repository diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/repositories/ImageRepository.kt b/app/src/main/kotlin/org/gameyfin/app/games/repositories/ImageRepository.kt similarity index 67% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/repositories/ImageRepository.kt rename to app/src/main/kotlin/org/gameyfin/app/games/repositories/ImageRepository.kt index f0d134b..942c2ff 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/repositories/ImageRepository.kt +++ b/app/src/main/kotlin/org/gameyfin/app/games/repositories/ImageRepository.kt @@ -1,6 +1,6 @@ -package de.grimsi.gameyfin.games.repositories +package org.gameyfin.app.games.repositories -import de.grimsi.gameyfin.games.entities.Image +import org.gameyfin.app.games.entities.Image import org.springframework.data.jpa.repository.JpaRepository import java.net.URL diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/DirectoryMapping.kt b/app/src/main/kotlin/org/gameyfin/app/libraries/DirectoryMapping.kt similarity index 90% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/DirectoryMapping.kt rename to app/src/main/kotlin/org/gameyfin/app/libraries/DirectoryMapping.kt index 22553e1..4df31ce 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/DirectoryMapping.kt +++ b/app/src/main/kotlin/org/gameyfin/app/libraries/DirectoryMapping.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.libraries +package org.gameyfin.app.libraries import jakarta.persistence.Entity import jakarta.persistence.GeneratedValue diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/Library.kt b/app/src/main/kotlin/org/gameyfin/app/libraries/Library.kt similarity index 86% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/Library.kt rename to app/src/main/kotlin/org/gameyfin/app/libraries/Library.kt index c4e78dd..0b1b93d 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/Library.kt +++ b/app/src/main/kotlin/org/gameyfin/app/libraries/Library.kt @@ -1,8 +1,8 @@ -package de.grimsi.gameyfin.libraries +package org.gameyfin.app.libraries -import de.grimsi.gameyfin.games.entities.Game -import de.grimsi.gameyfin.games.entities.LibraryEntityListener +import org.gameyfin.app.games.entities.Game import jakarta.persistence.* +import org.gameyfin.app.games.entities.LibraryEntityListener import org.hibernate.annotations.CreationTimestamp import org.hibernate.annotations.UpdateTimestamp import java.time.Instant diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/LibraryEndpoint.kt b/app/src/main/kotlin/org/gameyfin/app/libraries/LibraryEndpoint.kt similarity index 78% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/LibraryEndpoint.kt rename to app/src/main/kotlin/org/gameyfin/app/libraries/LibraryEndpoint.kt index 39cc877..c48d3e1 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/LibraryEndpoint.kt +++ b/app/src/main/kotlin/org/gameyfin/app/libraries/LibraryEndpoint.kt @@ -1,15 +1,15 @@ -package de.grimsi.gameyfin.libraries +package org.gameyfin.app.libraries import com.vaadin.hilla.Endpoint -import de.grimsi.gameyfin.core.Role -import de.grimsi.gameyfin.libraries.dto.LibraryDto -import de.grimsi.gameyfin.libraries.dto.LibraryEvent -import de.grimsi.gameyfin.libraries.dto.LibraryScanProgress -import de.grimsi.gameyfin.libraries.dto.LibraryUpdateDto -import de.grimsi.gameyfin.libraries.enums.ScanType -import de.grimsi.gameyfin.users.util.isAdmin +import org.gameyfin.app.libraries.dto.LibraryDto +import org.gameyfin.app.libraries.dto.LibraryEvent import jakarta.annotation.security.PermitAll import jakarta.annotation.security.RolesAllowed +import org.gameyfin.app.core.Role +import org.gameyfin.app.libraries.dto.LibraryScanProgress +import org.gameyfin.app.libraries.dto.LibraryUpdateDto +import org.gameyfin.app.libraries.enums.ScanType +import org.gameyfin.app.users.util.isAdmin import org.springframework.security.core.context.SecurityContextHolder import org.springframework.security.core.userdetails.UserDetails import reactor.core.publisher.Flux diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/LibraryRepository.kt b/app/src/main/kotlin/org/gameyfin/app/libraries/LibraryRepository.kt similarity index 91% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/LibraryRepository.kt rename to app/src/main/kotlin/org/gameyfin/app/libraries/LibraryRepository.kt index 47fd84e..c9faebc 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/LibraryRepository.kt +++ b/app/src/main/kotlin/org/gameyfin/app/libraries/LibraryRepository.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.libraries +package org.gameyfin.app.libraries import org.springframework.data.jpa.repository.EntityGraph import org.springframework.data.jpa.repository.JpaRepository diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/LibraryScanResult.kt b/app/src/main/kotlin/org/gameyfin/app/libraries/LibraryScanResult.kt similarity index 72% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/LibraryScanResult.kt rename to app/src/main/kotlin/org/gameyfin/app/libraries/LibraryScanResult.kt index 8b389ca..885ae19 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/LibraryScanResult.kt +++ b/app/src/main/kotlin/org/gameyfin/app/libraries/LibraryScanResult.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.libraries +package org.gameyfin.app.libraries data class LibraryScanResult( val new: Int, diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/LibraryService.kt b/app/src/main/kotlin/org/gameyfin/app/libraries/LibraryService.kt similarity index 95% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/LibraryService.kt rename to app/src/main/kotlin/org/gameyfin/app/libraries/LibraryService.kt index b005f49..bd6e2b1 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/LibraryService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/libraries/LibraryService.kt @@ -1,12 +1,19 @@ -package de.grimsi.gameyfin.libraries +package org.gameyfin.app.libraries -import de.grimsi.gameyfin.core.filesystem.FilesystemService -import de.grimsi.gameyfin.games.GameService -import de.grimsi.gameyfin.games.entities.Game -import de.grimsi.gameyfin.libraries.dto.* -import de.grimsi.gameyfin.libraries.enums.ScanType -import de.grimsi.gameyfin.media.ImageService +import org.gameyfin.app.games.entities.Game import io.github.oshai.kotlinlogging.KotlinLogging +import org.gameyfin.app.core.filesystem.FilesystemService +import org.gameyfin.app.games.GameService +import org.gameyfin.app.libraries.dto.DirectoryMappingDto +import org.gameyfin.app.libraries.dto.LibraryDto +import org.gameyfin.app.libraries.dto.LibraryEvent +import org.gameyfin.app.libraries.dto.LibraryScanProgress +import org.gameyfin.app.libraries.dto.LibraryScanStatus +import org.gameyfin.app.libraries.dto.LibraryScanStep +import org.gameyfin.app.libraries.dto.LibraryStatsDto +import org.gameyfin.app.libraries.dto.LibraryUpdateDto +import org.gameyfin.app.libraries.enums.ScanType +import org.gameyfin.app.media.ImageService import org.springframework.data.repository.findByIdOrNull import org.springframework.stereotype.Service import reactor.core.publisher.Flux diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/dto/DirectoryMappingDto.kt b/app/src/main/kotlin/org/gameyfin/app/libraries/dto/DirectoryMappingDto.kt similarity index 71% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/dto/DirectoryMappingDto.kt rename to app/src/main/kotlin/org/gameyfin/app/libraries/dto/DirectoryMappingDto.kt index dac4344..f3d76aa 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/dto/DirectoryMappingDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/libraries/dto/DirectoryMappingDto.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.libraries.dto +package org.gameyfin.app.libraries.dto data class DirectoryMappingDto( val internalPath: String, diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/dto/LibraryDto.kt b/app/src/main/kotlin/org/gameyfin/app/libraries/dto/LibraryDto.kt similarity index 84% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/dto/LibraryDto.kt rename to app/src/main/kotlin/org/gameyfin/app/libraries/dto/LibraryDto.kt index aa37c20..4f77a09 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/dto/LibraryDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/libraries/dto/LibraryDto.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.libraries.dto +package org.gameyfin.app.libraries.dto data class LibraryDto( val id: Long, diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/dto/LibraryEvent.kt b/app/src/main/kotlin/org/gameyfin/app/libraries/dto/LibraryEvent.kt similarity index 90% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/dto/LibraryEvent.kt rename to app/src/main/kotlin/org/gameyfin/app/libraries/dto/LibraryEvent.kt index bf3dd8b..930c908 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/dto/LibraryEvent.kt +++ b/app/src/main/kotlin/org/gameyfin/app/libraries/dto/LibraryEvent.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.libraries.dto +package org.gameyfin.app.libraries.dto sealed class LibraryEvent { abstract val type: String diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/dto/LibraryScanProgress.kt b/app/src/main/kotlin/org/gameyfin/app/libraries/dto/LibraryScanProgress.kt similarity index 85% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/dto/LibraryScanProgress.kt rename to app/src/main/kotlin/org/gameyfin/app/libraries/dto/LibraryScanProgress.kt index cc4ebf0..a5cc9b5 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/dto/LibraryScanProgress.kt +++ b/app/src/main/kotlin/org/gameyfin/app/libraries/dto/LibraryScanProgress.kt @@ -1,6 +1,6 @@ -package de.grimsi.gameyfin.libraries.dto +package org.gameyfin.app.libraries.dto -import de.grimsi.gameyfin.libraries.LibraryScanResult +import org.gameyfin.app.libraries.LibraryScanResult import java.time.Instant import java.util.* diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/dto/LibraryStatsDto.kt b/app/src/main/kotlin/org/gameyfin/app/libraries/dto/LibraryStatsDto.kt similarity index 68% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/dto/LibraryStatsDto.kt rename to app/src/main/kotlin/org/gameyfin/app/libraries/dto/LibraryStatsDto.kt index b98d6a7..6e5d796 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/dto/LibraryStatsDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/libraries/dto/LibraryStatsDto.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.libraries.dto +package org.gameyfin.app.libraries.dto data class LibraryStatsDto( val gamesCount: Int, diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/dto/LibraryUpdateDto.kt b/app/src/main/kotlin/org/gameyfin/app/libraries/dto/LibraryUpdateDto.kt similarity index 81% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/dto/LibraryUpdateDto.kt rename to app/src/main/kotlin/org/gameyfin/app/libraries/dto/LibraryUpdateDto.kt index 552b4e3..1f4b0c2 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/dto/LibraryUpdateDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/libraries/dto/LibraryUpdateDto.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.libraries.dto +package org.gameyfin.app.libraries.dto data class LibraryUpdateDto( val id: Long, diff --git a/app/src/main/kotlin/org/gameyfin/app/libraries/enums/ScanType.kt b/app/src/main/kotlin/org/gameyfin/app/libraries/enums/ScanType.kt new file mode 100644 index 0000000..34a44ce --- /dev/null +++ b/app/src/main/kotlin/org/gameyfin/app/libraries/enums/ScanType.kt @@ -0,0 +1,5 @@ +package org.gameyfin.app.libraries.enums + +enum class ScanType { + QUICK, FULL +} \ No newline at end of file diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/media/ImageEndpoint.kt b/app/src/main/kotlin/org/gameyfin/app/media/ImageEndpoint.kt similarity index 88% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/media/ImageEndpoint.kt rename to app/src/main/kotlin/org/gameyfin/app/media/ImageEndpoint.kt index d088dce..8dfa669 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/media/ImageEndpoint.kt +++ b/app/src/main/kotlin/org/gameyfin/app/media/ImageEndpoint.kt @@ -1,13 +1,13 @@ -package de.grimsi.gameyfin.media +package org.gameyfin.app.media -import de.grimsi.gameyfin.core.Role -import de.grimsi.gameyfin.core.Utils -import de.grimsi.gameyfin.core.annotations.DynamicPublicAccess -import de.grimsi.gameyfin.core.plugins.PluginService -import de.grimsi.gameyfin.games.entities.Image -import de.grimsi.gameyfin.games.entities.ImageType -import de.grimsi.gameyfin.users.UserService +import org.gameyfin.app.core.plugins.PluginService +import org.gameyfin.app.games.entities.Image +import org.gameyfin.app.games.entities.ImageType +import org.gameyfin.app.users.UserService import jakarta.annotation.security.RolesAllowed +import org.gameyfin.app.core.Role +import org.gameyfin.app.core.Utils +import org.gameyfin.app.core.annotations.DynamicPublicAccess import org.springframework.core.io.ByteArrayResource import org.springframework.core.io.InputStreamResource import org.springframework.http.HttpHeaders @@ -40,7 +40,7 @@ class ImageEndpoint( @GetMapping("/plugins/{id}/logo") fun getPluginLogo(@PathVariable("id") pluginId: String): ResponseEntity? { val logo = pluginService.getLogo(pluginId) - return Utils.inputStreamToResponseEntity(logo) + return Utils.Companion.inputStreamToResponseEntity(logo) } @GetMapping("/avatar") diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/media/ImageService.kt b/app/src/main/kotlin/org/gameyfin/app/media/ImageService.kt similarity index 88% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/media/ImageService.kt rename to app/src/main/kotlin/org/gameyfin/app/media/ImageService.kt index ad0bb83..d9a8a6f 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/media/ImageService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/media/ImageService.kt @@ -1,11 +1,11 @@ -package de.grimsi.gameyfin.media +package org.gameyfin.app.media -import de.grimsi.gameyfin.games.entities.Image -import de.grimsi.gameyfin.games.entities.ImageType -import de.grimsi.gameyfin.games.repositories.ImageContentStore -import de.grimsi.gameyfin.games.repositories.ImageRepository +import org.gameyfin.app.games.entities.Image +import org.gameyfin.app.games.entities.ImageType +import org.gameyfin.app.games.repositories.ImageContentStore import org.apache.tika.Tika import org.apache.tika.io.TikaInputStream +import org.gameyfin.app.games.repositories.ImageRepository import org.springframework.data.repository.findByIdOrNull import org.springframework.stereotype.Service import java.io.InputStream diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/MessageEndpoint.kt b/app/src/main/kotlin/org/gameyfin/app/messages/MessageEndpoint.kt similarity index 90% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/MessageEndpoint.kt rename to app/src/main/kotlin/org/gameyfin/app/messages/MessageEndpoint.kt index 79376f3..8394671 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/MessageEndpoint.kt +++ b/app/src/main/kotlin/org/gameyfin/app/messages/MessageEndpoint.kt @@ -1,9 +1,9 @@ -package de.grimsi.gameyfin.messages +package org.gameyfin.app.messages import com.vaadin.flow.server.auth.AnonymousAllowed import com.vaadin.hilla.Endpoint -import de.grimsi.gameyfin.core.Role import jakarta.annotation.security.RolesAllowed +import org.gameyfin.app.core.Role @Endpoint @RolesAllowed(Role.Names.ADMIN) diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/MessageService.kt b/app/src/main/kotlin/org/gameyfin/app/messages/MessageService.kt similarity index 91% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/MessageService.kt rename to app/src/main/kotlin/org/gameyfin/app/messages/MessageService.kt index 77edaab..a7c1902 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/MessageService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/messages/MessageService.kt @@ -1,12 +1,18 @@ -package de.grimsi.gameyfin.messages +package org.gameyfin.app.messages -import de.grimsi.gameyfin.core.events.* -import de.grimsi.gameyfin.messages.providers.AbstractMessageProvider -import de.grimsi.gameyfin.messages.templates.MessageTemplateService -import de.grimsi.gameyfin.messages.templates.MessageTemplates -import de.grimsi.gameyfin.users.UserService +import org.gameyfin.app.messages.templates.MessageTemplates +import org.gameyfin.app.users.UserService import io.github.oshai.kotlinlogging.KLogger import io.github.oshai.kotlinlogging.KotlinLogging +import org.gameyfin.app.core.events.AccountDeletedEvent +import org.gameyfin.app.core.events.AccountStatusChangedEvent +import org.gameyfin.app.core.events.EmailNeedsConfirmationEvent +import org.gameyfin.app.core.events.PasswordResetRequestEvent +import org.gameyfin.app.core.events.RegistrationAttemptWithExistingEmailEvent +import org.gameyfin.app.core.events.UserInvitationEvent +import org.gameyfin.app.core.events.UserRegistrationWaitingForApprovalEvent +import org.gameyfin.app.messages.providers.AbstractMessageProvider +import org.gameyfin.app.messages.templates.MessageTemplateService import org.springframework.context.ApplicationContext import org.springframework.context.event.EventListener import org.springframework.scheduling.annotation.Async diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/providers/AbstractMessageProvider.kt b/app/src/main/kotlin/org/gameyfin/app/messages/providers/AbstractMessageProvider.kt similarity index 79% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/providers/AbstractMessageProvider.kt rename to app/src/main/kotlin/org/gameyfin/app/messages/providers/AbstractMessageProvider.kt index eefcf62..6fcb023 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/providers/AbstractMessageProvider.kt +++ b/app/src/main/kotlin/org/gameyfin/app/messages/providers/AbstractMessageProvider.kt @@ -1,7 +1,7 @@ -package de.grimsi.gameyfin.messages.providers +package org.gameyfin.app.messages.providers -import de.grimsi.gameyfin.config.ConfigService -import de.grimsi.gameyfin.messages.templates.TemplateType +import org.gameyfin.app.config.ConfigService +import org.gameyfin.app.messages.templates.TemplateType import java.util.* abstract class AbstractMessageProvider( diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/providers/EmailMessageProvider.kt b/app/src/main/kotlin/org/gameyfin/app/messages/providers/EmailMessageProvider.kt similarity index 93% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/providers/EmailMessageProvider.kt rename to app/src/main/kotlin/org/gameyfin/app/messages/providers/EmailMessageProvider.kt index b7912d7..816fdaa 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/providers/EmailMessageProvider.kt +++ b/app/src/main/kotlin/org/gameyfin/app/messages/providers/EmailMessageProvider.kt @@ -1,13 +1,13 @@ -package de.grimsi.gameyfin.messages.providers +package org.gameyfin.app.messages.providers -import de.grimsi.gameyfin.config.ConfigProperties -import de.grimsi.gameyfin.config.ConfigService -import de.grimsi.gameyfin.messages.templates.TemplateType +import org.gameyfin.app.config.ConfigService +import org.gameyfin.app.messages.templates.TemplateType import jakarta.mail.Message import jakarta.mail.MessagingException import jakarta.mail.Session import jakarta.mail.internet.InternetAddress import jakarta.mail.internet.MimeMessage +import org.gameyfin.app.config.ConfigProperties import org.springframework.stereotype.Service import java.util.* diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/templates/MessageTemplateDto.kt b/app/src/main/kotlin/org/gameyfin/app/messages/templates/MessageTemplateDto.kt similarity index 76% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/templates/MessageTemplateDto.kt rename to app/src/main/kotlin/org/gameyfin/app/messages/templates/MessageTemplateDto.kt index 697cdaa..76c6bb4 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/templates/MessageTemplateDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/messages/templates/MessageTemplateDto.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.messages.templates +package org.gameyfin.app.messages.templates data class MessageTemplateDto( val key: String, diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/templates/MessageTemplateEndpoint.kt b/app/src/main/kotlin/org/gameyfin/app/messages/templates/MessageTemplateEndpoint.kt similarity index 91% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/templates/MessageTemplateEndpoint.kt rename to app/src/main/kotlin/org/gameyfin/app/messages/templates/MessageTemplateEndpoint.kt index c071c38..c2bf541 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/templates/MessageTemplateEndpoint.kt +++ b/app/src/main/kotlin/org/gameyfin/app/messages/templates/MessageTemplateEndpoint.kt @@ -1,8 +1,8 @@ -package de.grimsi.gameyfin.messages.templates +package org.gameyfin.app.messages.templates import com.vaadin.hilla.Endpoint -import de.grimsi.gameyfin.core.Role import jakarta.annotation.security.RolesAllowed +import org.gameyfin.app.core.Role @RolesAllowed(Role.Names.ADMIN) @Endpoint diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/templates/MessageTemplateService.kt b/app/src/main/kotlin/org/gameyfin/app/messages/templates/MessageTemplateService.kt similarity index 98% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/templates/MessageTemplateService.kt rename to app/src/main/kotlin/org/gameyfin/app/messages/templates/MessageTemplateService.kt index 4cc412a..99ee372 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/templates/MessageTemplateService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/messages/templates/MessageTemplateService.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.messages.templates +package org.gameyfin.app.messages.templates import ch.digitalfondue.mjml4j.Mjml4j import io.github.oshai.kotlinlogging.KotlinLogging diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/templates/MessageTemplates.kt b/app/src/main/kotlin/org/gameyfin/app/messages/templates/MessageTemplates.kt similarity index 97% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/templates/MessageTemplates.kt rename to app/src/main/kotlin/org/gameyfin/app/messages/templates/MessageTemplates.kt index 336d238..ea58a07 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/templates/MessageTemplates.kt +++ b/app/src/main/kotlin/org/gameyfin/app/messages/templates/MessageTemplates.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.messages.templates +package org.gameyfin.app.messages.templates sealed class MessageTemplates( val key: String, diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/templates/MjmlTemplate.kt b/app/src/main/kotlin/org/gameyfin/app/messages/templates/MjmlTemplate.kt similarity index 99% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/templates/MjmlTemplate.kt rename to app/src/main/kotlin/org/gameyfin/app/messages/templates/MjmlTemplate.kt index 4677276..b69ba4f 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/templates/MjmlTemplate.kt +++ b/app/src/main/kotlin/org/gameyfin/app/messages/templates/MjmlTemplate.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.messages.templates +package org.gameyfin.app.messages.templates abstract class MjmlTemplate { companion object { diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/templates/TemplateType.kt b/app/src/main/kotlin/org/gameyfin/app/messages/templates/TemplateType.kt similarity index 63% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/templates/TemplateType.kt rename to app/src/main/kotlin/org/gameyfin/app/messages/templates/TemplateType.kt index c967338..882caf9 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/messages/templates/TemplateType.kt +++ b/app/src/main/kotlin/org/gameyfin/app/messages/templates/TemplateType.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.messages.templates +package org.gameyfin.app.messages.templates enum class TemplateType(val extension: String) { MJML("mjml"), TEXT("txt") diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/setup/SetupEndpoint.kt b/app/src/main/kotlin/org/gameyfin/app/setup/SetupEndpoint.kt similarity index 81% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/setup/SetupEndpoint.kt rename to app/src/main/kotlin/org/gameyfin/app/setup/SetupEndpoint.kt index c6fd289..f9be5a1 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/setup/SetupEndpoint.kt +++ b/app/src/main/kotlin/org/gameyfin/app/setup/SetupEndpoint.kt @@ -1,10 +1,10 @@ -package de.grimsi.gameyfin.setup +package org.gameyfin.app.setup import com.vaadin.flow.server.auth.AnonymousAllowed import com.vaadin.hilla.Endpoint import com.vaadin.hilla.exception.EndpointException -import de.grimsi.gameyfin.users.dto.UserInfoDto -import de.grimsi.gameyfin.users.dto.UserRegistrationDto +import org.gameyfin.app.users.dto.UserInfoDto +import org.gameyfin.app.users.dto.UserRegistrationDto @Endpoint class SetupEndpoint( diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/setup/SetupFilter.kt b/app/src/main/kotlin/org/gameyfin/app/setup/SetupFilter.kt similarity index 97% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/setup/SetupFilter.kt rename to app/src/main/kotlin/org/gameyfin/app/setup/SetupFilter.kt index 64cab06..6c4b22d 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/setup/SetupFilter.kt +++ b/app/src/main/kotlin/org/gameyfin/app/setup/SetupFilter.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.setup +package org.gameyfin.app.setup import jakarta.servlet.* import jakarta.servlet.http.HttpServletRequest diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/setup/SetupService.kt b/app/src/main/kotlin/org/gameyfin/app/setup/SetupService.kt similarity index 75% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/setup/SetupService.kt rename to app/src/main/kotlin/org/gameyfin/app/setup/SetupService.kt index 21af776..f54fd77 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/setup/SetupService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/setup/SetupService.kt @@ -1,11 +1,11 @@ -package de.grimsi.gameyfin.setup +package org.gameyfin.app.setup -import de.grimsi.gameyfin.core.Role -import de.grimsi.gameyfin.users.RoleService -import de.grimsi.gameyfin.users.UserService -import de.grimsi.gameyfin.users.dto.UserInfoDto -import de.grimsi.gameyfin.users.dto.UserRegistrationDto -import de.grimsi.gameyfin.users.entities.User +import org.gameyfin.app.users.UserService +import org.gameyfin.app.core.Role +import org.gameyfin.app.users.RoleService +import org.gameyfin.app.users.dto.UserInfoDto +import org.gameyfin.app.users.dto.UserRegistrationDto +import org.gameyfin.app.users.entities.User import org.springframework.stereotype.Service @Service diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/shared/token/Token.kt b/app/src/main/kotlin/org/gameyfin/app/shared/token/Token.kt similarity index 82% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/shared/token/Token.kt rename to app/src/main/kotlin/org/gameyfin/app/shared/token/Token.kt index 4ad7367..f99c6c7 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/shared/token/Token.kt +++ b/app/src/main/kotlin/org/gameyfin/app/shared/token/Token.kt @@ -1,9 +1,9 @@ -package de.grimsi.gameyfin.shared.token +package org.gameyfin.app.shared.token -import de.grimsi.gameyfin.core.security.EncryptionConverter -import de.grimsi.gameyfin.core.security.EncryptionMapConverter -import de.grimsi.gameyfin.users.entities.User +import org.gameyfin.app.core.security.EncryptionMapConverter import jakarta.persistence.* +import org.gameyfin.app.core.security.EncryptionConverter +import org.gameyfin.app.users.entities.User import org.hibernate.annotations.CreationTimestamp import org.hibernate.annotations.OnDelete import org.hibernate.annotations.OnDeleteAction diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/shared/token/TokenDto.kt b/app/src/main/kotlin/org/gameyfin/app/shared/token/TokenDto.kt similarity index 92% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/shared/token/TokenDto.kt rename to app/src/main/kotlin/org/gameyfin/app/shared/token/TokenDto.kt index b409d8f..9dd1e98 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/shared/token/TokenDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/shared/token/TokenDto.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.shared.token +package org.gameyfin.app.shared.token import java.time.Instant import kotlin.time.toJavaDuration diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/shared/token/TokenRepository.kt b/app/src/main/kotlin/org/gameyfin/app/shared/token/TokenRepository.kt similarity index 81% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/shared/token/TokenRepository.kt rename to app/src/main/kotlin/org/gameyfin/app/shared/token/TokenRepository.kt index b7189e6..840c0bb 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/shared/token/TokenRepository.kt +++ b/app/src/main/kotlin/org/gameyfin/app/shared/token/TokenRepository.kt @@ -1,6 +1,6 @@ -package de.grimsi.gameyfin.shared.token +package org.gameyfin.app.shared.token -import de.grimsi.gameyfin.users.entities.User +import org.gameyfin.app.users.entities.User import org.springframework.data.jpa.repository.JpaRepository interface TokenRepository : JpaRepository, String> { diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/shared/token/TokenService.kt b/app/src/main/kotlin/org/gameyfin/app/shared/token/TokenService.kt similarity index 95% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/shared/token/TokenService.kt rename to app/src/main/kotlin/org/gameyfin/app/shared/token/TokenService.kt index cafea7c..a540dcc 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/shared/token/TokenService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/shared/token/TokenService.kt @@ -1,7 +1,7 @@ -package de.grimsi.gameyfin.shared.token +package org.gameyfin.app.shared.token -import de.grimsi.gameyfin.users.entities.User import io.github.oshai.kotlinlogging.KotlinLogging +import org.gameyfin.app.users.entities.User abstract class TokenService( private val type: T, diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/shared/token/TokenType.kt b/app/src/main/kotlin/org/gameyfin/app/shared/token/TokenType.kt similarity index 90% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/shared/token/TokenType.kt rename to app/src/main/kotlin/org/gameyfin/app/shared/token/TokenType.kt index 57bf6b9..e02aba7 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/shared/token/TokenType.kt +++ b/app/src/main/kotlin/org/gameyfin/app/shared/token/TokenType.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.shared.token +package org.gameyfin.app.shared.token import kotlin.time.Duration import kotlin.time.Duration.Companion.minutes diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/shared/token/TokenTypeUserType.kt b/app/src/main/kotlin/org/gameyfin/app/shared/token/TokenTypeUserType.kt similarity index 98% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/shared/token/TokenTypeUserType.kt rename to app/src/main/kotlin/org/gameyfin/app/shared/token/TokenTypeUserType.kt index c6ebfd5..88c84f4 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/shared/token/TokenTypeUserType.kt +++ b/app/src/main/kotlin/org/gameyfin/app/shared/token/TokenTypeUserType.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.shared.token +package org.gameyfin.app.shared.token import org.hibernate.engine.spi.SharedSessionContractImplementor import org.hibernate.usertype.UserType diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/shared/token/TokenValidationResult.kt b/app/src/main/kotlin/org/gameyfin/app/shared/token/TokenValidationResult.kt similarity index 62% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/shared/token/TokenValidationResult.kt rename to app/src/main/kotlin/org/gameyfin/app/shared/token/TokenValidationResult.kt index be8f7b7..005e6a5 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/shared/token/TokenValidationResult.kt +++ b/app/src/main/kotlin/org/gameyfin/app/shared/token/TokenValidationResult.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.shared.token +package org.gameyfin.app.shared.token enum class TokenValidationResult() { VALID, INVALID, EXPIRED diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/system/SystemEndpoint.kt b/app/src/main/kotlin/org/gameyfin/app/system/SystemEndpoint.kt similarity index 78% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/system/SystemEndpoint.kt rename to app/src/main/kotlin/org/gameyfin/app/system/SystemEndpoint.kt index 7a4edf2..2e3e565 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/system/SystemEndpoint.kt +++ b/app/src/main/kotlin/org/gameyfin/app/system/SystemEndpoint.kt @@ -1,8 +1,8 @@ -package de.grimsi.gameyfin.system +package org.gameyfin.app.system import com.vaadin.hilla.Endpoint -import de.grimsi.gameyfin.core.Role import jakarta.annotation.security.RolesAllowed +import org.gameyfin.app.core.Role @Endpoint class SystemEndpoint( diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/system/SystemService.kt b/app/src/main/kotlin/org/gameyfin/app/system/SystemService.kt similarity index 92% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/system/SystemService.kt rename to app/src/main/kotlin/org/gameyfin/app/system/SystemService.kt index e391a7e..a616e4d 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/system/SystemService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/system/SystemService.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.system +package org.gameyfin.app.system import org.springframework.cloud.context.restart.RestartEndpoint import org.springframework.stereotype.Service diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/RoleService.kt b/app/src/main/kotlin/org/gameyfin/app/users/RoleService.kt similarity index 90% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/RoleService.kt rename to app/src/main/kotlin/org/gameyfin/app/users/RoleService.kt index ad3c6c5..90dedc6 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/RoleService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/RoleService.kt @@ -1,8 +1,8 @@ -package de.grimsi.gameyfin.users +package org.gameyfin.app.users -import de.grimsi.gameyfin.core.Role -import de.grimsi.gameyfin.users.entities.User -import de.grimsi.gameyfin.users.persistence.UserRepository +import org.gameyfin.app.users.persistence.UserRepository +import org.gameyfin.app.core.Role +import org.gameyfin.app.users.entities.User import org.springframework.security.core.Authentication import org.springframework.security.core.GrantedAuthority import org.springframework.security.core.authority.SimpleGrantedAuthority @@ -44,12 +44,12 @@ class RoleService( } fun getRolesBelowAuth(auth: Authentication): List { - val highestUserRole = getHighestRole(auth.authorities.mapNotNull { Role.safeValueOf(it.authority) }) + val highestUserRole = getHighestRole(auth.authorities.mapNotNull { Role.Companion.safeValueOf(it.authority) }) return Role.entries.filter { it.powerLevel < highestUserRole.powerLevel } } fun authoritiesToRoles(authorities: Collection): List { - return authorities.mapNotNull { Role.safeValueOf(it.authority) } + return authorities.mapNotNull { Role.Companion.safeValueOf(it.authority) } } /** diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/SessionService.kt b/app/src/main/kotlin/org/gameyfin/app/users/SessionService.kt similarity index 92% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/SessionService.kt rename to app/src/main/kotlin/org/gameyfin/app/users/SessionService.kt index dc00883..ad5ceb1 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/SessionService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/SessionService.kt @@ -1,6 +1,6 @@ -package de.grimsi.gameyfin.users +package org.gameyfin.app.users -import de.grimsi.gameyfin.users.entities.User +import org.gameyfin.app.users.entities.User import org.springframework.security.core.Authentication import org.springframework.security.core.context.SecurityContextHolder import org.springframework.security.core.session.SessionInformation diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/UserEndpoint.kt b/app/src/main/kotlin/org/gameyfin/app/users/UserEndpoint.kt similarity index 91% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/UserEndpoint.kt rename to app/src/main/kotlin/org/gameyfin/app/users/UserEndpoint.kt index 5098e2c..15853c0 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/UserEndpoint.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/UserEndpoint.kt @@ -1,12 +1,12 @@ -package de.grimsi.gameyfin.users +package org.gameyfin.app.users import com.vaadin.hilla.Endpoint -import de.grimsi.gameyfin.core.Role -import de.grimsi.gameyfin.users.dto.UserInfoDto -import de.grimsi.gameyfin.users.dto.UserUpdateDto -import de.grimsi.gameyfin.users.enums.RoleAssignmentResult +import org.gameyfin.app.users.dto.UserUpdateDto +import org.gameyfin.app.users.enums.RoleAssignmentResult import jakarta.annotation.security.PermitAll import jakarta.annotation.security.RolesAllowed +import org.gameyfin.app.core.Role +import org.gameyfin.app.users.dto.UserInfoDto import org.springframework.security.core.Authentication import org.springframework.security.core.context.SecurityContextHolder diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/UserService.kt b/app/src/main/kotlin/org/gameyfin/app/users/UserService.kt similarity index 77% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/UserService.kt rename to app/src/main/kotlin/org/gameyfin/app/users/UserService.kt index 9a85a6d..31a76c4 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/UserService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/UserService.kt @@ -1,25 +1,29 @@ -package de.grimsi.gameyfin.users +package org.gameyfin.app.users -import de.grimsi.gameyfin.config.ConfigProperties -import de.grimsi.gameyfin.config.ConfigService -import de.grimsi.gameyfin.core.Role -import de.grimsi.gameyfin.core.Utils -import de.grimsi.gameyfin.core.events.* -import de.grimsi.gameyfin.games.entities.Image -import de.grimsi.gameyfin.media.ImageService -import de.grimsi.gameyfin.users.dto.UserInfoDto -import de.grimsi.gameyfin.users.dto.UserRegistrationDto -import de.grimsi.gameyfin.users.dto.UserUpdateDto -import de.grimsi.gameyfin.users.emailconfirmation.EmailConfirmationService -import de.grimsi.gameyfin.users.entities.User -import de.grimsi.gameyfin.users.enums.RoleAssignmentResult -import de.grimsi.gameyfin.users.persistence.UserRepository +import org.gameyfin.app.config.ConfigService +import org.gameyfin.app.games.entities.Image +import org.gameyfin.app.users.dto.UserUpdateDto +import org.gameyfin.app.users.emailconfirmation.EmailConfirmationService +import org.gameyfin.app.users.enums.RoleAssignmentResult +import org.gameyfin.app.users.persistence.UserRepository import io.github.oshai.kotlinlogging.KotlinLogging +import org.gameyfin.app.config.ConfigProperties +import org.gameyfin.app.core.Role +import org.gameyfin.app.core.Utils +import org.gameyfin.app.core.events.AccountDeletedEvent +import org.gameyfin.app.core.events.AccountStatusChangedEvent +import org.gameyfin.app.core.events.EmailNeedsConfirmationEvent +import org.gameyfin.app.core.events.RegistrationAttemptWithExistingEmailEvent +import org.gameyfin.app.core.events.UserRegistrationWaitingForApprovalEvent +import org.gameyfin.app.media.ImageService +import org.gameyfin.app.users.dto.UserInfoDto +import org.gameyfin.app.users.dto.UserRegistrationDto import org.springframework.context.ApplicationEventPublisher import org.springframework.security.core.Authentication import org.springframework.security.core.GrantedAuthority import org.springframework.security.core.authority.SimpleGrantedAuthority import org.springframework.security.core.context.SecurityContextHolder +import org.springframework.security.core.userdetails.User import org.springframework.security.core.userdetails.UserDetails import org.springframework.security.core.userdetails.UserDetailsService import org.springframework.security.core.userdetails.UsernameNotFoundException @@ -48,7 +52,7 @@ class UserService( override fun loadUserByUsername(username: String): UserDetails { val user = getByUsernameNonNull(username) - return org.springframework.security.core.userdetails.User( + return User( user.username, user.password, user.enabled, @@ -62,21 +66,21 @@ class UserService( fun existsByUsername(username: String): Boolean = userRepository.existsByUsername(username) fun existsByEmail(email: String): Boolean = userRepository.existsByEmail(email) - fun findByOidcProviderId(oidcProviderId: String): User? = userRepository.findByOidcProviderId(oidcProviderId) + fun findByOidcProviderId(oidcProviderId: String): org.gameyfin.app.users.entities.User? = userRepository.findByOidcProviderId(oidcProviderId) fun getAllUsers(): List { return userRepository.findAll().map { u -> toUserInfo(u) } } - fun getByEmail(email: String): User? { + fun getByEmail(email: String): org.gameyfin.app.users.entities.User? { return userRepository.findByEmail(email) } - fun getByUsername(username: String): User? { + fun getByUsername(username: String): org.gameyfin.app.users.entities.User? { return userRepository.findByUsername(username) } - fun getByUsernameNonNull(username: String): User { + fun getByUsernameNonNull(username: String): org.gameyfin.app.users.entities.User { return userRepository.findByUsername(username) ?: throw UsernameNotFoundException("Unknown user '$username'") } @@ -84,10 +88,10 @@ class UserService( val principal = auth.principal if (principal is OidcUser) { - val oidcUser = User(principal) + val oidcUser = org.gameyfin.app.users.entities.User(principal) val userInfoDto = toUserInfo(oidcUser) userInfoDto.roles = roleService.extractGrantedAuthorities(principal.authorities) - .mapNotNull { Role.safeValueOf(it.authority) } + .mapNotNull { Role.Companion.safeValueOf(it.authority) } return userInfoDto } @@ -121,7 +125,7 @@ class UserService( return user.avatar != null && user.avatar!!.id != null } - fun registerOrUpdateUser(user: User): User { + fun registerOrUpdateUser(user: org.gameyfin.app.users.entities.User): org.gameyfin.app.users.entities.User { user.password = passwordEncoder.encode(user.password) return userRepository.save(user) } @@ -136,13 +140,19 @@ class UserService( } userRepository.findByEmail(registration.email)?.let { - eventPublisher.publishEvent(RegistrationAttemptWithExistingEmailEvent(this, it, Utils.getBaseUrl())) + eventPublisher.publishEvent( + RegistrationAttemptWithExistingEmailEvent( + this, + it, + Utils.Companion.getBaseUrl() + ) + ) return } val adminNeedsToApprove = config.get(ConfigProperties.Users.SignUps.ConfirmationRequired) == true - var user = User( + var user = org.gameyfin.app.users.entities.User( username = registration.username, password = passwordEncoder.encode(registration.password), email = registration.email, @@ -155,17 +165,17 @@ class UserService( if (adminNeedsToApprove) { eventPublisher.publishEvent(UserRegistrationWaitingForApprovalEvent(this, user)) } else { - eventPublisher.publishEvent(AccountStatusChangedEvent(this, user, Utils.getBaseUrl())) + eventPublisher.publishEvent(AccountStatusChangedEvent(this, user, Utils.Companion.getBaseUrl())) } if (!user.emailConfirmed) { val token = emailConfirmationService.generate(user) - eventPublisher.publishEvent(EmailNeedsConfirmationEvent(this, token, Utils.getBaseUrl())) + eventPublisher.publishEvent(EmailNeedsConfirmationEvent(this, token, Utils.Companion.getBaseUrl())) } } - fun registerUserFromInvitation(registration: UserRegistrationDto, email: String): User { - val user = User( + fun registerUserFromInvitation(registration: UserRegistrationDto, email: String): org.gameyfin.app.users.entities.User { + val user = org.gameyfin.app.users.entities.User( username = registration.username, password = passwordEncoder.encode(registration.password), email = email, @@ -195,13 +205,13 @@ class UserService( user.email = it user.emailConfirmed = false val token = emailConfirmationService.generate(user) - eventPublisher.publishEvent(EmailNeedsConfirmationEvent(this, token, Utils.getBaseUrl())) + eventPublisher.publishEvent(EmailNeedsConfirmationEvent(this, token, Utils.Companion.getBaseUrl())) } userRepository.save(user) } - fun updatePassword(user: User, newPassword: String) { + fun updatePassword(user: org.gameyfin.app.users.entities.User, newPassword: String) { user.password = passwordEncoder.encode(newPassword) userRepository.save(user) } @@ -219,7 +229,7 @@ class UserService( return RoleAssignmentResult.TARGET_POWER_LEVEL_TOO_HIGH } - val newAssignedRoles = roleNames.mapNotNull { r -> Role.safeValueOf(r) } + val newAssignedRoles = roleNames.mapNotNull { r -> Role.Companion.safeValueOf(r) } val newAssignedRolesLevel = roleService.getHighestRole(newAssignedRoles).powerLevel val currentUserLevel = roleService.getHighestRoleFromAuthorities(currentUser.authorities).powerLevel @@ -238,7 +248,7 @@ class UserService( return canManage(targetUser) } - fun canManage(targetUser: User): Boolean { + fun canManage(targetUser: org.gameyfin.app.users.entities.User): Boolean { val currentUser = SecurityContextHolder.getContext().authentication val currentUserLevel = roleService.getHighestRoleFromAuthorities(currentUser.authorities).powerLevel val targetUserLevel = roleService.getHighestRole(targetUser.roles).powerLevel @@ -249,16 +259,16 @@ class UserService( val user = getByUsernameNonNull(username) user.enabled = enabled userRepository.save(user) - eventPublisher.publishEvent(AccountStatusChangedEvent(this, user, Utils.getBaseUrl())) + eventPublisher.publishEvent(AccountStatusChangedEvent(this, user, Utils.Companion.getBaseUrl())) } fun deleteUser(username: String) { val user = getByUsernameNonNull(username) userRepository.delete(user) - eventPublisher.publishEvent(AccountDeletedEvent(this, user, Utils.getBaseUrl())) + eventPublisher.publishEvent(AccountDeletedEvent(this, user, Utils.Companion.getBaseUrl())) } - fun toUserInfo(user: User): UserInfoDto { + fun toUserInfo(user: org.gameyfin.app.users.entities.User): UserInfoDto { return UserInfoDto( username = user.username, email = user.email, diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/dto/UserInfoDto.kt b/app/src/main/kotlin/org/gameyfin/app/users/dto/UserInfoDto.kt similarity index 77% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/dto/UserInfoDto.kt rename to app/src/main/kotlin/org/gameyfin/app/users/dto/UserInfoDto.kt index f447392..33881d1 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/dto/UserInfoDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/dto/UserInfoDto.kt @@ -1,6 +1,6 @@ -package de.grimsi.gameyfin.users.dto +package org.gameyfin.app.users.dto -import de.grimsi.gameyfin.core.Role +import org.gameyfin.app.core.Role data class UserInfoDto( val username: String, diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/dto/UserRegistrationDto.kt b/app/src/main/kotlin/org/gameyfin/app/users/dto/UserRegistrationDto.kt similarity index 74% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/dto/UserRegistrationDto.kt rename to app/src/main/kotlin/org/gameyfin/app/users/dto/UserRegistrationDto.kt index fcc95dc..7c59900 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/dto/UserRegistrationDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/dto/UserRegistrationDto.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.users.dto +package org.gameyfin.app.users.dto data class UserRegistrationDto( val username: String, diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/dto/UserUpdateDto.kt b/app/src/main/kotlin/org/gameyfin/app/users/dto/UserUpdateDto.kt similarity index 65% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/dto/UserUpdateDto.kt rename to app/src/main/kotlin/org/gameyfin/app/users/dto/UserUpdateDto.kt index 511429e..27027ca 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/dto/UserUpdateDto.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/dto/UserUpdateDto.kt @@ -1,6 +1,6 @@ -package de.grimsi.gameyfin.users.dto +package org.gameyfin.app.users.dto -import de.grimsi.gameyfin.core.annotations.NullOrNotBlank +import org.gameyfin.app.core.annotations.NullOrNotBlank data class UserUpdateDto( @field:NullOrNotBlank diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/emailconfirmation/EmailConfirmationEndpoint.kt b/app/src/main/kotlin/org/gameyfin/app/users/emailconfirmation/EmailConfirmationEndpoint.kt similarity index 83% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/emailconfirmation/EmailConfirmationEndpoint.kt rename to app/src/main/kotlin/org/gameyfin/app/users/emailconfirmation/EmailConfirmationEndpoint.kt index 8802082..ddb1975 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/emailconfirmation/EmailConfirmationEndpoint.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/emailconfirmation/EmailConfirmationEndpoint.kt @@ -1,9 +1,9 @@ -package de.grimsi.gameyfin.users.emailconfirmation +package org.gameyfin.app.users.emailconfirmation import com.vaadin.hilla.Endpoint -import de.grimsi.gameyfin.shared.token.TokenValidationResult -import de.grimsi.gameyfin.users.UserService +import org.gameyfin.app.users.UserService import jakarta.annotation.security.PermitAll +import org.gameyfin.app.shared.token.TokenValidationResult import org.springframework.security.core.Authentication import org.springframework.security.core.context.SecurityContextHolder diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/emailconfirmation/EmailConfirmationService.kt b/app/src/main/kotlin/org/gameyfin/app/users/emailconfirmation/EmailConfirmationService.kt similarity index 65% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/emailconfirmation/EmailConfirmationService.kt rename to app/src/main/kotlin/org/gameyfin/app/users/emailconfirmation/EmailConfirmationService.kt index a16c61b..56f4e47 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/emailconfirmation/EmailConfirmationService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/emailconfirmation/EmailConfirmationService.kt @@ -1,15 +1,15 @@ -package de.grimsi.gameyfin.users.emailconfirmation +package org.gameyfin.app.users.emailconfirmation -import de.grimsi.gameyfin.core.Utils -import de.grimsi.gameyfin.core.events.EmailNeedsConfirmationEvent -import de.grimsi.gameyfin.shared.token.TokenRepository -import de.grimsi.gameyfin.shared.token.TokenService -import de.grimsi.gameyfin.shared.token.TokenType.EmailConfirmation -import de.grimsi.gameyfin.shared.token.TokenValidationResult -import de.grimsi.gameyfin.users.entities.User -import de.grimsi.gameyfin.users.persistence.UserRepository +import org.gameyfin.app.core.events.EmailNeedsConfirmationEvent +import org.gameyfin.app.shared.token.TokenRepository +import org.gameyfin.app.users.persistence.UserRepository import io.github.oshai.kotlinlogging.KLogger import io.github.oshai.kotlinlogging.KotlinLogging +import org.gameyfin.app.core.Utils +import org.gameyfin.app.shared.token.TokenService +import org.gameyfin.app.shared.token.TokenType +import org.gameyfin.app.shared.token.TokenValidationResult +import org.gameyfin.app.users.entities.User import org.springframework.context.ApplicationEventPublisher import org.springframework.stereotype.Service @@ -18,12 +18,12 @@ class EmailConfirmationService( tokenRepository: TokenRepository, private val userRepository: UserRepository, private val eventPublisher: ApplicationEventPublisher -) : TokenService(EmailConfirmation, tokenRepository) { +) : TokenService(TokenType.EmailConfirmation, tokenRepository) { val log: KLogger = KotlinLogging.logger {} fun confirmEmail(secret: String): TokenValidationResult { - val emailConfirmationToken = get(secret, EmailConfirmation) + val emailConfirmationToken = get(secret, TokenType.EmailConfirmation) ?: return TokenValidationResult.INVALID if (emailConfirmationToken.expired) { @@ -44,7 +44,7 @@ class EmailConfirmationService( } val token = generate(user) - eventPublisher.publishEvent(EmailNeedsConfirmationEvent(user, token, Utils.getBaseUrl())) + eventPublisher.publishEvent(EmailNeedsConfirmationEvent(user, token, Utils.Companion.getBaseUrl())) } private fun confirmEmail(user: User) { diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/entities/User.kt b/app/src/main/kotlin/org/gameyfin/app/users/entities/User.kt similarity index 84% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/entities/User.kt rename to app/src/main/kotlin/org/gameyfin/app/users/entities/User.kt index 147d903..f170bb0 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/entities/User.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/entities/User.kt @@ -1,9 +1,9 @@ -package de.grimsi.gameyfin.users.entities +package org.gameyfin.app.users.entities -import de.grimsi.gameyfin.core.Role -import de.grimsi.gameyfin.core.security.EncryptionConverter -import de.grimsi.gameyfin.games.entities.Image +import org.gameyfin.app.games.entities.Image import jakarta.persistence.* +import org.gameyfin.app.core.Role +import org.gameyfin.app.core.security.EncryptionConverter import org.springframework.security.oauth2.core.oidc.user.OidcUser diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/enums/RoleAssignmentResult.kt b/app/src/main/kotlin/org/gameyfin/app/users/enums/RoleAssignmentResult.kt similarity index 78% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/enums/RoleAssignmentResult.kt rename to app/src/main/kotlin/org/gameyfin/app/users/enums/RoleAssignmentResult.kt index 517795f..a4f2805 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/enums/RoleAssignmentResult.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/enums/RoleAssignmentResult.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.users.enums +package org.gameyfin.app.users.enums enum class RoleAssignmentResult { SUCCESS, diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/enums/UserInvitationAcceptanceResult.kt b/app/src/main/kotlin/org/gameyfin/app/users/enums/UserInvitationAcceptanceResult.kt similarity index 74% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/enums/UserInvitationAcceptanceResult.kt rename to app/src/main/kotlin/org/gameyfin/app/users/enums/UserInvitationAcceptanceResult.kt index 298f96f..8366302 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/enums/UserInvitationAcceptanceResult.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/enums/UserInvitationAcceptanceResult.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.users.enums +package org.gameyfin.app.users.enums enum class UserInvitationAcceptanceResult { SUCCESS, diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/passwordreset/PasswordResetEndpoint.kt b/app/src/main/kotlin/org/gameyfin/app/users/passwordreset/PasswordResetEndpoint.kt similarity index 77% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/passwordreset/PasswordResetEndpoint.kt rename to app/src/main/kotlin/org/gameyfin/app/users/passwordreset/PasswordResetEndpoint.kt index 4ebf23f..9d1a80e 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/passwordreset/PasswordResetEndpoint.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/passwordreset/PasswordResetEndpoint.kt @@ -1,12 +1,12 @@ -package de.grimsi.gameyfin.users.passwordreset +package org.gameyfin.app.users.passwordreset import com.vaadin.flow.server.auth.AnonymousAllowed import com.vaadin.hilla.Endpoint -import de.grimsi.gameyfin.core.Role -import de.grimsi.gameyfin.shared.token.TokenDto -import de.grimsi.gameyfin.shared.token.TokenValidationResult -import de.grimsi.gameyfin.users.UserService +import org.gameyfin.app.shared.token.TokenDto +import org.gameyfin.app.users.UserService import jakarta.annotation.security.RolesAllowed +import org.gameyfin.app.core.Role +import org.gameyfin.app.shared.token.TokenValidationResult @Endpoint @AnonymousAllowed diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/passwordreset/PasswordResetService.kt b/app/src/main/kotlin/org/gameyfin/app/users/passwordreset/PasswordResetService.kt similarity index 76% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/passwordreset/PasswordResetService.kt rename to app/src/main/kotlin/org/gameyfin/app/users/passwordreset/PasswordResetService.kt index 6c46187..73fa75e 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/passwordreset/PasswordResetService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/passwordreset/PasswordResetService.kt @@ -1,14 +1,18 @@ -package de.grimsi.gameyfin.users.passwordreset +package org.gameyfin.app.users.passwordreset -import de.grimsi.gameyfin.core.Utils -import de.grimsi.gameyfin.core.events.PasswordResetRequestEvent -import de.grimsi.gameyfin.messages.MessageService -import de.grimsi.gameyfin.shared.token.* -import de.grimsi.gameyfin.shared.token.TokenType.PasswordReset -import de.grimsi.gameyfin.users.SessionService -import de.grimsi.gameyfin.users.UserService -import de.grimsi.gameyfin.users.entities.User +import org.gameyfin.app.core.events.PasswordResetRequestEvent +import org.gameyfin.app.messages.MessageService +import org.gameyfin.app.users.SessionService +import org.gameyfin.app.users.UserService import io.github.oshai.kotlinlogging.KotlinLogging +import org.gameyfin.app.core.Utils +import org.gameyfin.app.shared.token.Token +import org.gameyfin.app.shared.token.TokenDto +import org.gameyfin.app.shared.token.TokenRepository +import org.gameyfin.app.shared.token.TokenService +import org.gameyfin.app.shared.token.TokenType +import org.gameyfin.app.shared.token.TokenValidationResult +import org.gameyfin.app.users.entities.User import org.springframework.context.ApplicationEventPublisher import org.springframework.stereotype.Service import java.security.SecureRandom @@ -20,13 +24,13 @@ class PasswordResetService( private val messageService: MessageService, private val sessionService: SessionService, private val eventPublisher: ApplicationEventPublisher -) : TokenService(PasswordReset, tokenRepository) { +) : TokenService(TokenType.PasswordReset, tokenRepository) { private val log = KotlinLogging.logger {} private val secureRandom = SecureRandom() - override fun generate(user: User): Token { + override fun generate(user: User): Token { if (user.oidcProviderId != null) { throw IllegalStateException("Cannot create password reset token for user '${user.username}' because user is managed externally") } @@ -60,7 +64,7 @@ class PasswordResetService( */ fun requestPasswordReset(email: String) { - val maskedEmail = Utils.maskEmail(email) + val maskedEmail = Utils.Companion.maskEmail(email) log.info { "Initiating password reset request for '${maskedEmail}'" } @@ -82,14 +86,14 @@ class PasswordResetService( } val token = generate(user) - eventPublisher.publishEvent(PasswordResetRequestEvent(this, token, Utils.getBaseUrl())) + eventPublisher.publishEvent(PasswordResetRequestEvent(this, token, Utils.Companion.getBaseUrl())) // Simulate a delay to prevent timing attacks Thread.sleep(secureRandom.nextLong(1024)) } fun resetPassword(secret: String, newPassword: String): TokenValidationResult { - val passwordResetToken = get(secret, PasswordReset) + val passwordResetToken = get(secret, TokenType.PasswordReset) ?: return TokenValidationResult.INVALID if (passwordResetToken.expired) { diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/persistence/UserRepository.kt b/app/src/main/kotlin/org/gameyfin/app/users/persistence/UserRepository.kt similarity index 76% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/persistence/UserRepository.kt rename to app/src/main/kotlin/org/gameyfin/app/users/persistence/UserRepository.kt index feda205..847aa8d 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/persistence/UserRepository.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/persistence/UserRepository.kt @@ -1,7 +1,7 @@ -package de.grimsi.gameyfin.users.persistence +package org.gameyfin.app.users.persistence -import de.grimsi.gameyfin.core.Role -import de.grimsi.gameyfin.users.entities.User +import org.gameyfin.app.core.Role +import org.gameyfin.app.users.entities.User import org.springframework.data.jpa.repository.JpaRepository interface UserRepository : JpaRepository { diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/preferences/UserPreference.kt b/app/src/main/kotlin/org/gameyfin/app/users/preferences/UserPreference.kt similarity index 79% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/preferences/UserPreference.kt rename to app/src/main/kotlin/org/gameyfin/app/users/preferences/UserPreference.kt index e3daf2a..fca64b3 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/preferences/UserPreference.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/preferences/UserPreference.kt @@ -1,7 +1,7 @@ -package de.grimsi.gameyfin.users.preferences +package org.gameyfin.app.users.preferences -import de.grimsi.gameyfin.core.security.EncryptionConverter import jakarta.persistence.* +import org.gameyfin.app.core.security.EncryptionConverter import java.io.Serializable @Entity diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/preferences/UserPreferenceRepository.kt b/app/src/main/kotlin/org/gameyfin/app/users/preferences/UserPreferenceRepository.kt similarity index 76% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/preferences/UserPreferenceRepository.kt rename to app/src/main/kotlin/org/gameyfin/app/users/preferences/UserPreferenceRepository.kt index 624a184..562dc33 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/preferences/UserPreferenceRepository.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/preferences/UserPreferenceRepository.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.users.preferences +package org.gameyfin.app.users.preferences import org.springframework.data.jpa.repository.JpaRepository diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/preferences/UserPreferences.kt b/app/src/main/kotlin/org/gameyfin/app/users/preferences/UserPreferences.kt similarity index 89% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/preferences/UserPreferences.kt rename to app/src/main/kotlin/org/gameyfin/app/users/preferences/UserPreferences.kt index 1135893..0f5a04a 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/preferences/UserPreferences.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/preferences/UserPreferences.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.users.preferences +package org.gameyfin.app.users.preferences import java.io.Serializable import kotlin.reflect.KClass diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/preferences/UserPreferencesEndpoint.kt b/app/src/main/kotlin/org/gameyfin/app/users/preferences/UserPreferencesEndpoint.kt similarity index 88% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/preferences/UserPreferencesEndpoint.kt rename to app/src/main/kotlin/org/gameyfin/app/users/preferences/UserPreferencesEndpoint.kt index a68927b..ff1fa87 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/preferences/UserPreferencesEndpoint.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/preferences/UserPreferencesEndpoint.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.users.preferences +package org.gameyfin.app.users.preferences import com.vaadin.hilla.Endpoint import jakarta.annotation.security.PermitAll diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/preferences/UserPreferencesService.kt b/app/src/main/kotlin/org/gameyfin/app/users/preferences/UserPreferencesService.kt similarity index 98% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/preferences/UserPreferencesService.kt rename to app/src/main/kotlin/org/gameyfin/app/users/preferences/UserPreferencesService.kt index 4ac18a0..963644e 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/preferences/UserPreferencesService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/preferences/UserPreferencesService.kt @@ -1,6 +1,6 @@ -package de.grimsi.gameyfin.users.preferences +package org.gameyfin.app.users.preferences -import de.grimsi.gameyfin.users.UserService +import org.gameyfin.app.users.UserService import io.github.oshai.kotlinlogging.KotlinLogging import org.springframework.security.core.context.SecurityContextHolder import org.springframework.stereotype.Service diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/registration/InvitationService.kt b/app/src/main/kotlin/org/gameyfin/app/users/registration/InvitationService.kt similarity index 67% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/registration/InvitationService.kt rename to app/src/main/kotlin/org/gameyfin/app/users/registration/InvitationService.kt index 61ff3bf..b27602c 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/registration/InvitationService.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/registration/InvitationService.kt @@ -1,15 +1,15 @@ -package de.grimsi.gameyfin.users.registration +package org.gameyfin.app.users.registration -import de.grimsi.gameyfin.core.Utils -import de.grimsi.gameyfin.core.events.AccountStatusChangedEvent -import de.grimsi.gameyfin.core.events.UserInvitationEvent -import de.grimsi.gameyfin.shared.token.TokenDto -import de.grimsi.gameyfin.shared.token.TokenRepository -import de.grimsi.gameyfin.shared.token.TokenService -import de.grimsi.gameyfin.shared.token.TokenType.Invitation -import de.grimsi.gameyfin.users.UserService -import de.grimsi.gameyfin.users.dto.UserRegistrationDto -import de.grimsi.gameyfin.users.enums.UserInvitationAcceptanceResult +import org.gameyfin.app.core.events.AccountStatusChangedEvent +import org.gameyfin.app.core.events.UserInvitationEvent +import org.gameyfin.app.shared.token.TokenDto +import org.gameyfin.app.shared.token.TokenRepository +import org.gameyfin.app.users.UserService +import org.gameyfin.app.core.Utils +import org.gameyfin.app.shared.token.TokenService +import org.gameyfin.app.shared.token.TokenType +import org.gameyfin.app.users.dto.UserRegistrationDto +import org.gameyfin.app.users.enums.UserInvitationAcceptanceResult import org.springframework.context.ApplicationEventPublisher import org.springframework.security.core.Authentication import org.springframework.security.core.context.SecurityContextHolder @@ -20,7 +20,7 @@ class InvitationService( tokenRepository: TokenRepository, private val userService: UserService, private val eventPublisher: ApplicationEventPublisher -) : TokenService(Invitation, tokenRepository) { +) : TokenService(TokenType.Invitation, tokenRepository) { companion object { private const val EMAIL_KEY = "email" @@ -28,14 +28,14 @@ class InvitationService( fun createInvitation(email: String): TokenDto { if (userService.existsByEmail(email)) - throw IllegalStateException("User with email ${Utils.maskEmail(email)} is already registered") + throw IllegalStateException("User with email ${Utils.Companion.maskEmail(email)} is already registered") val auth: Authentication = SecurityContextHolder.getContext().authentication val user = userService.getByUsername(auth.name) ?: throw IllegalStateException("User not found") val payload = mapOf(EMAIL_KEY to email) val token = super.generateWithPayload(user, payload) - eventPublisher.publishEvent(UserInvitationEvent(this, token, Utils.getBaseUrl(), email)) + eventPublisher.publishEvent(UserInvitationEvent(this, token, Utils.Companion.getBaseUrl(), email)) return TokenDto(token) } @@ -45,14 +45,14 @@ class InvitationService( } fun acceptInvitation(secret: String, registration: UserRegistrationDto): UserInvitationAcceptanceResult { - val invitationToken = super.get(secret, Invitation) ?: return UserInvitationAcceptanceResult.TOKEN_INVALID + val invitationToken = super.get(secret, TokenType.Invitation) ?: return UserInvitationAcceptanceResult.TOKEN_INVALID val email = invitationToken.payload[EMAIL_KEY] ?: return UserInvitationAcceptanceResult.TOKEN_INVALID if (invitationToken.expired) return UserInvitationAcceptanceResult.TOKEN_EXPIRED try { val user = userService.registerUserFromInvitation(registration, email) super.delete(invitationToken) - eventPublisher.publishEvent(AccountStatusChangedEvent(this, user, Utils.getBaseUrl())) + eventPublisher.publishEvent(AccountStatusChangedEvent(this, user, Utils.Companion.getBaseUrl())) } catch (e: IllegalStateException) { return UserInvitationAcceptanceResult.USERNAME_TAKEN } diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/registration/RegistrationEndpoint.kt b/app/src/main/kotlin/org/gameyfin/app/users/registration/RegistrationEndpoint.kt similarity index 79% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/registration/RegistrationEndpoint.kt rename to app/src/main/kotlin/org/gameyfin/app/users/registration/RegistrationEndpoint.kt index 115bdb4..a528c70 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/registration/RegistrationEndpoint.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/registration/RegistrationEndpoint.kt @@ -1,13 +1,13 @@ -package de.grimsi.gameyfin.users.registration +package org.gameyfin.app.users.registration import com.vaadin.flow.server.auth.AnonymousAllowed import com.vaadin.hilla.Endpoint -import de.grimsi.gameyfin.core.Role -import de.grimsi.gameyfin.shared.token.TokenDto -import de.grimsi.gameyfin.users.UserService -import de.grimsi.gameyfin.users.dto.UserRegistrationDto -import de.grimsi.gameyfin.users.enums.UserInvitationAcceptanceResult +import org.gameyfin.app.shared.token.TokenDto +import org.gameyfin.app.users.UserService import jakarta.annotation.security.RolesAllowed +import org.gameyfin.app.core.Role +import org.gameyfin.app.users.dto.UserRegistrationDto +import org.gameyfin.app.users.enums.UserInvitationAcceptanceResult @AnonymousAllowed @Endpoint diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/util/UserDetailsExtensions.kt b/app/src/main/kotlin/org/gameyfin/app/users/util/UserDetailsExtensions.kt similarity index 76% rename from gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/util/UserDetailsExtensions.kt rename to app/src/main/kotlin/org/gameyfin/app/users/util/UserDetailsExtensions.kt index 1f82442..6cb6ea1 100644 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/users/util/UserDetailsExtensions.kt +++ b/app/src/main/kotlin/org/gameyfin/app/users/util/UserDetailsExtensions.kt @@ -1,7 +1,7 @@ -package de.grimsi.gameyfin.users.util +package org.gameyfin.app.users.util -import de.grimsi.gameyfin.core.Role -import de.grimsi.gameyfin.users.entities.User +import org.gameyfin.app.core.Role +import org.gameyfin.app.users.entities.User import org.springframework.security.core.userdetails.UserDetails fun User.hasRole(role: Role): Boolean { diff --git a/gameyfin/src/main/resources/META-INF/resources/images/Logo.svg b/app/src/main/resources/META-INF/resources/images/Logo.svg similarity index 100% rename from gameyfin/src/main/resources/META-INF/resources/images/Logo.svg rename to app/src/main/resources/META-INF/resources/images/Logo.svg diff --git a/gameyfin/src/main/resources/application-dev.yml b/app/src/main/resources/application-dev.yml similarity index 71% rename from gameyfin/src/main/resources/application-dev.yml rename to app/src/main/resources/application-dev.yml index 072d8f4..d8103d5 100644 --- a/gameyfin/src/main/resources/application-dev.yml +++ b/app/src/main/resources/application-dev.yml @@ -1,6 +1,6 @@ logging.level: root: info - de.grimsi.gameyfin.GameyfinApplicationKt: info + org.gameyfin.GameyfinApplicationKt: info spring: datasource: diff --git a/gameyfin/src/main/resources/application.yml b/app/src/main/resources/application.yml similarity index 94% rename from gameyfin/src/main/resources/application.yml rename to app/src/main/resources/application.yml index 3adbcaa..9c53454 100644 --- a/gameyfin/src/main/resources/application.yml +++ b/app/src/main/resources/application.yml @@ -1,8 +1,8 @@ logging.level: root: warn org.atmosphere: warn - de.grimsi.gameyfin: info - de.grimsi.gameyfin.GameyfinApplicationKt: warn + org.gameyfin: info + org.gameyfin.GameyfinApplicationKt: warn org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer: ERROR server: diff --git a/gameyfin/src/main/resources/banner.txt b/app/src/main/resources/banner.txt similarity index 100% rename from gameyfin/src/main/resources/banner.txt rename to app/src/main/resources/banner.txt diff --git a/gameyfin/src/main/resources/certificates/gameyfin-plugins.pem b/app/src/main/resources/certificates/gameyfin-plugins.pem similarity index 98% rename from gameyfin/src/main/resources/certificates/gameyfin-plugins.pem rename to app/src/main/resources/certificates/gameyfin-plugins.pem index cc7018b..24760c5 100644 --- a/gameyfin/src/main/resources/certificates/gameyfin-plugins.pem +++ b/app/src/main/resources/certificates/gameyfin-plugins.pem @@ -1,23 +1,23 @@ ------BEGIN CERTIFICATE----- -MIID6zCCAlOgAwIBAgIIInXOudKRPwswDQYJKoZIhvcNAQEMBQAwJDERMA8GA1UE -ChMIR2FtZXlmaW4xDzANBgNVBAMTBmdyaW1zaTAeFw0yNTA0MDEyMzI0MjdaFw0y -NTA2MzAyMzI0MjdaMCQxETAPBgNVBAoTCEdhbWV5ZmluMQ8wDQYDVQQDEwZncmlt -c2kwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCe3Nfyz++gEGyiPXR2 -Gi1BtJrbQyAhqkO94XrCa0MmBPlb5AxakuMh3G9A8VmKgfaGithC5uO6rNKQX9rr -TnxUBBNjVh0bu/gFD3YfgiE+UmPrf0BM2bFFm3fc3Ag4RwkyMnORTjUiKIJIK9LG -kXIIeDd0SO5Hs+LBvyymOLNX6nsVIFa+tywVWJwPDLwxnf66PIH8E16aGBlsfwFl -IjiVFp+54VaaOLv5vm+PcbPg4Q2bg3kD25V5U+KNd2FqElryKflrRQekCo1T52FL -l7HQvyYdI8+E6wKNhO3io86/i9o7rNIl7QtO4OrwuRpoNho33HzqFMMkcz2yCWjR -ilFzw7bGvAhKeCjrNHMHHpYlbXJ28opMJAfZMr0jLl8z2UuHe2kRCtUJL8sPpqcB -RFT83/+Zc+3b846OIHf+WXGCtXBJ3XR2m+aZh41I4L4PSDDMebjboTVDvq0pfnvY -ZIw1FAJTP09Wxe1ZB5xKBNG+MYQm4q0zoP0Os9BhAGAurQUCAwEAAaMhMB8wHQYD -VR0OBBYEFOfG8eAgUuk0TK2ds09pV1BjFyqZMA0GCSqGSIb3DQEBDAUAA4IBgQCV -YpKo50L1AjkjVpNnkVGX+mzTEHWkjE5Xhjmc/xsZAMeP2Dg0wSWqU6Vc1gya3Yvc -Lnbjj1pVh5JLNNrTmCfttqYAuPYNlxkUfbzv5+61gyI4FsCUbddLwql9WSHToyeW -xW+SmwIkKdRLFOiO927DuHc1G2UVXRPn2YFHTUTeHxZUSvBXvRoeQ+ofgqf54jGq -oTNTe65/NfXzhQyTycwk3Zz3bRB8La2r20PBpNM8oTGwxbyGrbNYdZb+OwGIjEkB -KeES8mjwS2PsPy6NdtLxN68No38ilXRzCzQL06lmLYA530n/SigPWbuRRE2JlDmN -KcU+UQgzGf5gJ8Kut/Kg0K+qI4gq761N4EPnWXE8I59OhGDRzAA6FyJf8PJ9luQc -pz7Yoc8QxRrDm36eQBBLVmGsnXVUD6FTvuofTjFPMrTOZFCcHNmH9JDdSCQHO1sI -UCu7bWYGkAF93hFlAfl1h60tmZAyR2gMGwfgyDbdL2XYXA7dDRQftEQvtBmp5zI= ------END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIID6zCCAlOgAwIBAgIIInXOudKRPwswDQYJKoZIhvcNAQEMBQAwJDERMA8GA1UE +ChMIR2FtZXlmaW4xDzANBgNVBAMTBmdyaW1zaTAeFw0yNTA0MDEyMzI0MjdaFw0y +NTA2MzAyMzI0MjdaMCQxETAPBgNVBAoTCEdhbWV5ZmluMQ8wDQYDVQQDEwZncmlt +c2kwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCe3Nfyz++gEGyiPXR2 +Gi1BtJrbQyAhqkO94XrCa0MmBPlb5AxakuMh3G9A8VmKgfaGithC5uO6rNKQX9rr +TnxUBBNjVh0bu/gFD3YfgiE+UmPrf0BM2bFFm3fc3Ag4RwkyMnORTjUiKIJIK9LG +kXIIeDd0SO5Hs+LBvyymOLNX6nsVIFa+tywVWJwPDLwxnf66PIH8E16aGBlsfwFl +IjiVFp+54VaaOLv5vm+PcbPg4Q2bg3kD25V5U+KNd2FqElryKflrRQekCo1T52FL +l7HQvyYdI8+E6wKNhO3io86/i9o7rNIl7QtO4OrwuRpoNho33HzqFMMkcz2yCWjR +ilFzw7bGvAhKeCjrNHMHHpYlbXJ28opMJAfZMr0jLl8z2UuHe2kRCtUJL8sPpqcB +RFT83/+Zc+3b846OIHf+WXGCtXBJ3XR2m+aZh41I4L4PSDDMebjboTVDvq0pfnvY +ZIw1FAJTP09Wxe1ZB5xKBNG+MYQm4q0zoP0Os9BhAGAurQUCAwEAAaMhMB8wHQYD +VR0OBBYEFOfG8eAgUuk0TK2ds09pV1BjFyqZMA0GCSqGSIb3DQEBDAUAA4IBgQCV +YpKo50L1AjkjVpNnkVGX+mzTEHWkjE5Xhjmc/xsZAMeP2Dg0wSWqU6Vc1gya3Yvc +Lnbjj1pVh5JLNNrTmCfttqYAuPYNlxkUfbzv5+61gyI4FsCUbddLwql9WSHToyeW +xW+SmwIkKdRLFOiO927DuHc1G2UVXRPn2YFHTUTeHxZUSvBXvRoeQ+ofgqf54jGq +oTNTe65/NfXzhQyTycwk3Zz3bRB8La2r20PBpNM8oTGwxbyGrbNYdZb+OwGIjEkB +KeES8mjwS2PsPy6NdtLxN68No38ilXRzCzQL06lmLYA530n/SigPWbuRRE2JlDmN +KcU+UQgzGf5gJ8Kut/Kg0K+qI4gq761N4EPnWXE8I59OhGDRzAA6FyJf8PJ9luQc +pz7Yoc8QxRrDm36eQBBLVmGsnXVUD6FTvuofTjFPMrTOZFCcHNmH9JDdSCQHO1sI +UCu7bWYGkAF93hFlAfl1h60tmZAyR2gMGwfgyDbdL2XYXA7dDRQftEQvtBmp5zI= +-----END CERTIFICATE----- diff --git a/gameyfin/src/main/resources/templates/log-config-template.xml b/app/src/main/resources/templates/log-config-template.xml similarity index 93% rename from gameyfin/src/main/resources/templates/log-config-template.xml rename to app/src/main/resources/templates/log-config-template.xml index 573d52d..3de71c7 100644 --- a/gameyfin/src/main/resources/templates/log-config-template.xml +++ b/app/src/main/resources/templates/log-config-template.xml @@ -15,7 +15,7 @@ - + diff --git a/gameyfin/src/main/resources/templates/messages/account-deleted.mjml b/app/src/main/resources/templates/messages/account-deleted.mjml similarity index 100% rename from gameyfin/src/main/resources/templates/messages/account-deleted.mjml rename to app/src/main/resources/templates/messages/account-deleted.mjml diff --git a/gameyfin/src/main/resources/templates/messages/account-disabled.mjml b/app/src/main/resources/templates/messages/account-disabled.mjml similarity index 100% rename from gameyfin/src/main/resources/templates/messages/account-disabled.mjml rename to app/src/main/resources/templates/messages/account-disabled.mjml diff --git a/gameyfin/src/main/resources/templates/messages/account-enabled.mjml b/app/src/main/resources/templates/messages/account-enabled.mjml similarity index 100% rename from gameyfin/src/main/resources/templates/messages/account-enabled.mjml rename to app/src/main/resources/templates/messages/account-enabled.mjml diff --git a/gameyfin/src/main/resources/templates/messages/email-already-registered.mjml b/app/src/main/resources/templates/messages/email-already-registered.mjml similarity index 100% rename from gameyfin/src/main/resources/templates/messages/email-already-registered.mjml rename to app/src/main/resources/templates/messages/email-already-registered.mjml diff --git a/gameyfin/src/main/resources/templates/messages/email-confirmation.mjml b/app/src/main/resources/templates/messages/email-confirmation.mjml similarity index 100% rename from gameyfin/src/main/resources/templates/messages/email-confirmation.mjml rename to app/src/main/resources/templates/messages/email-confirmation.mjml diff --git a/gameyfin/src/main/resources/templates/messages/password-reset-request.mjml b/app/src/main/resources/templates/messages/password-reset-request.mjml similarity index 100% rename from gameyfin/src/main/resources/templates/messages/password-reset-request.mjml rename to app/src/main/resources/templates/messages/password-reset-request.mjml diff --git a/gameyfin/src/main/resources/templates/messages/user-invitation.mjml b/app/src/main/resources/templates/messages/user-invitation.mjml similarity index 100% rename from gameyfin/src/main/resources/templates/messages/user-invitation.mjml rename to app/src/main/resources/templates/messages/user-invitation.mjml diff --git a/gameyfin/src/main/resources/templates/messages/waiting-for-approval.mjml b/app/src/main/resources/templates/messages/waiting-for-approval.mjml similarity index 100% rename from gameyfin/src/main/resources/templates/messages/waiting-for-approval.mjml rename to app/src/main/resources/templates/messages/waiting-for-approval.mjml diff --git a/gameyfin/tailwind.config.ts b/app/tailwind.config.ts similarity index 100% rename from gameyfin/tailwind.config.ts rename to app/tailwind.config.ts diff --git a/gameyfin/tsconfig.json b/app/tsconfig.json similarity index 100% rename from gameyfin/tsconfig.json rename to app/tsconfig.json diff --git a/gameyfin/types.d.ts b/app/types.d.ts similarity index 100% rename from gameyfin/types.d.ts rename to app/types.d.ts diff --git a/gameyfin/vite.config.ts b/app/vite.config.ts similarity index 100% rename from gameyfin/vite.config.ts rename to app/vite.config.ts diff --git a/gameyfin/vite.generated.ts b/app/vite.generated.ts similarity index 100% rename from gameyfin/vite.generated.ts rename to app/vite.generated.ts diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/Video.kt b/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/Video.kt deleted file mode 100644 index d9d1d7d..0000000 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/games/entities/Video.kt +++ /dev/null @@ -1,4 +0,0 @@ -package de.grimsi.gameyfin.games.entities - -class Video { -} \ No newline at end of file diff --git a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/enums/ScanType.kt b/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/enums/ScanType.kt deleted file mode 100644 index 4e6b7da..0000000 --- a/gameyfin/src/main/kotlin/de/grimsi/gameyfin/libraries/enums/ScanType.kt +++ /dev/null @@ -1,5 +0,0 @@ -package de.grimsi.gameyfin.libraries.enums - -enum class ScanType { - QUICK, FULL -} \ No newline at end of file diff --git a/plugin-api/build.gradle.kts b/plugin-api/build.gradle.kts index f7b212d..e34370a 100644 --- a/plugin-api/build.gradle.kts +++ b/plugin-api/build.gradle.kts @@ -3,7 +3,7 @@ plugins { `maven-publish` } -group = "de.grimsi.gameyfin" +group = "org.gameyfin" repositories { mavenCentral() diff --git a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/config/ConfigMetadata.kt b/plugin-api/src/main/kotlin/org/gameyfin/pluginapi/core/config/ConfigMetadata.kt similarity index 90% rename from plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/config/ConfigMetadata.kt rename to plugin-api/src/main/kotlin/org/gameyfin/pluginapi/core/config/ConfigMetadata.kt index f92e869..33ca38f 100644 --- a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/config/ConfigMetadata.kt +++ b/plugin-api/src/main/kotlin/org/gameyfin/pluginapi/core/config/ConfigMetadata.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.pluginapi.core.config +package org.gameyfin.pluginapi.core.config import java.io.Serializable diff --git a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/config/Configurable.kt b/plugin-api/src/main/kotlin/org/gameyfin/pluginapi/core/config/Configurable.kt similarity index 89% rename from plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/config/Configurable.kt rename to plugin-api/src/main/kotlin/org/gameyfin/pluginapi/core/config/Configurable.kt index ba173e8..204a01c 100644 --- a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/config/Configurable.kt +++ b/plugin-api/src/main/kotlin/org/gameyfin/pluginapi/core/config/Configurable.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.pluginapi.core.config +package org.gameyfin.pluginapi.core.config import java.io.Serializable diff --git a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/config/PluginConfigError.kt b/plugin-api/src/main/kotlin/org/gameyfin/pluginapi/core/config/PluginConfigError.kt similarity index 58% rename from plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/config/PluginConfigError.kt rename to plugin-api/src/main/kotlin/org/gameyfin/pluginapi/core/config/PluginConfigError.kt index 4b8719c..0ea47b7 100644 --- a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/config/PluginConfigError.kt +++ b/plugin-api/src/main/kotlin/org/gameyfin/pluginapi/core/config/PluginConfigError.kt @@ -1,3 +1,3 @@ -package de.grimsi.gameyfin.pluginapi.core.config +package org.gameyfin.pluginapi.core.config class PluginConfigError(message: String) : RuntimeException(message) \ No newline at end of file diff --git a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/config/PluginConfigValidationResult.kt b/plugin-api/src/main/kotlin/org/gameyfin/pluginapi/core/config/PluginConfigValidationResult.kt similarity index 93% rename from plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/config/PluginConfigValidationResult.kt rename to plugin-api/src/main/kotlin/org/gameyfin/pluginapi/core/config/PluginConfigValidationResult.kt index bc842f5..8429a3f 100644 --- a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/config/PluginConfigValidationResult.kt +++ b/plugin-api/src/main/kotlin/org/gameyfin/pluginapi/core/config/PluginConfigValidationResult.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.pluginapi.core.config +package org.gameyfin.pluginapi.core.config data class PluginConfigValidationResult( val result: PluginConfigValidationResultType, diff --git a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/wrapper/ConfigurableGameyfinPlugin.kt b/plugin-api/src/main/kotlin/org/gameyfin/pluginapi/core/wrapper/ConfigurableGameyfinPlugin.kt similarity index 93% rename from plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/wrapper/ConfigurableGameyfinPlugin.kt rename to plugin-api/src/main/kotlin/org/gameyfin/pluginapi/core/wrapper/ConfigurableGameyfinPlugin.kt index 325f973..e6be0b0 100644 --- a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/wrapper/ConfigurableGameyfinPlugin.kt +++ b/plugin-api/src/main/kotlin/org/gameyfin/pluginapi/core/wrapper/ConfigurableGameyfinPlugin.kt @@ -1,9 +1,9 @@ -package de.grimsi.gameyfin.pluginapi.core.wrapper +package org.gameyfin.pluginapi.core.wrapper -import de.grimsi.gameyfin.pluginapi.core.config.ConfigMetadata -import de.grimsi.gameyfin.pluginapi.core.config.Configurable -import de.grimsi.gameyfin.pluginapi.core.config.PluginConfigError -import de.grimsi.gameyfin.pluginapi.core.config.PluginConfigValidationResult +import org.gameyfin.pluginapi.core.config.ConfigMetadata +import org.gameyfin.pluginapi.core.config.Configurable +import org.gameyfin.pluginapi.core.config.PluginConfigError +import org.gameyfin.pluginapi.core.config.PluginConfigValidationResult import org.pf4j.PluginWrapper import java.io.Serializable diff --git a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/wrapper/GameyfinPlugin.kt b/plugin-api/src/main/kotlin/org/gameyfin/pluginapi/core/wrapper/GameyfinPlugin.kt similarity index 95% rename from plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/wrapper/GameyfinPlugin.kt rename to plugin-api/src/main/kotlin/org/gameyfin/pluginapi/core/wrapper/GameyfinPlugin.kt index 46e1f49..f9b0447 100644 --- a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/wrapper/GameyfinPlugin.kt +++ b/plugin-api/src/main/kotlin/org/gameyfin/pluginapi/core/wrapper/GameyfinPlugin.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.pluginapi.core.wrapper +package org.gameyfin.pluginapi.core.wrapper import org.pf4j.Plugin import org.pf4j.PluginWrapper diff --git a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/download/Download.kt b/plugin-api/src/main/kotlin/org/gameyfin/pluginapi/download/Download.kt similarity index 84% rename from plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/download/Download.kt rename to plugin-api/src/main/kotlin/org/gameyfin/pluginapi/download/Download.kt index da41a37..e61b82e 100644 --- a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/download/Download.kt +++ b/plugin-api/src/main/kotlin/org/gameyfin/pluginapi/download/Download.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.pluginapi.download +package org.gameyfin.pluginapi.download import java.io.InputStream diff --git a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/download/DownloadProvider.kt b/plugin-api/src/main/kotlin/org/gameyfin/pluginapi/download/DownloadProvider.kt similarity index 76% rename from plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/download/DownloadProvider.kt rename to plugin-api/src/main/kotlin/org/gameyfin/pluginapi/download/DownloadProvider.kt index fea638c..6354a92 100644 --- a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/download/DownloadProvider.kt +++ b/plugin-api/src/main/kotlin/org/gameyfin/pluginapi/download/DownloadProvider.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.pluginapi.download +package org.gameyfin.pluginapi.download import org.pf4j.ExtensionPoint import java.nio.file.Path diff --git a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/gamemetadata/GameMetadata.kt b/plugin-api/src/main/kotlin/org/gameyfin/pluginapi/gamemetadata/GameMetadata.kt similarity index 97% rename from plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/gamemetadata/GameMetadata.kt rename to plugin-api/src/main/kotlin/org/gameyfin/pluginapi/gamemetadata/GameMetadata.kt index c0277f4..feb516d 100644 --- a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/gamemetadata/GameMetadata.kt +++ b/plugin-api/src/main/kotlin/org/gameyfin/pluginapi/gamemetadata/GameMetadata.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.pluginapi.gamemetadata +package org.gameyfin.pluginapi.gamemetadata import java.net.URI import java.time.Instant diff --git a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/gamemetadata/GameMetadataProvider.kt b/plugin-api/src/main/kotlin/org/gameyfin/pluginapi/gamemetadata/GameMetadataProvider.kt similarity index 80% rename from plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/gamemetadata/GameMetadataProvider.kt rename to plugin-api/src/main/kotlin/org/gameyfin/pluginapi/gamemetadata/GameMetadataProvider.kt index 0e830cd..564832d 100644 --- a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/gamemetadata/GameMetadataProvider.kt +++ b/plugin-api/src/main/kotlin/org/gameyfin/pluginapi/gamemetadata/GameMetadataProvider.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfin.pluginapi.gamemetadata +package org.gameyfin.pluginapi.gamemetadata import org.pf4j.ExtensionPoint diff --git a/plugins/directdownload/src/main/kotlin/de/grimsi/gameyfinplugins/directdownload/CompressionMode.kt b/plugins/directdownload/src/main/kotlin/org/gameyfin/plugins/download/direct/CompressionMode.kt similarity index 71% rename from plugins/directdownload/src/main/kotlin/de/grimsi/gameyfinplugins/directdownload/CompressionMode.kt rename to plugins/directdownload/src/main/kotlin/org/gameyfin/plugins/download/direct/CompressionMode.kt index 27e5f8a..d6df206 100644 --- a/plugins/directdownload/src/main/kotlin/de/grimsi/gameyfinplugins/directdownload/CompressionMode.kt +++ b/plugins/directdownload/src/main/kotlin/org/gameyfin/plugins/download/direct/CompressionMode.kt @@ -1,6 +1,6 @@ -package de.grimsi.gameyfinplugins.directdownload +package org.gameyfin.plugins.download.direct -import de.grimsi.gameyfinplugins.directdownload.CompressionMode.* +import org.gameyfin.plugins.download.direct.CompressionMode.* import java.util.zip.Deflater enum class CompressionMode { diff --git a/plugins/directdownload/src/main/kotlin/de/grimsi/gameyfinplugins/directdownload/DirectDownloadPlugin.kt b/plugins/directdownload/src/main/kotlin/org/gameyfin/plugins/download/direct/DirectDownloadPlugin.kt similarity index 89% rename from plugins/directdownload/src/main/kotlin/de/grimsi/gameyfinplugins/directdownload/DirectDownloadPlugin.kt rename to plugins/directdownload/src/main/kotlin/org/gameyfin/plugins/download/direct/DirectDownloadPlugin.kt index 24a82ee..d1a398a 100644 --- a/plugins/directdownload/src/main/kotlin/de/grimsi/gameyfinplugins/directdownload/DirectDownloadPlugin.kt +++ b/plugins/directdownload/src/main/kotlin/org/gameyfin/plugins/download/direct/DirectDownloadPlugin.kt @@ -1,11 +1,11 @@ -package de.grimsi.gameyfinplugins.directdownload +package org.gameyfin.plugins.download.direct -import de.grimsi.gameyfin.pluginapi.core.config.ConfigMetadata -import de.grimsi.gameyfin.pluginapi.core.config.PluginConfigMetadata -import de.grimsi.gameyfin.pluginapi.core.wrapper.ConfigurableGameyfinPlugin -import de.grimsi.gameyfin.pluginapi.download.Download -import de.grimsi.gameyfin.pluginapi.download.DownloadProvider -import de.grimsi.gameyfin.pluginapi.download.FileDownload +import org.gameyfin.pluginapi.core.config.ConfigMetadata +import org.gameyfin.pluginapi.core.config.PluginConfigMetadata +import org.gameyfin.pluginapi.core.wrapper.ConfigurableGameyfinPlugin +import org.gameyfin.pluginapi.download.Download +import org.gameyfin.pluginapi.download.DownloadProvider +import org.gameyfin.pluginapi.download.FileDownload import org.pf4j.Extension import org.pf4j.PluginWrapper import java.io.IOException diff --git a/plugins/directdownload/src/main/resources/MANIFEST.MF b/plugins/directdownload/src/main/resources/MANIFEST.MF index 696ed49..38d93bb 100644 --- a/plugins/directdownload/src/main/resources/MANIFEST.MF +++ b/plugins/directdownload/src/main/resources/MANIFEST.MF @@ -1,6 +1,6 @@ -Plugin-Version: 1.0.0-alpha5 -Plugin-Class: de.grimsi.gameyfinplugins.directdownload.DirectDownloadPlugin -Plugin-Id: de.grimsi.gameyfin.directdownload +Plugin-Version: 1.0.0-beta1 +Plugin-Class: org.gameyfin.plugins.download.direct.DirectDownloadPlugin +Plugin-Id: org.gameyfin.plugins.download.direct Plugin-Name: Direct Download Plugin-Description: Downloads games directly in the browser.
If the game is contained in a folder, it will pack the folder into a zip file on the fly. diff --git a/plugins/igdb/src/main/kotlin/de/grimsi/gameyfinplugins/igdb/IgdbPlugin.kt b/plugins/igdb/src/main/kotlin/org/gameyfin/plugins/metadata/igdb/IgdbPlugin.kt similarity index 94% rename from plugins/igdb/src/main/kotlin/de/grimsi/gameyfinplugins/igdb/IgdbPlugin.kt rename to plugins/igdb/src/main/kotlin/org/gameyfin/plugins/metadata/igdb/IgdbPlugin.kt index c3677e5..4ae8ed0 100644 --- a/plugins/igdb/src/main/kotlin/de/grimsi/gameyfinplugins/igdb/IgdbPlugin.kt +++ b/plugins/igdb/src/main/kotlin/org/gameyfin/plugins/metadata/igdb/IgdbPlugin.kt @@ -1,18 +1,18 @@ -package de.grimsi.gameyfinplugins.igdb +package org.gameyfin.plugins.metadata.igdb import com.api.igdb.apicalypse.APICalypse import com.api.igdb.exceptions.RequestException import com.api.igdb.request.IGDBWrapper import com.api.igdb.request.TwitchAuthenticator import com.api.igdb.request.games -import de.grimsi.gameyfin.pluginapi.core.config.ConfigMetadata -import de.grimsi.gameyfin.pluginapi.core.config.PluginConfigError -import de.grimsi.gameyfin.pluginapi.core.config.PluginConfigMetadata -import de.grimsi.gameyfin.pluginapi.core.config.PluginConfigValidationResult -import de.grimsi.gameyfin.pluginapi.core.wrapper.ConfigurableGameyfinPlugin -import de.grimsi.gameyfin.pluginapi.gamemetadata.GameMetadata -import de.grimsi.gameyfin.pluginapi.gamemetadata.GameMetadataProvider import me.xdrop.fuzzywuzzy.FuzzySearch +import org.gameyfin.pluginapi.core.config.ConfigMetadata +import org.gameyfin.pluginapi.core.config.PluginConfigError +import org.gameyfin.pluginapi.core.config.PluginConfigMetadata +import org.gameyfin.pluginapi.core.config.PluginConfigValidationResult +import org.gameyfin.pluginapi.core.wrapper.ConfigurableGameyfinPlugin +import org.gameyfin.pluginapi.gamemetadata.GameMetadata +import org.gameyfin.pluginapi.gamemetadata.GameMetadataProvider import org.pf4j.Extension import org.pf4j.PluginWrapper import org.slf4j.LoggerFactory diff --git a/plugins/igdb/src/main/kotlin/de/grimsi/gameyfinplugins/igdb/Mapper.kt b/plugins/igdb/src/main/kotlin/org/gameyfin/plugins/metadata/igdb/Mapper.kt similarity index 90% rename from plugins/igdb/src/main/kotlin/de/grimsi/gameyfinplugins/igdb/Mapper.kt rename to plugins/igdb/src/main/kotlin/org/gameyfin/plugins/metadata/igdb/Mapper.kt index 4eff182..c50564c 100644 --- a/plugins/igdb/src/main/kotlin/de/grimsi/gameyfinplugins/igdb/Mapper.kt +++ b/plugins/igdb/src/main/kotlin/org/gameyfin/plugins/metadata/igdb/Mapper.kt @@ -1,13 +1,17 @@ -package de.grimsi.gameyfinplugins.igdb +package org.gameyfin.plugins.metadata.igdb import com.api.igdb.utils.ImageSize import com.api.igdb.utils.ImageType import com.api.igdb.utils.imageBuilder -import de.grimsi.gameyfin.pluginapi.gamemetadata.GameFeature -import de.grimsi.gameyfin.pluginapi.gamemetadata.Genre -import de.grimsi.gameyfin.pluginapi.gamemetadata.PlayerPerspective -import de.grimsi.gameyfin.pluginapi.gamemetadata.Theme +import org.gameyfin.pluginapi.gamemetadata.GameFeature +import org.gameyfin.pluginapi.gamemetadata.Genre +import org.gameyfin.pluginapi.gamemetadata.PlayerPerspective +import org.gameyfin.pluginapi.gamemetadata.Theme import org.slf4j.LoggerFactory +import proto.Cover +import proto.Game +import proto.GameVideo +import proto.Screenshot import java.net.URI class Mapper { @@ -95,20 +99,20 @@ class Mapper { } } - fun screenshot(screenshot: proto.Screenshot): URI { + fun screenshot(screenshot: Screenshot): URI { return URI(imageBuilder(screenshot.imageId, ImageSize.FHD, ImageType.PNG)) } - fun cover(cover: proto.Cover): URI? { + fun cover(cover: Cover): URI? { if (cover.imageId.isEmpty()) return null return URI(imageBuilder(cover.imageId, ImageSize.COVER_BIG, ImageType.PNG)) } - fun video(video: proto.GameVideo): URI { + fun video(video: GameVideo): URI { return URI("https://www.youtube.com/watch?v=${video.videoId}") } - fun gameFeatures(game: proto.Game): Set { + fun gameFeatures(game: Game): Set { val gameFeatures = mutableSetOf() // Get LAN support from multiplayer modes diff --git a/plugins/igdb/src/main/resources/MANIFEST.MF b/plugins/igdb/src/main/resources/MANIFEST.MF index d2046b8..3226027 100644 --- a/plugins/igdb/src/main/resources/MANIFEST.MF +++ b/plugins/igdb/src/main/resources/MANIFEST.MF @@ -1,6 +1,6 @@ -Plugin-Version: 1.0.0-alpha9 -Plugin-Class: de.grimsi.gameyfinplugins.igdb.IgdbPlugin -Plugin-Id: de.grimsi.gameyfin.igdb +Plugin-Version: 1.0.0-beta1 +Plugin-Class: org.gameyfin.plugins.metadata.igdb.IgdbPlugin +Plugin-Id: org.gameyfin.plugins.metadata.igdb. Plugin-Name: IGDB Metadata Plugin-Description: Fetches metadata from IGDB.
Requires a Twitch account and IGDB API credentials.
diff --git a/plugins/steam/src/main/kotlin/de/grimsi/gameyfinplugins/steam/SteamPlugin.kt b/plugins/steam/src/main/kotlin/org/gameyfin/plugins/metadata/steam/SteamPlugin.kt similarity index 91% rename from plugins/steam/src/main/kotlin/de/grimsi/gameyfinplugins/steam/SteamPlugin.kt rename to plugins/steam/src/main/kotlin/org/gameyfin/plugins/metadata/steam/SteamPlugin.kt index b02b7e7..6730bf7 100644 --- a/plugins/steam/src/main/kotlin/de/grimsi/gameyfinplugins/steam/SteamPlugin.kt +++ b/plugins/steam/src/main/kotlin/org/gameyfin/plugins/metadata/steam/SteamPlugin.kt @@ -1,12 +1,5 @@ -package de.grimsi.gameyfinplugins.steam +package org.gameyfin.plugins.metadata.steam -import de.grimsi.gameyfin.pluginapi.core.wrapper.GameyfinPlugin -import de.grimsi.gameyfin.pluginapi.gamemetadata.GameMetadata -import de.grimsi.gameyfin.pluginapi.gamemetadata.GameMetadataProvider -import de.grimsi.gameyfinplugins.steam.dto.SteamDetailsResultWrapper -import de.grimsi.gameyfinplugins.steam.dto.SteamGame -import de.grimsi.gameyfinplugins.steam.dto.SteamSearchResult -import de.grimsi.gameyfinplugins.steam.mapper.Mapper import io.ktor.client.* import io.ktor.client.call.* import io.ktor.client.engine.cio.* @@ -19,6 +12,13 @@ import io.ktor.serialization.kotlinx.json.* import kotlinx.coroutines.runBlocking import kotlinx.serialization.json.Json import me.xdrop.fuzzywuzzy.FuzzySearch +import org.gameyfin.pluginapi.core.wrapper.GameyfinPlugin +import org.gameyfin.pluginapi.gamemetadata.GameMetadata +import org.gameyfin.pluginapi.gamemetadata.GameMetadataProvider +import org.gameyfin.plugins.metadata.steam.dto.SteamDetailsResultWrapper +import org.gameyfin.plugins.metadata.steam.dto.SteamGame +import org.gameyfin.plugins.metadata.steam.dto.SteamSearchResult +import org.gameyfin.plugins.metadata.steam.mapper.Mapper import org.pf4j.Extension import org.pf4j.PluginWrapper import org.slf4j.LoggerFactory diff --git a/plugins/steam/src/main/kotlin/de/grimsi/gameyfinplugins/steam/dto/SteamGameDetails.kt b/plugins/steam/src/main/kotlin/org/gameyfin/plugins/metadata/steam/dto/SteamGameDetails.kt similarity index 93% rename from plugins/steam/src/main/kotlin/de/grimsi/gameyfinplugins/steam/dto/SteamGameDetails.kt rename to plugins/steam/src/main/kotlin/org/gameyfin/plugins/metadata/steam/dto/SteamGameDetails.kt index 9ade5fb..6af18c5 100644 --- a/plugins/steam/src/main/kotlin/de/grimsi/gameyfinplugins/steam/dto/SteamGameDetails.kt +++ b/plugins/steam/src/main/kotlin/org/gameyfin/plugins/metadata/steam/dto/SteamGameDetails.kt @@ -1,8 +1,8 @@ -package de.grimsi.gameyfinplugins.steam.dto +package org.gameyfin.plugins.metadata.steam.dto -import de.grimsi.gameyfinplugins.steam.util.SteamDateSerializer import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable +import org.gameyfin.plugins.metadata.steam.util.SteamDateSerializer import java.time.Instant @Serializable diff --git a/plugins/steam/src/main/kotlin/de/grimsi/gameyfinplugins/steam/dto/SteamGameOverview.kt b/plugins/steam/src/main/kotlin/org/gameyfin/plugins/metadata/steam/dto/SteamGameOverview.kt similarity index 83% rename from plugins/steam/src/main/kotlin/de/grimsi/gameyfinplugins/steam/dto/SteamGameOverview.kt rename to plugins/steam/src/main/kotlin/org/gameyfin/plugins/metadata/steam/dto/SteamGameOverview.kt index 986b7f9..32f992c 100644 --- a/plugins/steam/src/main/kotlin/de/grimsi/gameyfinplugins/steam/dto/SteamGameOverview.kt +++ b/plugins/steam/src/main/kotlin/org/gameyfin/plugins/metadata/steam/dto/SteamGameOverview.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfinplugins.steam.dto +package org.gameyfin.plugins.metadata.steam.dto import kotlinx.serialization.Serializable diff --git a/plugins/steam/src/main/kotlin/de/grimsi/gameyfinplugins/steam/mapper/Mapper.kt b/plugins/steam/src/main/kotlin/org/gameyfin/plugins/metadata/steam/mapper/Mapper.kt similarity index 93% rename from plugins/steam/src/main/kotlin/de/grimsi/gameyfinplugins/steam/mapper/Mapper.kt rename to plugins/steam/src/main/kotlin/org/gameyfin/plugins/metadata/steam/mapper/Mapper.kt index 6b51aef..c866394 100644 --- a/plugins/steam/src/main/kotlin/de/grimsi/gameyfinplugins/steam/mapper/Mapper.kt +++ b/plugins/steam/src/main/kotlin/org/gameyfin/plugins/metadata/steam/mapper/Mapper.kt @@ -1,7 +1,7 @@ -package de.grimsi.gameyfinplugins.steam.mapper +package org.gameyfin.plugins.metadata.steam.mapper -import de.grimsi.gameyfin.pluginapi.gamemetadata.Genre -import de.grimsi.gameyfinplugins.steam.dto.SteamGenre +import org.gameyfin.pluginapi.gamemetadata.Genre +import org.gameyfin.plugins.metadata.steam.dto.SteamGenre class Mapper { companion object { diff --git a/plugins/steam/src/main/kotlin/de/grimsi/gameyfinplugins/steam/util/SteamDateSerializer.kt b/plugins/steam/src/main/kotlin/org/gameyfin/plugins/metadata/steam/util/SteamDateSerializer.kt similarity index 98% rename from plugins/steam/src/main/kotlin/de/grimsi/gameyfinplugins/steam/util/SteamDateSerializer.kt rename to plugins/steam/src/main/kotlin/org/gameyfin/plugins/metadata/steam/util/SteamDateSerializer.kt index 05b6b5e..9ca09f1 100644 --- a/plugins/steam/src/main/kotlin/de/grimsi/gameyfinplugins/steam/util/SteamDateSerializer.kt +++ b/plugins/steam/src/main/kotlin/org/gameyfin/plugins/metadata/steam/util/SteamDateSerializer.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfinplugins.steam.util +package org.gameyfin.plugins.metadata.steam.util import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.KSerializer diff --git a/plugins/steam/src/main/resources/MANIFEST.MF b/plugins/steam/src/main/resources/MANIFEST.MF index caafce5..8091366 100644 --- a/plugins/steam/src/main/resources/MANIFEST.MF +++ b/plugins/steam/src/main/resources/MANIFEST.MF @@ -1,6 +1,6 @@ -Plugin-Version: 1.0.0-alpha9 -Plugin-Class: de.grimsi.gameyfinplugins.steam.SteamPlugin -Plugin-Id: de.grimsi.gameyfin.steam +Plugin-Version: 1.0.0-beta1 +Plugin-Class: org.gameyfin.plugins.metadata.steam.SteamPlugin +Plugin-Id: org.gameyfin.plugins.metadata.steam Plugin-Name: Steam Metadata Plugin-Description: Fetches metadata from Steam using undocumented public API endpoints.
This is more of a proof of concept and is prone to breaking when the Steam API changes. diff --git a/plugins/steamgriddb/src/main/kotlin/de/grimsi/gameyfinplugins/steamgriddb/SteamGridDbPlugin.kt b/plugins/steamgriddb/src/main/kotlin/org/gameyfin/plugins/metadata/steamgriddb/SteamGridDbPlugin.kt similarity index 90% rename from plugins/steamgriddb/src/main/kotlin/de/grimsi/gameyfinplugins/steamgriddb/SteamGridDbPlugin.kt rename to plugins/steamgriddb/src/main/kotlin/org/gameyfin/plugins/metadata/steamgriddb/SteamGridDbPlugin.kt index 72cacda..64f31ce 100644 --- a/plugins/steamgriddb/src/main/kotlin/de/grimsi/gameyfinplugins/steamgriddb/SteamGridDbPlugin.kt +++ b/plugins/steamgriddb/src/main/kotlin/org/gameyfin/plugins/metadata/steamgriddb/SteamGridDbPlugin.kt @@ -1,13 +1,13 @@ -package de.grimsi.gameyfinplugins.steamgriddb +package org.gameyfin.plugins.metadata.steamgriddb -import de.grimsi.gameyfin.pluginapi.core.config.* -import de.grimsi.gameyfin.pluginapi.core.wrapper.ConfigurableGameyfinPlugin -import de.grimsi.gameyfin.pluginapi.gamemetadata.GameMetadata -import de.grimsi.gameyfin.pluginapi.gamemetadata.GameMetadataProvider -import de.grimsi.gameyfinplugins.steamgriddb.api.SteamGridDbApiClient -import de.grimsi.gameyfinplugins.steamgriddb.dto.SteamGridDbGame -import de.grimsi.gameyfinplugins.steamgriddb.dto.SteamGridDbGrid import kotlinx.coroutines.runBlocking +import org.gameyfin.pluginapi.core.config.* +import org.gameyfin.pluginapi.core.wrapper.ConfigurableGameyfinPlugin +import org.gameyfin.pluginapi.gamemetadata.GameMetadata +import org.gameyfin.pluginapi.gamemetadata.GameMetadataProvider +import org.gameyfin.plugins.metadata.steamgriddb.api.SteamGridDbApiClient +import org.gameyfin.plugins.metadata.steamgriddb.dto.SteamGridDbGame +import org.gameyfin.plugins.metadata.steamgriddb.dto.SteamGridDbGrid import org.pf4j.Extension import org.pf4j.PluginWrapper import java.net.URI diff --git a/plugins/steamgriddb/src/main/kotlin/de/grimsi/gameyfinplugins/steamgriddb/api/SteamGridDbApiClient.kt b/plugins/steamgriddb/src/main/kotlin/org/gameyfin/plugins/metadata/steamgriddb/api/SteamGridDbApiClient.kt similarity index 87% rename from plugins/steamgriddb/src/main/kotlin/de/grimsi/gameyfinplugins/steamgriddb/api/SteamGridDbApiClient.kt rename to plugins/steamgriddb/src/main/kotlin/org/gameyfin/plugins/metadata/steamgriddb/api/SteamGridDbApiClient.kt index 17760d0..3ad285e 100644 --- a/plugins/steamgriddb/src/main/kotlin/de/grimsi/gameyfinplugins/steamgriddb/api/SteamGridDbApiClient.kt +++ b/plugins/steamgriddb/src/main/kotlin/org/gameyfin/plugins/metadata/steamgriddb/api/SteamGridDbApiClient.kt @@ -1,8 +1,5 @@ -package de.grimsi.gameyfinplugins.steamgriddb.api +package org.gameyfin.plugins.metadata.steamgriddb.api -import de.grimsi.gameyfinplugins.steamgriddb.dto.SteamGridDbGameResult -import de.grimsi.gameyfinplugins.steamgriddb.dto.SteamGridDbGridResult -import de.grimsi.gameyfinplugins.steamgriddb.dto.SteamGridDbSearchResult import io.ktor.client.* import io.ktor.client.call.* import io.ktor.client.engine.cio.* @@ -12,6 +9,9 @@ import io.ktor.client.statement.* import io.ktor.http.* import io.ktor.serialization.kotlinx.json.* import kotlinx.serialization.json.Json +import org.gameyfin.plugins.metadata.steamgriddb.dto.SteamGridDbGameResult +import org.gameyfin.plugins.metadata.steamgriddb.dto.SteamGridDbGridResult +import org.gameyfin.plugins.metadata.steamgriddb.dto.SteamGridDbSearchResult class SteamGridDbApiClient(private val apiKey: String) { diff --git a/plugins/steamgriddb/src/main/kotlin/de/grimsi/gameyfinplugins/steamgriddb/dto/SteamGridDbGame.kt b/plugins/steamgriddb/src/main/kotlin/org/gameyfin/plugins/metadata/steamgriddb/dto/SteamGridDbGame.kt similarity index 70% rename from plugins/steamgriddb/src/main/kotlin/de/grimsi/gameyfinplugins/steamgriddb/dto/SteamGridDbGame.kt rename to plugins/steamgriddb/src/main/kotlin/org/gameyfin/plugins/metadata/steamgriddb/dto/SteamGridDbGame.kt index 0411bf8..b9302bc 100644 --- a/plugins/steamgriddb/src/main/kotlin/de/grimsi/gameyfinplugins/steamgriddb/dto/SteamGridDbGame.kt +++ b/plugins/steamgriddb/src/main/kotlin/org/gameyfin/plugins/metadata/steamgriddb/dto/SteamGridDbGame.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfinplugins.steamgriddb.dto +package org.gameyfin.plugins.metadata.steamgriddb.dto import kotlinx.serialization.Serializable diff --git a/plugins/steamgriddb/src/main/kotlin/de/grimsi/gameyfinplugins/steamgriddb/dto/SteamGridDbGameResult.kt b/plugins/steamgriddb/src/main/kotlin/org/gameyfin/plugins/metadata/steamgriddb/dto/SteamGridDbGameResult.kt similarity index 73% rename from plugins/steamgriddb/src/main/kotlin/de/grimsi/gameyfinplugins/steamgriddb/dto/SteamGridDbGameResult.kt rename to plugins/steamgriddb/src/main/kotlin/org/gameyfin/plugins/metadata/steamgriddb/dto/SteamGridDbGameResult.kt index bbc4738..9164cf7 100644 --- a/plugins/steamgriddb/src/main/kotlin/de/grimsi/gameyfinplugins/steamgriddb/dto/SteamGridDbGameResult.kt +++ b/plugins/steamgriddb/src/main/kotlin/org/gameyfin/plugins/metadata/steamgriddb/dto/SteamGridDbGameResult.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfinplugins.steamgriddb.dto +package org.gameyfin.plugins.metadata.steamgriddb.dto import kotlinx.serialization.Serializable diff --git a/plugins/steamgriddb/src/main/kotlin/de/grimsi/gameyfinplugins/steamgriddb/dto/SteamGridDbGridsDetails.kt b/plugins/steamgriddb/src/main/kotlin/org/gameyfin/plugins/metadata/steamgriddb/dto/SteamGridDbGridsDetails.kt similarity index 83% rename from plugins/steamgriddb/src/main/kotlin/de/grimsi/gameyfinplugins/steamgriddb/dto/SteamGridDbGridsDetails.kt rename to plugins/steamgriddb/src/main/kotlin/org/gameyfin/plugins/metadata/steamgriddb/dto/SteamGridDbGridsDetails.kt index 2bddcd3..ab8442c 100644 --- a/plugins/steamgriddb/src/main/kotlin/de/grimsi/gameyfinplugins/steamgriddb/dto/SteamGridDbGridsDetails.kt +++ b/plugins/steamgriddb/src/main/kotlin/org/gameyfin/plugins/metadata/steamgriddb/dto/SteamGridDbGridsDetails.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfinplugins.steamgriddb.dto +package org.gameyfin.plugins.metadata.steamgriddb.dto import kotlinx.serialization.Serializable diff --git a/plugins/steamgriddb/src/main/kotlin/de/grimsi/gameyfinplugins/steamgriddb/dto/SteamGridDbSearchResult.kt b/plugins/steamgriddb/src/main/kotlin/org/gameyfin/plugins/metadata/steamgriddb/dto/SteamGridDbSearchResult.kt similarity index 74% rename from plugins/steamgriddb/src/main/kotlin/de/grimsi/gameyfinplugins/steamgriddb/dto/SteamGridDbSearchResult.kt rename to plugins/steamgriddb/src/main/kotlin/org/gameyfin/plugins/metadata/steamgriddb/dto/SteamGridDbSearchResult.kt index 63fd714..6d4053e 100644 --- a/plugins/steamgriddb/src/main/kotlin/de/grimsi/gameyfinplugins/steamgriddb/dto/SteamGridDbSearchResult.kt +++ b/plugins/steamgriddb/src/main/kotlin/org/gameyfin/plugins/metadata/steamgriddb/dto/SteamGridDbSearchResult.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfinplugins.steamgriddb.dto +package org.gameyfin.plugins.metadata.steamgriddb.dto import kotlinx.serialization.Serializable diff --git a/plugins/steamgriddb/src/main/resources/MANIFEST.MF b/plugins/steamgriddb/src/main/resources/MANIFEST.MF index 1710fb7..9e8a5f6 100644 --- a/plugins/steamgriddb/src/main/resources/MANIFEST.MF +++ b/plugins/steamgriddb/src/main/resources/MANIFEST.MF @@ -1,6 +1,6 @@ -Plugin-Version: 1.0.0-alpha6 -Plugin-Class: de.grimsi.gameyfinplugins.steamgriddb.SteamGridDbPlugin -Plugin-Id: de.grimsi.gameyfin.steamgriddb +Plugin-Version: 1.0.0-beta1 +Plugin-Class: org.gameyfin.plugins.metadata.steamgriddb.SteamGridDbPlugin +Plugin-Id: org.gameyfin.plugins.metadata.steamgriddb Plugin-Name: SteamGridDB Covers Plugin-Description: Fetches covers from SteamGridDB.
Requires a SteamGridDB account and an API key.
diff --git a/plugins/torrentdownload/src/main/kotlin/de/grimsi/gameyfinplugins/torrentdownload/TorrentDownloadPlugin.kt b/plugins/torrentdownload/src/main/kotlin/org/gameyfin/plugins/download/torrent/TorrentDownloadPlugin.kt similarity index 93% rename from plugins/torrentdownload/src/main/kotlin/de/grimsi/gameyfinplugins/torrentdownload/TorrentDownloadPlugin.kt rename to plugins/torrentdownload/src/main/kotlin/org/gameyfin/plugins/download/torrent/TorrentDownloadPlugin.kt index 4c67748..6428a38 100644 --- a/plugins/torrentdownload/src/main/kotlin/de/grimsi/gameyfinplugins/torrentdownload/TorrentDownloadPlugin.kt +++ b/plugins/torrentdownload/src/main/kotlin/org/gameyfin/plugins/download/torrent/TorrentDownloadPlugin.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfinplugins.torrentdownload +package org.gameyfin.plugins.download.torrent import bt.torrent.maker.TorrentBuilder import com.turn.ttorrent.client.CommunicationManager @@ -7,13 +7,13 @@ import com.turn.ttorrent.client.storage.FullyPieceStorageFactory import com.turn.ttorrent.network.FirstAvailableChannel import com.turn.ttorrent.tracker.TrackedTorrent import com.turn.ttorrent.tracker.Tracker -import de.grimsi.gameyfin.pluginapi.core.config.ConfigMetadata -import de.grimsi.gameyfin.pluginapi.core.config.PluginConfigMetadata -import de.grimsi.gameyfin.pluginapi.core.config.PluginConfigValidationResult -import de.grimsi.gameyfin.pluginapi.core.wrapper.ConfigurableGameyfinPlugin -import de.grimsi.gameyfin.pluginapi.download.Download -import de.grimsi.gameyfin.pluginapi.download.DownloadProvider -import de.grimsi.gameyfin.pluginapi.download.FileDownload +import org.gameyfin.pluginapi.core.config.ConfigMetadata +import org.gameyfin.pluginapi.core.config.PluginConfigMetadata +import org.gameyfin.pluginapi.core.config.PluginConfigValidationResult +import org.gameyfin.pluginapi.core.wrapper.ConfigurableGameyfinPlugin +import org.gameyfin.pluginapi.download.Download +import org.gameyfin.pluginapi.download.DownloadProvider +import org.gameyfin.pluginapi.download.FileDownload import org.pf4j.Extension import org.pf4j.PluginWrapper import org.slf4j.LoggerFactory diff --git a/plugins/torrentdownload/src/main/kotlin/de/grimsi/gameyfinplugins/torrentdownload/Util.kt b/plugins/torrentdownload/src/main/kotlin/org/gameyfin/plugins/download/torrent/Util.kt similarity index 88% rename from plugins/torrentdownload/src/main/kotlin/de/grimsi/gameyfinplugins/torrentdownload/Util.kt rename to plugins/torrentdownload/src/main/kotlin/org/gameyfin/plugins/download/torrent/Util.kt index 7e2f88d..310bdd2 100644 --- a/plugins/torrentdownload/src/main/kotlin/de/grimsi/gameyfinplugins/torrentdownload/Util.kt +++ b/plugins/torrentdownload/src/main/kotlin/org/gameyfin/plugins/download/torrent/Util.kt @@ -1,4 +1,4 @@ -package de.grimsi.gameyfinplugins.torrentdownload +package org.gameyfin.plugins.download.torrent import kotlin.time.Duration diff --git a/plugins/torrentdownload/src/main/resources/MANIFEST.MF b/plugins/torrentdownload/src/main/resources/MANIFEST.MF index 15b0b6f..30c5c1e 100644 --- a/plugins/torrentdownload/src/main/resources/MANIFEST.MF +++ b/plugins/torrentdownload/src/main/resources/MANIFEST.MF @@ -1,6 +1,6 @@ -Plugin-Version: 1.0.0-alpha2 -Plugin-Class: de.grimsi.gameyfinplugins.torrentdownload.TorrentDownloadPlugin -Plugin-Id: de.grimsi.gameyfinplugins.torrentdownload +Plugin-Version: 1.0.0-beta1 +Plugin-Class: org.gameyfin.plugins.download.torrent.TorrentDownloadPlugin +Plugin-Id: org.gameyfin.plugins.download.torrent Plugin-Name: Torrent Download Plugin-Description: Distributes games via a built-in torrent tracker.
Users need to install a torrent client to be able to download the games. diff --git a/settings.gradle.kts b/settings.gradle.kts index 57bd5c6..044590f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -19,7 +19,7 @@ pluginManagement { include(":plugin-api") -include(":gameyfin") +include(":app") include(":plugins")