Compare commits
No commits in common. "main" and "oneclient-1.0.0-alpha.2" have entirely different histories.
main
...
oneclient-
1386 changed files with 69548 additions and 145472 deletions
|
|
@ -1,27 +0,0 @@
|
||||||
[target.x86_64-unknown-linux-gnu]
|
|
||||||
linker = "clang"
|
|
||||||
rustflags = ["-C", "link-arg=-fuse-ld=lld"]
|
|
||||||
|
|
||||||
[target.aarch64-apple-darwin]
|
|
||||||
linker = "aarch64-apple-darwin-clang"
|
|
||||||
rustflags = [
|
|
||||||
"-C", "link-arg=-fuse-ld=lld",
|
|
||||||
"-C", "link-arg=-isysroot",
|
|
||||||
"-C", "link-arg=/home/oiupoyt/.local/share/MacOSX11.3.sdk",
|
|
||||||
]
|
|
||||||
|
|
||||||
[target.x86_64-apple-darwin]
|
|
||||||
linker = "x86_64-apple-darwin-clang"
|
|
||||||
rustflags = [
|
|
||||||
"-C", "link-arg=-fuse-ld=lld",
|
|
||||||
"-C", "link-arg=-isysroot",
|
|
||||||
"-C", "link-arg=/home/oiupoyt/.local/share/MacOSX11.3.sdk",
|
|
||||||
]
|
|
||||||
|
|
||||||
# Linux and Macos by default have 8MB of stack storage.
|
|
||||||
# Windows has 1MB, it isn't enough, so it's changed to 8MB also.
|
|
||||||
[target.x86_64-pc-windows-msvc]
|
|
||||||
rustflags = ["-C", "link-arg=/STACK:8388608"]
|
|
||||||
|
|
||||||
[target.aarch64-pc-windows-msvc]
|
|
||||||
rustflags = ["-C", "link-arg=/STACK:8388608"]
|
|
||||||
34
.cargo/config.toml.mustache
Normal file
34
.cargo/config.toml.mustache
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
{{#isMacOS}}
|
||||||
|
[target.x86_64-apple-darwin]
|
||||||
|
rustflags = ["-Csplit-debuginfo=unpacked"]
|
||||||
|
|
||||||
|
[target.aarch64-apple-darwin]
|
||||||
|
rustflags = ["-Csplit-debuginfo=unpacked"]
|
||||||
|
{{/isMacOS}}
|
||||||
|
|
||||||
|
{{#isWin}}
|
||||||
|
[target.'cfg(windows)']
|
||||||
|
rustflags = [
|
||||||
|
"-C",
|
||||||
|
"link-args=/STACK:16777220"
|
||||||
|
]
|
||||||
|
|
||||||
|
[target.x86_64-pc-windows-msvc]
|
||||||
|
{{#hasLLD}}
|
||||||
|
linker = "lld-link.exe"
|
||||||
|
{{/hasLLD}}
|
||||||
|
{{/isWin}}
|
||||||
|
|
||||||
|
{{#isLinux}}
|
||||||
|
[target.x86_64-unknown-linux-gnu]
|
||||||
|
{{#hasLLD}}
|
||||||
|
linker = "clang"
|
||||||
|
rustflags = ["-C", "link-args=-fuse-ld={{{linker}}}"]
|
||||||
|
{{/hasLLD}}
|
||||||
|
|
||||||
|
[target.aarch64-unknown-linux-gnu]
|
||||||
|
{{#hasLLD}}
|
||||||
|
linker = "clang"
|
||||||
|
rustflags = ["-C", "link-args=-fuse-ld={{{linker}}}"]
|
||||||
|
{{/hasLLD}}
|
||||||
|
{{/isLinux}}
|
||||||
1
.clippy.toml
Normal file
1
.clippy.toml
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
cognitive-complexity-threshold = 30
|
||||||
3
.env.template
Normal file
3
.env.template
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
# Used by sea-orm-cli
|
||||||
|
# DOES NOT AFFECT THE CODE
|
||||||
|
DATABASE_URL=sqlite:///path/to/user_data.db?mode=rwc
|
||||||
|
|
@ -1,122 +0,0 @@
|
||||||
name: Release Binaries (Forgejo)
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- 'v*'
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
tag:
|
|
||||||
description: 'Release Tag (e.g. v2.8.0-c1)'
|
|
||||||
required: false
|
|
||||||
default: 'v2.8.0-c1'
|
|
||||||
type: string
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
|
|
||||||
env:
|
|
||||||
SQLX_OFFLINE: true
|
|
||||||
SQLX_OFFLINE_DIR: packages/oneclient_db/.sqlx
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build-linux:
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Install Rust toolchain
|
|
||||||
uses: dtolnay/rust-toolchain@stable
|
|
||||||
with:
|
|
||||||
targets: x86_64-unknown-linux-gnu
|
|
||||||
|
|
||||||
- name: Rust Cache
|
|
||||||
uses: Swatinem/rust-cache@v2
|
|
||||||
with:
|
|
||||||
key: x86_64-unknown-linux-gnu
|
|
||||||
cache-all-crates: true
|
|
||||||
|
|
||||||
- name: Install Linux build dependencies
|
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y \
|
|
||||||
libwebkit2gtk-4.1-dev \
|
|
||||||
build-essential \
|
|
||||||
curl \
|
|
||||||
wget \
|
|
||||||
file \
|
|
||||||
libxdo-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libayatana-appindicator3-dev \
|
|
||||||
librsvg2-dev \
|
|
||||||
libfontconfig1-dev \
|
|
||||||
libfreetype6-dev \
|
|
||||||
libgl1-mesa-dev \
|
|
||||||
libvulkan-dev \
|
|
||||||
libasound2-dev
|
|
||||||
|
|
||||||
- name: Install cargo-packager
|
|
||||||
run: cargo install cargo-packager --locked || true
|
|
||||||
|
|
||||||
- name: Build Release Binary
|
|
||||||
run: cargo build --release --bin oneclient_app --target x86_64-unknown-linux-gnu
|
|
||||||
|
|
||||||
- name: Package Application
|
|
||||||
run: cargo packager --release --target x86_64-unknown-linux-gnu --formats deb,appimage
|
|
||||||
continue-on-error: true
|
|
||||||
|
|
||||||
- name: Generate RPM Package (Linux)
|
|
||||||
run: |
|
|
||||||
cargo install cargo-generate-rpm --locked || true
|
|
||||||
cargo generate-rpm --target x86_64-unknown-linux-gnu -p oneclient_app || true
|
|
||||||
|
|
||||||
- name: Determine Release Tag
|
|
||||||
id: release_tag
|
|
||||||
run: |
|
|
||||||
if [[ "${{ github.ref_name }}" =~ ^v ]]; then
|
|
||||||
echo "tag=${{ github.ref_name }}" >> $GITHUB_OUTPUT
|
|
||||||
elif [ -n "${{ inputs.tag }}" ]; then
|
|
||||||
echo "tag=${{ inputs.tag }}" >> $GITHUB_OUTPUT
|
|
||||||
else
|
|
||||||
echo "tag=v2.8.0-c1" >> $GITHUB_OUTPUT
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Publish Assets to Forgejo Release
|
|
||||||
run: |
|
|
||||||
TAG="${{ steps.release_tag.outputs.tag }}"
|
|
||||||
API_URL="${{ github.server_url }}/api/v1/repos/${{ github.repository }}"
|
|
||||||
echo "Connecting to $API_URL for release $TAG"
|
|
||||||
|
|
||||||
# 1. Fetch or create release on Forgejo
|
|
||||||
RELEASE_ID=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" "$API_URL/releases/tags/$TAG" | jq -r '.id // empty')
|
|
||||||
if [ -z "$RELEASE_ID" ] || [ "$RELEASE_ID" = "null" ]; then
|
|
||||||
RESP=$(curl -s -X POST "$API_URL/releases" \
|
|
||||||
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
-d "{\"tag_name\":\"$TAG\",\"name\":\"OneLauncher-Cracked $TAG\",\"draft\":false,\"prerelease\":false,\"target_commitish\":\"main\"}")
|
|
||||||
RELEASE_ID=$(echo "$RESP" | jq -r '.id // empty')
|
|
||||||
fi
|
|
||||||
echo "Target Release ID: $RELEASE_ID"
|
|
||||||
|
|
||||||
# 2. Upload generated packages
|
|
||||||
shopt -s nullglob
|
|
||||||
FILES=(
|
|
||||||
target/x86_64-unknown-linux-gnu/release/*.deb
|
|
||||||
target/x86_64-unknown-linux-gnu/release/*.AppImage
|
|
||||||
target/x86_64-unknown-linux-gnu/generate-rpm/*.rpm
|
|
||||||
target/release/*.deb
|
|
||||||
target/release/*.AppImage
|
|
||||||
target/generate-rpm/*.rpm
|
|
||||||
)
|
|
||||||
|
|
||||||
for f in "${FILES[@]}"; do
|
|
||||||
if [ -f "$f" ]; then
|
|
||||||
fname=$(basename "$f")
|
|
||||||
echo "Uploading asset $fname..."
|
|
||||||
curl -s -X POST "$API_URL/releases/$RELEASE_ID/assets?name=$fname" \
|
|
||||||
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
|
||||||
-F "attachment=@$f"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
echo "Release upload completed!"
|
|
||||||
4
.gemini/config.yml
Normal file
4
.gemini/config.yml
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
code_review:
|
||||||
|
comment_severity_threshold: LOW
|
||||||
|
ignore_patterns:
|
||||||
|
- '**/*.gen.ts'
|
||||||
4
.gitattributes
vendored
4
.gitattributes
vendored
|
|
@ -1,2 +1,6 @@
|
||||||
* text=auto eol=lf
|
* text=auto eol=lf
|
||||||
Cargo.lock -diff linguist-generated
|
Cargo.lock -diff linguist-generated
|
||||||
|
pnpm-lock.yaml -diff linguist-generated
|
||||||
|
packages/client/src/bindings.ts -diff linguist-generated=true
|
||||||
|
.github/actions/publish-artifacts/dist/index.js -diff linguist-generated=true
|
||||||
|
.github/actions/clippy/dist/index.js -diff linguist-generated=true
|
||||||
|
|
|
||||||
47
.github/actions/install-cargo-tool/action.yml
vendored
47
.github/actions/install-cargo-tool/action.yml
vendored
|
|
@ -1,47 +0,0 @@
|
||||||
name: Install cargo tool
|
|
||||||
description: >
|
|
||||||
Install a cargo binary from a prebuilt release instead of compiling it from
|
|
||||||
source, and skip the work entirely when the Rust cache already restored it.
|
|
||||||
inputs:
|
|
||||||
tool:
|
|
||||||
description: Crate name providing the binary (e.g. cargo-packager)
|
|
||||||
required: true
|
|
||||||
version:
|
|
||||||
description: Exact version to install
|
|
||||||
required: true
|
|
||||||
runs:
|
|
||||||
using: composite
|
|
||||||
steps:
|
|
||||||
# Swatinem/rust-cache restores $CARGO_HOME/bin, so on a cache hit the tool is
|
|
||||||
# already here and `cargo install` would otherwise re-resolve it every run.
|
|
||||||
- name: Check for an already-installed ${{ inputs.tool }}
|
|
||||||
id: check
|
|
||||||
shell: bash
|
|
||||||
env:
|
|
||||||
TOOL: ${{ inputs.tool }}
|
|
||||||
VERSION: ${{ inputs.version }}
|
|
||||||
run: |
|
|
||||||
if command -v "$TOOL" > /dev/null 2>&1 \
|
|
||||||
&& cargo install --list | grep -qF "$TOOL v$VERSION:"; then
|
|
||||||
echo "Found $TOOL v$VERSION in \$CARGO_HOME/bin"
|
|
||||||
echo "installed=true" >> "$GITHUB_OUTPUT"
|
|
||||||
else
|
|
||||||
echo "installed=false" >> "$GITHUB_OUTPUT"
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Setup cargo-binstall
|
|
||||||
if: steps.check.outputs.installed == 'false'
|
|
||||||
uses: cargo-bins/cargo-binstall@e00d2c94cc0067b77737821097a62d91c0301baa # v1.21.1
|
|
||||||
|
|
||||||
- name: Install ${{ inputs.tool }}
|
|
||||||
if: steps.check.outputs.installed == 'false'
|
|
||||||
shell: bash
|
|
||||||
env:
|
|
||||||
TOOL: ${{ inputs.tool }}
|
|
||||||
VERSION: ${{ inputs.version }}
|
|
||||||
run: |
|
|
||||||
# Prebuilt download takes seconds; building cargo-packager from source
|
|
||||||
# takes minutes on every leg of the matrix. Fall back to a source build
|
|
||||||
# so a missing prebuilt artifact can never break a release.
|
|
||||||
cargo binstall --no-confirm --force "${TOOL}@${VERSION}" \
|
|
||||||
|| cargo install "${TOOL}" --version "${VERSION}" --locked --force
|
|
||||||
14
.github/actions/publish-artifacts/action.yml
vendored
Normal file
14
.github/actions/publish-artifacts/action.yml
vendored
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
name: Publish Artifacts
|
||||||
|
description: Publish Artifacts
|
||||||
|
inputs:
|
||||||
|
target:
|
||||||
|
description: Target triples for build artifact
|
||||||
|
profile:
|
||||||
|
description: '''debug'' or ''release'''
|
||||||
|
os:
|
||||||
|
description: '''darwin'', ''windows'', or ''linux'''
|
||||||
|
arch:
|
||||||
|
description: '''x86_64'' or ''aarch64'''
|
||||||
|
runs:
|
||||||
|
using: node20
|
||||||
|
main: dist/index.js
|
||||||
3476
.github/actions/publish-artifacts/dist/LICENSE
vendored
Normal file
3476
.github/actions/publish-artifacts/dist/LICENSE
vendored
Normal file
File diff suppressed because it is too large
Load diff
79
.github/actions/publish-artifacts/dist/index.js
generated
vendored
Normal file
79
.github/actions/publish-artifacts/dist/index.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
26
.github/actions/publish-artifacts/package.json
vendored
Normal file
26
.github/actions/publish-artifacts/package.json
vendored
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
"name": "@onelauncher/action-publish-artifacts",
|
||||||
|
"version": "1.0.0-alpha.2",
|
||||||
|
"private": true,
|
||||||
|
"description": "Next-generation open source Minecraft launcher",
|
||||||
|
"license": "GPL-3.0-only",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git@github.com:polyfrost/onelauncher",
|
||||||
|
"directory": ".github/actions/publish-artifacts"
|
||||||
|
},
|
||||||
|
"bugs": "https://github.com/polyfrost/onelauncher/issues",
|
||||||
|
"sideEffects": false,
|
||||||
|
"scripts": {
|
||||||
|
"build": "rimraf dist && ncc build src/index.ts -m -q --license ../../LICENSE"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@actions/artifact": "^2.1.9",
|
||||||
|
"@actions/core": "^1.10.1",
|
||||||
|
"@actions/glob": "^0.5.0",
|
||||||
|
"@actions/io": "^1.1.3"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@vercel/ncc": "^0.38.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
147
.github/actions/publish-artifacts/src/index.ts
vendored
Normal file
147
.github/actions/publish-artifacts/src/index.ts
vendored
Normal file
|
|
@ -0,0 +1,147 @@
|
||||||
|
import process from 'node:process';
|
||||||
|
import client from '@actions/artifact';
|
||||||
|
import core from '@actions/core';
|
||||||
|
import glob from '@actions/glob';
|
||||||
|
import io from '@actions/io';
|
||||||
|
import { exists } from '@actions/io/lib/io-util';
|
||||||
|
|
||||||
|
type OS = 'darwin' | 'windows' | 'linux';
|
||||||
|
type Arch = 'x64' | 'arm64';
|
||||||
|
type Profile = 'debug' | 'release' | 'dev' | 'dev-debug';
|
||||||
|
|
||||||
|
interface Updater {
|
||||||
|
bundle: string;
|
||||||
|
bundleExt: string;
|
||||||
|
archiveExt: string;
|
||||||
|
}
|
||||||
|
interface TargetConfig {
|
||||||
|
bundle: string;
|
||||||
|
ext: string;
|
||||||
|
}
|
||||||
|
interface BuildTarget {
|
||||||
|
updater: false | Updater;
|
||||||
|
standalone: Array<TargetConfig>;
|
||||||
|
}
|
||||||
|
|
||||||
|
const osTargets = {
|
||||||
|
darwin: {
|
||||||
|
updater: {
|
||||||
|
bundle: 'macos',
|
||||||
|
bundleExt: 'app',
|
||||||
|
archiveExt: 'tar.gz',
|
||||||
|
},
|
||||||
|
standalone: [
|
||||||
|
{ ext: 'dmg', bundle: 'dmg' },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
windows: {
|
||||||
|
updater: {
|
||||||
|
bundle: 'msi',
|
||||||
|
bundleExt: 'msi',
|
||||||
|
archiveExt: 'zip',
|
||||||
|
},
|
||||||
|
standalone: [
|
||||||
|
{ ext: 'msi', bundle: 'msi' },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
linux: {
|
||||||
|
updater: false, // TODO
|
||||||
|
standalone: [
|
||||||
|
{ ext: 'deb', bundle: 'deb' },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
} satisfies Record<OS, BuildTarget>;
|
||||||
|
|
||||||
|
const getInput = <T = string>(name: string): T => core.getInput(name) as T;
|
||||||
|
const os: OS = getInput('os');
|
||||||
|
const arch: Arch = getInput('arch');
|
||||||
|
const profile: Profile = getInput('profile');
|
||||||
|
const target = getInput('target');
|
||||||
|
const binaryName = getInput<string | undefined>('binary');
|
||||||
|
|
||||||
|
const targetDir = `target/${target}`;
|
||||||
|
const bundleDir = `${targetDir}/${profile}/bundle`;
|
||||||
|
const artifactsDir = '.artifacts';
|
||||||
|
const artifactBase = `OneLauncher-${os}-${arch}`;
|
||||||
|
const frontendBundle = 'apps/frontend/dist.tar.xz';
|
||||||
|
const updaterName = `OneLauncher-Updater-${os}-${arch}`;
|
||||||
|
const frontendName = `OneLauncher-Frontend-${os}-${arch}`;
|
||||||
|
|
||||||
|
const globFiles = async (pattern: string): Promise<Array<string>> => await (await glob.create(pattern)).glob();
|
||||||
|
|
||||||
|
async function uploadFrontend() {
|
||||||
|
if (!(await exists(frontendBundle))) {
|
||||||
|
console.error('frontend archive missing!');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const artifactName = `${frontendName}.tar.xz`;
|
||||||
|
const artifactPath = `${artifactsDir}/${artifactName}`;
|
||||||
|
|
||||||
|
await io.cp(frontendBundle, artifactPath);
|
||||||
|
await client.uploadArtifact(artifactName, [artifactPath], artifactsDir);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function uploadUpdater(updater: BuildTarget['updater']) {
|
||||||
|
if (!updater)
|
||||||
|
return;
|
||||||
|
|
||||||
|
const { bundle, bundleExt, archiveExt } = updater;
|
||||||
|
const fullExt = `${bundleExt}.${archiveExt}`;
|
||||||
|
const files = await globFiles(`${bundleDir}/${bundle}/*.${fullExt}*`);
|
||||||
|
const updaterPath = files.find(f => f.endsWith(fullExt));
|
||||||
|
|
||||||
|
if (!updaterPath)
|
||||||
|
throw new Error(`failed to find updater path in ${files.join(',')}`);
|
||||||
|
|
||||||
|
const artifactPath = `${artifactsDir}/${updaterName}.${archiveExt}`;
|
||||||
|
await io.cp(updaterPath, artifactPath);
|
||||||
|
await io.cp(`${updaterPath}.sig`, `${artifactPath}.sig`);
|
||||||
|
await client.uploadArtifact(updaterName, [artifactPath, `${artifactPath}.sig`], artifactsDir);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function uploadStandalone({ bundle, ext }: TargetConfig) {
|
||||||
|
const files = await globFiles(`${bundleDir}/${bundle}/*.${ext}*`);
|
||||||
|
const standalonePath = files.find(f => f.endsWith(ext));
|
||||||
|
|
||||||
|
if (!standalonePath)
|
||||||
|
throw new Error(`failed to find standalone path in ${files.join(',')}`);
|
||||||
|
|
||||||
|
const artifactName = `${artifactBase}.${ext}`;
|
||||||
|
const artifactPath = `${artifactsDir}/${artifactName}`;
|
||||||
|
await io.cp(standalonePath, artifactPath, { recursive: true });
|
||||||
|
await client.uploadArtifact(artifactName, [artifactPath], artifactsDir);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function uploadBinary() {
|
||||||
|
if (typeof binaryName !== 'string')
|
||||||
|
return;
|
||||||
|
|
||||||
|
const file = binaryName || 'onelauncher_gui';
|
||||||
|
const binaryPath = `${targetDir}/${file}`;
|
||||||
|
|
||||||
|
if (!(await exists(binaryPath))) {
|
||||||
|
console.error('binary missing!');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
await io.cp(binaryPath, `${artifactsDir}/${file}`);
|
||||||
|
await client.uploadArtifact(file, [`${artifactsDir}/${file}`], artifactsDir);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function run() {
|
||||||
|
await io.mkdirP(artifactsDir);
|
||||||
|
const { updater, standalone } = osTargets[os];
|
||||||
|
|
||||||
|
await Promise.all([
|
||||||
|
uploadUpdater(updater),
|
||||||
|
uploadFrontend(),
|
||||||
|
uploadBinary(),
|
||||||
|
...standalone.map(uploadStandalone),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
run().catch((error) => {
|
||||||
|
console.error(error);
|
||||||
|
process.exit(1);
|
||||||
|
});
|
||||||
9
.github/actions/publish-artifacts/tsconfig.json
vendored
Normal file
9
.github/actions/publish-artifacts/tsconfig.json
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"extends": "../../../tsconfig.base.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"allowImportingTsExtensions": false,
|
||||||
|
"noEmit": true,
|
||||||
|
"skipLibCheck": true
|
||||||
|
},
|
||||||
|
"exclude": ["**/dist/**"]
|
||||||
|
}
|
||||||
59
.github/actions/setup-packages/action.yml
vendored
Normal file
59
.github/actions/setup-packages/action.yml
vendored
Normal file
|
|
@ -0,0 +1,59 @@
|
||||||
|
name: Setup System and Rust
|
||||||
|
description: Setup System and Rust
|
||||||
|
inputs:
|
||||||
|
token:
|
||||||
|
description: GitHub token
|
||||||
|
required: false
|
||||||
|
default: ''
|
||||||
|
setup-arg:
|
||||||
|
description: Argument for the system setup script
|
||||||
|
required: false
|
||||||
|
default: ''
|
||||||
|
runs:
|
||||||
|
using: composite
|
||||||
|
steps:
|
||||||
|
- name: (macOS) Install bash@latest
|
||||||
|
shell: bash
|
||||||
|
if: ${{ runner.os == 'macOS' }}
|
||||||
|
run: brew install bash
|
||||||
|
|
||||||
|
- name: (Linux) Install mold@latest
|
||||||
|
shell: bash
|
||||||
|
if: ${{ runner.os == 'Linux' }}
|
||||||
|
run: |
|
||||||
|
curl -L# 'https://github.com/rui314/mold/releases/download/v2.33.0/mold-2.33.0-x86_64-linux.tar.gz' \
|
||||||
|
| sudo tar -xzf- -C /usr/local
|
||||||
|
|
||||||
|
- name: (Linux) Cleanup Runner
|
||||||
|
shell: bash
|
||||||
|
if: ${{ runner.os == 'Linux' }}
|
||||||
|
run: |
|
||||||
|
set -eux
|
||||||
|
if dpkg -l | grep i386; then
|
||||||
|
sudo apt-get purge --allow-remove-essential libc6-i386 ".*:i386" || true
|
||||||
|
sudo dpkg --remove-architecture i386 || true
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo apt-get remove libunwind-* || true
|
||||||
|
|
||||||
|
- name: (Linux/macOS) - Setup System
|
||||||
|
shell: bash
|
||||||
|
if: ${{ runner.os == 'Linux' || runner.os == 'macOS' }}
|
||||||
|
run: ./packages/scripts/setup.sh ${{ inputs.setup-arg }}
|
||||||
|
|
||||||
|
- name: (Windows) - Setup System
|
||||||
|
if: ${{ runner.os == 'Windows' }}
|
||||||
|
shell: powershell
|
||||||
|
run: ./packages/scripts/setup.ps1
|
||||||
|
|
||||||
|
- name: Setup pnpm
|
||||||
|
uses: ./.github/actions/setup-pnpm
|
||||||
|
with:
|
||||||
|
token: ${{ github.token }}
|
||||||
|
|
||||||
|
- name: Setup Shared Libraries
|
||||||
|
shell: bash
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ inputs.token }}
|
||||||
|
NODE_ENV: debug
|
||||||
|
run: pnpm prep
|
||||||
29
.github/actions/setup-pnpm/action.yml
vendored
Normal file
29
.github/actions/setup-pnpm/action.yml
vendored
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
name: Setup Pnpm
|
||||||
|
description: Setup Pnpm
|
||||||
|
inputs:
|
||||||
|
token:
|
||||||
|
description: GitHub token
|
||||||
|
required: false
|
||||||
|
default: ''
|
||||||
|
runs:
|
||||||
|
using: composite
|
||||||
|
steps:
|
||||||
|
- name: Install pnpm
|
||||||
|
uses: pnpm/action-setup@v4
|
||||||
|
with:
|
||||||
|
version: 10
|
||||||
|
|
||||||
|
- name: Install Node.js
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
token: ${{ inputs.token }}
|
||||||
|
check-latest: true
|
||||||
|
node-version-file: .nvmrc
|
||||||
|
cache: pnpm
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
shell: ${{ runner.os == 'Windows' && 'powershell' || 'bash' }}
|
||||||
|
env:
|
||||||
|
NODE_ENV: debug
|
||||||
|
GITHUB_TOKEN: ${{ inputs.token }}
|
||||||
|
run: pnpm install --frozen-lockfile
|
||||||
41
.github/actions/setup-rust/action.yml
vendored
41
.github/actions/setup-rust/action.yml
vendored
|
|
@ -1,43 +1,42 @@
|
||||||
name: Setup Rust
|
name: Setup Rust
|
||||||
description: Install the Rust toolchain (+ optional targets) and restore the build cache.
|
description: Setup Rust
|
||||||
inputs:
|
inputs:
|
||||||
target:
|
target:
|
||||||
description: Comma-separated extra target triples to install
|
description: Toolchain target triple
|
||||||
required: false
|
required: false
|
||||||
default: ''
|
|
||||||
save-cache:
|
save-cache:
|
||||||
description: Whether to save the Rust cache
|
description: Whether or not to save the rust cache
|
||||||
required: false
|
required: false
|
||||||
default: 'false'
|
default: 'false'
|
||||||
restore-cache:
|
restore-cache:
|
||||||
description: Whether to restore the Rust cache
|
description: Whether or not to restore the rust cache
|
||||||
required: false
|
required: false
|
||||||
default: 'true'
|
default: 'true'
|
||||||
cache-namespace:
|
|
||||||
description: >
|
|
||||||
Cache namespace. Workflows that compile with different profile settings
|
|
||||||
MUST use different namespaces - cargo fingerprints every dependency by its
|
|
||||||
profile, so sharing one would mean each workflow evicts artifacts the other
|
|
||||||
cannot use.
|
|
||||||
required: false
|
|
||||||
default: release-cache
|
|
||||||
runs:
|
runs:
|
||||||
using: composite
|
using: composite
|
||||||
steps:
|
steps:
|
||||||
- name: Install Rust (stable)
|
# - name: Install Rust Stable
|
||||||
uses: dtolnay/rust-toolchain@4cda84d5c5c54efe2404f9d843567869ab1699d4 # stable branch @ 2026-07-16
|
# uses: dtolnay/rust-toolchain@7b1c307e0dcbda6122208f10795a713336a9b35a
|
||||||
|
# with:
|
||||||
|
# toolchain: stable
|
||||||
|
# targets: ${{ inputs.target }}
|
||||||
|
# components: clippy, rustfmt
|
||||||
|
|
||||||
|
- name: Install Rust Nightly
|
||||||
|
uses: dtolnay/rust-toolchain@master
|
||||||
with:
|
with:
|
||||||
toolchain: stable
|
toolchain: nightly-2025-07-23
|
||||||
targets: ${{ inputs.target }}
|
targets: ${{ inputs.target }}
|
||||||
components: cargo, clippy, rustc, rustfmt
|
components: cargo, clippy, rustc, rustfmt
|
||||||
|
|
||||||
- name: Cache Rust
|
- name: Cache Rust
|
||||||
if: ${{ inputs.restore-cache == 'true' }}
|
if: ${{ inputs.restore-cache == 'true' }}
|
||||||
uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
|
uses: Swatinem/rust-cache@master
|
||||||
with:
|
with:
|
||||||
key: ${{ inputs.target }}
|
key: ${{ inputs.target }}
|
||||||
save-if: ${{ inputs.save-cache }}
|
save-if: ${{ inputs.save-cache }}
|
||||||
shared-key: ${{ inputs.cache-namespace }}
|
shared-key: stable-cache
|
||||||
# Release builds are long and can fail late (signing, notarization,
|
|
||||||
# upload). Without this the whole compile is thrown away on those runs.
|
- name: Prepare Cargo
|
||||||
cache-on-failure: true
|
shell: bash
|
||||||
|
run: echo '{}' | npx -y mustache - .cargo/config.toml.mustache .cargo/config.toml
|
||||||
|
|
|
||||||
BIN
.github/media/RepoBanner.png
vendored
BIN
.github/media/RepoBanner.png
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 54 KiB |
97
.github/workflows/aur_publish.yml
vendored
97
.github/workflows/aur_publish.yml
vendored
|
|
@ -1,97 +0,0 @@
|
||||||
name: Publish AUR Packages
|
|
||||||
|
|
||||||
on:
|
|
||||||
release:
|
|
||||||
types: [published]
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
tag:
|
|
||||||
description: 'Release tag (e.g. oneclient-2.0.1)'
|
|
||||||
required: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
resolve:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
outputs:
|
|
||||||
version: ${{ steps.parse.outputs.version }}
|
|
||||||
steps:
|
|
||||||
- name: Parse release tag
|
|
||||||
id: parse
|
|
||||||
run: |
|
|
||||||
TAG="${{ github.event.release.tag_name || inputs.tag }}"
|
|
||||||
if [[ "$TAG" =~ ^oneclient-(.+)$ ]]; then
|
|
||||||
echo "version=${BASH_REMATCH[1]}" >> "$GITHUB_OUTPUT"
|
|
||||||
else
|
|
||||||
echo "::error::Tag '$TAG' does not match oneclient-*"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
publish-source:
|
|
||||||
needs: resolve
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
|
|
||||||
|
|
||||||
- name: Compute source sha256
|
|
||||||
id: hash
|
|
||||||
env:
|
|
||||||
VERSION: ${{ needs.resolve.outputs.version }}
|
|
||||||
run: |
|
|
||||||
URL="https://github.com/${{ github.repository }}/archive/refs/tags/oneclient-${VERSION}.tar.gz"
|
|
||||||
SHA=$(curl -sL "$URL" | sha256sum | cut -d' ' -f1)
|
|
||||||
echo "sha256=$SHA" >> "$GITHUB_OUTPUT"
|
|
||||||
|
|
||||||
- name: Prepare PKGBUILD
|
|
||||||
env:
|
|
||||||
VERSION: ${{ needs.resolve.outputs.version }}
|
|
||||||
SHA256: ${{ steps.hash.outputs.sha256 }}
|
|
||||||
run: |
|
|
||||||
PKGBUILD="distribution/aur/oneclient/PKGBUILD"
|
|
||||||
sed -i "s/^pkgver=.*/pkgver=${VERSION}/" "$PKGBUILD"
|
|
||||||
sed -i "s/^pkgrel=.*/pkgrel=1/" "$PKGBUILD"
|
|
||||||
sed -i "s/^sha256sums=.*/sha256sums=('${SHA256}')/" "$PKGBUILD"
|
|
||||||
|
|
||||||
- name: Publish to AUR
|
|
||||||
uses: KSXGitHub/github-actions-deploy-aur@a97f56a8425a7a7f3b8c58607f769c69b089cadb # v3.0.1
|
|
||||||
with:
|
|
||||||
pkgname: oneclient
|
|
||||||
pkgbuild: distribution/aur/oneclient/PKGBUILD
|
|
||||||
commit_username: ${{ secrets.AUR_USERNAME }}
|
|
||||||
commit_email: ${{ secrets.AUR_EMAIL }}
|
|
||||||
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
|
|
||||||
commit_message: "oneclient ${{ needs.resolve.outputs.version }}-1"
|
|
||||||
|
|
||||||
publish-bin:
|
|
||||||
needs: resolve
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
|
|
||||||
|
|
||||||
- name: Compute deb sha256
|
|
||||||
id: hash
|
|
||||||
env:
|
|
||||||
VERSION: ${{ needs.resolve.outputs.version }}
|
|
||||||
run: |
|
|
||||||
URL="https://github.com/${{ github.repository }}/releases/download/oneclient-${VERSION}/OneClient_${VERSION}_linux_x86_64.deb"
|
|
||||||
SHA=$(curl -sL "$URL" | sha256sum | cut -d' ' -f1)
|
|
||||||
echo "sha256=$SHA" >> "$GITHUB_OUTPUT"
|
|
||||||
|
|
||||||
- name: Prepare PKGBUILD
|
|
||||||
env:
|
|
||||||
VERSION: ${{ needs.resolve.outputs.version }}
|
|
||||||
SHA256: ${{ steps.hash.outputs.sha256 }}
|
|
||||||
run: |
|
|
||||||
PKGBUILD="distribution/aur/oneclient-bin/PKGBUILD"
|
|
||||||
sed -i "s/^pkgver=.*/pkgver=${VERSION}/" "$PKGBUILD"
|
|
||||||
sed -i "s/^pkgrel=.*/pkgrel=1/" "$PKGBUILD"
|
|
||||||
sed -i "s/^sha256sums=.*/sha256sums=('${SHA256}')/" "$PKGBUILD"
|
|
||||||
|
|
||||||
- name: Publish to AUR
|
|
||||||
uses: KSXGitHub/github-actions-deploy-aur@a97f56a8425a7a7f3b8c58607f769c69b089cadb # v3.0.1
|
|
||||||
with:
|
|
||||||
pkgname: oneclient-bin
|
|
||||||
pkgbuild: distribution/aur/oneclient-bin/PKGBUILD
|
|
||||||
commit_username: ${{ secrets.AUR_USERNAME }}
|
|
||||||
commit_email: ${{ secrets.AUR_EMAIL }}
|
|
||||||
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
|
|
||||||
commit_message: "oneclient-bin ${{ needs.resolve.outputs.version }}-1"
|
|
||||||
35
.github/workflows/changelog_publish.yml
vendored
35
.github/workflows/changelog_publish.yml
vendored
|
|
@ -1,35 +0,0 @@
|
||||||
name: Publish Changelog
|
|
||||||
|
|
||||||
on:
|
|
||||||
release:
|
|
||||||
types: [published, edited]
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: changelog-publish
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
publish:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
GH_REPO: ${{ github.repository }}
|
|
||||||
steps:
|
|
||||||
# The launcher reads releases/latest/download/changelog.json, so the
|
|
||||||
# snapshot of the last 50 release bodies always lives on the latest release.
|
|
||||||
- name: Build changelog.json from release bodies
|
|
||||||
run: |
|
|
||||||
gh api "repos/$GH_REPO/releases?per_page=50" --jq '[.[]
|
|
||||||
| select(.draft | not)
|
|
||||||
| select(.tag_name | startswith("oneclient-"))
|
|
||||||
| {
|
|
||||||
version: (.tag_name | ltrimstr("oneclient-")),
|
|
||||||
body: ((.body // "") | sub("^Automated release for OneClient [^\n]*\\s*"; ""))
|
|
||||||
}]' > changelog.json
|
|
||||||
jq -r '.[].version' changelog.json
|
|
||||||
|
|
||||||
- name: Upload to latest release
|
|
||||||
run: gh release upload "$(gh release view --json tagName -q .tagName)" changelog.json --clobber
|
|
||||||
23
.github/workflows/changeset_check.yml
vendored
23
.github/workflows/changeset_check.yml
vendored
|
|
@ -1,23 +0,0 @@
|
||||||
name: Changeset Check
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
types: [opened, synchronize, reopened, labeled, unlabeled]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
changeset:
|
|
||||||
if: ${{ !contains(github.event.pull_request.labels.*.name, 'no changeset') }}
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Require a change file
|
|
||||||
env:
|
|
||||||
BASE_REF: ${{ github.base_ref }}
|
|
||||||
run: |
|
|
||||||
if ! git diff --name-only --diff-filter=A "origin/$BASE_REF...HEAD" -- '.changeset/*.md' | grep -q .; then
|
|
||||||
echo "::error::Add a change file with \`knope document-change\`, or label the PR 'no changeset' if it isn't user-facing."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
60
.github/workflows/copr_publish.yml
vendored
60
.github/workflows/copr_publish.yml
vendored
|
|
@ -1,60 +0,0 @@
|
||||||
name: Publish COPR Package
|
|
||||||
|
|
||||||
on:
|
|
||||||
release:
|
|
||||||
types: [published]
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
tag:
|
|
||||||
description: 'Release tag (e.g. oneclient-2.0.1)'
|
|
||||||
required: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
resolve:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
outputs:
|
|
||||||
version: ${{ steps.parse.outputs.version }}
|
|
||||||
steps:
|
|
||||||
- name: Parse release tag
|
|
||||||
id: parse
|
|
||||||
run: |
|
|
||||||
TAG="${{ github.event.release.tag_name || inputs.tag }}"
|
|
||||||
if [[ "$TAG" =~ ^oneclient-(.+)$ ]]; then
|
|
||||||
echo "version=${BASH_REMATCH[1]}" >> "$GITHUB_OUTPUT"
|
|
||||||
else
|
|
||||||
echo "::error::Tag '$TAG' does not match oneclient-*"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
publish-bin:
|
|
||||||
needs: resolve
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
container: fedora:latest
|
|
||||||
steps:
|
|
||||||
- name: Install tooling
|
|
||||||
run: dnf -y install rpm-build rpmdevtools copr-cli bsdtar git
|
|
||||||
|
|
||||||
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
|
|
||||||
|
|
||||||
- name: Prepare spec
|
|
||||||
env:
|
|
||||||
VERSION: ${{ needs.resolve.outputs.version }}
|
|
||||||
run: |
|
|
||||||
SPEC="distribution/copr/oneclient-bin.spec"
|
|
||||||
sed -i "s/^Version:.*/Version: ${VERSION}/" "$SPEC"
|
|
||||||
sed -i "s/^Release:.*/Release: 1%{?dist}/" "$SPEC"
|
|
||||||
|
|
||||||
- name: Build SRPM
|
|
||||||
run: |
|
|
||||||
rpmdev-setuptree
|
|
||||||
spectool -g -R distribution/copr/oneclient-bin.spec
|
|
||||||
rpmbuild -bs distribution/copr/oneclient-bin.spec
|
|
||||||
|
|
||||||
- name: Submit to COPR
|
|
||||||
env:
|
|
||||||
COPR_CONFIG_CONTENT: ${{ secrets.COPR_CONFIG }}
|
|
||||||
run: |
|
|
||||||
mkdir -p ~/.config
|
|
||||||
printf '%s' "$COPR_CONFIG_CONTENT" > ~/.config/copr
|
|
||||||
chmod 600 ~/.config/copr
|
|
||||||
copr-cli build polyfrost/OneClient ~/rpmbuild/SRPMS/oneclient-bin-*.src.rpm
|
|
||||||
51
.github/workflows/format.yml
vendored
Normal file
51
.github/workflows/format.yml
vendored
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
name: Build and Lint
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
pull_request:
|
||||||
|
types: [opened, synchronize]
|
||||||
|
merge_group:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
es:
|
||||||
|
name: ES Checks
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
timeout-minutes: 7
|
||||||
|
steps:
|
||||||
|
- name: Prepare Target
|
||||||
|
run: echo "PR_FETCH_DEPTH=$(( ${{ github.event.pull_request.commits }} + 1))" >> "${GITHUB_ENV}"
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup Pnpm
|
||||||
|
uses: ./.github/actions/setup-pnpm
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Linting
|
||||||
|
run: pnpm lint:es
|
||||||
|
clippy:
|
||||||
|
name: Rust Checks
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup Rust
|
||||||
|
uses: ./.github/actions/setup-rust
|
||||||
|
with:
|
||||||
|
save-cache: true
|
||||||
|
restore-cache: true
|
||||||
|
|
||||||
|
- name: Setup Packages
|
||||||
|
uses: ./.github/actions/setup-packages
|
||||||
|
|
||||||
|
- name: Run Clippy
|
||||||
|
run: cargo clippy --all-targets --all-features -- -D warnings
|
||||||
324
.github/workflows/oneclient_nightly.yml
vendored
324
.github/workflows/oneclient_nightly.yml
vendored
|
|
@ -1,324 +0,0 @@
|
||||||
name: OneClient Nightly (Unsigned)
|
|
||||||
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [main]
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: oneclient-nightly-${{ github.ref }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
# Nightlies are unsigned test builds, so they do not need the release profile's
|
|
||||||
# whole-program optimization - and that optimization is exactly what makes them
|
|
||||||
# slow. `lto = "fat"` + `codegen-units = 1` force a single-threaded re-optimization
|
|
||||||
# of the entire dependency graph at link time, on every run, which no cache can
|
|
||||||
# ever skip. Thin LTO keeps nearly all of the runtime benefit at a fraction of the
|
|
||||||
# link cost, and 16 codegen units lets the whole compile use every runner core.
|
|
||||||
#
|
|
||||||
# These are cargo's documented profile overrides, so `target/release` stays the
|
|
||||||
# output directory and every path below is unaffected. The shipped release binary
|
|
||||||
# is untouched: oneclient_release.yml still builds the fat-LTO profile from
|
|
||||||
# Cargo.toml. That difference is why the two workflows must not share a cache
|
|
||||||
# namespace - see `cache-namespace` on the Setup Rust step.
|
|
||||||
env:
|
|
||||||
CARGO_PROFILE_RELEASE_LTO: thin
|
|
||||||
CARGO_PROFILE_RELEASE_CODEGEN_UNITS: '16'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- platform: macos-latest
|
|
||||||
target: aarch64-apple-darwin
|
|
||||||
os_key: darwin
|
|
||||||
arch: aarch64
|
|
||||||
formats: app,dmg
|
|
||||||
- platform: macos-latest
|
|
||||||
target: x86_64-apple-darwin
|
|
||||||
os_key: darwin
|
|
||||||
arch: x86_64
|
|
||||||
formats: app,dmg
|
|
||||||
macos_deployment_target: '10.14'
|
|
||||||
- platform: ubuntu-22.04
|
|
||||||
target: ''
|
|
||||||
os_key: linux
|
|
||||||
arch: x86_64
|
|
||||||
formats: deb,appimage
|
|
||||||
- platform: windows-latest
|
|
||||||
target: ''
|
|
||||||
os_key: windows
|
|
||||||
arch: x86_64
|
|
||||||
formats: nsis
|
|
||||||
|
|
||||||
runs-on: ${{ matrix.platform }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
|
|
||||||
|
|
||||||
- name: (macOS) Pin deployment target
|
|
||||||
if: matrix.macos_deployment_target != ''
|
|
||||||
shell: bash
|
|
||||||
run: echo "MACOSX_DEPLOYMENT_TARGET=${{ matrix.macos_deployment_target }}" >> "$GITHUB_ENV"
|
|
||||||
|
|
||||||
- name: Setup Rust
|
|
||||||
uses: ./.github/actions/setup-rust
|
|
||||||
with:
|
|
||||||
target: ${{ matrix.target }}
|
|
||||||
save-cache: true
|
|
||||||
restore-cache: true
|
|
||||||
# Separate namespace: nightly's thin-LTO dependency artifacts have
|
|
||||||
# different cargo fingerprints than the release workflow's fat-LTO ones,
|
|
||||||
# so a shared cache would just thrash between the two.
|
|
||||||
cache-namespace: nightly-cache
|
|
||||||
|
|
||||||
- name: (Linux) Install system dependencies
|
|
||||||
if: matrix.platform == 'ubuntu-22.04'
|
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y --no-install-recommends \
|
|
||||||
build-essential cmake pkg-config clang python3 \
|
|
||||||
libfontconfig-dev libfreetype-dev \
|
|
||||||
libgl1-mesa-dev libx11-dev libxcursor-dev libxi-dev libxrandr-dev \
|
|
||||||
libxkbcommon-dev libxkbcommon-x11-dev libwayland-dev libdbus-1-dev \
|
|
||||||
libgtk-3-dev libayatana-appindicator3-dev \
|
|
||||||
libfuse2
|
|
||||||
|
|
||||||
- name: Install cargo-packager
|
|
||||||
uses: ./.github/actions/install-cargo-tool
|
|
||||||
with:
|
|
||||||
tool: cargo-packager
|
|
||||||
version: 0.11.8
|
|
||||||
|
|
||||||
- name: Build release binary
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
if [ -n "${{ matrix.target }}" ]; then
|
|
||||||
cargo build --release --bin oneclient_app --target ${{ matrix.target }}
|
|
||||||
else
|
|
||||||
cargo build --release --bin oneclient_app
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: (macOS) Verify deployment target
|
|
||||||
if: matrix.macos_deployment_target != ''
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
set -euo pipefail
|
|
||||||
bin="target/${{ matrix.target }}/release/oneclient_app"
|
|
||||||
minos="$(vtool -show-build "$bin" | awk '/minos/ {print $2; exit}')"
|
|
||||||
echo "linked minos=$minos, declared minimum=${{ matrix.macos_deployment_target }}"
|
|
||||||
if [ "$(printf '%s\n%s\n' "$minos" "${{ matrix.macos_deployment_target }}" | sort -V | tail -n1)" != "${{ matrix.macos_deployment_target }}" ]; then
|
|
||||||
echo "::error::Binary requires macOS $minos but the bundle advertises ${{ matrix.macos_deployment_target }}."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: (macOS) Compile app icon catalog
|
|
||||||
if: startsWith(matrix.platform, 'macos')
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
set -euo pipefail
|
|
||||||
out="packages/oneclient_app/icons/generated"
|
|
||||||
mkdir -p "$out"
|
|
||||||
xcrun actool packages/oneclient_app/icons/OneClient.icon \
|
|
||||||
--compile "$out" \
|
|
||||||
--app-icon OneClient \
|
|
||||||
--output-partial-info-plist "$out/partial.plist" \
|
|
||||||
--platform macosx \
|
|
||||||
--minimum-deployment-target 26.0 \
|
|
||||||
--errors --warnings --notices
|
|
||||||
rm -f "$out/OneClient.icns"
|
|
||||||
test -f "$out/Assets.car" || { echo "::error::actool produced no Assets.car"; exit 1; }
|
|
||||||
|
|
||||||
- name: (Windows) Stage app-local VC++ runtime
|
|
||||||
if: matrix.platform == 'windows-latest'
|
|
||||||
shell: bash
|
|
||||||
run: python3 distribution/windows/bundle-crt.py
|
|
||||||
|
|
||||||
- name: (Windows) Verify staged runtime is Microsoft-signed
|
|
||||||
if: matrix.platform == 'windows-latest'
|
|
||||||
shell: pwsh
|
|
||||||
run: |
|
|
||||||
$dlls = @(Get-ChildItem 'target/crt/*.dll')
|
|
||||||
if ($dlls.Count -eq 0) { Write-Error 'no CRT DLLs staged'; exit 1 }
|
|
||||||
foreach ($dll in $dlls) {
|
|
||||||
$sig = Get-AuthenticodeSignature $dll.FullName
|
|
||||||
Write-Host "$($dll.Name): $($sig.Status) $($sig.SignerCertificate.Subject)"
|
|
||||||
if ($sig.Status -ne 'Valid') {
|
|
||||||
Write-Error "$($dll.Name) signature is $($sig.Status), refusing to ship it"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
if ($sig.SignerCertificate.Subject -notmatch 'O=Microsoft Corporation') {
|
|
||||||
Write-Error "$($dll.Name) is not signed by Microsoft"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- name: Package (unsigned)
|
|
||||||
shell: bash
|
|
||||||
env:
|
|
||||||
CI: 'true'
|
|
||||||
run: |
|
|
||||||
ARGS="--release --formats ${{ matrix.formats }}"
|
|
||||||
if [ -n "${{ matrix.target }}" ]; then
|
|
||||||
ARGS="$ARGS --target ${{ matrix.target }}"
|
|
||||||
fi
|
|
||||||
cargo packager $ARGS --verbose
|
|
||||||
|
|
||||||
- name: Resolve packager output dir
|
|
||||||
id: outdir
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
if [ -n "${{ matrix.target }}" ]; then
|
|
||||||
echo "dir=target/${{ matrix.target }}/release" >> "$GITHUB_OUTPUT"
|
|
||||||
else
|
|
||||||
echo "dir=target/release" >> "$GITHUB_OUTPUT"
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: (Linux) Install cargo-generate-rpm
|
|
||||||
if: matrix.platform == 'ubuntu-22.04'
|
|
||||||
uses: ./.github/actions/install-cargo-tool
|
|
||||||
with:
|
|
||||||
tool: cargo-generate-rpm
|
|
||||||
version: 0.21.0
|
|
||||||
|
|
||||||
- name: (Linux) Build RPM
|
|
||||||
if: matrix.platform == 'ubuntu-22.04'
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
set -euo pipefail
|
|
||||||
cp target/release/.cargo-packager/deb/*/data/usr/share/applications/oneclient_app.desktop \
|
|
||||||
target/release/oneclient_app.desktop
|
|
||||||
cargo generate-rpm -p packages/oneclient_app
|
|
||||||
cp target/generate-rpm/*.rpm "${{ steps.outdir.outputs.dir }}/"
|
|
||||||
|
|
||||||
- name: (Windows) Smoke-test installer layout
|
|
||||||
if: matrix.platform == 'windows-latest'
|
|
||||||
shell: pwsh
|
|
||||||
run: |
|
|
||||||
$ErrorActionPreference = 'Stop'
|
|
||||||
$dest = 'C:\oneclient-smoke'
|
|
||||||
Remove-Item -Recurse -Force $dest -ErrorAction SilentlyContinue
|
|
||||||
$exe = Resolve-Path (Get-ChildItem '${{ steps.outdir.outputs.dir }}/*-setup.exe')[0].FullName
|
|
||||||
# NSIS: /S is silent, /D= sets the install dir and must be the last arg.
|
|
||||||
$p = Start-Process -FilePath $exe -ArgumentList '/S', "/D=$dest" -Wait -PassThru
|
|
||||||
if ($p.ExitCode -ne 0) { Write-Error "installer exited $($p.ExitCode)"; exit 1 }
|
|
||||||
|
|
||||||
Write-Host '--- installed layout ---'
|
|
||||||
Get-ChildItem -Recurse $dest | ForEach-Object { Write-Host $_.FullName }
|
|
||||||
|
|
||||||
if (-not (Test-Path "$dest\oneclient_app.exe")) {
|
|
||||||
Write-Error "oneclient_app.exe is not at the root of $dest"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
foreach ($dll in @(Get-ChildItem 'target/crt/*.dll')) {
|
|
||||||
if (-not (Test-Path (Join-Path $dest $dll.Name))) {
|
|
||||||
Write-Error "$($dll.Name) did not land beside oneclient_app.exe - cargo-packager put resources elsewhere, so app-local CRT loading will not work"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Write-Host "OK: $($(Get-ChildItem 'target/crt/*.dll').Count) CRT DLLs sit beside oneclient_app.exe"
|
|
||||||
|
|
||||||
# Upload debug info (dSYM / .dwp / .pdb produced by the release profile's
|
|
||||||
# split-debuginfo) to Sentry so nightly crash reports get real file/function/
|
|
||||||
# line stack traces instead of raw addresses. Runs on every main push, so
|
|
||||||
# each unique build's symbols land in Sentry (matched by debug-id). Skips
|
|
||||||
# silently unless SENTRY_AUTH_TOKEN secret + SENTRY_ORG/SENTRY_PROJECT vars
|
|
||||||
# are configured.
|
|
||||||
- name: Upload debug symbols to Sentry
|
|
||||||
shell: bash
|
|
||||||
env:
|
|
||||||
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
|
||||||
SENTRY_ORG: ${{ vars.SENTRY_ORG }}
|
|
||||||
SENTRY_PROJECT: ${{ vars.SENTRY_PROJECT }}
|
|
||||||
OUT_DIR: ${{ steps.outdir.outputs.dir }}
|
|
||||||
run: |
|
|
||||||
set -euo pipefail
|
|
||||||
if [ -z "${SENTRY_AUTH_TOKEN:-}" ] || [ -z "${SENTRY_ORG:-}" ] || [ -z "${SENTRY_PROJECT:-}" ]; then
|
|
||||||
echo "Sentry credentials not configured (need SENTRY_AUTH_TOKEN secret + SENTRY_ORG/SENTRY_PROJECT vars); skipping debug-symbol upload."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
curl -sL https://sentry.io/get-cli/ | bash
|
|
||||||
export PATH="/usr/local/bin:$PATH"
|
|
||||||
SYMS="$(mktemp -d)"
|
|
||||||
shopt -s nullglob
|
|
||||||
for f in "$OUT_DIR"/oneclient_app "$OUT_DIR"/oneclient_app.exe \
|
|
||||||
"$OUT_DIR"/oneclient_app.pdb "$OUT_DIR"/*.dwp "$OUT_DIR"/*.dSYM; do
|
|
||||||
[ -e "$f" ] || continue
|
|
||||||
cp -R "$f" "$SYMS/"
|
|
||||||
done
|
|
||||||
sentry-cli debug-files upload --include-sources "$SYMS"
|
|
||||||
|
|
||||||
- name: Collect installers
|
|
||||||
id: collect
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
set -euo pipefail
|
|
||||||
shopt -s nullglob
|
|
||||||
mkdir -p dist
|
|
||||||
# Human-facing installers only; skip the .sig-paired updater bundles
|
|
||||||
# (no updater manifest is produced for unsigned nightly builds).
|
|
||||||
for f in "${{ steps.outdir.outputs.dir }}"/*.dmg \
|
|
||||||
"${{ steps.outdir.outputs.dir }}"/*.deb \
|
|
||||||
"${{ steps.outdir.outputs.dir }}"/*.rpm \
|
|
||||||
"${{ steps.outdir.outputs.dir }}"/*.AppImage; do
|
|
||||||
[ -e "$f" ] || continue
|
|
||||||
cp "$f" dist/
|
|
||||||
done
|
|
||||||
# Raw executable, renamed per platform so the unzipped uploads don't collide.
|
|
||||||
bin="${{ steps.outdir.outputs.dir }}/oneclient_app"
|
|
||||||
ext=""
|
|
||||||
[ -e "$bin.exe" ] && ext=".exe"
|
|
||||||
cp "$bin$ext" "dist/oneclient_app-${{ matrix.os_key }}-${{ matrix.arch }}$ext"
|
|
||||||
if [ -z "$(ls -A dist)" ]; then
|
|
||||||
echo "::error::No installers found in ${{ steps.outdir.outputs.dir }}"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
ls -la dist
|
|
||||||
|
|
||||||
- name: Upload unsigned executable
|
|
||||||
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
||||||
with:
|
|
||||||
path: dist/oneclient_app-${{ matrix.os_key }}-${{ matrix.arch }}*
|
|
||||||
archive: false
|
|
||||||
if-no-files-found: error
|
|
||||||
retention-days: 14
|
|
||||||
|
|
||||||
- name: (macOS) Upload unsigned dmg
|
|
||||||
if: matrix.os_key == 'darwin'
|
|
||||||
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
||||||
with:
|
|
||||||
path: dist/*.dmg
|
|
||||||
archive: false
|
|
||||||
if-no-files-found: error
|
|
||||||
retention-days: 14
|
|
||||||
|
|
||||||
- name: (Linux) Upload unsigned deb
|
|
||||||
if: matrix.os_key == 'linux'
|
|
||||||
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
||||||
with:
|
|
||||||
path: dist/*.deb
|
|
||||||
archive: false
|
|
||||||
if-no-files-found: error
|
|
||||||
retention-days: 14
|
|
||||||
|
|
||||||
- name: (Linux) Upload unsigned rpm
|
|
||||||
if: matrix.os_key == 'linux'
|
|
||||||
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
||||||
with:
|
|
||||||
path: dist/*.rpm
|
|
||||||
archive: false
|
|
||||||
if-no-files-found: error
|
|
||||||
retention-days: 14
|
|
||||||
|
|
||||||
- name: (Linux) Upload unsigned AppImage
|
|
||||||
if: matrix.os_key == 'linux'
|
|
||||||
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
||||||
with:
|
|
||||||
path: dist/*.AppImage
|
|
||||||
archive: false
|
|
||||||
if-no-files-found: error
|
|
||||||
retention-days: 14
|
|
||||||
609
.github/workflows/oneclient_release.yml
vendored
609
.github/workflows/oneclient_release.yml
vendored
|
|
@ -1,612 +1,55 @@
|
||||||
name: OneClient Release Build
|
name: OneClient Release Build
|
||||||
|
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
# NOTE: CARGO_PACKAGER_SIGN_PRIVATE_KEY* are deliberately NOT declared at
|
|
||||||
# workflow level. Swatinem/rust-cache folds every `CARGO*`-prefixed environment
|
|
||||||
# variable into its cache key, so a workflow-level declaration gave this workflow
|
|
||||||
# a cache namespace that the nightly workflow could never populate - every
|
|
||||||
# release built the whole dependency graph from scratch. They are scoped to the
|
|
||||||
# individual steps that actually need them instead.
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: oneclient-release
|
|
||||||
cancel-in-progress: false
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
prepare:
|
publish-tauri:
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
outputs:
|
|
||||||
version: ${{ steps.version.outputs.version }}
|
|
||||||
tag: ${{ steps.version.outputs.tag }}
|
|
||||||
sha: ${{ steps.version.outputs.sha }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
|
|
||||||
with:
|
|
||||||
# Knope finds the commit (and so the PR author) that added each change file
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Setup Rust
|
|
||||||
uses: ./.github/actions/setup-rust
|
|
||||||
with:
|
|
||||||
restore-cache: false
|
|
||||||
|
|
||||||
- name: Install Knope
|
|
||||||
uses: ./.github/actions/install-cargo-tool
|
|
||||||
with:
|
|
||||||
tool: knope
|
|
||||||
version: 0.23.0
|
|
||||||
|
|
||||||
- name: Consume changesets
|
|
||||||
id: version
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
read_version() {
|
|
||||||
sed -n -E '/^\[workspace\.package\]/,/^\[/ s/^version[[:space:]]*=[[:space:]]*"([^"]+)".*/\1/p' Cargo.toml | head -n1
|
|
||||||
}
|
|
||||||
|
|
||||||
# No change files means a re-run of a release whose version commit
|
|
||||||
# already landed, so carry on with the current version.
|
|
||||||
RELEASED=0
|
|
||||||
if compgen -G ".changeset/*.md" > /dev/null; then
|
|
||||||
knope prepare-release
|
|
||||||
cargo update --workspace --offline || cargo update --workspace
|
|
||||||
RELEASED=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
VERSION="$(read_version)"
|
|
||||||
if [ -z "$VERSION" ]; then
|
|
||||||
echo "::error::Could not read version from [workspace.package] in Cargo.toml"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
TAG="oneclient-$VERSION"
|
|
||||||
echo "Releasing OneClient $VERSION"
|
|
||||||
|
|
||||||
# Abort rather than clobber: a published release (or an existing tag,
|
|
||||||
# which only appears once a release is published) means this version
|
|
||||||
# already shipped. A *draft* is a previous failed/partial run of this
|
|
||||||
# same workflow, so reuse it.
|
|
||||||
if git ls-remote --exit-code --tags origin "refs/tags/$TAG" >/dev/null 2>&1; then
|
|
||||||
echo "::error::Tag $TAG already exists on origin - OneClient $VERSION has already been released. Add a change file with \`knope document-change\` first."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
RELEASE_EXISTS=0
|
|
||||||
IS_DRAFT=""
|
|
||||||
if IS_DRAFT="$(gh release view "$TAG" --json isDraft -q .isDraft 2>/dev/null)"; then
|
|
||||||
RELEASE_EXISTS=1
|
|
||||||
fi
|
|
||||||
if [ "$RELEASE_EXISTS" = "1" ] && [ "$IS_DRAFT" != "true" ]; then
|
|
||||||
echo "::error::Release $TAG already exists and is published - refusing to overwrite OneClient $VERSION. Add a change file with \`knope document-change\` first."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Commit only after the guards pass, so a rejected release does not
|
|
||||||
# leave a stray version bump on the branch.
|
|
||||||
if [ "$RELEASED" = "1" ]; then
|
|
||||||
git config user.name "github-actions[bot]"
|
|
||||||
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
||||||
git add -A Cargo.toml Cargo.lock .changeset CHANGELOG.md
|
|
||||||
git commit -m "chore: release $VERSION"
|
|
||||||
git push origin "HEAD:${GITHUB_REF_NAME}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
SHA="$(git rev-parse HEAD)"
|
|
||||||
|
|
||||||
if [ "$RELEASE_EXISTS" = "1" ]; then
|
|
||||||
echo "Reusing existing draft release $TAG"
|
|
||||||
gh release edit "$TAG" --target "$SHA"
|
|
||||||
else
|
|
||||||
# The body is what the launcher's changelog page shows
|
|
||||||
awk -v heading="## $VERSION " '/^## /{p = index($0, heading) == 1; next} p' \
|
|
||||||
CHANGELOG.md > notes.md 2>/dev/null || true
|
|
||||||
if ! grep -q '[^[:space:]]' notes.md; then
|
|
||||||
echo "::error::No changelog entry for $VERSION. Add a change file with \`knope document-change\` first."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
gh release create "$TAG" \
|
|
||||||
--draft \
|
|
||||||
--target "$SHA" \
|
|
||||||
--title "OneClient $VERSION" \
|
|
||||||
--notes-file notes.md
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "tag=$TAG" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "sha=$SHA" >> "$GITHUB_OUTPUT"
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
package:
|
|
||||||
needs: prepare
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
# Required so SignPath can download the uploaded build artifact.
|
|
||||||
actions: read
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- platform: macos-latest
|
- platform: macos-latest # ARM
|
||||||
target: aarch64-apple-darwin
|
args: --target aarch64-apple-darwin
|
||||||
os_key: darwin
|
- platform: macos-latest # Intel
|
||||||
arch: aarch64
|
args: --target x86_64-apple-darwin
|
||||||
formats: app,dmg
|
|
||||||
- platform: macos-latest
|
|
||||||
target: x86_64-apple-darwin
|
|
||||||
os_key: darwin
|
|
||||||
arch: x86_64
|
|
||||||
formats: app,dmg
|
|
||||||
macos_deployment_target: '10.14'
|
|
||||||
- platform: ubuntu-22.04
|
- platform: ubuntu-22.04
|
||||||
target: ''
|
args: ''
|
||||||
os_key: linux
|
|
||||||
arch: x86_64
|
|
||||||
formats: deb,appimage
|
|
||||||
- platform: windows-latest
|
- platform: windows-latest
|
||||||
target: ''
|
args: ''
|
||||||
os_key: windows
|
|
||||||
arch: x86_64
|
|
||||||
formats: nsis
|
|
||||||
|
|
||||||
runs-on: ${{ matrix.platform }}
|
runs-on: ${{ matrix.platform }}
|
||||||
steps:
|
steps:
|
||||||
# Pin to the commit `prepare` resolved - after a release that is the version
|
- uses: actions/checkout@v4
|
||||||
# commit it just pushed, which github.sha would not point at.
|
|
||||||
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
|
|
||||||
with:
|
|
||||||
ref: ${{ needs.prepare.outputs.sha }}
|
|
||||||
|
|
||||||
- name: (macOS) Pin deployment target
|
|
||||||
if: matrix.macos_deployment_target != ''
|
|
||||||
shell: bash
|
|
||||||
run: echo "MACOSX_DEPLOYMENT_TARGET=${{ matrix.macos_deployment_target }}" >> "$GITHUB_ENV"
|
|
||||||
|
|
||||||
- name: Setup Rust
|
- name: Setup Rust
|
||||||
uses: ./.github/actions/setup-rust
|
uses: ./.github/actions/setup-rust
|
||||||
with:
|
with:
|
||||||
target: ${{ matrix.target }}
|
# Those targets are only used on macos runners so it's in an `if` to slightly speed up windows and linux builds.
|
||||||
|
target: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
|
||||||
save-cache: true
|
save-cache: true
|
||||||
restore-cache: true
|
restore-cache: true
|
||||||
|
|
||||||
- name: (Linux) Install system dependencies
|
- name: Add x86_64-apple-darwin target
|
||||||
if: matrix.platform == 'ubuntu-22.04'
|
if: contains(matrix.args, 'x86_64-apple-darwin')
|
||||||
run: |
|
run: rustup target add x86_64-apple-darwin
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y --no-install-recommends \
|
|
||||||
build-essential cmake pkg-config clang python3 \
|
|
||||||
libfontconfig-dev libfreetype-dev \
|
|
||||||
libgl1-mesa-dev libx11-dev libxcursor-dev libxi-dev libxrandr-dev \
|
|
||||||
libxkbcommon-dev libxkbcommon-x11-dev libwayland-dev libdbus-1-dev \
|
|
||||||
libgtk-3-dev libayatana-appindicator3-dev \
|
|
||||||
libfuse2
|
|
||||||
|
|
||||||
- name: Install cargo-packager
|
- name: Setup Packages
|
||||||
uses: ./.github/actions/install-cargo-tool
|
uses: ./.github/actions/setup-packages
|
||||||
with:
|
|
||||||
tool: cargo-packager
|
|
||||||
version: 0.11.8
|
|
||||||
|
|
||||||
- name: Import Apple Developer certificate
|
- uses: tauri-apps/tauri-action@v0
|
||||||
if: startsWith(matrix.platform, 'macos')
|
|
||||||
env:
|
|
||||||
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
|
|
||||||
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
|
|
||||||
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
|
|
||||||
run: |
|
|
||||||
echo "$APPLE_CERTIFICATE" | base64 --decode > certificate.p12
|
|
||||||
security create-keychain -p "$KEYCHAIN_PASSWORD" build.keychain
|
|
||||||
security default-keychain -s build.keychain
|
|
||||||
security unlock-keychain -p "$KEYCHAIN_PASSWORD" build.keychain
|
|
||||||
security set-keychain-settings -t 3600 -u build.keychain
|
|
||||||
security import certificate.p12 -k build.keychain -P "$APPLE_CERTIFICATE_PASSWORD" -T /usr/bin/codesign
|
|
||||||
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$KEYCHAIN_PASSWORD" build.keychain
|
|
||||||
CERT_ID=$(security find-identity -v -p codesigning build.keychain | awk -F'"' '/Developer ID Application/ {print $2; exit}')
|
|
||||||
if [ -z "$CERT_ID" ]; then
|
|
||||||
echo "::error::No Developer ID Application certificate found in keychain."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "APPLE_SIGNING_IDENTITY=$CERT_ID" >> "$GITHUB_ENV"
|
|
||||||
# cargo-packager only codesigns when `signing-identity` is present in the
|
|
||||||
# packager config; it does NOT read APPLE_SIGNING_IDENTITY. Inject it into
|
|
||||||
# the macOS metadata so signing + notarization actually run.
|
|
||||||
CERT_ID="$CERT_ID" python3 - <<'PY'
|
|
||||||
import os, re
|
|
||||||
p = "packages/oneclient_app/Cargo.toml"
|
|
||||||
s = open(p).read()
|
|
||||||
ident = os.environ["CERT_ID"]
|
|
||||||
hdr = "[package.metadata.packager.macos]"
|
|
||||||
assert hdr in s, "macos packager section not found"
|
|
||||||
if "signing-identity" not in s:
|
|
||||||
s = s.replace(hdr, f'{hdr}\nsigning-identity = "{ident}"', 1)
|
|
||||||
open(p, "w").write(s)
|
|
||||||
print(f"signing-identity set to: {ident}")
|
|
||||||
PY
|
|
||||||
|
|
||||||
- name: Build release binary
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
if [ -n "${{ matrix.target }}" ]; then
|
|
||||||
cargo build --release --bin oneclient_app --target ${{ matrix.target }}
|
|
||||||
else
|
|
||||||
cargo build --release --bin oneclient_app
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: (macOS) Verify deployment target
|
|
||||||
if: matrix.macos_deployment_target != ''
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
set -euo pipefail
|
|
||||||
bin="target/${{ matrix.target }}/release/oneclient_app"
|
|
||||||
minos="$(vtool -show-build "$bin" | awk '/minos/ {print $2; exit}')"
|
|
||||||
echo "linked minos=$minos, declared minimum=${{ matrix.macos_deployment_target }}"
|
|
||||||
if [ "$(printf '%s\n%s\n' "$minos" "${{ matrix.macos_deployment_target }}" | sort -V | tail -n1)" != "${{ matrix.macos_deployment_target }}" ]; then
|
|
||||||
echo "::error::Binary requires macOS $minos but the bundle advertises ${{ matrix.macos_deployment_target }}."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: (Windows) Upload unsigned app binary artifact
|
|
||||||
if: matrix.platform == 'windows-latest'
|
|
||||||
id: win_upload_unsigned_bin
|
|
||||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
||||||
with:
|
|
||||||
name: oneclient-windows-binary-unsigned
|
|
||||||
path: target/release/oneclient_app.exe
|
|
||||||
|
|
||||||
- name: (Windows) Submit SignPath signing request for app binary
|
|
||||||
if: matrix.platform == 'windows-latest'
|
|
||||||
uses: signpath/github-action-submit-signing-request@ced31329c0317e779dad2eec2a7c3bb46ea1343e # v1.3
|
|
||||||
with:
|
|
||||||
api-token: ${{ secrets.SIGNPATH_API_TOKEN }}
|
|
||||||
organization-id: ${{ secrets.SIGNPATH_ORGANIZATION_ID }}
|
|
||||||
project-slug: onelauncher
|
|
||||||
signing-policy-slug: release-signing
|
|
||||||
artifact-configuration-slug: onelauncher-binary
|
|
||||||
github-artifact-id: ${{ steps.win_upload_unsigned_bin.outputs.artifact-id }}
|
|
||||||
wait-for-completion: true
|
|
||||||
output-artifact-directory: signed-bin
|
|
||||||
|
|
||||||
- name: (Windows) Swap in signed app binary
|
|
||||||
if: matrix.platform == 'windows-latest'
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
set -euo pipefail
|
|
||||||
signed="signed-bin/oneclient_app.exe"
|
|
||||||
if [ ! -e "$signed" ]; then
|
|
||||||
echo "::error::SignPath did not return signed-bin/oneclient_app.exe"
|
|
||||||
ls -R signed-bin || true
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
cp "$signed" target/release/oneclient_app.exe
|
|
||||||
|
|
||||||
- name: (Windows) Verify app binary is signed
|
|
||||||
if: matrix.platform == 'windows-latest'
|
|
||||||
shell: pwsh
|
|
||||||
run: |
|
|
||||||
$sig = Get-AuthenticodeSignature 'target/release/oneclient_app.exe'
|
|
||||||
Write-Host "Authenticode status: $($sig.Status)"
|
|
||||||
Write-Host "Signer: $($sig.SignerCertificate.Subject)"
|
|
||||||
if ($sig.Status -eq 'NotSigned') {
|
|
||||||
Write-Error 'oneclient_app.exe carries no Authenticode signature'
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
- name: (macOS) Compile app icon catalog
|
|
||||||
if: startsWith(matrix.platform, 'macos')
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
set -euo pipefail
|
|
||||||
out="packages/oneclient_app/icons/generated"
|
|
||||||
mkdir -p "$out"
|
|
||||||
xcrun actool packages/oneclient_app/icons/OneClient.icon \
|
|
||||||
--compile "$out" \
|
|
||||||
--app-icon OneClient \
|
|
||||||
--output-partial-info-plist "$out/partial.plist" \
|
|
||||||
--platform macosx \
|
|
||||||
--minimum-deployment-target 26.0 \
|
|
||||||
--errors --warnings --notices
|
|
||||||
rm -f "$out/OneClient.icns"
|
|
||||||
test -f "$out/Assets.car" || { echo "::error::actool produced no Assets.car"; exit 1; }
|
|
||||||
|
|
||||||
- name: (Windows) Stage app-local VC++ runtime
|
|
||||||
if: matrix.platform == 'windows-latest'
|
|
||||||
shell: bash
|
|
||||||
run: python3 distribution/windows/bundle-crt.py
|
|
||||||
|
|
||||||
- name: (Windows) Verify staged runtime is Microsoft-signed
|
|
||||||
if: matrix.platform == 'windows-latest'
|
|
||||||
shell: pwsh
|
|
||||||
run: |
|
|
||||||
$dlls = @(Get-ChildItem 'target/crt/*.dll')
|
|
||||||
if ($dlls.Count -eq 0) { Write-Error 'no CRT DLLs staged'; exit 1 }
|
|
||||||
foreach ($dll in $dlls) {
|
|
||||||
$sig = Get-AuthenticodeSignature $dll.FullName
|
|
||||||
Write-Host "$($dll.Name): $($sig.Status) $($sig.SignerCertificate.Subject)"
|
|
||||||
if ($sig.Status -ne 'Valid') {
|
|
||||||
Write-Error "$($dll.Name) signature is $($sig.Status), refusing to ship it"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
if ($sig.SignerCertificate.Subject -notmatch 'O=Microsoft Corporation') {
|
|
||||||
Write-Error "$($dll.Name) is not signed by Microsoft"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- name: Package
|
|
||||||
shell: bash
|
|
||||||
env:
|
|
||||||
APPLE_ID: ${{ secrets.APPLE_ID }}
|
|
||||||
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
|
|
||||||
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
|
|
||||||
CI: ${{ startsWith(matrix.platform, 'macos') && 'false' || 'true' }}
|
|
||||||
CARGO_PACKAGER_SIGN_PRIVATE_KEY: ${{ secrets.CARGO_PACKAGER_SIGN_PRIVATE_KEY }}
|
|
||||||
CARGO_PACKAGER_SIGN_PRIVATE_KEY_PASSWORD: ${{ secrets.CARGO_PACKAGER_SIGN_PRIVATE_KEY_PASSWORD }}
|
|
||||||
run: |
|
|
||||||
ARGS="--release --formats ${{ matrix.formats }}"
|
|
||||||
if [ -n "${{ matrix.target }}" ]; then
|
|
||||||
ARGS="$ARGS --target ${{ matrix.target }}"
|
|
||||||
fi
|
|
||||||
cargo packager $ARGS --verbose
|
|
||||||
|
|
||||||
- name: Resolve packager output dir
|
|
||||||
id: outdir
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
if [ -n "${{ matrix.target }}" ]; then
|
|
||||||
echo "dir=target/${{ matrix.target }}/release" >> "$GITHUB_OUTPUT"
|
|
||||||
else
|
|
||||||
echo "dir=target/release" >> "$GITHUB_OUTPUT"
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: (Linux) Install cargo-generate-rpm
|
|
||||||
if: matrix.platform == 'ubuntu-22.04'
|
|
||||||
uses: ./.github/actions/install-cargo-tool
|
|
||||||
with:
|
|
||||||
tool: cargo-generate-rpm
|
|
||||||
version: 0.21.0
|
|
||||||
|
|
||||||
- name: (Linux) Build RPM
|
|
||||||
if: matrix.platform == 'ubuntu-22.04'
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
set -euo pipefail
|
|
||||||
cp target/release/.cargo-packager/deb/*/data/usr/share/applications/oneclient_app.desktop \
|
|
||||||
target/release/oneclient_app.desktop
|
|
||||||
cargo generate-rpm -p packages/oneclient_app
|
|
||||||
cp target/generate-rpm/*.rpm "${{ steps.outdir.outputs.dir }}/"
|
|
||||||
|
|
||||||
# Upload debug info (dSYM / .dwp / .pdb produced by the release profile's
|
|
||||||
# split-debuginfo) to Sentry so crash reports get real file/function/line
|
|
||||||
# stack traces instead of raw addresses. Skips silently unless the repo has
|
|
||||||
# a SENTRY_AUTH_TOKEN secret plus SENTRY_ORG / SENTRY_PROJECT variables.
|
|
||||||
- name: Upload debug symbols to Sentry
|
|
||||||
shell: bash
|
|
||||||
env:
|
|
||||||
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
|
||||||
SENTRY_ORG: ${{ vars.SENTRY_ORG }}
|
|
||||||
SENTRY_PROJECT: ${{ vars.SENTRY_PROJECT }}
|
|
||||||
OUT_DIR: ${{ steps.outdir.outputs.dir }}
|
|
||||||
run: |
|
|
||||||
set -euo pipefail
|
|
||||||
if [ -z "${SENTRY_AUTH_TOKEN:-}" ] || [ -z "${SENTRY_ORG:-}" ] || [ -z "${SENTRY_PROJECT:-}" ]; then
|
|
||||||
echo "Sentry credentials not configured (need SENTRY_AUTH_TOKEN secret + SENTRY_ORG/SENTRY_PROJECT vars); skipping debug-symbol upload."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
curl -sL https://sentry.io/get-cli/ | bash
|
|
||||||
export PATH="/usr/local/bin:$PATH"
|
|
||||||
SYMS="$(mktemp -d)"
|
|
||||||
shopt -s nullglob
|
|
||||||
for f in "$OUT_DIR"/oneclient_app "$OUT_DIR"/oneclient_app.exe \
|
|
||||||
"$OUT_DIR"/oneclient_app.pdb "$OUT_DIR"/*.dwp "$OUT_DIR"/*.dSYM; do
|
|
||||||
[ -e "$f" ] || continue
|
|
||||||
cp -R "$f" "$SYMS/"
|
|
||||||
done
|
|
||||||
sentry-cli debug-files upload --include-sources "$SYMS"
|
|
||||||
|
|
||||||
- name: (Windows) Locate installer
|
|
||||||
if: matrix.platform == 'windows-latest'
|
|
||||||
id: win_installer
|
|
||||||
shell: bash
|
|
||||||
run: echo "path=$(ls ${{ steps.outdir.outputs.dir }}/*-setup.exe | head -n1)" >> "$GITHUB_OUTPUT"
|
|
||||||
|
|
||||||
- name: (Windows) Smoke-test installer layout
|
|
||||||
if: matrix.platform == 'windows-latest'
|
|
||||||
shell: pwsh
|
|
||||||
run: |
|
|
||||||
$ErrorActionPreference = 'Stop'
|
|
||||||
$dest = 'C:\oneclient-smoke'
|
|
||||||
Remove-Item -Recurse -Force $dest -ErrorAction SilentlyContinue
|
|
||||||
$exe = Resolve-Path '${{ steps.win_installer.outputs.path }}'
|
|
||||||
# NSIS: /S is silent, /D= sets the install dir and must be the last arg.
|
|
||||||
$p = Start-Process -FilePath $exe -ArgumentList '/S', "/D=$dest" -Wait -PassThru
|
|
||||||
if ($p.ExitCode -ne 0) { Write-Error "installer exited $($p.ExitCode)"; exit 1 }
|
|
||||||
|
|
||||||
Write-Host '--- installed layout ---'
|
|
||||||
Get-ChildItem -Recurse $dest | ForEach-Object { Write-Host $_.FullName }
|
|
||||||
|
|
||||||
if (-not (Test-Path "$dest\oneclient_app.exe")) {
|
|
||||||
Write-Error "oneclient_app.exe is not at the root of $dest"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
foreach ($dll in @(Get-ChildItem 'target/crt/*.dll')) {
|
|
||||||
if (-not (Test-Path (Join-Path $dest $dll.Name))) {
|
|
||||||
Write-Error "$($dll.Name) did not land beside oneclient_app.exe - cargo-packager put resources elsewhere, so app-local CRT loading will not work"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Write-Host "OK: $($(Get-ChildItem 'target/crt/*.dll').Count) CRT DLLs sit beside oneclient_app.exe"
|
|
||||||
|
|
||||||
- name: (Windows) Upload unsigned installer artifact
|
|
||||||
if: matrix.platform == 'windows-latest'
|
|
||||||
id: win_upload_unsigned
|
|
||||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
||||||
with:
|
|
||||||
name: oneclient-windows-installer-unsigned
|
|
||||||
path: ${{ steps.win_installer.outputs.path }}
|
|
||||||
|
|
||||||
- name: (Windows) Submit SignPath signing request
|
|
||||||
if: matrix.platform == 'windows-latest'
|
|
||||||
uses: signpath/github-action-submit-signing-request@ced31329c0317e779dad2eec2a7c3bb46ea1343e # v1.3
|
|
||||||
with:
|
|
||||||
api-token: ${{ secrets.SIGNPATH_API_TOKEN }}
|
|
||||||
organization-id: ${{ secrets.SIGNPATH_ORGANIZATION_ID }}
|
|
||||||
project-slug: onelauncher
|
|
||||||
signing-policy-slug: release-signing
|
|
||||||
artifact-configuration-slug: onelauncher-installer
|
|
||||||
github-artifact-id: ${{ steps.win_upload_unsigned.outputs.artifact-id }}
|
|
||||||
wait-for-completion: true
|
|
||||||
output-artifact-directory: signed
|
|
||||||
|
|
||||||
- name: (Windows) Replace installer with signed one + recompute updater sig
|
|
||||||
if: matrix.platform == 'windows-latest'
|
|
||||||
shell: bash
|
|
||||||
env:
|
|
||||||
CARGO_PACKAGER_SIGN_PRIVATE_KEY: ${{ secrets.CARGO_PACKAGER_SIGN_PRIVATE_KEY }}
|
|
||||||
CARGO_PACKAGER_SIGN_PRIVATE_KEY_PASSWORD: ${{ secrets.CARGO_PACKAGER_SIGN_PRIVATE_KEY_PASSWORD }}
|
|
||||||
run: |
|
|
||||||
signed="$(ls signed/*-setup.exe | head -n1)"
|
|
||||||
# Overwrite the unsigned installer in the packager out dir with the signed exe.
|
|
||||||
cp "$signed" "${{ steps.win_installer.outputs.path }}"
|
|
||||||
# Recompute the updater signature over the SIGNED exe.
|
|
||||||
cargo packager signer sign \
|
|
||||||
--private-key "$CARGO_PACKAGER_SIGN_PRIVATE_KEY" \
|
|
||||||
--password "$CARGO_PACKAGER_SIGN_PRIVATE_KEY_PASSWORD" \
|
|
||||||
"${{ steps.win_installer.outputs.path }}"
|
|
||||||
|
|
||||||
- name: Upload installers and build manifest fragment
|
|
||||||
shell: bash
|
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
TAG: ${{ needs.prepare.outputs.tag }}
|
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
|
||||||
OUT_DIR: ${{ steps.outdir.outputs.dir }}
|
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
|
||||||
OS_KEY: ${{ matrix.os_key }}
|
|
||||||
ARCH: ${{ matrix.arch }}
|
|
||||||
VERSION: ${{ needs.prepare.outputs.version }}
|
|
||||||
run: |
|
|
||||||
set -euo pipefail
|
|
||||||
shopt -s nullglob
|
|
||||||
|
|
||||||
# Identify the single updater artifact for this platform (the file with a
|
|
||||||
# sibling .sig): -setup.exe (nsis), *.app.tar.gz (app), *.AppImage (appimage).
|
|
||||||
# NOTE: nullglob is on, so an unmatched glob expands to nothing. Use arrays
|
|
||||||
# rather than `ls <glob> | head` - the latter falls back to listing the cwd
|
|
||||||
# when nothing matches, silently picking an unrelated file.
|
|
||||||
fmt=""; ext=""; matches=()
|
|
||||||
case "$OS_KEY" in
|
|
||||||
windows) matches=("$OUT_DIR"/*-setup.exe); fmt="nsis"; ext="exe" ;;
|
|
||||||
darwin) matches=("$OUT_DIR"/*.app.tar.gz); fmt="app"; ext="app.tar.gz" ;;
|
|
||||||
linux) matches=("$OUT_DIR"/*.AppImage); fmt="appimage"; ext="AppImage" ;;
|
|
||||||
esac
|
|
||||||
updater_file="${matches[0]:-}"
|
|
||||||
if [ -z "$updater_file" ]; then
|
|
||||||
echo "::error::No updater artifact found in $OUT_DIR for $OS_KEY"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# The updater bundle isn't always arch-tagged by cargo-packager, so the two
|
|
||||||
# macOS legs would collide on the release. Rename the updater artifact + its .sig
|
|
||||||
# to an arch-unique name before upload, and point the manifest at that name.
|
|
||||||
unique="OneClient_${VERSION}_${OS_KEY}_${ARCH}.${ext}"
|
|
||||||
cp "$updater_file" "$OUT_DIR/$unique"
|
|
||||||
cp "$updater_file.sig" "$OUT_DIR/$unique.sig"
|
|
||||||
|
|
||||||
# cargo-packager names the .deb after the binary (oneclient_app_<ver>_amd64.deb).
|
|
||||||
# Rename it to the same OneClient_<ver>_<os>_<arch> scheme as the other assets so
|
|
||||||
# the AUR oneclient-bin package can point at a stable, predictable URL.
|
|
||||||
deb_unique=""
|
|
||||||
deb_matches=("$OUT_DIR"/*.deb)
|
|
||||||
if [ -e "${deb_matches[0]:-}" ]; then
|
|
||||||
deb_unique="OneClient_${VERSION}_${OS_KEY}_${ARCH}.deb"
|
|
||||||
cp "${deb_matches[0]}" "$OUT_DIR/$deb_unique"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Same treatment for the .rpm (cargo-generate-rpm names it
|
|
||||||
# oneclient_app-<ver>-1.x86_64.rpm).
|
|
||||||
rpm_unique=""
|
|
||||||
rpm_matches=("$OUT_DIR"/*.rpm)
|
|
||||||
if [ -e "${rpm_matches[0]:-}" ]; then
|
|
||||||
rpm_unique="OneClient_${VERSION}_${OS_KEY}_${ARCH}.rpm"
|
|
||||||
cp "${rpm_matches[0]}" "$OUT_DIR/$rpm_unique"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Upload human-facing installers (dmg/renamed deb/renamed rpm/AppImage/signed exe) +
|
|
||||||
# the renamed updater bundle and its .sig. Skip the un-renamed updater bundle to avoid clashes.
|
|
||||||
for f in "$OUT_DIR"/*.dmg ${deb_unique:+"$OUT_DIR/$deb_unique"} ${rpm_unique:+"$OUT_DIR/$rpm_unique"} "$OUT_DIR"/*.AppImage "$OUT_DIR"/*-setup.exe "$OUT_DIR/$unique" "$OUT_DIR/$unique.sig"; do
|
|
||||||
[ -e "$f" ] || continue
|
|
||||||
gh release upload "$TAG" "$f" --clobber
|
|
||||||
done
|
|
||||||
|
|
||||||
base="$unique"
|
|
||||||
mkdir -p fragments
|
|
||||||
case "$OS_KEY" in
|
|
||||||
darwin) KEYS="darwin-${ARCH} macos-${ARCH}" ;;
|
|
||||||
*) KEYS="${OS_KEY}-${ARCH}" ;;
|
|
||||||
esac
|
|
||||||
SIG="$(cat "$updater_file.sig")" \
|
|
||||||
URL="https://github.com/${GITHUB_REPOSITORY}/releases/download/${TAG}/${base}" \
|
|
||||||
FMT="$fmt" \
|
|
||||||
KEYS="$KEYS" \
|
|
||||||
FRAG_NAME="${OS_KEY}-${ARCH}" \
|
|
||||||
python3 - <<'PY'
|
|
||||||
import json, os
|
|
||||||
entry = {
|
|
||||||
"signature": os.environ["SIG"],
|
|
||||||
"url": os.environ["URL"],
|
|
||||||
"format": os.environ["FMT"],
|
|
||||||
}
|
|
||||||
frag = {key: entry for key in os.environ["KEYS"].split()}
|
|
||||||
with open(f"fragments/{os.environ['FRAG_NAME']}.json", "w") as f:
|
|
||||||
json.dump(frag, f)
|
|
||||||
PY
|
|
||||||
|
|
||||||
- name: Upload manifest fragment
|
|
||||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
||||||
with:
|
with:
|
||||||
name: manifest-${{ matrix.os_key }}-${{ matrix.arch }}
|
tagName: oneclient-__VERSION__
|
||||||
path: fragments/*.json
|
releaseName: OneClient __VERSION__
|
||||||
|
releaseDraft: true
|
||||||
manifest:
|
prerelease: ${{ startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '-alpha') || false }}
|
||||||
needs: [prepare, package]
|
tauriScript: pnpm -w oneclient:desktop
|
||||||
runs-on: ubuntu-latest
|
args: ${{ matrix.args }}
|
||||||
permissions:
|
projectPath: ./apps/oneclient/desktop/
|
||||||
contents: write
|
uploadUpdaterJson: true
|
||||||
steps:
|
|
||||||
- name: Download all manifest fragments
|
|
||||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
|
||||||
with:
|
|
||||||
pattern: manifest-*
|
|
||||||
path: fragments
|
|
||||||
merge-multiple: true
|
|
||||||
|
|
||||||
- name: Assemble latest.json
|
|
||||||
env:
|
|
||||||
VERSION: ${{ needs.prepare.outputs.version }}
|
|
||||||
run: |
|
|
||||||
python3 - <<'PY'
|
|
||||||
import json, glob, os, datetime
|
|
||||||
platforms = {}
|
|
||||||
for path in glob.glob("fragments/*.json"):
|
|
||||||
with open(path) as f:
|
|
||||||
platforms.update(json.load(f))
|
|
||||||
manifest = {
|
|
||||||
"version": os.environ["VERSION"],
|
|
||||||
"pub_date": datetime.datetime.now(datetime.timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ"),
|
|
||||||
"platforms": platforms,
|
|
||||||
}
|
|
||||||
with open("latest.json", "w") as f:
|
|
||||||
json.dump(manifest, f, indent=2)
|
|
||||||
print(json.dumps(manifest, indent=2))
|
|
||||||
PY
|
|
||||||
|
|
||||||
- name: Upload latest.json to release
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
TAG: ${{ needs.prepare.outputs.tag }}
|
|
||||||
run: gh release upload "$TAG" latest.json --clobber --repo "$GITHUB_REPOSITORY"
|
|
||||||
|
|
|
||||||
48
.github/workflows/onelauncher_release.yml
vendored
Normal file
48
.github/workflows/onelauncher_release.yml
vendored
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
name: OneLauncher Release Build
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
publish-tauri:
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- platform: macos-latest # ARM
|
||||||
|
args: --target aarch64-apple-darwin
|
||||||
|
- platform: macos-latest # Intel
|
||||||
|
args: --target x86_64-apple-darwin
|
||||||
|
- platform: ubuntu-22.04
|
||||||
|
args: ''
|
||||||
|
- platform: windows-latest
|
||||||
|
args: ''
|
||||||
|
|
||||||
|
runs-on: ${{ matrix.platform }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup Rust
|
||||||
|
uses: ./.github/actions/setup-rust
|
||||||
|
with:
|
||||||
|
# Those targets are only used on macos runners so it's in an `if` to slightly speed up windows and linux builds.
|
||||||
|
target: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
|
||||||
|
save-cache: true
|
||||||
|
restore-cache: true
|
||||||
|
|
||||||
|
- name: Setup Packages
|
||||||
|
uses: ./.github/actions/setup-packages
|
||||||
|
|
||||||
|
- uses: tauri-apps/tauri-action@v0
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
tagName: onelauncher-__VERSION__
|
||||||
|
releaseName: OneLauncher __VERSION__
|
||||||
|
releaseDraft: true
|
||||||
|
prerelease: ${{ startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '-alpha') || false }}
|
||||||
|
tauriScript: pnpm -w onelauncher:desktop
|
||||||
|
args: ${{ matrix.args }}
|
||||||
|
projectPath: ./apps/onelauncher/desktop/
|
||||||
171
.github/workflows/release.yml
vendored
171
.github/workflows/release.yml
vendored
|
|
@ -1,171 +0,0 @@
|
||||||
name: Release Multiplatform Binaries
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- 'v*'
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
tag:
|
|
||||||
description: 'Release Tag (e.g. v2.5.1)'
|
|
||||||
required: false
|
|
||||||
default: 'v2.5.1-c3'
|
|
||||||
type: string
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
|
|
||||||
env:
|
|
||||||
SQLX_OFFLINE: true
|
|
||||||
SQLX_OFFLINE_DIR: packages/oneclient_db/.sqlx
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
# Linux x86_64
|
|
||||||
- os: ubuntu-22.04
|
|
||||||
target: x86_64-unknown-linux-gnu
|
|
||||||
name: linux-x86_64
|
|
||||||
formats: deb,appimage
|
|
||||||
|
|
||||||
# Windows x86_64
|
|
||||||
- os: windows-latest
|
|
||||||
target: x86_64-pc-windows-msvc
|
|
||||||
name: windows-x86_64
|
|
||||||
formats: nsis
|
|
||||||
|
|
||||||
# macOS Apple Silicon
|
|
||||||
- os: macos-14
|
|
||||||
target: aarch64-apple-darwin
|
|
||||||
name: macos-arm64
|
|
||||||
formats: dmg,app
|
|
||||||
|
|
||||||
# macOS Intel (cross-compiled on macos-14)
|
|
||||||
- os: macos-14
|
|
||||||
target: x86_64-apple-darwin
|
|
||||||
name: macos-x86_64
|
|
||||||
formats: dmg,app
|
|
||||||
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Install Rust toolchain
|
|
||||||
uses: dtolnay/rust-toolchain@stable
|
|
||||||
with:
|
|
||||||
targets: ${{ matrix.target }}
|
|
||||||
|
|
||||||
- name: Rust Cache
|
|
||||||
uses: Swatinem/rust-cache@v2
|
|
||||||
with:
|
|
||||||
key: ${{ matrix.target }}
|
|
||||||
cache-all-crates: true
|
|
||||||
|
|
||||||
- name: Install Linux build dependencies
|
|
||||||
if: runner.os == 'Linux'
|
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y \
|
|
||||||
libwebkit2gtk-4.1-dev \
|
|
||||||
build-essential \
|
|
||||||
curl \
|
|
||||||
wget \
|
|
||||||
file \
|
|
||||||
libxdo-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libayatana-appindicator3-dev \
|
|
||||||
librsvg2-dev \
|
|
||||||
libfontconfig1-dev \
|
|
||||||
libfreetype6-dev \
|
|
||||||
libgl1-mesa-dev \
|
|
||||||
libvulkan-dev \
|
|
||||||
libasound2-dev
|
|
||||||
|
|
||||||
- name: Install cargo-packager
|
|
||||||
run: cargo install cargo-packager --locked || true
|
|
||||||
|
|
||||||
- name: Build Release Binary
|
|
||||||
run: cargo build --release --bin oneclient_app --target ${{ matrix.target }}
|
|
||||||
|
|
||||||
- name: Package Application
|
|
||||||
run: cargo packager --release --target ${{ matrix.target }} --formats ${{ matrix.formats }}
|
|
||||||
continue-on-error: true
|
|
||||||
|
|
||||||
- name: Generate RPM Package (Linux)
|
|
||||||
if: runner.os == 'Linux'
|
|
||||||
run: |
|
|
||||||
cargo install cargo-generate-rpm --locked || true
|
|
||||||
cargo generate-rpm --target ${{ matrix.target }} -p oneclient_app || true
|
|
||||||
|
|
||||||
- name: Upload Build Artifacts
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: binaries-${{ matrix.name }}
|
|
||||||
if-no-files-found: warn
|
|
||||||
path: |
|
|
||||||
target/${{ matrix.target }}/release/*.deb
|
|
||||||
target/${{ matrix.target }}/release/*.AppImage
|
|
||||||
target/${{ matrix.target }}/release/*.dmg
|
|
||||||
target/${{ matrix.target }}/release/*-setup.exe
|
|
||||||
target/${{ matrix.target }}/generate-rpm/*.rpm
|
|
||||||
target/generate-rpm/*.rpm
|
|
||||||
target/release/*.deb
|
|
||||||
target/release/*.AppImage
|
|
||||||
target/release/*.dmg
|
|
||||||
target/release/*-setup.exe
|
|
||||||
|
|
||||||
create-release:
|
|
||||||
needs: build
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
if: startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch'
|
|
||||||
steps:
|
|
||||||
- name: Download all artifacts
|
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
with:
|
|
||||||
path: ./artifacts
|
|
||||||
merge-multiple: true
|
|
||||||
|
|
||||||
- name: Determine Release Tag
|
|
||||||
id: release_tag
|
|
||||||
run: |
|
|
||||||
if [[ "${{ github.ref_name }}" =~ ^v ]]; then
|
|
||||||
echo "tag=${{ github.ref_name }}" >> $GITHUB_OUTPUT
|
|
||||||
elif [ -n "${{ inputs.tag }}" ]; then
|
|
||||||
echo "tag=${{ inputs.tag }}" >> $GITHUB_OUTPUT
|
|
||||||
else
|
|
||||||
echo "tag=v2.5.1-c3" >> $GITHUB_OUTPUT
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Clean up previous release if exists
|
|
||||||
env:
|
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
run: |
|
|
||||||
gh release delete "${{ steps.release_tag.outputs.tag }}" -y --cleanup-tag=false || true
|
|
||||||
|
|
||||||
- name: Publish GitHub Release
|
|
||||||
uses: softprops/action-gh-release@v2
|
|
||||||
with:
|
|
||||||
files: ./artifacts/**/*
|
|
||||||
tag_name: ${{ steps.release_tag.outputs.tag }}
|
|
||||||
name: "OneLauncher-Cracked ${{ steps.release_tag.outputs.tag }}"
|
|
||||||
body: |
|
|
||||||
### What's New in ${{ steps.release_tag.outputs.tag }}
|
|
||||||
- **Complete Multiplayer Server Skin Support**: Native integration with client-side `OfflineSkins Reloaded` for Fabric 1.21.11, allowing skins to render directly on cracked multiplayer servers (e.g. `alwto.net`) when the server transmits empty player profiles.
|
|
||||||
- **Proper Isolated Offline Skin System (Authlib-Injector)**: Embedded, zero-network-dependency Authlib-Injector session provider with RSA signature verification. Your skin is attached strictly and exclusively to your player profile, completely eliminating the bug where other players or NPCs on offline servers would receive your skin.
|
|
||||||
- **Dynamic Version Compatibility**: Automatically gates offline skin mod integration strictly to matching versions, while Authlib-Injector handles clean, zero-dependency offline profile signing across all Minecraft versions.
|
|
||||||
- **Purged Incompatible Mods**: Completely cleaned and prevented CustomSkinLoader crashes on modern Fabric Loader (0.17+) and Sponge Mixin 0.8.7.
|
|
||||||
- **Vanilla & Multi-server Integrity**: Other offline players remain authentic vanilla Steve/Alex, while online players on hybrid servers display their legitimate Mojang skins via transparent caching session proxying.
|
|
||||||
- **Automatic Legacy Cleanup**: Restores pristine `client.jar` and removes stale skin resource packs from `options.txt` on launch.
|
|
||||||
- **Guaranteed Offline Game Launch**: Direct offline launching with 0 Microsoft accounts required.
|
|
||||||
- **In-Launcher 3D Skin Changer**: Full 3D skin preview, slim/classic arm model toggle, local file import, and online skin downloads.
|
|
||||||
- **Rebased on Upstream 2.5.1**: All upstream 2.5.1 features, hook error reporting, and metadata self-healing.
|
|
||||||
draft: false
|
|
||||||
prerelease: false
|
|
||||||
generate_release_notes: false
|
|
||||||
make_latest: true
|
|
||||||
fail_on_unmatched_files: false
|
|
||||||
524
.gitignore
vendored
524
.gitignore
vendored
|
|
@ -1,7 +1,519 @@
|
||||||
/target
|
dev.db
|
||||||
/dist
|
dev.db-journal
|
||||||
.DS_Store
|
.cargo/config.toml
|
||||||
/.idea
|
.deps/*
|
||||||
OneLauncher.iml
|
vite.config.ts.timestamp*
|
||||||
|
|
||||||
/packages/oneclient_app/icons/generated/
|
# Created by https://www.toptal.com/developers/gitignore/api/node,rust,yarn,linux,macos,windows,intellij+all,rust-analyzer,visualstudiocode,intellij,intellij+iml,git
|
||||||
|
# Edit at https://www.toptal.com/developers/gitignore?templates=node,rust,yarn,linux,macos,windows,intellij+all,rust-analyzer,visualstudiocode,intellij,intellij+iml,git
|
||||||
|
|
||||||
|
### Git ###
|
||||||
|
# Created by git for backups. To disable backups in Git:
|
||||||
|
# $ git config --global mergetool.keepBackup false
|
||||||
|
*.orig
|
||||||
|
|
||||||
|
# Created by git when using merge tools for conflicts
|
||||||
|
*.BACKUP.*
|
||||||
|
*.BASE.*
|
||||||
|
*.LOCAL.*
|
||||||
|
*.REMOTE.*
|
||||||
|
*_BACKUP_*.txt
|
||||||
|
*_BASE_*.txt
|
||||||
|
*_LOCAL_*.txt
|
||||||
|
*_REMOTE_*.txt
|
||||||
|
|
||||||
|
### Intellij ###
|
||||||
|
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
||||||
|
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||||
|
|
||||||
|
# User-specific stuff
|
||||||
|
.idea/**/workspace.xml
|
||||||
|
.idea/**/tasks.xml
|
||||||
|
.idea/**/usage.statistics.xml
|
||||||
|
.idea/**/dictionaries
|
||||||
|
.idea/**/shelf
|
||||||
|
|
||||||
|
# AWS User-specific
|
||||||
|
.idea/**/aws.xml
|
||||||
|
|
||||||
|
# Generated files
|
||||||
|
.idea/**/contentModel.xml
|
||||||
|
|
||||||
|
# Sensitive or high-churn files
|
||||||
|
.idea/**/dataSources/
|
||||||
|
.idea/**/dataSources.ids
|
||||||
|
.idea/**/dataSources.local.xml
|
||||||
|
.idea/**/sqlDataSources.xml
|
||||||
|
.idea/**/dynamic.xml
|
||||||
|
.idea/**/uiDesigner.xml
|
||||||
|
.idea/**/dbnavigator.xml
|
||||||
|
|
||||||
|
# Gradle
|
||||||
|
.idea/**/gradle.xml
|
||||||
|
.idea/**/libraries
|
||||||
|
|
||||||
|
# Gradle and Maven with auto-import
|
||||||
|
# When using Gradle or Maven with auto-import, you should exclude module files,
|
||||||
|
# since they will be recreated, and may cause churn. Uncomment if using
|
||||||
|
# auto-import.
|
||||||
|
# .idea/artifacts
|
||||||
|
# .idea/compiler.xml
|
||||||
|
# .idea/jarRepositories.xml
|
||||||
|
# .idea/modules.xml
|
||||||
|
# .idea/*.iml
|
||||||
|
# .idea/modules
|
||||||
|
# *.iml
|
||||||
|
# *.ipr
|
||||||
|
|
||||||
|
# CMake
|
||||||
|
cmake-build-*/
|
||||||
|
|
||||||
|
# Mongo Explorer plugin
|
||||||
|
.idea/**/mongoSettings.xml
|
||||||
|
|
||||||
|
# File-based project format
|
||||||
|
*.iws
|
||||||
|
|
||||||
|
# IntelliJ
|
||||||
|
out/
|
||||||
|
|
||||||
|
# mpeltonen/sbt-idea plugin
|
||||||
|
.idea_modules/
|
||||||
|
|
||||||
|
# JIRA plugin
|
||||||
|
atlassian-ide-plugin.xml
|
||||||
|
|
||||||
|
# Cursive Clojure plugin
|
||||||
|
.idea/replstate.xml
|
||||||
|
|
||||||
|
# SonarLint plugin
|
||||||
|
.idea/sonarlint/
|
||||||
|
|
||||||
|
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||||
|
com_crashlytics_export_strings.xml
|
||||||
|
crashlytics.properties
|
||||||
|
crashlytics-build.properties
|
||||||
|
fabric.properties
|
||||||
|
|
||||||
|
# Editor-based Rest Client
|
||||||
|
.idea/httpRequests
|
||||||
|
|
||||||
|
# Android studio 3.1+ serialized cache file
|
||||||
|
.idea/caches/build_file_checksums.ser
|
||||||
|
|
||||||
|
### Intellij Patch ###
|
||||||
|
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
|
||||||
|
|
||||||
|
# *.iml
|
||||||
|
# modules.xml
|
||||||
|
# .idea/misc.xml
|
||||||
|
# *.ipr
|
||||||
|
|
||||||
|
# Sonarlint plugin
|
||||||
|
# https://plugins.jetbrains.com/plugin/7973-sonarlint
|
||||||
|
.idea/**/sonarlint/
|
||||||
|
|
||||||
|
# SonarQube Plugin
|
||||||
|
# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
|
||||||
|
.idea/**/sonarIssues.xml
|
||||||
|
|
||||||
|
# Markdown Navigator plugin
|
||||||
|
# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
|
||||||
|
.idea/**/markdown-navigator.xml
|
||||||
|
.idea/**/markdown-navigator-enh.xml
|
||||||
|
.idea/**/markdown-navigator/
|
||||||
|
|
||||||
|
# Cache file creation bug
|
||||||
|
# See https://youtrack.jetbrains.com/issue/JBR-2257
|
||||||
|
.idea/$CACHE_FILE$
|
||||||
|
|
||||||
|
# CodeStream plugin
|
||||||
|
# https://plugins.jetbrains.com/plugin/12206-codestream
|
||||||
|
.idea/codestream.xml
|
||||||
|
|
||||||
|
# Azure Toolkit for IntelliJ plugin
|
||||||
|
# https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij
|
||||||
|
.idea/**/azureSettings.xml
|
||||||
|
|
||||||
|
### Intellij+all ###
|
||||||
|
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
||||||
|
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||||
|
|
||||||
|
# User-specific stuff
|
||||||
|
|
||||||
|
# AWS User-specific
|
||||||
|
|
||||||
|
# Generated files
|
||||||
|
|
||||||
|
# Sensitive or high-churn files
|
||||||
|
|
||||||
|
# Gradle
|
||||||
|
|
||||||
|
# Gradle and Maven with auto-import
|
||||||
|
# When using Gradle or Maven with auto-import, you should exclude module files,
|
||||||
|
# since they will be recreated, and may cause churn. Uncomment if using
|
||||||
|
# auto-import.
|
||||||
|
# .idea/artifacts
|
||||||
|
# .idea/compiler.xml
|
||||||
|
# .idea/jarRepositories.xml
|
||||||
|
# .idea/modules.xml
|
||||||
|
# .idea/*.iml
|
||||||
|
# .idea/modules
|
||||||
|
# *.iml
|
||||||
|
# *.ipr
|
||||||
|
|
||||||
|
# CMake
|
||||||
|
|
||||||
|
# Mongo Explorer plugin
|
||||||
|
|
||||||
|
# File-based project format
|
||||||
|
|
||||||
|
# IntelliJ
|
||||||
|
|
||||||
|
# mpeltonen/sbt-idea plugin
|
||||||
|
|
||||||
|
# JIRA plugin
|
||||||
|
|
||||||
|
# Cursive Clojure plugin
|
||||||
|
|
||||||
|
# SonarLint plugin
|
||||||
|
|
||||||
|
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||||
|
|
||||||
|
# Editor-based Rest Client
|
||||||
|
|
||||||
|
# Android studio 3.1+ serialized cache file
|
||||||
|
|
||||||
|
### Intellij+all Patch ###
|
||||||
|
# Ignore everything but code style settings and run configurations
|
||||||
|
# that are supposed to be shared within teams.
|
||||||
|
|
||||||
|
.idea/*
|
||||||
|
|
||||||
|
### Intellij+iml ###
|
||||||
|
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
||||||
|
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||||
|
|
||||||
|
# User-specific stuff
|
||||||
|
|
||||||
|
# AWS User-specific
|
||||||
|
|
||||||
|
# Generated files
|
||||||
|
|
||||||
|
# Sensitive or high-churn files
|
||||||
|
|
||||||
|
# Gradle
|
||||||
|
|
||||||
|
# Gradle and Maven with auto-import
|
||||||
|
# When using Gradle or Maven with auto-import, you should exclude module files,
|
||||||
|
# since they will be recreated, and may cause churn. Uncomment if using
|
||||||
|
# auto-import.
|
||||||
|
# .idea/artifacts
|
||||||
|
# .idea/compiler.xml
|
||||||
|
# .idea/jarRepositories.xml
|
||||||
|
# .idea/modules.xml
|
||||||
|
# .idea/*.iml
|
||||||
|
# .idea/modules
|
||||||
|
# *.iml
|
||||||
|
# *.ipr
|
||||||
|
|
||||||
|
# CMake
|
||||||
|
|
||||||
|
# Mongo Explorer plugin
|
||||||
|
|
||||||
|
# File-based project format
|
||||||
|
|
||||||
|
# IntelliJ
|
||||||
|
|
||||||
|
# mpeltonen/sbt-idea plugin
|
||||||
|
|
||||||
|
# JIRA plugin
|
||||||
|
|
||||||
|
# Cursive Clojure plugin
|
||||||
|
|
||||||
|
# SonarLint plugin
|
||||||
|
|
||||||
|
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||||
|
|
||||||
|
# Editor-based Rest Client
|
||||||
|
|
||||||
|
# Android studio 3.1+ serialized cache file
|
||||||
|
|
||||||
|
### Intellij+iml Patch ###
|
||||||
|
# Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023
|
||||||
|
|
||||||
|
*.iml
|
||||||
|
modules.xml
|
||||||
|
.idea/misc.xml
|
||||||
|
*.ipr
|
||||||
|
|
||||||
|
### Linux ###
|
||||||
|
*~
|
||||||
|
|
||||||
|
# temporary files which can be created if a process still has a handle open of a deleted file
|
||||||
|
.fuse_hidden*
|
||||||
|
|
||||||
|
# KDE directory preferences
|
||||||
|
.directory
|
||||||
|
|
||||||
|
# Linux trash folder which might appear on any partition or disk
|
||||||
|
.Trash-*
|
||||||
|
|
||||||
|
# .nfs files are created when an open file is removed but is still being accessed
|
||||||
|
.nfs*
|
||||||
|
|
||||||
|
### macOS ###
|
||||||
|
# General
|
||||||
|
.DS_Store
|
||||||
|
.AppleDouble
|
||||||
|
.LSOverride
|
||||||
|
|
||||||
|
# Icon must end with two \r
|
||||||
|
Icon
|
||||||
|
|
||||||
|
|
||||||
|
# Thumbnails
|
||||||
|
._*
|
||||||
|
|
||||||
|
# Files that might appear in the root of a volume
|
||||||
|
.DocumentRevisions-V100
|
||||||
|
.fseventsd
|
||||||
|
.Spotlight-V100
|
||||||
|
.TemporaryItems
|
||||||
|
.Trashes
|
||||||
|
.VolumeIcon.icns
|
||||||
|
.com.apple.timemachine.donotpresent
|
||||||
|
|
||||||
|
# Directories potentially created on remote AFP share
|
||||||
|
.AppleDB
|
||||||
|
.AppleDesktop
|
||||||
|
Network Trash Folder
|
||||||
|
Temporary Items
|
||||||
|
.apdisk
|
||||||
|
|
||||||
|
### macOS Patch ###
|
||||||
|
# iCloud generated files
|
||||||
|
*.icloud
|
||||||
|
|
||||||
|
### Node ###
|
||||||
|
# Logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
lerna-debug.log*
|
||||||
|
.pnpm-debug.log*
|
||||||
|
|
||||||
|
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||||
|
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||||
|
|
||||||
|
# Runtime data
|
||||||
|
pids
|
||||||
|
*.pid
|
||||||
|
*.seed
|
||||||
|
*.pid.lock
|
||||||
|
|
||||||
|
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||||
|
lib-cov
|
||||||
|
|
||||||
|
# Coverage directory used by tools like istanbul
|
||||||
|
coverage
|
||||||
|
*.lcov
|
||||||
|
|
||||||
|
# nyc test coverage
|
||||||
|
.nyc_output
|
||||||
|
|
||||||
|
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||||
|
.grunt
|
||||||
|
|
||||||
|
# Bower dependency directory (https://bower.io/)
|
||||||
|
bower_components
|
||||||
|
|
||||||
|
# node-waf configuration
|
||||||
|
.lock-wscript
|
||||||
|
|
||||||
|
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||||
|
build/Release
|
||||||
|
|
||||||
|
# Dependency directories
|
||||||
|
node_modules/
|
||||||
|
jspm_packages/
|
||||||
|
|
||||||
|
# Snowpack dependency directory (https://snowpack.dev/)
|
||||||
|
web_modules/
|
||||||
|
|
||||||
|
# TypeScript cache
|
||||||
|
*.tsbuildinfo
|
||||||
|
|
||||||
|
# Optional npm cache directory
|
||||||
|
.npm
|
||||||
|
|
||||||
|
# Optional eslint cache
|
||||||
|
.eslintcache
|
||||||
|
|
||||||
|
# Optional stylelint cache
|
||||||
|
.stylelintcache
|
||||||
|
|
||||||
|
# Microbundle cache
|
||||||
|
.rpt2_cache/
|
||||||
|
.rts2_cache_cjs/
|
||||||
|
.rts2_cache_es/
|
||||||
|
.rts2_cache_umd/
|
||||||
|
|
||||||
|
# Optional REPL history
|
||||||
|
.node_repl_history
|
||||||
|
|
||||||
|
# Output of 'npm pack'
|
||||||
|
*.tgz
|
||||||
|
|
||||||
|
# Yarn Integrity file
|
||||||
|
.yarn-integrity
|
||||||
|
|
||||||
|
# dotenv environment variable files
|
||||||
|
.env
|
||||||
|
.env.development.local
|
||||||
|
.env.test.local
|
||||||
|
.env.production.local
|
||||||
|
.env.local
|
||||||
|
|
||||||
|
# parcel-bundler cache (https://parceljs.org/)
|
||||||
|
.cache
|
||||||
|
.parcel-cache
|
||||||
|
|
||||||
|
# Next.js build output
|
||||||
|
.next
|
||||||
|
out
|
||||||
|
|
||||||
|
# Nuxt.js build / generate output
|
||||||
|
.nuxt
|
||||||
|
|
||||||
|
# Gatsby files
|
||||||
|
.cache/
|
||||||
|
# Comment in the public line in if your project uses Gatsby and not Next.js
|
||||||
|
# https://nextjs.org/blog/next-9-1#public-directory-support
|
||||||
|
# public
|
||||||
|
|
||||||
|
# vuepress build output
|
||||||
|
|
||||||
|
# vuepress v2.x temp and cache directory
|
||||||
|
.temp
|
||||||
|
|
||||||
|
# Docusaurus cache and generated files
|
||||||
|
.docusaurus
|
||||||
|
|
||||||
|
# Serverless directories
|
||||||
|
.serverless/
|
||||||
|
|
||||||
|
# FuseBox cache
|
||||||
|
.fusebox/
|
||||||
|
|
||||||
|
# DynamoDB Local files
|
||||||
|
.dynamodb/
|
||||||
|
|
||||||
|
# TernJS port file
|
||||||
|
.tern-port
|
||||||
|
|
||||||
|
# Stores VSCode versions used for testing VSCode extensions
|
||||||
|
.vscode-test
|
||||||
|
|
||||||
|
# yarn v2
|
||||||
|
.yarn/cache
|
||||||
|
.yarn/unplugged
|
||||||
|
.yarn/build-state.yml
|
||||||
|
.yarn/install-state.gz
|
||||||
|
.pnp.*
|
||||||
|
|
||||||
|
### Node Patch ###
|
||||||
|
# Serverless Webpack directories
|
||||||
|
.webpack/
|
||||||
|
|
||||||
|
# Optional stylelint cache
|
||||||
|
|
||||||
|
# SvelteKit build / generate output
|
||||||
|
.svelte-kit
|
||||||
|
|
||||||
|
### Rust ###
|
||||||
|
# Generated by Cargo
|
||||||
|
# will have compiled files and executables
|
||||||
|
debug/
|
||||||
|
target/
|
||||||
|
|
||||||
|
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
|
||||||
|
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
|
||||||
|
# Cargo.lock
|
||||||
|
|
||||||
|
# These are backup files generated by rustfmt
|
||||||
|
**/*.rs.bk
|
||||||
|
|
||||||
|
# MSVC Windows builds of rustc generate these, which store debugging information
|
||||||
|
*.pdb
|
||||||
|
|
||||||
|
### rust-analyzer ###
|
||||||
|
# Can be generated by other build systems other than cargo (ex: bazelbuild/rust_rules)
|
||||||
|
rust-project.json
|
||||||
|
|
||||||
|
|
||||||
|
### VisualStudioCode ###
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/settings.json
|
||||||
|
!.vscode/tasks.json
|
||||||
|
!.vscode/launch.json
|
||||||
|
!.vscode/extensions.json
|
||||||
|
!.vscode/*.code-snippets
|
||||||
|
|
||||||
|
# Local History for Visual Studio Code
|
||||||
|
.history/
|
||||||
|
|
||||||
|
# Built Visual Studio Code Extensions
|
||||||
|
*.vsix
|
||||||
|
|
||||||
|
### VisualStudioCode Patch ###
|
||||||
|
# Ignore all local history of files
|
||||||
|
.history
|
||||||
|
.ionide
|
||||||
|
|
||||||
|
### Windows ###
|
||||||
|
# Windows thumbnail cache files
|
||||||
|
Thumbs.db
|
||||||
|
Thumbs.db:encryptable
|
||||||
|
ehthumbs.db
|
||||||
|
ehthumbs_vista.db
|
||||||
|
|
||||||
|
# Dump file
|
||||||
|
*.stackdump
|
||||||
|
|
||||||
|
# Folder config file
|
||||||
|
[Dd]esktop.ini
|
||||||
|
|
||||||
|
# Recycle Bin used on file shares
|
||||||
|
$RECYCLE.BIN/
|
||||||
|
|
||||||
|
# Windows Installer files
|
||||||
|
*.cab
|
||||||
|
*.msi
|
||||||
|
*.msix
|
||||||
|
*.msm
|
||||||
|
*.msp
|
||||||
|
|
||||||
|
# Windows shortcuts
|
||||||
|
*.lnk
|
||||||
|
|
||||||
|
### yarn ###
|
||||||
|
# https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored
|
||||||
|
|
||||||
|
.yarn/*
|
||||||
|
!.yarn/releases
|
||||||
|
!.yarn/patches
|
||||||
|
!.yarn/plugins
|
||||||
|
!.yarn/sdks
|
||||||
|
!.yarn/versions
|
||||||
|
|
||||||
|
# if you are NOT using Zero-installs, then:
|
||||||
|
# comment the following lines
|
||||||
|
!.yarn/cache
|
||||||
|
|
||||||
|
# and uncomment the following lines
|
||||||
|
# .pnp.*
|
||||||
|
|
||||||
|
# End of https://www.toptal.com/developers/gitignore/api/node,rust,yarn,linux,macos,windows,intellij+all,rust-analyzer,visualstudiocode,intellij,intellij+iml,git
|
||||||
|
|
|
||||||
1
.husky/pre-commit
Normal file
1
.husky/pre-commit
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
pnpm lint-staged
|
||||||
9
.npmrc
Normal file
9
.npmrc
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
; make all engine requirements (e.g. node version) strictly kept
|
||||||
|
engine-strict=true
|
||||||
|
dedupe-peer-dependents=true
|
||||||
|
# strict-peer-dependencies=true
|
||||||
|
auto-install-peers=true
|
||||||
|
max-old-space-size=4096
|
||||||
|
enable-pre-post-scripts=true
|
||||||
|
package-manager-strict=true
|
||||||
|
package-manager-strict-version=true
|
||||||
1
.nvmrc
Normal file
1
.nvmrc
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
24
|
||||||
23
.rustfmt.toml
Normal file
23
.rustfmt.toml
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
max_width = 100
|
||||||
|
hard_tabs = true
|
||||||
|
newline_style = "Unix"
|
||||||
|
use_small_heuristics = "Default"
|
||||||
|
reorder_imports = true
|
||||||
|
imports_granularity = "Module"
|
||||||
|
reorder_modules = true
|
||||||
|
remove_nested_parens = true
|
||||||
|
edition = "2024"
|
||||||
|
merge_derives = true
|
||||||
|
use_try_shorthand = false
|
||||||
|
use_field_init_shorthand = false
|
||||||
|
force_explicit_abi = true
|
||||||
|
unstable_features = true
|
||||||
|
deprecated = "warn"
|
||||||
|
deprecated_in_future = "forbid"
|
||||||
|
rust_2018_idioms = { level = "warn", priority = -1 }
|
||||||
|
trivial_casts = "warn"
|
||||||
|
trivial_numeric_casts = "warn"
|
||||||
|
unused_allocation = "warn"
|
||||||
|
unused_import_braces = "warn"
|
||||||
|
unused_must_use = "deny"
|
||||||
|
unused_qualifications = "warn"
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<artifact-configuration xmlns="http://signpath.io/artifact-configuration/v1">
|
|
||||||
<zip-file>
|
|
||||||
<pe-file path="oneclient_app.exe">
|
|
||||||
<authenticode-sign />
|
|
||||||
</pe-file>
|
|
||||||
</zip-file>
|
|
||||||
</artifact-configuration>
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
SignPath artifact configuration for the OneClient Windows installer.
|
|
||||||
|
|
||||||
GitHub Actions wraps every uploaded artifact in a ZIP archive, so the root
|
|
||||||
element MUST be <zip-file> (see https://docs.signpath.io/trusted-build-systems/github).
|
|
||||||
|
|
||||||
The NSIS bundle produced by Tauri is named e.g. "OneClient_1.1.6_x64-setup.exe",
|
|
||||||
so we match it with a wildcard instead of a fixed, version-specific name.
|
|
||||||
|
|
||||||
Upload this file in the SignPath portal:
|
|
||||||
Project "onelauncher" -> Artifact Configurations -> slug "onelauncher-installer"
|
|
||||||
-->
|
|
||||||
<artifact-configuration xmlns="http://signpath.io/artifact-configuration/v1">
|
|
||||||
<zip-file>
|
|
||||||
<pe-file path="*-setup.exe" min-matches="1" max-matches="unbounded">
|
|
||||||
<!-- optionally, add metadata constraints: product-name, product-version, file-version, company-name, copyright, original-filename -->
|
|
||||||
<authenticode-sign />
|
|
||||||
</pe-file>
|
|
||||||
</zip-file>
|
|
||||||
</artifact-configuration>
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n INSERT OR IGNORE INTO cluster_bundle_choices (cluster_id, bundle_name, accepted)\n SELECT ?, bundle_name, accepted\n FROM cluster_bundle_choices\n WHERE cluster_id = ?\n ",
|
|
||||||
"describe": {
|
|
||||||
"columns": [],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 2
|
|
||||||
},
|
|
||||||
"nullable": []
|
|
||||||
},
|
|
||||||
"hash": "001a994c740f7a015152319eb16fc113954af25ebd2a44d55e95833adda53268"
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "UPDATE cluster_artifacts SET seen_status = ? WHERE seen_status <> ?",
|
|
||||||
"describe": {
|
|
||||||
"columns": [],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 2
|
|
||||||
},
|
|
||||||
"nullable": []
|
|
||||||
},
|
|
||||||
"hash": "011448f2ce79e981700ee75c8cd5db5e0fcb793b72671c20a925b73ee6fb9456"
|
|
||||||
}
|
|
||||||
|
|
@ -1,170 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT name, java_path, resolution, force_fullscreen, mem_max, launch_args, game_args, launch_env,\n\t\t hook_pre, hook_wrapper, hook_post, os_extra, browser_update_mode\n\t\tFROM setting_profiles\n\t\tORDER BY name ASC\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "java_path",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "java_path"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "resolution",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "resolution"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "force_fullscreen",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "force_fullscreen"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mem_max",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "mem_max"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "launch_args",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "launch_args"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "game_args",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "game_args"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "launch_env",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "launch_env"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hook_pre",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "hook_pre"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hook_wrapper",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "hook_wrapper"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hook_post",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "hook_post"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "os_extra",
|
|
||||||
"ordinal": 11,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "os_extra"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "browser_update_mode",
|
|
||||||
"ordinal": 12,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "browser_update_mode"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 0
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "01b2ef24541af92505a3c2bc14037a61470a393dffa06da8bebfba98138709d0"
|
|
||||||
}
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT cluster_id, hash, cluster_file_name, enabled, seen_status\n\t\tFROM cluster_artifacts\n\t\tWHERE cluster_id = ? AND hash = ?\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "cluster_id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "cluster_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hash",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "cluster_file_name",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "cluster_file_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "enabled",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "enabled"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "seen_status",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "seen_status"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 2
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "071d02aba0d2eb073b8ca1e6488087101255147c064612fad99500d3c993f61f"
|
|
||||||
}
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "SELECT id FROM applied_migrations WHERE id = ?",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "applied_migrations",
|
|
||||||
"name": "id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "07450861d48b3bff106b7c06e958665f6be44e7937deffb921ddb6a5450805ab"
|
|
||||||
}
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT started_at, ended_at\n\t\tFROM game_sessions\n\t\tWHERE ended_at IS NOT NULL\n\t\tORDER BY started_at ASC\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "started_at",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_sessions",
|
|
||||||
"name": "started_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "ended_at",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_sessions",
|
|
||||||
"name": "ended_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 0
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "0c13ec99c2157d0f8fe60a159807e23cd24ddea07917d5f77b7c0d01cc617ccb"
|
|
||||||
}
|
|
||||||
|
|
@ -1,98 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n SELECT absolute_path, major, version, vendor, os_arch, is_jdk as \"is_jdk: bool\", probe_version\n FROM java_versions\n ORDER BY major DESC, version DESC\n ",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "absolute_path",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "java_versions",
|
|
||||||
"name": "absolute_path"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "major",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "java_versions",
|
|
||||||
"name": "major"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "version",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "java_versions",
|
|
||||||
"name": "version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "vendor",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "java_versions",
|
|
||||||
"name": "vendor"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "os_arch",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "java_versions",
|
|
||||||
"name": "os_arch"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "is_jdk: bool",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "java_versions",
|
|
||||||
"name": "is_jdk"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "probe_version",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "java_versions",
|
|
||||||
"name": "probe_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 0
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "0c3651cf175cb900c2466f0e97beca338b95637d43d9d067b974327f7720637b"
|
|
||||||
}
|
|
||||||
|
|
@ -1,158 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tINSERT INTO clusters (\n\t\t\tname, folder_name, mc_version, mc_loader, mc_loader_version,\n\t\t\tsetting_profile_name, stage, created_at\n\t\t)\n\t\tVALUES (?, ?, ?, ?, ?, ?, ?, ?)\n\t\tRETURNING\n\t\t\tid, name, folder_name, setting_profile_name, mc_version, mc_loader,\n\t\t\tstage, mc_loader_version, created_at, last_played, overall_played, linked_modpack_hash\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "folder_name",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "folder_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "setting_profile_name",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "setting_profile_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_version",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stage",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "stage"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader_version",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "created_at",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "created_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "last_played",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "last_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "overall_played",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "overall_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "linked_modpack_hash",
|
|
||||||
"ordinal": 11,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "linked_modpack_hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 8
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "0f4cedf6055f4ba6a5e6ef78304c5f9df31fc6de0f6aa3dc09c4341fcb19c871"
|
|
||||||
}
|
|
||||||
|
|
@ -1,110 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n SELECT\n cluster_id, hash, cluster_file_name, enabled,\n bundle_name, bundle_version_id, package_id, installed_at\n FROM cluster_artifacts\n WHERE cluster_id = ? AND bundle_name IS NOT NULL\n ",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "cluster_id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "cluster_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hash",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "cluster_file_name",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "cluster_file_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "enabled",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "enabled"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "bundle_name",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "bundle_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "bundle_version_id",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "bundle_version_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "package_id",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "package_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "installed_at",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "installed_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "0fa6a144689ecd95fc076d340645a3417d56b455c6bb2a9ef3e027a3e1915813"
|
|
||||||
}
|
|
||||||
|
|
@ -1,98 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT absolute_path, major, version, vendor, os_arch, is_jdk as \"is_jdk: bool\", probe_version\n\t\tFROM java_versions\n\t\tWHERE major = ?\n\t\tORDER BY version DESC\n\t\tLIMIT 1\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "absolute_path",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "java_versions",
|
|
||||||
"name": "absolute_path"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "major",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "java_versions",
|
|
||||||
"name": "major"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "version",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "java_versions",
|
|
||||||
"name": "version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "vendor",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "java_versions",
|
|
||||||
"name": "vendor"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "os_arch",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "java_versions",
|
|
||||||
"name": "os_arch"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "is_jdk: bool",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "java_versions",
|
|
||||||
"name": "is_jdk"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "probe_version",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "java_versions",
|
|
||||||
"name": "probe_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "14ab205c5b8d4c1c435814e4b7a155acbae41a67925b6b179b82dea1758d621a"
|
|
||||||
}
|
|
||||||
|
|
@ -1,110 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT\n\t\t\ttarget_cluster_id, provider, project_id, content_type,\n\t\t\tsource_hash, display_name, expires_at, enabled\n\t\tFROM release_migration_waitlist\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "target_cluster_id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "release_migration_waitlist",
|
|
||||||
"name": "target_cluster_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "provider",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "release_migration_waitlist",
|
|
||||||
"name": "provider"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "project_id",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "release_migration_waitlist",
|
|
||||||
"name": "project_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "content_type",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "release_migration_waitlist",
|
|
||||||
"name": "content_type"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "source_hash",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "release_migration_waitlist",
|
|
||||||
"name": "source_hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "display_name",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "release_migration_waitlist",
|
|
||||||
"name": "display_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "expires_at",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "release_migration_waitlist",
|
|
||||||
"name": "expires_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "enabled",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "release_migration_waitlist",
|
|
||||||
"name": "enabled"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 0
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "15dc690e91fe0bc7e1932a5051f8edd855deaeb31e52209ae436680962dea954"
|
|
||||||
}
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n SELECT bundle_name, accepted\n FROM cluster_bundle_choices\n WHERE cluster_id = ?\n ",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "bundle_name",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_bundle_choices",
|
|
||||||
"name": "bundle_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "accepted",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_bundle_choices",
|
|
||||||
"name": "accepted"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "171c6771d06656c2fe375f6a0da889f828f400e950f103f0ed44f5f98a48dc50"
|
|
||||||
}
|
|
||||||
|
|
@ -1,158 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tUPDATE clusters\n\t\tSET mc_version = ?,\n\t\t name = ?,\n\t\t folder_name = ?\n\t\tWHERE id = ?\n\t\tRETURNING\n\t\t\tid, name, folder_name, setting_profile_name, mc_version, mc_loader,\n\t\t\tstage, mc_loader_version, created_at, last_played, overall_played, linked_modpack_hash\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "folder_name",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "folder_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "setting_profile_name",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "setting_profile_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_version",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stage",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "stage"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader_version",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "created_at",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "created_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "last_played",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "last_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "overall_played",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "overall_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "linked_modpack_hash",
|
|
||||||
"ordinal": 11,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "linked_modpack_hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 4
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "1a83654d854901219ca4be57d793ddef96835a67aa8affe3453845a646e5ba61"
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "DELETE FROM release_migration_waitlist WHERE target_cluster_id = ? AND provider = ? AND project_id = ?",
|
|
||||||
"describe": {
|
|
||||||
"columns": [],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 3
|
|
||||||
},
|
|
||||||
"nullable": []
|
|
||||||
},
|
|
||||||
"hash": "1e43f93b56bb495e13826c734fe5fb64515cf1d7c28bc6a1bf1fb1645fdba2a1"
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "DELETE FROM setting_profiles WHERE name = ?",
|
|
||||||
"describe": {
|
|
||||||
"columns": [],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": []
|
|
||||||
},
|
|
||||||
"hash": "1f0b5e466773838f6b800f9d5afe5b84ad8ece01b56b9e22d595271db2c5c202"
|
|
||||||
}
|
|
||||||
|
|
@ -1,146 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT\n\t\t\tcluster_id, hash, provider as \"provider!: i64\", project_id,\n\t\t\tinstalled_version_id, installed_version_name,\n\t\t\tlatest_version_id, latest_version_name,\n\t\t\tdisplay_name, checked_at, skipped\n\t\tFROM browser_package_updates\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "cluster_id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "cluster_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hash",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "provider!: i64",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "provider"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "project_id",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "project_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "installed_version_id",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "installed_version_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "installed_version_name",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "installed_version_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "latest_version_id",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "latest_version_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "latest_version_name",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "latest_version_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "display_name",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "display_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "checked_at",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "checked_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "skipped",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "skipped"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 0
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "2005ac6f15d4c5fe36d5bfa87191e6be22264a2ca3e91155cb01f2debd39b319"
|
|
||||||
}
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tINSERT INTO cluster_artifacts (cluster_id, hash, cluster_file_name, enabled)\n\t\tVALUES (?, ?, ?, 1)\n\t\tON CONFLICT(cluster_id, hash) DO UPDATE SET\n\t\t\tcluster_file_name = excluded.cluster_file_name\n\t\tRETURNING cluster_id, hash, cluster_file_name, enabled, seen_status\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "cluster_id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "cluster_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hash",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "cluster_file_name",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "cluster_file_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "enabled",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "enabled"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "seen_status",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "seen_status"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 3
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "25259e9d6eda7f5113e0d88f00b24b28b98de1eda40a1e25d48bbcf212af42b5"
|
|
||||||
}
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT DISTINCT ca.cluster_id, ca.hash, ca.cluster_file_name, ca.enabled, ca.seen_status\n\t\tFROM cluster_artifacts ca\n\t\tJOIN provider_releases pr ON pr.hash = ca.hash\n\t\tWHERE ca.cluster_id = ?\n\t\t\tAND pr.provider = ?\n\t\t\tAND pr.project_id = ?\n\t\t\tAND ca.hash <> ?\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "cluster_id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "cluster_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hash",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "cluster_file_name",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "cluster_file_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "enabled",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "enabled"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "seen_status",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "seen_status"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 4
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "25f4eb2e9040bb8f1c9a38ca41a773225099f150c3fc8a41d31fd40c09711d0c"
|
|
||||||
}
|
|
||||||
|
|
@ -1,110 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n UPDATE cluster_artifacts\n SET\n bundle_name = ?,\n bundle_version_id = ?,\n package_id = ?,\n installed_at = ?\n WHERE cluster_id = ? AND hash = ?\n RETURNING\n cluster_id, hash, cluster_file_name, enabled,\n bundle_name, bundle_version_id, package_id, installed_at\n ",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "cluster_id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "cluster_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hash",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "cluster_file_name",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "cluster_file_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "enabled",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "enabled"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "bundle_name",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "bundle_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "bundle_version_id",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "bundle_version_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "package_id",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "package_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "installed_at",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "installed_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 6
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "26faf03500344e939addc574799459bb3294907c8fdf0727c0ef503e4b7bdf2c"
|
|
||||||
}
|
|
||||||
|
|
@ -1,146 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT\n\t\t\tcluster_id, hash, provider as \"provider!: i64\", project_id,\n\t\t\tinstalled_version_id, installed_version_name,\n\t\t\tlatest_version_id, latest_version_name,\n\t\t\tdisplay_name, checked_at, skipped\n\t\tFROM browser_package_updates\n\t\tWHERE cluster_id = ?\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "cluster_id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "cluster_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hash",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "provider!: i64",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "provider"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "project_id",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "project_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "installed_version_id",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "installed_version_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "installed_version_name",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "installed_version_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "latest_version_id",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "latest_version_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "latest_version_name",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "latest_version_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "display_name",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "display_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "checked_at",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "checked_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "skipped",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "skipped"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "271e5a3e03861f3699e3b32dc4a9bb0c0dcb880fcff67a096fa94b236fbe6107"
|
|
||||||
}
|
|
||||||
|
|
@ -1,158 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tUPDATE clusters\n\t\tSET name = ?,\n\t\t setting_profile_name = ?,\n\t\t mc_loader_version = ?,\n\t\t linked_modpack_hash = ?\n\t\tWHERE id = ?\n\t\tRETURNING\n\t\t\tid, name, folder_name, setting_profile_name, mc_version, mc_loader,\n\t\t\tstage, mc_loader_version, created_at, last_played, overall_played, linked_modpack_hash\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "folder_name",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "folder_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "setting_profile_name",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "setting_profile_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_version",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stage",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "stage"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader_version",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "created_at",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "created_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "last_played",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "last_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "overall_played",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "overall_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "linked_modpack_hash",
|
|
||||||
"ordinal": 11,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "linked_modpack_hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 5
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "2b5b633bb658e5f3c733acc7977b3c7fd7f8d8b5f425e71989e98a2b27338b42"
|
|
||||||
}
|
|
||||||
|
|
@ -1,98 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n SELECT absolute_path, major, version, vendor, os_arch, is_jdk as \"is_jdk: bool\", probe_version\n FROM java_versions\n WHERE absolute_path = ?\n ",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "absolute_path",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "java_versions",
|
|
||||||
"name": "absolute_path"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "major",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "java_versions",
|
|
||||||
"name": "major"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "version",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "java_versions",
|
|
||||||
"name": "version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "vendor",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "java_versions",
|
|
||||||
"name": "vendor"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "os_arch",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "java_versions",
|
|
||||||
"name": "os_arch"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "is_jdk: bool",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "java_versions",
|
|
||||||
"name": "is_jdk"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "probe_version",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "java_versions",
|
|
||||||
"name": "probe_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "331bee3da454f39a8a2cc8ed4e5338b743a7cd033fdef023c4b3b93827248be1"
|
|
||||||
}
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT session_started_at, address, port, joined_at, disconnected_at\n\t\tFROM game_session_servers\n\t\tORDER BY joined_at ASC\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "session_started_at",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_session_servers",
|
|
||||||
"name": "session_started_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "address",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_session_servers",
|
|
||||||
"name": "address"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "port",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_session_servers",
|
|
||||||
"name": "port"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "joined_at",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_session_servers",
|
|
||||||
"name": "joined_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "disconnected_at",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_session_servers",
|
|
||||||
"name": "disconnected_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 0
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "3ab373a6f0167df9b2fa3a6a2f2c6ee2a9a36d8ae0948b71369897c014acae77"
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n INSERT INTO cluster_optional_mods\n (cluster_id, bundle_name, package_id, bundle_version_id, seen_status)\n VALUES (?, ?, ?, ?, ?)\n ON CONFLICT(cluster_id, package_id) DO UPDATE SET\n bundle_name = excluded.bundle_name,\n bundle_version_id = excluded.bundle_version_id\n ",
|
|
||||||
"describe": {
|
|
||||||
"columns": [],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 5
|
|
||||||
},
|
|
||||||
"nullable": []
|
|
||||||
},
|
|
||||||
"hash": "3b87531a1231c467072ec4d1f9afd3c93114777031250c7f9e74f6b9eef4ab9f"
|
|
||||||
}
|
|
||||||
|
|
@ -1,158 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tUPDATE clusters\n\t\tSET overall_played = COALESCE(overall_played, 0) + ?,\n\t\t last_played = ?\n\t\tWHERE id = ?\n\t\tRETURNING\n\t\t\tid, name, folder_name, setting_profile_name, mc_version, mc_loader,\n\t\t\tstage, mc_loader_version, created_at, last_played, overall_played, linked_modpack_hash\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "folder_name",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "folder_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "setting_profile_name",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "setting_profile_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_version",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stage",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "stage"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader_version",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "created_at",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "created_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "last_played",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "last_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "overall_played",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "overall_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "linked_modpack_hash",
|
|
||||||
"ordinal": 11,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "linked_modpack_hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 3
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "3fb91d89cb135d2af105a0f40f7150d03ab2fa9b955ba223066edf210e3556a1"
|
|
||||||
}
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT session_started_at, address, port, joined_at, disconnected_at\n\t\tFROM game_session_servers\n\t\tWHERE session_started_at = ?\n\t\tORDER BY joined_at ASC\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "session_started_at",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_session_servers",
|
|
||||||
"name": "session_started_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "address",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_session_servers",
|
|
||||||
"name": "address"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "port",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_session_servers",
|
|
||||||
"name": "port"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "joined_at",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_session_servers",
|
|
||||||
"name": "joined_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "disconnected_at",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_session_servers",
|
|
||||||
"name": "disconnected_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "42c26d63ca860840c0e8e75bf1a46218b16c849301fa3db250e24ec81d15d1c7"
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n DELETE FROM cluster_bundle_overrides\n WHERE cluster_id = ? AND package_id = ? AND override_type IN ('disabled', 'removed')\n ",
|
|
||||||
"describe": {
|
|
||||||
"columns": [],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 2
|
|
||||||
},
|
|
||||||
"nullable": []
|
|
||||||
},
|
|
||||||
"hash": "43521070cb5de5b2fe5e25c88e683b933c2f6788e2d2482ca9fd7d71ee67381a"
|
|
||||||
}
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT hash, content_type, path, file_name, size_bytes\n\t\tFROM artifacts\n\t\tWHERE hash = ?\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "hash",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "artifacts",
|
|
||||||
"name": "hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "content_type",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "artifacts",
|
|
||||||
"name": "content_type"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "path",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "artifacts",
|
|
||||||
"name": "path"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "file_name",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "artifacts",
|
|
||||||
"name": "file_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "size_bytes",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "artifacts",
|
|
||||||
"name": "size_bytes"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "439e74ae2697056b206fc346749b190781cf0aac8ae6b4e1a333608d29946919"
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tUPDATE game_sessions\n\t\tSET ended_at = ?, exit_code = ?\n\t\tWHERE started_at = ? AND ended_at IS NULL\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 3
|
|
||||||
},
|
|
||||||
"nullable": []
|
|
||||||
},
|
|
||||||
"hash": "44e40c724779e5e1cffbbbcf857223cac28f59431933ffefea04e59b62deab3a"
|
|
||||||
}
|
|
||||||
|
|
@ -1,158 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT\n\t\t\tid, name, folder_name, setting_profile_name, mc_version, mc_loader,\n\t\t\tstage, mc_loader_version, created_at, last_played, overall_played, linked_modpack_hash\n\t\tFROM clusters\n\t\tORDER BY last_played IS NULL, last_played DESC, name ASC\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "folder_name",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "folder_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "setting_profile_name",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "setting_profile_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_version",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stage",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "stage"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader_version",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "created_at",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "created_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "last_played",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "last_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "overall_played",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "overall_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "linked_modpack_hash",
|
|
||||||
"ordinal": 11,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "linked_modpack_hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 0
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "4557535ab4f4e972a2b3111cc29af15fd91e22e080742f75a0a393fc45c59b22"
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tUPDATE browser_package_updates\n\t\tSET skipped = ?\n\t\tWHERE cluster_id = ? AND hash = ?\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 3
|
|
||||||
},
|
|
||||||
"nullable": []
|
|
||||||
},
|
|
||||||
"hash": "472a614b1f1484e839f373fcfecf338462888518de3307bdab3db0b419a82be9"
|
|
||||||
}
|
|
||||||
|
|
@ -1,158 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT\n\t\t\tid, name, folder_name, setting_profile_name, mc_version, mc_loader,\n\t\t\tstage, mc_loader_version, created_at, last_played, overall_played, linked_modpack_hash\n\t\tFROM clusters\n\t\tWHERE id = ?\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "folder_name",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "folder_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "setting_profile_name",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "setting_profile_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_version",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stage",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "stage"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader_version",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "created_at",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "created_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "last_played",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "last_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "overall_played",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "overall_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "linked_modpack_hash",
|
|
||||||
"ordinal": 11,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "linked_modpack_hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "4b7fa3441d3d18943086acd54232c492521a693f48d07f9230cda440297ac02d"
|
|
||||||
}
|
|
||||||
|
|
@ -1,218 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tUPDATE clusters\n\t\tSET overall_played = COALESCE(overall_played, 0) + ?,\n\t\t last_played = ?\n\t\tWHERE id = ?\n\t\tRETURNING\n\t\t\tid, name, folder_name, setting_profile_name, mc_version, mc_loader,\n\t\t\tstage, mc_loader_version, created_at, last_played, overall_played, linked_modpack_hash,\n\t\t\tkind, user_created, description, tags, cover_path\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "folder_name",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "folder_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "setting_profile_name",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "setting_profile_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_version",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stage",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "stage"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader_version",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "created_at",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "created_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "last_played",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "last_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "overall_played",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "overall_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "linked_modpack_hash",
|
|
||||||
"ordinal": 11,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "linked_modpack_hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "kind",
|
|
||||||
"ordinal": 12,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "kind"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "user_created",
|
|
||||||
"ordinal": 13,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "user_created"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "description",
|
|
||||||
"ordinal": 14,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "description"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tags",
|
|
||||||
"ordinal": 15,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "tags"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "cover_path",
|
|
||||||
"ordinal": 16,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "cover_path"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 3
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "4c6d40e97401e1321abccd7f413b49dda16a5bdf29eb90459ac140d8208db479"
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "DELETE FROM artifacts WHERE hash = ?",
|
|
||||||
"describe": {
|
|
||||||
"columns": [],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": []
|
|
||||||
},
|
|
||||||
"hash": "4ce8e2a5f335030cf0b851a92bd08f37b12f571608bbafc0a2e1a083ec73239f"
|
|
||||||
}
|
|
||||||
|
|
@ -1,110 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n SELECT\n cluster_id, hash, cluster_file_name, enabled,\n bundle_name, bundle_version_id, package_id, installed_at\n FROM cluster_artifacts\n WHERE cluster_id = ? AND hash = ? AND bundle_name IS NOT NULL\n ",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "cluster_id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "cluster_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hash",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "cluster_file_name",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "cluster_file_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "enabled",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "enabled"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "bundle_name",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "bundle_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "bundle_version_id",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "bundle_version_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "package_id",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "package_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "installed_at",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_artifacts",
|
|
||||||
"name": "installed_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 2
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "4d14a10baba86d0d63f6b172873f4fffe319a5de18e34f5f190366a113a8831c"
|
|
||||||
}
|
|
||||||
|
|
@ -1,146 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tINSERT INTO browser_package_updates (\n\t\t\tcluster_id, hash, provider, project_id,\n\t\t\tinstalled_version_id, installed_version_name,\n\t\t\tlatest_version_id, latest_version_name,\n\t\t\tdisplay_name, checked_at, skipped\n\t\t)\n\t\tVALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 0)\n\t\tON CONFLICT(cluster_id, hash) DO UPDATE SET\n\t\t\tprovider = excluded.provider,\n\t\t\tproject_id = excluded.project_id,\n\t\t\tinstalled_version_id = excluded.installed_version_id,\n\t\t\tinstalled_version_name = excluded.installed_version_name,\n\t\t\tlatest_version_name = excluded.latest_version_name,\n\t\t\tdisplay_name = excluded.display_name,\n\t\t\tchecked_at = excluded.checked_at,\n\t\t\tskipped = CASE\n\t\t\t\tWHEN browser_package_updates.latest_version_id = excluded.latest_version_id\n\t\t\t\tTHEN browser_package_updates.skipped\n\t\t\t\tELSE 0\n\t\t\tEND,\n\t\t\tlatest_version_id = excluded.latest_version_id\n\t\tRETURNING\n\t\t\tcluster_id, hash, provider as \"provider!: i64\", project_id,\n\t\t\tinstalled_version_id, installed_version_name,\n\t\t\tlatest_version_id, latest_version_name,\n\t\t\tdisplay_name, checked_at, skipped\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "cluster_id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "cluster_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hash",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "provider!: i64",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "provider"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "project_id",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "project_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "installed_version_id",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "installed_version_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "installed_version_name",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "installed_version_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "latest_version_id",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "latest_version_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "latest_version_name",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "latest_version_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "display_name",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "display_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "checked_at",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "checked_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "skipped",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "browser_package_updates",
|
|
||||||
"name": "skipped"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 10
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "5183d452802d8bbec7f2a52ceba7ffe26960fdc25855f6cc993d6ab5deb84c02"
|
|
||||||
}
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT s.session_started_at, s.address, s.port, s.joined_at, s.disconnected_at\n\t\tFROM game_session_servers s\n\t\tJOIN game_sessions g ON g.started_at = s.session_started_at\n\t\tWHERE g.cluster_id = ?\n\t\tORDER BY s.joined_at ASC\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "session_started_at",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_session_servers",
|
|
||||||
"name": "session_started_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "address",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_session_servers",
|
|
||||||
"name": "address"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "port",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_session_servers",
|
|
||||||
"name": "port"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "joined_at",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_session_servers",
|
|
||||||
"name": "joined_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "disconnected_at",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_session_servers",
|
|
||||||
"name": "disconnected_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "53373194f104bdefd553ff6669b53d367c52a142b7afdae2f1bf8c07444d9e30"
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "DELETE FROM clusters WHERE id = ?",
|
|
||||||
"describe": {
|
|
||||||
"columns": [],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": []
|
|
||||||
},
|
|
||||||
"hash": "54da501aee46ee04b6f3c628737cece742d6ce62a230335e56e987b6b1d0996a"
|
|
||||||
}
|
|
||||||
|
|
@ -1,218 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tINSERT INTO clusters (\n\t\t\tname, folder_name, mc_version, mc_loader, mc_loader_version,\n\t\t\tsetting_profile_name, stage, created_at,\n\t\t\tkind, user_created, description, tags, cover_path\n\t\t)\n\t\tVALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\n\t\tRETURNING\n\t\t\tid, name, folder_name, setting_profile_name, mc_version, mc_loader,\n\t\t\tstage, mc_loader_version, created_at, last_played, overall_played, linked_modpack_hash,\n\t\t\tkind, user_created, description, tags, cover_path\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "folder_name",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "folder_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "setting_profile_name",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "setting_profile_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_version",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stage",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "stage"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader_version",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "created_at",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "created_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "last_played",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "last_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "overall_played",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "overall_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "linked_modpack_hash",
|
|
||||||
"ordinal": 11,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "linked_modpack_hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "kind",
|
|
||||||
"ordinal": 12,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "kind"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "user_created",
|
|
||||||
"ordinal": 13,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "user_created"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "description",
|
|
||||||
"ordinal": 14,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "description"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tags",
|
|
||||||
"ordinal": 15,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "tags"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "cover_path",
|
|
||||||
"ordinal": 16,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "cover_path"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 13
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "54dea3f4093ceee9dcd5f0ae9bf072ec3615954b60bffa33bff7fd3f9bf14210"
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n INSERT INTO cluster_bundle_overrides (cluster_id, bundle_name, package_id, override_type)\n VALUES (?, ?, ?, ?)\n ON CONFLICT(cluster_id, bundle_name, package_id) DO UPDATE SET\n override_type = excluded.override_type\n ",
|
|
||||||
"describe": {
|
|
||||||
"columns": [],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 4
|
|
||||||
},
|
|
||||||
"nullable": []
|
|
||||||
},
|
|
||||||
"hash": "56a95ce1cf65b5628481aeb2c6bbd20f083308b702a51c3e490409c37d0e8549"
|
|
||||||
}
|
|
||||||
|
|
@ -1,170 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tINSERT INTO setting_profiles (\n\t\t\tname, java_path, resolution, force_fullscreen, mem_max, launch_args, game_args, launch_env,\n\t\t\thook_pre, hook_wrapper, hook_post, os_extra, browser_update_mode\n\t\t)\n\t\tVALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\n\t\tON CONFLICT(name) DO UPDATE SET\n\t\t\tjava_path = excluded.java_path,\n\t\t\tresolution = excluded.resolution,\n\t\t\tforce_fullscreen = excluded.force_fullscreen,\n\t\t\tmem_max = excluded.mem_max,\n\t\t\tlaunch_args = excluded.launch_args,\n\t\t\tgame_args = excluded.game_args,\n\t\t\tlaunch_env = excluded.launch_env,\n\t\t\thook_pre = excluded.hook_pre,\n\t\t\thook_wrapper = excluded.hook_wrapper,\n\t\t\thook_post = excluded.hook_post,\n\t\t\tos_extra = excluded.os_extra,\n\t\t\tbrowser_update_mode = excluded.browser_update_mode\n\t\tRETURNING name, java_path, resolution, force_fullscreen, mem_max, launch_args, game_args, launch_env,\n hook_pre, hook_wrapper, hook_post, os_extra, browser_update_mode\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "java_path",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "java_path"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "resolution",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "resolution"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "force_fullscreen",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "force_fullscreen"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mem_max",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "mem_max"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "launch_args",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "launch_args"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "game_args",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "game_args"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "launch_env",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "launch_env"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hook_pre",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "hook_pre"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hook_wrapper",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "hook_wrapper"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hook_post",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "hook_post"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "os_extra",
|
|
||||||
"ordinal": 11,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "os_extra"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "browser_update_mode",
|
|
||||||
"ordinal": 12,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "browser_update_mode"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 13
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "598a34a0eb0f4d497cfd9bd77696310d1088e8baec677e07843a21ce6978652e"
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n INSERT OR IGNORE INTO cluster_bundle_type_opt_outs (cluster_id, bundle_name, content_type)\n VALUES (?, ?, ?)\n ",
|
|
||||||
"describe": {
|
|
||||||
"columns": [],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 3
|
|
||||||
},
|
|
||||||
"nullable": []
|
|
||||||
},
|
|
||||||
"hash": "59a29c97c422e8721c29b9517ae834ea97776c57bb129a9d67007cdd979ae841"
|
|
||||||
}
|
|
||||||
|
|
@ -1,98 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n SELECT id, cluster_id, bundle_name, package_id, bundle_version_id,\n seen_status, queued_at\n FROM cluster_optional_mods\n WHERE cluster_id = ?\n ORDER BY queued_at, id\n ",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_optional_mods",
|
|
||||||
"name": "id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "cluster_id",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_optional_mods",
|
|
||||||
"name": "cluster_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "bundle_name",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_optional_mods",
|
|
||||||
"name": "bundle_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "package_id",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_optional_mods",
|
|
||||||
"name": "package_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "bundle_version_id",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_optional_mods",
|
|
||||||
"name": "bundle_version_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "seen_status",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_optional_mods",
|
|
||||||
"name": "seen_status"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "queued_at",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_optional_mods",
|
|
||||||
"name": "queued_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "5b3dd7940a9bd6f0067fac7b5f21e83f8d9eeceda6b1c53c5ce5b735a8fe2a71"
|
|
||||||
}
|
|
||||||
|
|
@ -1,158 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n INSERT INTO bundles (\n remote_path, mc_version, mc_loader, file_name, name, version_id,\n category, loader_version, disk_path, hidden, etag, synced_at\n )\n VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\n ON CONFLICT(remote_path) DO UPDATE SET\n mc_version = excluded.mc_version,\n mc_loader = excluded.mc_loader,\n file_name = excluded.file_name,\n name = COALESCE(excluded.name, bundles.name),\n version_id = COALESCE(excluded.version_id, bundles.version_id),\n category = COALESCE(excluded.category, bundles.category),\n loader_version = COALESCE(excluded.loader_version, bundles.loader_version),\n disk_path = excluded.disk_path,\n hidden = excluded.hidden,\n etag = COALESCE(excluded.etag, bundles.etag),\n synced_at = COALESCE(excluded.synced_at, bundles.synced_at)\n RETURNING\n remote_path, mc_version, mc_loader, file_name, name, version_id,\n category, loader_version, disk_path, hidden, etag, synced_at\n ",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "remote_path",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "remote_path"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_version",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "mc_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "mc_loader"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "file_name",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "file_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "version_id",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "version_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "category",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "category"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "loader_version",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "loader_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "disk_path",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "disk_path"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hidden",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "hidden"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "etag",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "etag"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "synced_at",
|
|
||||||
"ordinal": 11,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "synced_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 12
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "5c51104ad11fd39178c9eb43f8c3a9b4f796753ab1fbb28efcbf71562b3fafa1"
|
|
||||||
}
|
|
||||||
|
|
@ -1,158 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT\n\t\t\tid, name, folder_name, setting_profile_name, mc_version, mc_loader,\n\t\t\tstage, mc_loader_version, created_at, last_played, overall_played, linked_modpack_hash\n\t\tFROM clusters\n\t\tWHERE mc_version = ? AND mc_loader = ?\n\t\tLIMIT 1\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "folder_name",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "folder_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "setting_profile_name",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "setting_profile_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_version",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stage",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "stage"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader_version",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "created_at",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "created_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "last_played",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "last_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "overall_played",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "overall_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "linked_modpack_hash",
|
|
||||||
"ordinal": 11,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "linked_modpack_hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 2
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "5d302dbecf00a8e32014e0cb6ffecab5db70f3f37058b87fc9896028c1e8f644"
|
|
||||||
}
|
|
||||||
|
|
@ -1,218 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT\n\t\t\tid, name, folder_name, setting_profile_name, mc_version, mc_loader,\n\t\t\tstage, mc_loader_version, created_at, last_played, overall_played, linked_modpack_hash,\n\t\t\tkind, user_created, description, tags, cover_path\n\t\tFROM clusters\n\t\tWHERE folder_name = ?\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "folder_name",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "folder_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "setting_profile_name",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "setting_profile_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_version",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stage",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "stage"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader_version",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "created_at",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "created_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "last_played",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "last_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "overall_played",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "overall_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "linked_modpack_hash",
|
|
||||||
"ordinal": 11,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "linked_modpack_hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "kind",
|
|
||||||
"ordinal": 12,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "kind"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "user_created",
|
|
||||||
"ordinal": 13,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "user_created"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "description",
|
|
||||||
"ordinal": 14,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "description"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tags",
|
|
||||||
"ordinal": 15,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "tags"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "cover_path",
|
|
||||||
"ordinal": 16,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "cover_path"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "5e18763a28af3660503e223c35875454b1e3fc4bb10c19d1c286d3e45afdd159"
|
|
||||||
}
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n SELECT bundle_name, content_type\n FROM cluster_bundle_type_opt_outs\n WHERE cluster_id = ?\n ",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "bundle_name",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_bundle_type_opt_outs",
|
|
||||||
"name": "bundle_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "content_type",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "cluster_bundle_type_opt_outs",
|
|
||||||
"name": "content_type"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "5f45ecf4e5ac27ad3a7ef4e5f9c2e6466ef51af11c332a2e6089c90759b9871f"
|
|
||||||
}
|
|
||||||
|
|
@ -1,158 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n SELECT\n remote_path, mc_version, mc_loader, file_name, name, version_id,\n category, loader_version, disk_path, hidden, etag, synced_at\n FROM bundles\n WHERE mc_version = ? AND mc_loader = ? AND hidden = 0\n ORDER BY name, file_name\n ",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "remote_path",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "remote_path"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_version",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "mc_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "mc_loader"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "file_name",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "file_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "version_id",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "version_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "category",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "category"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "loader_version",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "loader_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "disk_path",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "disk_path"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hidden",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "hidden"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "etag",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "etag"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "synced_at",
|
|
||||||
"ordinal": 11,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "synced_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 2
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "628245048eb9791987e8d1ac5a97c8364fda672d92ba43b641edf8c028e25186"
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tUPDATE game_session_servers\n\t\tSET disconnected_at = ?\n\t\tWHERE joined_at = ? AND disconnected_at IS NULL\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 2
|
|
||||||
},
|
|
||||||
"nullable": []
|
|
||||||
},
|
|
||||||
"hash": "6c4518b6e29605c7699e12aa80e8202b0de13f77c7dc9ef0c4a967fab8135e02"
|
|
||||||
}
|
|
||||||
|
|
@ -1,158 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tUPDATE clusters\n\t\tSET stage = ?\n\t\tWHERE id = ?\n\t\tRETURNING\n\t\t\tid, name, folder_name, setting_profile_name, mc_version, mc_loader,\n\t\t\tstage, mc_loader_version, created_at, last_played, overall_played, linked_modpack_hash\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "folder_name",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "folder_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "setting_profile_name",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "setting_profile_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_version",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stage",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "stage"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader_version",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "created_at",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "created_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "last_played",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "last_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "overall_played",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "overall_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "linked_modpack_hash",
|
|
||||||
"ordinal": 11,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "linked_modpack_hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 2
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "70b38391613b4f5d538c18e08014661d57dc172286b91235ab034a827fcc061e"
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tUPDATE game_sessions\n\t\tSET pid = ?, pid_started_at = ?\n\t\tWHERE started_at = ?\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 3
|
|
||||||
},
|
|
||||||
"nullable": []
|
|
||||||
},
|
|
||||||
"hash": "71fbe674b85a1fd6dc07a062e96a35888bb3b6a5a4fda5df3c662ca16b1d801e"
|
|
||||||
}
|
|
||||||
|
|
@ -1,110 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT\n\t\t\tcluster_id, started_at, ended_at, exit_code,\n\t\t\tram_allocated_mb, mods_enabled, java_vendor, java_version\n\t\tFROM game_sessions\n\t\tWHERE cluster_id = ?\n\t\tORDER BY started_at DESC\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "cluster_id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_sessions",
|
|
||||||
"name": "cluster_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "started_at",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_sessions",
|
|
||||||
"name": "started_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "ended_at",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_sessions",
|
|
||||||
"name": "ended_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "exit_code",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_sessions",
|
|
||||||
"name": "exit_code"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "ram_allocated_mb",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_sessions",
|
|
||||||
"name": "ram_allocated_mb"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mods_enabled",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_sessions",
|
|
||||||
"name": "mods_enabled"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "java_vendor",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_sessions",
|
|
||||||
"name": "java_vendor"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "java_version",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_sessions",
|
|
||||||
"name": "java_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "7d5011427a55581c66ea9d8ade35b33ced5913589907d80f4b20159150e1d1f1"
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n UPDATE cluster_artifacts\n SET bundle_name = NULL, bundle_version_id = NULL, package_id = NULL, installed_at = NULL\n WHERE cluster_id = ? AND hash = ?\n ",
|
|
||||||
"describe": {
|
|
||||||
"columns": [],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 2
|
|
||||||
},
|
|
||||||
"nullable": []
|
|
||||||
},
|
|
||||||
"hash": "80e69ca0c87bb70e0fcf7bf6c0aefc092f51300c10ad8776815637fc4616d12b"
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "INSERT OR IGNORE INTO applied_migrations (id, applied_at) VALUES (?, ?)",
|
|
||||||
"describe": {
|
|
||||||
"columns": [],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 2
|
|
||||||
},
|
|
||||||
"nullable": []
|
|
||||||
},
|
|
||||||
"hash": "836429d5d4054d1605d7de4cbcf3703ba78d72f39b3090734bb3e69c2b72d50c"
|
|
||||||
}
|
|
||||||
|
|
@ -1,170 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT name, java_path, resolution, force_fullscreen, mem_max, launch_args, game_args, launch_env,\n\t\t hook_pre, hook_wrapper, hook_post, os_extra, browser_update_mode\n\t\tFROM setting_profiles\n\t\tWHERE name = ?\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "java_path",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "java_path"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "resolution",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "resolution"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "force_fullscreen",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "force_fullscreen"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mem_max",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "mem_max"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "launch_args",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "launch_args"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "game_args",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "game_args"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "launch_env",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "launch_env"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hook_pre",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "hook_pre"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hook_wrapper",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "hook_wrapper"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hook_post",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "hook_post"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "os_extra",
|
|
||||||
"ordinal": 11,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "os_extra"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "browser_update_mode",
|
|
||||||
"ordinal": 12,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "browser_update_mode"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "86e3ba70da419464c0be3b3971f613c5a112558472cf2dcdeffa5907e3785318"
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tINSERT INTO package_metadata (provider, project_id, name, summary, author, icon_url, updated_at)\n\t\tVALUES (?, ?, ?, ?, ?, ?, datetime('now'))\n\t\tON CONFLICT(provider, project_id) DO UPDATE SET\n\t\t\tname = excluded.name,\n\t\t\tsummary = excluded.summary,\n\t\t\tauthor = excluded.author,\n\t\t\ticon_url = excluded.icon_url,\n\t\t\tupdated_at = excluded.updated_at\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 6
|
|
||||||
},
|
|
||||||
"nullable": []
|
|
||||||
},
|
|
||||||
"hash": "8efa8fcf00c6aca1714253c35f3850f3bf1f02bebabd8239716c2b3f2853dfcd"
|
|
||||||
}
|
|
||||||
|
|
@ -1,122 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT\n\t\t\tprovider as \"provider!: i64\", project_id, version_id, hash,\n\t\t\tdisplay_name, display_version, published_at, mc_versions, mc_loaders\n\t\tFROM provider_releases\n\t\tWHERE provider = ? AND project_id = ? AND version_id = ?\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "provider!: i64",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "provider_releases",
|
|
||||||
"name": "provider"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "project_id",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "provider_releases",
|
|
||||||
"name": "project_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "version_id",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "provider_releases",
|
|
||||||
"name": "version_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hash",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "provider_releases",
|
|
||||||
"name": "hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "display_name",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "provider_releases",
|
|
||||||
"name": "display_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "display_version",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "provider_releases",
|
|
||||||
"name": "display_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "published_at",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "provider_releases",
|
|
||||||
"name": "published_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_versions",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "provider_releases",
|
|
||||||
"name": "mc_versions"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loaders",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "provider_releases",
|
|
||||||
"name": "mc_loaders"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 3
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
false
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "968efdce37d30ac18897c64536707be05abf1a8a20b730075288e20d6166044f"
|
|
||||||
}
|
|
||||||
|
|
@ -1,158 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT\n\t\t\tid, name, folder_name, setting_profile_name, mc_version, mc_loader,\n\t\t\tstage, mc_loader_version, created_at, last_played, overall_played, linked_modpack_hash\n\t\tFROM clusters\n\t\tWHERE folder_name = ?\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "folder_name",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "folder_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "setting_profile_name",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "setting_profile_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_version",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stage",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "stage"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader_version",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "created_at",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "created_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "last_played",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "last_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "overall_played",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "overall_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "linked_modpack_hash",
|
|
||||||
"ordinal": 11,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "linked_modpack_hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "97d17b2c905bdd08abf41039e31972d10b5ac1d6b0d4df02f42edbf250d81782"
|
|
||||||
}
|
|
||||||
|
|
@ -1,158 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT name, java_path, resolution, force_fullscreen, mem_max, launch_args, launch_env,\n\t\t hook_pre, hook_wrapper, hook_post, os_extra, browser_update_mode\n\t\tFROM setting_profiles\n\t\tWHERE name = ?\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "java_path",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "java_path"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "resolution",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "resolution"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "force_fullscreen",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "force_fullscreen"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mem_max",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "mem_max"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "launch_args",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "launch_args"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "launch_env",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "launch_env"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hook_pre",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "hook_pre"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hook_wrapper",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "hook_wrapper"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hook_post",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "hook_post"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "os_extra",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "os_extra"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "browser_update_mode",
|
|
||||||
"ordinal": 11,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "setting_profiles",
|
|
||||||
"name": "browser_update_mode"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "98500a40f7e1ca7df79dd0ca90eaaa4f0b079ccbd757e5db1a8229ea58d2e700"
|
|
||||||
}
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT s.address AS \"address!\", COUNT(*) AS \"joins!: i64\"\n\t\tFROM game_session_servers s\n\t\tJOIN game_sessions g ON g.started_at = s.session_started_at\n\t\tWHERE g.cluster_id = ?\n\t\tGROUP BY s.address\n\t\tORDER BY COUNT(*) DESC\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "address!",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_session_servers",
|
|
||||||
"name": "address"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "joins!: i64",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": "Expression"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "9882797c904aa209f9cd6504ddb938a45c3a1dde7fe82f61aa78012f372a3263"
|
|
||||||
}
|
|
||||||
|
|
@ -1,218 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT\n\t\t\tid, name, folder_name, setting_profile_name, mc_version, mc_loader,\n\t\t\tstage, mc_loader_version, created_at, last_played, overall_played, linked_modpack_hash,\n\t\t\tkind, user_created, description, tags, cover_path\n\t\tFROM clusters\n\t\tWHERE id = ?\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "folder_name",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "folder_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "setting_profile_name",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "setting_profile_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_version",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stage",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "stage"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader_version",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "created_at",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "created_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "last_played",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "last_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "overall_played",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "overall_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "linked_modpack_hash",
|
|
||||||
"ordinal": 11,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "linked_modpack_hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "kind",
|
|
||||||
"ordinal": 12,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "kind"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "user_created",
|
|
||||||
"ordinal": 13,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "user_created"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "description",
|
|
||||||
"ordinal": 14,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "description"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tags",
|
|
||||||
"ordinal": 15,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "tags"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "cover_path",
|
|
||||||
"ordinal": 16,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "cover_path"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "9b769a1467201ee998290c51b2cf51144a34c01975b898ee749b4e2111856119"
|
|
||||||
}
|
|
||||||
|
|
@ -1,218 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tUPDATE clusters\n\t\tSET name = ?,\n\t\t setting_profile_name = ?,\n\t\t mc_loader_version = ?,\n\t\t linked_modpack_hash = ?,\n\t\t description = ?,\n\t\t tags = ?,\n\t\t cover_path = ?\n\t\tWHERE id = ?\n\t\tRETURNING\n\t\t\tid, name, folder_name, setting_profile_name, mc_version, mc_loader,\n\t\t\tstage, mc_loader_version, created_at, last_played, overall_played, linked_modpack_hash,\n\t\t\tkind, user_created, description, tags, cover_path\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "id",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "folder_name",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "folder_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "setting_profile_name",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "setting_profile_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_version",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stage",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "stage"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader_version",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "mc_loader_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "created_at",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "created_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "last_played",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "last_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "overall_played",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "overall_played"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "linked_modpack_hash",
|
|
||||||
"ordinal": 11,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "linked_modpack_hash"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "kind",
|
|
||||||
"ordinal": 12,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "kind"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "user_created",
|
|
||||||
"ordinal": 13,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "user_created"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "description",
|
|
||||||
"ordinal": 14,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "description"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tags",
|
|
||||||
"ordinal": 15,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "tags"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "cover_path",
|
|
||||||
"ordinal": 16,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "clusters",
|
|
||||||
"name": "cover_path"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 8
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "9e4cbbc2c299861132749196c4e248e4309c2449e181b3b9ae16e7f7b4d9e627"
|
|
||||||
}
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n\t\tSELECT started_at, ended_at\n\t\tFROM game_sessions\n\t\tWHERE cluster_id = ? AND ended_at IS NOT NULL\n\t\tORDER BY started_at ASC\n\t\t",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "started_at",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_sessions",
|
|
||||||
"name": "started_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "ended_at",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "game_sessions",
|
|
||||||
"name": "ended_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "a5b7826e41c36b5c781d9e6c012a32dce67133c35f44119a81996f3fc9145a4e"
|
|
||||||
}
|
|
||||||
|
|
@ -1,158 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n SELECT\n remote_path, mc_version, mc_loader, file_name, name, version_id,\n category, loader_version, disk_path, hidden, etag, synced_at\n FROM bundles\n WHERE remote_path = ?\n ",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "remote_path",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "remote_path"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_version",
|
|
||||||
"ordinal": 1,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "mc_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "mc_loader",
|
|
||||||
"ordinal": 2,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "mc_loader"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "file_name",
|
|
||||||
"ordinal": 3,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "file_name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"ordinal": 4,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "version_id",
|
|
||||||
"ordinal": 5,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "version_id"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "category",
|
|
||||||
"ordinal": 6,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "category"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "loader_version",
|
|
||||||
"ordinal": 7,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "loader_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "disk_path",
|
|
||||||
"ordinal": 8,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "disk_path"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "hidden",
|
|
||||||
"ordinal": 9,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "hidden"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "etag",
|
|
||||||
"ordinal": 10,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "etag"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "synced_at",
|
|
||||||
"ordinal": 11,
|
|
||||||
"type_info": "Text",
|
|
||||||
"origin": {
|
|
||||||
"Table": {
|
|
||||||
"table": "bundles",
|
|
||||||
"name": "synced_at"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
true,
|
|
||||||
true
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "a68c066d19000056ed56251834ecf6d83ed846b9b65132a46ccb14de5abe9391"
|
|
||||||
}
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n SELECT 1 FROM cluster_artifacts\n WHERE cluster_id = ? AND bundle_name IS NOT NULL AND package_id = ?\n LIMIT 1\n ",
|
|
||||||
"describe": {
|
|
||||||
"columns": [
|
|
||||||
{
|
|
||||||
"name": "1",
|
|
||||||
"ordinal": 0,
|
|
||||||
"type_info": "Integer",
|
|
||||||
"origin": "Expression"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 2
|
|
||||||
},
|
|
||||||
"nullable": [
|
|
||||||
false
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hash": "ab6dcea84a9502d5f8396a207ae613a4c41eb729ca22249f15eb45e6c6030094"
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"db_name": "SQLite",
|
|
||||||
"query": "\n DELETE FROM java_versions WHERE absolute_path = ?\n ",
|
|
||||||
"describe": {
|
|
||||||
"columns": [],
|
|
||||||
"parameters": {
|
|
||||||
"Right": 1
|
|
||||||
},
|
|
||||||
"nullable": []
|
|
||||||
},
|
|
||||||
"hash": "ade5a33ae1812b878e1ad43f6e2758d1103037947f14aeff5794511f1c002d55"
|
|
||||||
}
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue