Skip to content

Commit fc4c36d

Browse files
authored
Merge pull request #431 from tp-link-extender/catalogfixes
Fix bungled branch
2 parents ae58709 + 3ea23bf commit fc4c36d

File tree

21 files changed

+133
-114
lines changed

21 files changed

+133
-114
lines changed

Site/bun.lock

Lines changed: 14 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"name": "mercurycore",
77
"dependencies": {
88
"@sveltejs/adapter-node": "^5.4.0",
9-
"@sveltejs/kit": "^2.49.1",
9+
"@sveltejs/kit": "^2.49.2",
1010
"@sveltejs/vite-plugin-svelte": "^6.2.1",
1111
"@unocss/extractor-svelte": "^66.5.10",
1212
"@unocss/preset-tagify": "^66.5.10",
@@ -27,7 +27,7 @@
2727
"vite": "npm:rolldown-vite@latest",
2828
},
2929
"devDependencies": {
30-
"@biomejs/biome": "^2.3.9",
30+
"@biomejs/biome": "^2.3.10",
3131
"@types/bun": "^1.3.4",
3232
"@types/d3-interpolate": "^3.0.4",
3333
"@types/nprogress": "^0.2.3",
@@ -68,23 +68,23 @@
6868

6969
"@babel/types": ["@babel/[email protected]", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.27.1" } }, "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ=="],
7070

71-
"@biomejs/biome": ["@biomejs/[email protected].9", "", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "2.3.9", "@biomejs/cli-darwin-x64": "2.3.9", "@biomejs/cli-linux-arm64": "2.3.9", "@biomejs/cli-linux-arm64-musl": "2.3.9", "@biomejs/cli-linux-x64": "2.3.9", "@biomejs/cli-linux-x64-musl": "2.3.9", "@biomejs/cli-win32-arm64": "2.3.9", "@biomejs/cli-win32-x64": "2.3.9" }, "bin": { "biome": "bin/biome" } }, "sha512-js+34KpnY65I00k8P71RH0Uh2rJk4BrpxMGM5m2nBfM9XTlKE5N1URn5ydILPRyXXq4ebhKCjsvR+txS+D4z2A=="],
71+
"@biomejs/biome": ["@biomejs/[email protected].10", "", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "2.3.10", "@biomejs/cli-darwin-x64": "2.3.10", "@biomejs/cli-linux-arm64": "2.3.10", "@biomejs/cli-linux-arm64-musl": "2.3.10", "@biomejs/cli-linux-x64": "2.3.10", "@biomejs/cli-linux-x64-musl": "2.3.10", "@biomejs/cli-win32-arm64": "2.3.10", "@biomejs/cli-win32-x64": "2.3.10" }, "bin": { "biome": "bin/biome" } }, "sha512-/uWSUd1MHX2fjqNLHNL6zLYWBbrJeG412/8H7ESuK8ewoRoMPUgHDebqKrPTx/5n6f17Xzqc9hdg3MEqA5hXnQ=="],
7272

73-
"@biomejs/cli-darwin-arm64": ["@biomejs/[email protected].9", "", { "os": "darwin", "cpu": "arm64" }, "sha512-hHbYYnna/WBwem5iCpssQQLtm5ey8ADuDT8N2zqosk6LVWimlEuUnPy6Mbzgu4GWVriyL5ijWd+1zphX6ll4/A=="],
73+
"@biomejs/cli-darwin-arm64": ["@biomejs/[email protected].10", "", { "os": "darwin", "cpu": "arm64" }, "sha512-M6xUjtCVnNGFfK7HMNKa593nb7fwNm43fq1Mt71kpLpb+4mE7odO8W/oWVDyBVO4ackhresy1ZYO7OJcVo/B7w=="],
7474

