Skip to content

Commit 3134565

Browse files
Make openapi.js work offline - still needs conditionals fixed though
1 parent 6eb1d25 commit 3134565

File tree

25 files changed

+72
-218
lines changed

25 files changed

+72
-218
lines changed

assets/openapi.json

Lines changed: 0 additions & 192 deletions
Large diffs are not rendered by default.

default.nix

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ let
1818
./tsconfig.json
1919
./assets
2020
./patches
21+
./scripts
2122
]
2223
)
2324
);
@@ -41,7 +42,7 @@ pkgs.buildNpmPackage {
4142
npmDeps = pkgs.importNpmLock { npmRoot = filteredSrc; };
4243
npmConfigHook = pkgs.importNpmLock.npmConfigHook;
4344

44-
npmBuildScript = "build:src:tsgo";
45+
npmBuildScript = "build:tsgo";
4546
makeCacheWritable = true;
4647
nativeBuildInputs = with pkgs; [
4748
(pkgs.python3.withPackages (ps: with ps; [ setuptools ]))
@@ -64,6 +65,7 @@ pkgs.buildNpmPackage {
6465
# remove packages not needed for production, or at least try to...
6566
npm prune --omit dev --no-save $npmInstallFlags "''${npmInstallFlagsArray[@]}" $npmFlags "''${npmFlagsArray[@]}"
6667
rm -v dist/src.tsbuildinfo
68+
rm -rv scripts
6769
time ${./nix/trimNodeModules.sh}
6870
6971
# Copy outputs

scripts/openapi.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ function apiRoutes(missingRoutes) {
213213

214214
obj.tags = [...new Set([...(obj.tags || []), getTag(p)])];
215215

216-
if (missingRoutes.additional.includes(path.replace(/\/$/, ""))) {
216+
if (route.spacebarOnly === true || missingRoutes?.additional.includes(path.replace(/\/$/, ""))) {
217217
obj["x-badges"] = [
218218
{
219219
label: "Spacebar-only",
@@ -231,12 +231,13 @@ function apiRoutes(missingRoutes) {
231231
async function main() {
232232
console.log("Generating OpenAPI Specification...");
233233

234-
const routesRes = await fetch("https://github.com/spacebarchat/missing-routes/raw/main/missing.json", {
235-
headers: {
236-
Accept: "application/json",
237-
},
238-
});
239-
const missingRoutes = await routesRes.json();
234+
// const routesRes = await fetch("https://github.com/spacebarchat/missing-routes/raw/main/missing.json", {
235+
// headers: {
236+
// Accept: "application/json",
237+
// },
238+
// });
239+
// const missingRoutes = await routesRes.json();
240+
let missingRoutes = undefined;
240241

241242
combineSchemas(schemas);
242243
apiRoutes(missingRoutes);

src/api/routes/-/healthz.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import { getDatabase } from "@spacebar/util";
2222

2323
const router = Router({ mergeParams: true });
2424

25-
router.get("/", route({ deprecated: true }), (req: Request, res: Response) => {
25+
router.get("/", route({ deprecated: true, spacebarOnly: true }), (req: Request, res: Response) => {
2626
if (!getDatabase()) return res.sendStatus(503);
2727

2828
return res.sendStatus(200);

src/api/routes/-/readyz.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import { getDatabase } from "@spacebar/util";
2222

2323
const router = Router({ mergeParams: true });
2424

25-
router.get("/", route({ deprecated: true }), (req: Request, res: Response) => {
25+
router.get("/", route({ deprecated: true, spacebarOnly: true }), (req: Request, res: Response) => {
2626
if (!getDatabase()) return res.sendStatus(503);
2727

2828
return res.sendStatus(200);

src/api/routes/applications/detectable.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ router.get(
3434
body: "ApplicationDetectableResponse",
3535
},
3636
},
37+
spacebarOnly: false, // not part of public openapi
3738
}),
3839
async (req: Request, res: Response) => {
3940
// cache for 6 hours

src/api/routes/auth/fingerprint.ts

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,17 @@ import { createHash } from "node:crypto";
2020
import { Snowflake } from "@spacebar/util";
2121
import { Request, Response, Router } from "express";
2222
const router = Router({ mergeParams: true });
23-
router.post("/", route({ responses: { 200: { body: "CreateFingerprintResponse" } } }), (req: Request, res: Response) => {
24-
const snowflake = Snowflake.generate();
25-
return res.json({
26-
fingerprint: `${snowflake}.${createHash("sha512").update(snowflake).digest("base64")}`,
27-
});
28-
});
23+
router.post(
24+
"/",
25+
route({
26+
responses: { 200: { body: "CreateFingerprintResponse" } },
27+
spacebarOnly: false, // not part of public openapi
28+
}),
29+
(req: Request, res: Response) => {
30+
const snowflake = Snowflake.generate();
31+
return res.json({
32+
fingerprint: `${snowflake}.${createHash("sha512").update(snowflake).digest("base64")}`,
33+
});
34+
},
35+
);
2936
export default router;

src/api/routes/auth/generate-registration-tokens.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ router.get(
3838
},
3939
right: "CREATE_REGISTRATION_TOKENS",
4040
responses: { 200: { body: "GenerateRegistrationTokensResponse" } },
41+
spacebarOnly: true,
4142
}),
4243
async (req: Request, res: Response) => {
4344
const count = req.query.count ? parseInt(req.query.count as string) : 1;

src/api/routes/auth/mfa/totp.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ router.post(
3636
body: "APIErrorResponse",
3737
},
3838
},
39+
spacebarOnly: false, // not part of public openapi
3940
}),
4041
async (req: Request, res: Response) => {
4142
// const { code, ticket, gift_code_sku_id, login_source } =

src/api/routes/auth/mfa/webauthn.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ router.post(
4141
200: { body: "TokenResponse" },
4242
400: { body: "APIErrorResponse" },
4343
},
44+
spacebarOnly: false, // not part of public openapi
4445
}),
4546
async (req: Request, res: Response) => {
4647
if (!WebAuthn.fido2) {

0 commit comments

Comments
 (0)