mirror of
https://github.com/soconnor0919/hristudio.git
synced 2026-03-24 03:37:51 -04:00
75 lines
2.1 KiB
TypeScript
75 lines
2.1 KiB
TypeScript
import { appRouter } from "../../src/server/api/root";
|
|
import { createCallerFactory } from "../../src/server/api/trpc";
|
|
import { drizzle } from "drizzle-orm/postgres-js";
|
|
import postgres from "postgres";
|
|
import * as schema from "../../src/server/db/schema";
|
|
import { eq } from "drizzle-orm";
|
|
|
|
// 1. Setup DB Context
|
|
const connectionString = process.env.DATABASE_URL!;
|
|
const connection = postgres(connectionString);
|
|
const db = drizzle(connection, { schema });
|
|
|
|
// 2. Mock Session
|
|
const mockSession = {
|
|
user: {
|
|
id: "0e830889-ab46-4b48-a8ba-1d4bd3e665ed", // Admin user ID from seed
|
|
name: "Sean O'Connor",
|
|
email: "sean@soconnor.dev",
|
|
},
|
|
expires: new Date().toISOString(),
|
|
};
|
|
|
|
// 3. Create Caller
|
|
const createCaller = createCallerFactory(appRouter);
|
|
const caller = createCaller({
|
|
db,
|
|
session: mockSession as any,
|
|
headers: new Headers(),
|
|
});
|
|
|
|
async function main() {
|
|
console.log("🔍 Fetching experiment via TRPC caller...");
|
|
|
|
// Get ID first
|
|
const exp = await db.query.experiments.findFirst({
|
|
where: eq(schema.experiments.name, "Control Flow Demo"),
|
|
columns: { id: true },
|
|
});
|
|
|
|
if (!exp) {
|
|
console.error("❌ Experiment not found");
|
|
return;
|
|
}
|
|
|
|
const result = await caller.experiments.get({ id: exp.id });
|
|
|
|
console.log(`✅ Fetched experiment: ${result.name} (${result.id})`);
|
|
|
|
if (result.steps && result.steps.length > 0) {
|
|
console.log(`Checking ${result.steps.length} steps...`);
|
|
const actions = result.steps[0]!.actions; // Step 1 actions
|
|
console.log(`Step 1 has ${actions.length} actions.`);
|
|
|
|
actions.forEach((a) => {
|
|
if (["sequence", "parallel", "loop", "branch"].includes(a.type)) {
|
|
console.log(`\nAction: ${a.name} (${a.type})`);
|
|
console.log(
|
|
`Children Count: ${a.children ? a.children.length : "UNDEFINED"}`,
|
|
);
|
|
if (a.children && a.children.length > 0) {
|
|
console.log(
|
|
`First Child: ${a.children[0]!.name} (${a.children[0]!.type})`,
|
|
);
|
|
}
|
|
}
|
|
});
|
|
} else {
|
|
console.error("❌ No steps found in result.");
|
|
}
|
|
|
|
await connection.end();
|
|
}
|
|
|
|
main();
|