Skip to content

Commit 1eb565c

Browse files
authored
Modify /get endpoint to have include_logs as params, remove the eval dependency (#1208)
1 parent 0e3f143 commit 1eb565c

7 files changed

Lines changed: 70 additions & 27 deletions

File tree

bun-tests/fake-snippets-api/fixtures/get-circuit-json.ts

Lines changed: 0 additions & 10 deletions
This file was deleted.

bun-tests/fake-snippets-api/routes/package_releases/get.test.ts

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,3 +116,41 @@ test("POST /api/package_releases/get - should return circuit_json_build_error if
116116
expect(responseBody.ok).toBe(true)
117117
expect(responseBody.package_release.circuit_json_build_error).toBe(null)
118118
})
119+
120+
test("POST /api/package_releases/get?include_logs=true - should return include_logs if it exists", async () => {
121+
const { axios } = await getTestServer()
122+
123+
// First create a package with valid name format
124+
const packageResponse = await axios.post("/api/packages/create", {
125+
name: "@test/package-4",
126+
description: "Another test package",
127+
})
128+
expect(packageResponse.status).toBe(200)
129+
const createdPackage = packageResponse.data.package
130+
131+
// Create a package release with a circuit_json_build_error
132+
const releaseResponse = await axios.post("/api/package_releases/create", {
133+
package_id: createdPackage.package_id,
134+
version: "1.0.0",
135+
is_latest: true,
136+
})
137+
expect(releaseResponse.status).toBe(200)
138+
const createdRelease = releaseResponse.data.package_release
139+
140+
// Get the release
141+
const getResponse = await axios.post(
142+
"/api/package_releases/get",
143+
{
144+
package_release_id: createdRelease.package_release_id,
145+
},
146+
{
147+
params: { include_logs: true },
148+
},
149+
)
150+
expect(getResponse.status).toBe(200)
151+
152+
const responseBody = getResponse.data
153+
expect(responseBody.ok).toBe(true)
154+
expect(responseBody.package_release.transpilation_logs).toEqual([])
155+
expect(responseBody.package_release.circuit_json_build_logs).toEqual([])
156+
})

bun-tests/fake-snippets-api/routes/packages/images.test.ts

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { getTestServer } from "bun-tests/fake-snippets-api/fixtures/get-test-server"
22
import { expect, test } from "bun:test"
3-
import { generateCircuitJson } from "bun-tests/fake-snippets-api/fixtures/get-circuit-json"
43
import md5 from "md5"
54
test("get schematic svg of a package", async () => {
65
const { axios, db } = await getTestServer()
@@ -18,16 +17,20 @@ test("get schematic svg of a package", async () => {
1817
is_latest: true,
1918
})
2019

21-
const circuit_json = await generateCircuitJson({
22-
code: `
23-
import { A555Timer } from "@tsci/seveibar.a555timer"
24-
25-
export default () => (
26-
<board width="10mm" height="10mm">
27-
<A555Timer name="U1" />
28-
</board>
29-
)`.trim(),
30-
})
20+
const circuit_json = [
21+
{
22+
type: "pcb_board",
23+
pcb_board_id: "pcb_board_0",
24+
center: {
25+
x: 0,
26+
y: 0,
27+
},
28+
thickness: 1.4,
29+
num_layers: 4,
30+
width: 30,
31+
height: 30,
32+
},
33+
]
3134
// create a package file
3235
const pkg_file = await axios.post("/api/package_files/create", {
3336
package_release_id: pkg_release.data.package_release.package_release_id,

bun.lock

Lines changed: 1 addition & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

fake-snippets-api/lib/public-mapping/public-map-package-release.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,23 @@ import * as ZT from "fake-snippets-api/lib/db/schema"
22

33
export const publicMapPackageRelease = (
44
internal_package_release: ZT.PackageRelease,
5+
options: {
6+
include_logs?: boolean
7+
} = {
8+
include_logs: false,
9+
},
510
): ZT.PackageRelease => {
611
return {
712
...internal_package_release,
813
created_at: internal_package_release.created_at,
914
circuit_json_build_error_last_updated_at:
1015
internal_package_release.circuit_json_build_error_last_updated_at,
1116
circuit_json_build_error: internal_package_release.circuit_json_build_error,
17+
transpilation_logs: options.include_logs
18+
? internal_package_release.transpilation_logs
19+
: [],
20+
circuit_json_build_logs: options.include_logs
21+
? internal_package_release.circuit_json_build_logs
22+
: [],
1223
}
1324
}

fake-snippets-api/routes/api/package_releases/get.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ import { z } from "zod"
66
export default withRouteSpec({
77
methods: ["POST"],
88
auth: "none",
9+
commonParams: z.object({
10+
include_logs: z.boolean().optional().default(false),
11+
}),
912
jsonBody: z.object({
1013
package_release_id: z.string().optional(),
1114
package_name_with_version: z.string().optional(),
@@ -115,6 +118,8 @@ export default withRouteSpec({
115118

116119
return ctx.json({
117120
ok: true,
118-
package_release: publicMapPackageRelease(foundRelease),
121+
package_release: publicMapPackageRelease(foundRelease, {
122+
include_logs: req.commonParams?.include_logs,
123+
}),
119124
})
120125
})

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@
7070
"@radix-ui/react-toggle": "^1.1.0",
7171
"@radix-ui/react-toggle-group": "^1.1.0",
7272
"@radix-ui/react-tooltip": "^1.1.2",
73-
"@tscircuit/eval": "^0.0.198",
7473
"@tscircuit/footprinter": "^0.0.169",
7574
"@tscircuit/layout": "^0.0.29",
7675
"@tscircuit/math-utils": "^0.0.10",

0 commit comments

Comments
 (0)