75-
"@biomejs/cli-darwin-x64": ["@biomejs/[email protected].9", "", { "os": "darwin", "cpu": "x64" }, "sha512-sKMW5fpvGDmPdqCchtVH5MVlbVeSU3ad4CuKS45x8VHt3tNSC8CZ2QbxffAOKYK9v/mAeUiPC6Cx6+wtyU1q7g=="],
75+
"@biomejs/cli-darwin-x64": ["@biomejs/[email protected].10", "", { "os": "darwin", "cpu": "x64" }, "sha512-Vae7+V6t/Avr8tVbFNjnFSTKZogZHFYl7MMH62P/J1kZtr0tyRQ9Fe0onjqjS2Ek9lmNLmZc/VR5uSekh+p1fg=="],
7676

77-
"@biomejs/cli-linux-arm64": ["@biomejs/[email protected].9", "", { "os": "linux", "cpu": "arm64" }, "sha512-BXBB6HbAgZI6T6QB8q6NSwIapVngqArP6K78BqkMerht7YjL6yWctqfeTnJm0qGF2bKBYFexslrbV+VTlM2E6g=="],
77+
"@biomejs/cli-linux-arm64": ["@biomejs/[email protected].10", "", { "os": "linux", "cpu": "arm64" }, "sha512-hhPw2V3/EpHKsileVOFynuWiKRgFEV48cLe0eA+G2wO4SzlwEhLEB9LhlSrVeu2mtSn205W283LkX7Fh48CaxA=="],
7878

79-
"@biomejs/cli-linux-arm64-musl": ["@biomejs/[email protected].9", "", { "os": "linux", "cpu": "arm64" }, "sha512-JOHyG2nl8XDpncbMazm1uBSi1dPX9VbQDOjKcfSVXTqajD0PsgodMOKyuZ/PkBu5Lw877sWMTGKfEfpM7jE7Cw=="],
79+
"@biomejs/cli-linux-arm64-musl": ["@biomejs/[email protected].10", "", { "os": "linux", "cpu": "arm64" }, "sha512-B9DszIHkuKtOH2IFeeVkQmSMVUjss9KtHaNXquYYWCjH8IstNgXgx5B0aSBQNr6mn4RcKKRQZXn9Zu1rM3O0/A=="],
8080

81-
"@biomejs/cli-linux-x64": ["@biomejs/[email protected].9", "", { "os": "linux", "cpu": "x64" }, "sha512-PjYuv2WLmvf0WtidxAkFjlElsn0P6qcvfPijrqu1j+3GoW3XSQh3ywGu7gZ25J25zrYj3KEovUjvUZB55ATrGw=="],
81+
"@biomejs/cli-linux-x64": ["@biomejs/[email protected].10", "", { "os": "linux", "cpu": "x64" }, "sha512-wwAkWD1MR95u+J4LkWP74/vGz+tRrIQvr8kfMMJY8KOQ8+HMVleREOcPYsQX82S7uueco60L58Wc6M1I9WA9Dw=="],
8282

83-
"@biomejs/cli-linux-x64-musl": ["@biomejs/[email protected].9", "", { "os": "linux", "cpu": "x64" }, "sha512-FUkb/5beCIC2trpqAbW9e095X4vamdlju80c1ExSmhfdrojLZnWkah/XfTSixKb/dQzbAjpD7vvs6rWkJ+P07Q=="],
83+
"@biomejs/cli-linux-x64-musl": ["@biomejs/[email protected].10", "", { "os": "linux", "cpu": "x64" }, "sha512-QTfHZQh62SDFdYc2nfmZFuTm5yYb4eO1zwfB+90YxUumRCR171tS1GoTX5OD0wrv4UsziMPmrePMtkTnNyYG3g=="],
8484

85-
"@biomejs/cli-win32-arm64": ["@biomejs/[email protected].9", "", { "os": "win32", "cpu": "arm64" }, "sha512-w48Yh/XbYHO2cBw8B5laK3vCAEKuocX5ItGXVDAqFE7Ze2wnR00/1vkY6GXglfRDOjWHu2XtxI0WKQ52x1qxEA=="],
85+
"@biomejs/cli-win32-arm64": ["@biomejs/[email protected].10", "", { "os": "win32", "cpu": "arm64" }, "sha512-o7lYc9n+CfRbHvkjPhm8s9FgbKdYZu5HCcGVMItLjz93EhgJ8AM44W+QckDqLA9MKDNFrR8nPbO4b73VC5kGGQ=="],
8686

87-
"@biomejs/cli-win32-x64": ["@biomejs/[email protected].9", "", { "os": "win32", "cpu": "x64" }, "sha512-90+J63VT7qImy9s3pkWL0ZX27VzVwMNCRzpLpe5yMzMYPbO1vcjL/w/Q5f/juAGMvP7a2Fd0H7IhAR6F7/i78A=="],
87+
"@biomejs/cli-win32-x64": ["@biomejs/[email protected].10", "", { "os": "win32", "cpu": "x64" }, "sha512-pHEFgq7dUEsKnqG9mx9bXihxGI49X+ar+UBrEIj3Wqj3UCZp1rNgV+OoyjFgcXsjCWpuEAF4VJdkZr3TrWdCbQ=="],
8888

8989
"@emnapi/core": ["@emnapi/[email protected]", "", { "dependencies": { "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" } }, "sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg=="],
9090

@@ -272,7 +272,7 @@
272272

273273
"@sveltejs/adapter-node": ["@sveltejs/[email protected]", "", { "dependencies": { "@rollup/plugin-commonjs": "^28.0.1", "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^16.0.0", "rollup": "^4.9.5" }, "peerDependencies": { "@sveltejs/kit": "^2.4.0" } }, "sha512-NMsrwGVPEn+J73zH83Uhss/hYYZN6zT3u31R3IHAn3MiKC3h8fjmIAhLfTSOeNHr5wPYfjjMg8E+1gyFgyrEcQ=="],
274274

275-
"@sveltejs/kit": ["@sveltejs/[email protected].1", "", { "dependencies": { "@standard-schema/spec": "^1.0.0", "@sveltejs/acorn-typescript": "^1.0.5", "@types/cookie": "^0.6.0", "acorn": "^8.14.1", "cookie": "^0.6.0", "devalue": "^5.3.2", "esm-env": "^1.2.2", "kleur": "^4.1.5", "magic-string": "^0.30.5", "mrmime": "^2.0.0", "sade": "^1.8.1", "set-cookie-parser": "^2.6.0", "sirv": "^3.0.0" }, "peerDependencies": { "@opentelemetry/api": "^1.0.0", "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0", "svelte": "^4.0.0 || ^5.0.0-next.0", "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0" }, "optionalPeers": ["@opentelemetry/api"], "bin": { "svelte-kit": "svelte-kit.js" } }, "sha512-vByReCTTdlNM80vva8alAQC80HcOiHLkd8XAxIiKghKSHcqeNfyhp3VsYAV8VSiPKu4Jc8wWCfsZNAIvd1uCqA=="],
275+
"@sveltejs/kit": ["@sveltejs/[email protected].2", "", { "dependencies": { "@standard-schema/spec": "^1.0.0", "@sveltejs/acorn-typescript": "^1.0.5", "@types/cookie": "^0.6.0", "acorn": "^8.14.1", "cookie": "^0.6.0", "devalue": "^5.3.2", "esm-env": "^1.2.2", "kleur": "^4.1.5", "magic-string": "^0.30.5", "mrmime": "^2.0.0", "sade": "^1.8.1", "set-cookie-parser": "^2.6.0", "sirv": "^3.0.0" }, "peerDependencies": { "@opentelemetry/api": "^1.0.0", "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0", "svelte": "^4.0.0 || ^5.0.0-next.0", "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0" }, "optionalPeers": ["@opentelemetry/api"], "bin": { "svelte-kit": "svelte-kit.js" } }, "sha512-Vp3zX/qlwerQmHMP6x0Ry1oY7eKKRcOWGc2P59srOp4zcqyn+etJyQpELgOi4+ZSUgteX8Y387NuwruLgGXLUQ=="],
276276

277277
"@sveltejs/vite-plugin-svelte": ["@sveltejs/[email protected]", "", { "dependencies": { "@sveltejs/vite-plugin-svelte-inspector": "^5.0.0", "debug": "^4.4.1", "deepmerge": "^4.3.1", "magic-string": "^0.30.17", "vitefu": "^1.1.1" }, "peerDependencies": { "svelte": "^5.0.0", "vite": "^6.3.0 || ^7.0.0" } }, "sha512-YZs/OSKOQAQCnJvM/P+F1URotNnYNeU3P2s4oIpzm1uFaqUEqRxUB0g5ejMjEb5Gjb9/PiBI5Ktrq4rUUF8UVQ=="],
278278

@@ -428,7 +428,7 @@
428428

429429
"detect-libc": ["[email protected]", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="],
430430

431-
"devalue": ["devalue@5.5.0", "", {}, "sha512-69sM5yrHfFLJt0AZ9QqZXGCPfJ7fQjvpln3Rq5+PS03LD32Ost1Q9N+eEnaQwGRIriKkMImXD56ocjQmfjbV3w=="],
431+
"devalue": ["devalue@5.6.1", "", {}, "sha512-jDwizj+IlEZBunHcOuuFVBnIMPAEHvTsJj0BcIp94xYguLRVBcXO853px/MyIJvbVzWdsGvrRweIUWJw8hBP7A=="],
432432

433433
"diff-sequences": ["[email protected]", "", {}, "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q=="],
434434

@@ -654,7 +654,7 @@
654654

655655
"type-fest": ["[email protected]", "", {}, "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA=="],
656656

657-
"typebox": ["[email protected].63", "", {}, "sha512-qqQ1IePTIL3Illa9C5GToVAUM5qRwOaDN4x/V4jBIt4V0S3lqttJbUNIYm+u+QXvvVxOnTddWxa+6hGuujIEwA=="],
657+
"typebox": ["[email protected].64", "", {}, "sha512-U6quDhQMzQRzBX8jvlE5mZlUnlMRTaZrG/QMAhOYVJ0D0rhq1iOXBQVSzBX0JgAh55jXQ7fWIv24i+lVimXcDw=="],
658658

659659
"typescript": ["[email protected]", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
660660

@@ -680,8 +680,6 @@
680680

681681
"vite": ["[email protected]", "", { "dependencies": { "@oxc-project/runtime": "0.101.0", "fdir": "^6.5.0", "lightningcss": "^1.30.2", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rolldown": "1.0.0-beta.53", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "esbuild": "^0.25.0", "jiti": ">=1.21.0", "less": "^4.0.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "esbuild", "jiti", "less", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-WwCantGLbztBNipg+WwcA+a1c3Mo9LPY0VZ35IFXnUsQyZzsMHtzmy+H5PqELPj3AOauI9L/HMCjoJZp3i9eFg=="],
682682

683-
"vite-plugin-devtools-json": ["[email protected]", "", { "dependencies": { "uuid": "^11.1.0" }, "peerDependencies": { "vite": "^5.0.0 || ^6.0.0 || ^7.0.0" } }, "sha512-MobvwqX76Vqt/O4AbnNMNWoXWGrKUqZbphCUle/J2KXH82yKQiunOeKnz/nqEPosPsoWWPP9FtNuPBSYpiiwkw=="],
684-
685683
"vitefu": ["[email protected]", "", { "peerDependencies": { "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" }, "optionalPeers": ["vite"] }, "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ=="],
686684

687685
"vue-flow-layout": ["[email protected]", "", {}, "sha512-zKgsWWkXq0xrus7H4Mc+uFs1ESrmdTXlO0YNbR6wMdPaFvosL3fMB8N7uTV308UhGy9UvTrGhIY7mVz9eN+L0Q=="],
@@ -748,14 +746,6 @@
748746

749747
"pretty-format/ansi-styles": ["[email protected]", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="],
750748

751-
"svelte/devalue": ["[email protected]", "", {}, "sha512-jDwizj+IlEZBunHcOuuFVBnIMPAEHvTsJj0BcIp94xYguLRVBcXO853px/MyIJvbVzWdsGvrRweIUWJw8hBP7A=="],
752-
753-
"svelte/magic-string": ["[email protected]", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="],
754-
755-
"sveltekit-superforms/devalue": ["[email protected]", "", {}, "sha512-jDwizj+IlEZBunHcOuuFVBnIMPAEHvTsJj0BcIp94xYguLRVBcXO853px/MyIJvbVzWdsGvrRweIUWJw8hBP7A=="],
756-
757-
"sveltekit-superforms/devalue": ["[email protected]", "", {}, "sha512-UDsjUbpQn9kvm68slnrs+mfxwFkIflOhkanmyabZ8zOYk8SMEIbJ3TK+88g70hSIeytu4y18f0z/hYHMTrXIWw=="],
758-
759749
"@rollup/plugin-commonjs/is-reference/@types/estree": ["@types/[email protected]", "", {}, "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw=="],
760750

761751
"@rollup/plugin-commonjs/magic-string/@jridgewell/sourcemap-codec": ["@jridgewell/[email protected]", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="],

Site/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"logs": "bun x pm2 logs"
1616
},
1717
"devDependencies": {
18-
"@biomejs/biome": "^2.3.9",
18+
"@biomejs/biome": "^2.3.10",
1919
"@types/bun": "^1.3.4",
2020
"@types/d3-interpolate": "^3.0.4",
2121
"@types/nprogress": "^0.2.3",
@@ -25,7 +25,7 @@
2525
"type": "module",
2626
"dependencies": {
2727
"@sveltejs/adapter-node": "^5.4.0",
28-
"@sveltejs/kit": "^2.49.1",
28+
"@sveltejs/kit": "^2.49.2",
2929
"@sveltejs/vite-plugin-svelte": "^6.2.1",
3030
"@unocss/extractor-svelte": "^66.5.10",
3131
"@unocss/preset-tagify": "^66.5.10",

Site/src/hooks.server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ export async function handle(e) {
119119
)
120120
redirect(302, "/moderation")
121121

122-
await stipend(user.id)
122+
await stipend(e.event.fetch, user.id)
123123

124124
return await finish(e)
125125
}

Site/src/lib/server/economy.ts

Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,12 @@ export type ReturnErr = { ok: true } | { ok: false; msg: string }
1010

1111
const tryFetch =
1212
<T>(transform: (res: Response) => Promise<T>) =>
13-
async (url: string): Promise<ReturnValue<T>> => {
13+
async (
14+
f: typeof globalThis.fetch,
15+
url: string
16+
): Promise<ReturnValue<T>> => {
1417
try {
15-
const res = await fetch(url)
18+
const res = await f(url)
1619
if (!res.ok) return { ok: false }
1720
return { ok: true, value: await transform(res) }
1821
} catch {
@@ -23,9 +26,10 @@ const tryFetch =
2326
const tryFetchValue = tryFetch(async res => +(await res.text()))
2427
const tryFetchJson = <T>() => tryFetch(async res => (await res.json()) as T) // type assertion much?¿
2528

26-
export const getStipend = () => tryFetchValue(`${economyUrl}/currentStipend`)
27-
export const getBalance = (user: string) =>
28-
tryFetchValue(`${economyUrl}/balance/${user}`)
29+
export const getStipend = (f: typeof globalThis.fetch) =>
30+
tryFetchValue(f, `${economyUrl}/currentStipend`)
31+
export const getBalance = (f: typeof globalThis.fetch, user: string) =>
32+
tryFetchValue(f, `${economyUrl}/balance/${user}`)
2933

3034
type BaseTx = {
3135
Note: string
@@ -58,21 +62,20 @@ type TxTypes =
5862

5963
type ReceivedTx = BaseTx & TxTypes
6064

61-
export const getTransactions = (user: string) =>
62-
tryFetchJson<ReceivedTx[]>()(`${economyUrl}/transactions/${user}`)
63-
export const getAdminTransactions = () =>
64-
tryFetchJson<ReceivedTx[]>()(`${economyUrl}/transactions`)
65+
export const getTransactions = (f: typeof globalThis.fetch, user: string) =>
66+
tryFetchJson<ReceivedTx[]>()(f, `${economyUrl}/transactions/${user}`)
67+
export const getAdminTransactions = (f: typeof globalThis.fetch) =>
68+
tryFetchJson<ReceivedTx[]>()(f, `${economyUrl}/transactions`)
6569

6670
// doin nothing with returns rn
67-
export async function stipend(To: string) {
71+
export async function stipend(f: typeof globalThis.fetch, To: string) {
6872
try {
69-
await fetch(`${economyUrl}/stipend/${To}`, {
70-
method: "post",
71-
})
73+
await f(`${economyUrl}/stipend/${To}`, { method: "post" })
7274
} catch {}
7375
}
7476

7577
export async function transact(
78+
f: typeof globalThis.fetch,
7679
From: string,
7780
To: string,
7881
Amount: number,
@@ -81,7 +84,7 @@ export async function transact(
8184
Returns: { [_: number]: number }
8285
): Promise<ReturnErr> {
8386
try {
84-
const res = await fetch(`${economyUrl}/transact`, {
87+
const res = await f(`${economyUrl}/transact`, {
8588
method: "post",
8689
body: JSON.stringify({ From, To, Amount, Note, Link, Returns }),
8790
})
@@ -94,6 +97,7 @@ export async function transact(
9497
}
9598

9699
async function burn(
100+
f: typeof globalThis.fetch,
97101
From: string,
98102
Amount: number,
99103
Note: string,
@@ -106,7 +110,7 @@ async function burn(
106110
// When my campaign turned to a cam-pain
107111
// We got $2.5 trillion stored on the blockchain
108112
// Uh, ₿urn ₿aby ₿urn
109-
const res = await fetch(`${economyUrl}/burn`, {
113+
const res = await f(`${economyUrl}/burn`, {
110114
method: "post",
111115
body: JSON.stringify({ From, Amount, Note, Link, Returns }),
112116
})
@@ -127,13 +131,15 @@ export const getGroupPrice = () => getFeeBasedPrice(50)
127131
// export const getPlacePrice = () => getFeeBasedPrice(50)
128132

129133
export async function createAsset(
134+
f: typeof globalThis.fetch,
130135
To: string,
131136
id: number,
132137
name: string,
133138
slug: string
134139
): Promise<ReturnErr> {
135140
const price = getAssetPrice()
136141
return await burn(
142+
f,
137143
To,
138144
price,
139145
`Created asset ${name}`,
@@ -143,13 +149,15 @@ export async function createAsset(
143149
}
144150

145151
// export async function createPlace(
152+
// f: typeof globalThis.fetch,
146153
// To: string,
147154
// id: number,
148155
// name: string,
149156
// slug: string
150157
// ): Promise<ReturnErr> {
151158
// const price = getPlacePrice()
152159
// return await burn(
160+
// fee,
153161
// To,
154162
// price,
155163
// `Created place ${name}`,
@@ -159,11 +167,19 @@ export async function createAsset(
159167
// }
160168

161169
export async function createGroup(
170+
f: typeof globalThis.fetch,
162171
To: string,
163172
name: string
164173
): Promise<ReturnErr> {
165174
const price = getGroupPrice()
166-
return await burn(To, price, `Created group ${name}`, `/groups/${name}`, {})
175+
return await burn(
176+
f,
177+
To,
178+
price,
179+
`Created group ${name}`,
180+
`/groups/${name}`,
181+
{}
182+
)
167183
}
168184

169185
export async function transformTransactions(list: ReceivedTx[]) {

Site/src/lib/server/orbiter.ts

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@ type Gameserver = {
88

99
type GameserverId = [number, Gameserver]
1010

11-
export async function listGameservers(): ReturnValue<GameserverId[]> {
11+
export async function listGameservers(
12+
f: typeof globalThis.fetch
13+
): ReturnValue<GameserverId[]> {
1214
try {
13-
const res = await fetch(config.OrbiterPrivateURL)
15+
const res = await f(config.OrbiterPrivateURL)
1416
if (!res.ok) return { ok: false }
1517
return { ok: true, value: await res.json() }
1618
} catch {
@@ -19,11 +21,12 @@ export async function listGameservers(): ReturnValue<GameserverId[]> {
1921
}
2022

2123
async function fetchGameserver(
24+
f: typeof globalThis.fetch,
2225
path: string | number,
2326
method: string
2427
): Promise<ReturnErr> {
2528
try {
26-
const res = await fetch(`${config.OrbiterPrivateURL}/${path}`, { method })
29+
const res = await f(`${config.OrbiterPrivateURL}/${path}`, { method })
2730
if (!res.ok) return { ok: false, msg: await res.text() }
2831
} catch (err) {
2932
const e = err as Error
@@ -32,8 +35,12 @@ async function fetchGameserver(
3235
return { ok: true }
3336
}
3437

35-
export const startGameserver = async (placeId: number) =>
36-
fetchGameserver(placeId, "put")
38+
export const startGameserver = async (
39+
f: typeof globalThis.fetch,
40+
placeId: number
41+
) => fetchGameserver(f, placeId, "put")
3742

38-
export const closeGameserver = async (placeId: number) =>
39-
fetchGameserver(placeId, "delete")
43+
export const closeGameserver = async (
44+
f: typeof globalThis.fetch,
45+
placeId: number
46+
) => fetchGameserver(f, placeId, "delete")

Site/src/lib/server/requestRender.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ type Render = {
2020
* @param wait Whether to wait for the render to be completed before resolving.
2121
*/
2222
export default async function (
23+
f: typeof globalThis.fetch,
2324
renderType: RenderType,
2425
relativeId: string | number,
2526
relativeName = relativeId,
@@ -85,7 +86,7 @@ export default async function (
8586
await Promise.all([
8687
waiter,
8788
// Uhh carrot just got the
88-
fetch(`${config.RCCServiceProxyURL}/${renderId}`, {
89+
f(`${config.RCCServiceProxyURL}/${renderId}`, {
8990
method: "post",
9091
body: script,
9192
}),

Site/src/routes/(main)/admin/asset/+page.server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ actions.rerender = async e => {
8080
if (limit) return limit
8181

8282
try {
83-
await requestRender("Clothing", id)
83+
await requestRender(e.fetch, "Clothing", id)
8484
} catch (e) {
8585
console.error(e)
8686
fail(500, { msg: "Failed to request render" })

Site/src/routes/(main)/admin/create/+page.server.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ actions.default = async ({ locals, request }) => {
4646
if (!fs.existsSync("../data/thumbnails")) fs.mkdirSync("../data/thumbnails")
4747

4848
const { asset, description, name, price, type: assetType } = data
49-
form.data.asset = null // make sure to return as a POJO
49+
form.data.asset = null as unknown as File// make sure to return as a POJO
5050

5151
const [, id] = await db.query<string[]>(createQuery, {
5252
description,
@@ -59,7 +59,7 @@ actions.default = async ({ locals, request }) => {
5959
await Bun.write(`../data/assets/${id}`, await asset.arrayBuffer())
6060

6161
// we'll just assume it's a model 4 now
62-
// await requestRender("Model", id)
62+
// await requestRender(f, "Model", id)
6363

6464
redirect(302, `/catalog/${id}`)
6565
}

Site/src/routes/(main)/admin/gameservers/+page.server.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ import { error } from "@sveltejs/kit"
22
import { authorise } from "$lib/server/auth"
33
import { listGameservers } from "$lib/server/orbiter"
44

5-
export async function load({ locals }) {
5+
export async function load({ fetch: f, locals }) {
66
await authorise(locals, 5)
77

8-
const gameservers = await listGameservers()
8+
const gameservers = await listGameservers(f)
99
if (!gameservers.ok) error(500, "Failed to fetch gameservers")
1010

1111
return {

0 commit comments

Comments
 (0)