mirror of
https://github.com/Suwayomi/Suwayomi-Server.git
synced 2026-07-08 13:24:34 -05:00
Compare commits
1 Commits
v2.3.2238
...
renovate/e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7d8556fe87 |
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -42,7 +42,7 @@ body:
|
|||||||
label: Suwayomi-Server version
|
label: Suwayomi-Server version
|
||||||
description: You can find your Suwayomi-Server version in **More → About**.
|
description: You can find your Suwayomi-Server version in **More → About**.
|
||||||
placeholder: |
|
placeholder: |
|
||||||
Example: "v2.3.2238"
|
Example: "v2.3.2226"
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
|
|||||||
2
.github/workflows/docker_build_stable.yml
vendored
2
.github/workflows/docker_build_stable.yml
vendored
@@ -11,5 +11,5 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: run docker build and publish script
|
- name: run docker build and publish script
|
||||||
run: |
|
run: |
|
||||||
curl -X POST -H "Accept: application/vnd.github.v3+json" -H "Authorization: token ${{ secrets.DEPLOY_DOCKER_TOKEN }}" -d '{"ref":"main", "inputs":{"tachidesk_release_type": "stable"}}' https://api.github.com/repos/suwayomi/suwayomi-server-docker/actions/workflows/build_container_images.yml/dispatches
|
curl -X POST -H "Accept: application/vnd.github.v3+json" -H "Authorization: token ${{ secrets.DEPLOY_PREVIEW_TOKEN }}" -d '{"ref":"main", "inputs":{"tachidesk_release_type": "stable"}}' https://api.github.com/repos/suwayomi/docker-tachidesk/actions/workflows/build_container_images.yml/dispatches
|
||||||
|
|
||||||
|
|||||||
37
.github/workflows/winget.yml
vendored
37
.github/workflows/winget.yml
vendored
@@ -1,52 +1,19 @@
|
|||||||
name: Publish to WinGet
|
name: Publish to WinGet
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
version:
|
version:
|
||||||
description: Version
|
description: Version
|
||||||
required: false
|
required: false
|
||||||
type: string
|
|
||||||
release:
|
|
||||||
types: [published]
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
publish:
|
publish:
|
||||||
runs-on: windows-latest # action can only be run on windows
|
runs-on: windows-latest # action can only be run on windows
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Determine version
|
|
||||||
id: version
|
|
||||||
shell: bash
|
|
||||||
env:
|
|
||||||
GH_TOKEN: ${{ github.token }}
|
|
||||||
run: |
|
|
||||||
if [ -n "${{ inputs.version }}" ]; then
|
|
||||||
VERSION="${{ inputs.version }}"
|
|
||||||
elif [ "${{ github.event_name }}" = "release" ]; then
|
|
||||||
VERSION="${{ github.event.release.tag_name }}"
|
|
||||||
else
|
|
||||||
VERSION="$(gh release view --json tagName -q .tagName)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
|
|
||||||
|
|
||||||
- name: Sync winget-pkgs fork with upstream
|
|
||||||
shell: bash
|
|
||||||
env:
|
|
||||||
GH_TOKEN: ${{ secrets.WINGET_PUBLISH_PAT }}
|
|
||||||
run: |
|
|
||||||
gh api \
|
|
||||||
--method POST \
|
|
||||||
-H "Accept: application/vnd.github+json" \
|
|
||||||
"/repos/Suwayomi/winget-pkgs/merge-upstream" \
|
|
||||||
-f branch=master
|
|
||||||
|
|
||||||
- uses: vedantmgoyal2009/winget-releaser@v2
|
- uses: vedantmgoyal2009/winget-releaser@v2
|
||||||
with:
|
with:
|
||||||
identifier: Suwayomi.Suwayomi-Server
|
identifier: Suwayomi.Suwayomi-Server
|
||||||
installers-regex: '.*x64.msi$'
|
installers-regex: '.*x64.msi$'
|
||||||
token: ${{ secrets.WINGET_PUBLISH_PAT }}
|
token: ${{ secrets.WINGET_PUBLISH_PAT }}
|
||||||
version: ${{ steps.version.outputs.version }}
|
version: ${{ inputs.version || github.ref_name }}
|
||||||
release-tag: ${{ steps.version.outputs.version }}
|
release-tag: ${{ inputs.version || github.ref_name }}
|
||||||
|
|||||||
24
CHANGELOG.md
24
CHANGELOG.md
@@ -15,27 +15,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|||||||
### Fixed
|
### Fixed
|
||||||
- .
|
- .
|
||||||
|
|
||||||
## [v2.3.2238] - 2026-07-05
|
## [v2.3.2226] - 2026-07-01
|
||||||
|
|
||||||
### Changed
|
|
||||||
- (**Extension**) Support fully qualified extension class names
|
|
||||||
- (**Manga/API**) Return partial responses for Manga And Chapters query
|
|
||||||
|
|
||||||
### Fixed
|
|
||||||
- (**Database/H2**) Use temporary file for H2 migration tools download
|
|
||||||
|
|
||||||
## [v2.3.2232] - 2026-07-03
|
|
||||||
|
|
||||||
### Fixed
|
|
||||||
- (**Extension**) Update APK url on installed Extensions
|
|
||||||
|
|
||||||
## [v2.3.2230] - 2026-07-01
|
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- (**Extension/API**) Fix GQL handling of extensions without an extension store
|
- (**Extension/API**) Fix GQL handling of extensions without an extension store
|
||||||
- (**Build/Bundler**) Fix build continuing if errors happen
|
- (**Build/Bundler**) Fix build continuing if errors happen
|
||||||
- (**Build/Bundler**) Remove jogamp from build script
|
|
||||||
- (**Build/Bundler**) Fix chmod attempts on Windows Java
|
|
||||||
|
|
||||||
## [v2.3.2223] + [WebUI: v20260509.01] - 2026-06-30
|
## [v2.3.2223] + [WebUI: v20260509.01] - 2026-06-30
|
||||||
|
|
||||||
@@ -500,10 +484,8 @@ Huge thanks to @martinek who pulled the most of the weight this release!
|
|||||||
|
|
||||||
<!-- SERVER LINKS -->
|
<!-- SERVER LINKS -->
|
||||||
|
|
||||||
[unreleased]: https://github.com/suwayomi/suwayomi-server/compare/v2.3.2238...HEAD
|
[unreleased]: https://github.com/suwayomi/suwayomi-server/compare/v2.3.2226...HEAD
|
||||||
[v2.3.2238]: https://github.com/suwayomi/suwayomi-server/compare/v2.3.2232...v2.3.2238
|
[v2.3.2226]: https://github.com/suwayomi/suwayomi-server/compare/v2.3.2223...v2.3.2226
|
||||||
[v2.3.2232]: https://github.com/suwayomi/suwayomi-server/compare/v2.3.2230...v2.3.2232
|
|
||||||
[v2.3.2230]: https://github.com/suwayomi/suwayomi-server/compare/v2.3.2223...v2.3.2230
|
|
||||||
[v2.3.2223]: https://github.com/suwayomi/suwayomi-server/compare/v2.2.2100...v2.3.2223
|
[v2.3.2223]: https://github.com/suwayomi/suwayomi-server/compare/v2.2.2100...v2.3.2223
|
||||||
[v2.2.2100]: https://github.com/suwayomi/suwayomi-server/compare/v2.1.1867...v2.2.2100
|
[v2.2.2100]: https://github.com/suwayomi/suwayomi-server/compare/v2.1.1867...v2.2.2100
|
||||||
[v2.1.1867]: https://github.com/suwayomi/suwayomi-server/compare/v2.0.1727...v2.1.1867
|
[v2.1.1867]: https://github.com/suwayomi/suwayomi-server/compare/v2.0.1727...v2.1.1867
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ okhttp = "5.4.0" # Major version is locked by Tachiyomi extensions
|
|||||||
javalin = "7.2.2"
|
javalin = "7.2.2"
|
||||||
jte = "3.2.4"
|
jte = "3.2.4"
|
||||||
jackson = "3.2.0" # jackson version locked by javalin, ref: `io.javalin.core.util.OptionalDependency`
|
jackson = "3.2.0" # jackson version locked by javalin, ref: `io.javalin.core.util.OptionalDependency`
|
||||||
exposed = "1.2.0"
|
exposed = "1.3.1"
|
||||||
dex2jar = "2.4.37"
|
dex2jar = "2.4.37"
|
||||||
polyglot = "25.0.3"
|
polyglot = "25.0.3"
|
||||||
settings = "1.3.0"
|
settings = "1.3.0"
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ main() {
|
|||||||
case "$OS" in
|
case "$OS" in
|
||||||
debian-all)
|
debian-all)
|
||||||
RELEASE="$RELEASE_NAME.deb"
|
RELEASE="$RELEASE_NAME.deb"
|
||||||
|
download_jogamp "linux-*" # it's easier to bundle them ourselves than to handle Debian's path conventions
|
||||||
make_deb_package
|
make_deb_package
|
||||||
move_release_to_output_dir
|
move_release_to_output_dir
|
||||||
;;
|
;;
|
||||||
@@ -56,6 +57,7 @@ main() {
|
|||||||
JRE="$ZULU_RELEASE-ca-$JRE_RELEASE-linux_x64.zip"
|
JRE="$ZULU_RELEASE-ca-$JRE_RELEASE-linux_x64.zip"
|
||||||
JRE_DIR="${JRE%.*}"
|
JRE_DIR="${JRE%.*}"
|
||||||
JRE_URL="https://cdn.azul.com/zulu/bin/$JRE"
|
JRE_URL="https://cdn.azul.com/zulu/bin/$JRE"
|
||||||
|
download_jogamp "linux-amd64"
|
||||||
setup_jre
|
setup_jre
|
||||||
|
|
||||||
RELEASE="$RELEASE_NAME.AppImage"
|
RELEASE="$RELEASE_NAME.AppImage"
|
||||||
@@ -75,6 +77,7 @@ main() {
|
|||||||
ELECTRON="electron-$electron_version-linux-x64.zip"
|
ELECTRON="electron-$electron_version-linux-x64.zip"
|
||||||
ELECTRON_URL="https://github.com/electron/electron/releases/download/$electron_version/$ELECTRON"
|
ELECTRON_URL="https://github.com/electron/electron/releases/download/$electron_version/$ELECTRON"
|
||||||
download_electron
|
download_electron
|
||||||
|
download_jogamp "linux-amd64"
|
||||||
setup_jre
|
setup_jre
|
||||||
tree "$RELEASE_NAME"
|
tree "$RELEASE_NAME"
|
||||||
|
|
||||||
@@ -89,6 +92,7 @@ main() {
|
|||||||
ELECTRON="electron-$electron_version-darwin-x64.zip"
|
ELECTRON="electron-$electron_version-darwin-x64.zip"
|
||||||
ELECTRON_URL="https://github.com/electron/electron/releases/download/$electron_version/$ELECTRON"
|
ELECTRON_URL="https://github.com/electron/electron/releases/download/$electron_version/$ELECTRON"
|
||||||
download_electron
|
download_electron
|
||||||
|
download_jogamp "macosx-universal"
|
||||||
setup_jre
|
setup_jre
|
||||||
tree "$RELEASE_NAME"
|
tree "$RELEASE_NAME"
|
||||||
|
|
||||||
@@ -103,6 +107,7 @@ main() {
|
|||||||
ELECTRON="electron-$electron_version-darwin-arm64.zip"
|
ELECTRON="electron-$electron_version-darwin-arm64.zip"
|
||||||
ELECTRON_URL="https://github.com/electron/electron/releases/download/$electron_version/$ELECTRON"
|
ELECTRON_URL="https://github.com/electron/electron/releases/download/$electron_version/$ELECTRON"
|
||||||
download_electron
|
download_electron
|
||||||
|
download_jogamp "macosx-universal"
|
||||||
setup_jre
|
setup_jre
|
||||||
tree "$RELEASE_NAME"
|
tree "$RELEASE_NAME"
|
||||||
|
|
||||||
@@ -117,6 +122,7 @@ main() {
|
|||||||
ELECTRON="electron-$electron_version-win32-x64.zip"
|
ELECTRON="electron-$electron_version-win32-x64.zip"
|
||||||
ELECTRON_URL="https://github.com/electron/electron/releases/download/$electron_version/$ELECTRON"
|
ELECTRON_URL="https://github.com/electron/electron/releases/download/$electron_version/$ELECTRON"
|
||||||
download_electron
|
download_electron
|
||||||
|
download_jogamp "windows-amd64"
|
||||||
setup_jre
|
setup_jre
|
||||||
tree "$RELEASE_NAME"
|
tree "$RELEASE_NAME"
|
||||||
|
|
||||||
@@ -151,6 +157,18 @@ download_launcher() {
|
|||||||
mv "Suwayomi-Launcher.jar" "$RELEASE_NAME/Suwayomi-Launcher.jar" || error $LINENO "Failed to move launcher JAR" 1
|
mv "Suwayomi-Launcher.jar" "$RELEASE_NAME/Suwayomi-Launcher.jar" || error $LINENO "Failed to move launcher JAR" 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
download_jogamp() {
|
||||||
|
local platform="$1"
|
||||||
|
if [ ! -f jogamp-all-platforms.7z ]; then
|
||||||
|
curl -f "https://jogamp.org/deployment/jogamp-current/archive/jogamp-all-platforms.7z" -o jogamp-all-platforms.7z || error $LINENO "Failed to download jogamp archive" 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
7z x jogamp-all-platforms.7z "jogamp-all-platforms/lib/$platform/" || error $LINENO "Failed to extract jogamp archive" 1
|
||||||
|
mkdir -p "$RELEASE_NAME/natives/"
|
||||||
|
mv jogamp-all-platforms/lib/* "$RELEASE_NAME/natives/" || error $LINENO "Failed to move natives" 1
|
||||||
|
rm -rf jogamp-all-platforms
|
||||||
|
}
|
||||||
|
|
||||||
download_electron() {
|
download_electron() {
|
||||||
if [ ! -f "$ELECTRON" ]; then
|
if [ ! -f "$ELECTRON" ]; then
|
||||||
curl -fL "$ELECTRON_URL" -o "$ELECTRON" || error $LINENO "Failed to download electron" 1
|
curl -fL "$ELECTRON_URL" -o "$ELECTRON" || error $LINENO "Failed to download electron" 1
|
||||||
@@ -161,10 +179,8 @@ download_electron() {
|
|||||||
|
|
||||||
setup_jre() {
|
setup_jre() {
|
||||||
if [ -d "jre" ]; then
|
if [ -d "jre" ]; then
|
||||||
if [ ! -f "./jre/bin/java.exe" ]; then
|
|
||||||
chmod +x ./jre/bin/java || error $LINENO "Failed to set java executable permission" 1
|
chmod +x ./jre/bin/java || error $LINENO "Failed to set java executable permission" 1
|
||||||
chmod +x ./jre/lib/jspawnhelper || error $LINENO "Failed to set jspawnhelper executable permission" 1
|
chmod +x ./jre/lib/jspawnhelper || error $LINENO "Failed to set jspawnhelper executable permission" 1
|
||||||
fi
|
|
||||||
mv "jre" "$RELEASE_NAME/jre" || error $LINENO "Failed to move jre" 1
|
mv "jre" "$RELEASE_NAME/jre" || error $LINENO "Failed to move jre" 1
|
||||||
else
|
else
|
||||||
if [ ! -f "$JRE" ]; then
|
if [ ! -f "$JRE" ]; then
|
||||||
@@ -178,11 +194,6 @@ setup_jre() {
|
|||||||
tar xvf "$JRE" || error $LINENO "Failed to extract JRE tar" 1
|
tar xvf "$JRE" || error $LINENO "Failed to extract JRE tar" 1
|
||||||
fi
|
fi
|
||||||
mv "$JRE_DIR" "$RELEASE_NAME/jre" || error $LINENO "Failed to move extracted JRE" 1
|
mv "$JRE_DIR" "$RELEASE_NAME/jre" || error $LINENO "Failed to move extracted JRE" 1
|
||||||
|
|
||||||
if [ ! -f "$RELEASE_NAME/jre/bin/java.exe" ]; then
|
|
||||||
chmod +x "$RELEASE_NAME/jre/bin/java" || error $LINENO "Failed to set java executable permission" 1
|
|
||||||
chmod +x "$RELEASE_NAME/jre/lib/jspawnhelper" || error $LINENO "Failed to set jspawnhelper executable permission" 1
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -226,6 +237,7 @@ make_deb_package() {
|
|||||||
local upstream_source="suwayomi-server_$RELEASE_VERSION.orig.tar.gz"
|
local upstream_source="suwayomi-server_$RELEASE_VERSION.orig.tar.gz"
|
||||||
|
|
||||||
mkdir "$RELEASE_NAME/$source_dir/" || error $LINENO "Failed to create source directory" 1
|
mkdir "$RELEASE_NAME/$source_dir/" || error $LINENO "Failed to create source directory" 1
|
||||||
|
mv "$RELEASE_NAME/natives" "$RELEASE_NAME/$source_dir/natives" || error $LINENO "Failed to move natives" 1
|
||||||
mv "$RELEASE_NAME/Suwayomi-Launcher.jar" "$RELEASE_NAME/$source_dir/Suwayomi-Launcher.jar" || error $LINENO "Failed to move launcher jar" 1
|
mv "$RELEASE_NAME/Suwayomi-Launcher.jar" "$RELEASE_NAME/$source_dir/Suwayomi-Launcher.jar" || error $LINENO "Failed to move launcher jar" 1
|
||||||
cp "$JAR" "$RELEASE_NAME/$source_dir/Suwayomi-Server.jar" || error $LINENO "Failed to copy server jar" 1
|
cp "$JAR" "$RELEASE_NAME/$source_dir/Suwayomi-Server.jar" || error $LINENO "Failed to copy server jar" 1
|
||||||
copy_linux_package_assets_to "$RELEASE_NAME/$source_dir/"
|
copy_linux_package_assets_to "$RELEASE_NAME/$source_dir/"
|
||||||
@@ -317,6 +329,9 @@ make_windows_package() {
|
|||||||
find "$RELEASE_NAME/electron" \
|
find "$RELEASE_NAME/electron" \
|
||||||
| wixl-heat --var var.SourceDir -p "$RELEASE_NAME/" \
|
| wixl-heat --var var.SourceDir -p "$RELEASE_NAME/" \
|
||||||
--directory-ref electron --component-group electron >"$RELEASE_NAME/electron.wxs" || error $LINENO "Failed to heat electron" 1
|
--directory-ref electron --component-group electron >"$RELEASE_NAME/electron.wxs" || error $LINENO "Failed to heat electron" 1
|
||||||
|
find "$RELEASE_NAME/natives" \
|
||||||
|
| wixl-heat --var var.SourceDir -p "$RELEASE_NAME/" \
|
||||||
|
--directory-ref natives --component-group natives >"$RELEASE_NAME/natives.wxs" || error $LINENO "Failed to heat natives" 1
|
||||||
|
|
||||||
find "$RELEASE_NAME/bin" \
|
find "$RELEASE_NAME/bin" \
|
||||||
| wixl-heat --var var.SourceDir -p "$RELEASE_NAME/" \
|
| wixl-heat --var var.SourceDir -p "$RELEASE_NAME/" \
|
||||||
@@ -327,7 +342,7 @@ make_windows_package() {
|
|||||||
|
|
||||||
wixl -D ProductVersion="$RELEASE_VERSION" -D SourceDir="$RELEASE_NAME" \
|
wixl -D ProductVersion="$RELEASE_VERSION" -D SourceDir="$RELEASE_NAME" \
|
||||||
-D Icon="$icon" --arch "$arch" "scripts/resources/msi/suwayomi-server-$arch.wxs" \
|
-D Icon="$icon" --arch "$arch" "scripts/resources/msi/suwayomi-server-$arch.wxs" \
|
||||||
"$RELEASE_NAME/jre.wxs" "$RELEASE_NAME/electron.wxs" "$RELEASE_NAME/bin.wxs" -o "$RELEASE" || error $LINENO "Windows package build failed" 1
|
"$RELEASE_NAME/jre.wxs" "$RELEASE_NAME/electron.wxs" "$RELEASE_NAME/natives.wxs" "$RELEASE_NAME/bin.wxs" -o "$RELEASE" || error $LINENO "Windows package build failed" 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# Error handler
|
# Error handler
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
Suwayomi-Server.jar usr/share/java/suwayomi-server/bin/
|
Suwayomi-Server.jar usr/share/java/suwayomi-server/bin/
|
||||||
Suwayomi-Launcher.jar usr/share/java/suwayomi-server/
|
Suwayomi-Launcher.jar usr/share/java/suwayomi-server/
|
||||||
|
natives/* usr/share/java/suwayomi-server/natives/
|
||||||
suwayomi-server.png usr/share/pixmaps/
|
suwayomi-server.png usr/share/pixmaps/
|
||||||
suwayomi-server.desktop usr/share/applications/
|
suwayomi-server.desktop usr/share/applications/
|
||||||
suwayomi-launcher.desktop usr/share/applications/
|
suwayomi-launcher.desktop usr/share/applications/
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
<Directory Id="INSTALLDIR" Name="Suwayomi-Server" >
|
<Directory Id="INSTALLDIR" Name="Suwayomi-Server" >
|
||||||
<Directory Id="jre"/>
|
<Directory Id="jre"/>
|
||||||
<Directory Id="electron"/>
|
<Directory Id="electron"/>
|
||||||
|
<Directory Id="natives"/>
|
||||||
<Directory Id="bin"/>
|
<Directory Id="bin"/>
|
||||||
</Directory>
|
</Directory>
|
||||||
</Directory>
|
</Directory>
|
||||||
@@ -62,6 +63,7 @@
|
|||||||
<ComponentRef Id="SuwayomiLauncherBAT" />
|
<ComponentRef Id="SuwayomiLauncherBAT" />
|
||||||
<ComponentRef Id="ProgramMenuDir" />
|
<ComponentRef Id="ProgramMenuDir" />
|
||||||
<ComponentGroupRef Id="electron" />
|
<ComponentGroupRef Id="electron" />
|
||||||
|
<ComponentGroupRef Id="natives" />
|
||||||
</Feature>
|
</Feature>
|
||||||
|
|
||||||
<Icon Id="Suwayomi.ico" SourceFile="$(var.Icon)" />
|
<Icon Id="Suwayomi.ico" SourceFile="$(var.Icon)" />
|
||||||
|
|||||||
@@ -3,8 +3,6 @@
|
|||||||
package suwayomi.tachidesk.graphql.mutations
|
package suwayomi.tachidesk.graphql.mutations
|
||||||
|
|
||||||
import com.expediagroup.graphql.generator.annotations.GraphQLDeprecated
|
import com.expediagroup.graphql.generator.annotations.GraphQLDeprecated
|
||||||
import com.expediagroup.graphql.server.extensions.toGraphQLError
|
|
||||||
import graphql.execution.DataFetcherResult
|
|
||||||
import org.jetbrains.exposed.v1.core.LikePattern
|
import org.jetbrains.exposed.v1.core.LikePattern
|
||||||
import org.jetbrains.exposed.v1.core.Op
|
import org.jetbrains.exposed.v1.core.Op
|
||||||
import org.jetbrains.exposed.v1.core.and
|
import org.jetbrains.exposed.v1.core.and
|
||||||
@@ -183,21 +181,15 @@ class MangaMutation {
|
|||||||
)
|
)
|
||||||
|
|
||||||
@RequireAuth
|
@RequireAuth
|
||||||
fun fetchMangaAndChapters(input: FetchMangaAndChaptersInput): CompletableFuture<DataFetcherResult<FetchMangaAndChaptersPayload?>> {
|
fun fetchMangaAndChapters(input: FetchMangaAndChaptersInput): CompletableFuture<FetchMangaAndChaptersPayload?> {
|
||||||
val (clientMutationId, id, fetchManga, fetchChapters) = input
|
val (clientMutationId, id, fetchManga, fetchChapters) = input
|
||||||
|
|
||||||
return future {
|
return future {
|
||||||
val error =
|
|
||||||
try {
|
|
||||||
Manga.updateMangaAndChapters(
|
Manga.updateMangaAndChapters(
|
||||||
mangaId = id,
|
mangaId = id,
|
||||||
updateManga = fetchManga,
|
updateManga = fetchManga,
|
||||||
updateChapters = fetchChapters,
|
updateChapters = fetchChapters,
|
||||||
)
|
)
|
||||||
null
|
|
||||||
} catch (e: Exception) {
|
|
||||||
e
|
|
||||||
}
|
|
||||||
|
|
||||||
val (manga, chapters) =
|
val (manga, chapters) =
|
||||||
transaction {
|
transaction {
|
||||||
@@ -210,20 +202,11 @@ class MangaMutation {
|
|||||||
.map { ChapterType(it) },
|
.map { ChapterType(it) },
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@Suppress("UNCHECKED_CAST")
|
|
||||||
DataFetcherResult
|
|
||||||
.newResult<FetchMangaAndChaptersPayload>()
|
|
||||||
.data(
|
|
||||||
FetchMangaAndChaptersPayload(
|
FetchMangaAndChaptersPayload(
|
||||||
clientMutationId = clientMutationId,
|
clientMutationId = clientMutationId,
|
||||||
manga = MangaType(manga),
|
manga = MangaType(manga),
|
||||||
chapters = chapters,
|
chapters = chapters,
|
||||||
),
|
)
|
||||||
).also {
|
|
||||||
if (error != null) {
|
|
||||||
it.error(error.toGraphQLError())
|
|
||||||
}
|
|
||||||
}.build() as DataFetcherResult<FetchMangaAndChaptersPayload?>
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -166,17 +166,8 @@ object Extension {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val sourceClass =
|
|
||||||
packageInfo.applicationInfo.metaData
|
|
||||||
.getString(METADATA_SOURCE_CLASS)!!
|
|
||||||
.trim()
|
|
||||||
|
|
||||||
val className =
|
val className =
|
||||||
if (sourceClass.startsWith(".")) {
|
packageInfo.packageName + packageInfo.applicationInfo.metaData.getString(METADATA_SOURCE_CLASS)
|
||||||
packageInfo.packageName + sourceClass
|
|
||||||
} else {
|
|
||||||
sourceClass
|
|
||||||
}
|
|
||||||
|
|
||||||
logger.debug { "Main class for extension is $className" }
|
logger.debug { "Main class for extension is $className" }
|
||||||
|
|
||||||
|
|||||||
@@ -132,7 +132,6 @@ object ExtensionsList {
|
|||||||
// Always update icon url and repo
|
// Always update icon url and repo
|
||||||
this[ExtensionTable.iconUrl] = foundExtension.iconUrl
|
this[ExtensionTable.iconUrl] = foundExtension.iconUrl
|
||||||
this[ExtensionTable.storeIndexUrl] = foundExtension.storeIndexUrl
|
this[ExtensionTable.storeIndexUrl] = foundExtension.storeIndexUrl
|
||||||
this[ExtensionTable.apkUrl] = foundExtension.apkUrl
|
|
||||||
|
|
||||||
// add these because batch updates need matching columns
|
// add these because batch updates need matching columns
|
||||||
this[ExtensionTable.hasUpdate] = extensionRecord[ExtensionTable.hasUpdate]
|
this[ExtensionTable.hasUpdate] = extensionRecord[ExtensionTable.hasUpdate]
|
||||||
|
|||||||
@@ -130,12 +130,9 @@ object H2Migration {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
val tmp = output.resolveSibling(output.name + ".tmp")
|
output.outputStream().use { out ->
|
||||||
tmp.outputStream().use { out ->
|
|
||||||
response.body.byteStream().copyTo(out)
|
response.body.byteStream().copyTo(out)
|
||||||
}
|
}
|
||||||
tmp.copyTo(output)
|
|
||||||
tmp.deleteExisting()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.info { "Saved: ${output.absolutePathString()}" }
|
logger.info { "Saved: ${output.absolutePathString()}" }
|
||||||
|
|||||||
Reference in New Issue
Block a user