app crudTesting { wasp: { version: "^0.13.0" }, head: [ "" ], title: "crud-testing", auth: { userEntity: User, methods: { usernameAndPassword: { userSignupFields: import { userSignupFields } from "@src/auth.js", }, }, onAuthFailedRedirectTo: "/login", }, db: { system: PostgreSQL, seeds: [ import { migrateAuth } from "@src/seeds/migrateAuth.js" ] } } route RootRoute { path: "/", to: MainPage } page MainPage { component: import Main from "@src/MainPage.tsx", authRequired: true, } route LoginRoute { path: "/login", to: LoginPage } page LoginPage { component: import { LoginPage } from "@src/LoginPage.tsx", } route SignupRoute { path: "/signup", to: SignupPage } page SignupPage { component: import { SignupPage } from "@src/SignupPage.tsx", } route DetailRoute { path: "/:id/:something?", to: DetailPage } page DetailPage { component: import Main from "@src/DetailPage.tsx", authRequired: true, } entity User {=psl id Int @id @default(autoincrement()) address String? tasks Task[] psl=} // TODO: validate the fields // Maybe delegate to Prisma entity Task {=psl id Int @id @default(autoincrement()) title String userId Int user User @relation(fields: [userId], references: [id]) psl=} crud tasks { entity: Task, operations: { get: {}, getAll: { overrideFn: import { getAllTasks } from "@src/tasks.js", }, create: { overrideFn: import { createTask } from "@src/tasks.js", }, update: {}, delete: {}, }, } job simplePrintJob { executor: PgBoss, schedule: { cron: "* * * * *", }, perform: { fn: import { simplePrint } from "@src/jobs.js", }, entities: [Task] } action customSignup { fn: import { signup } from "@src/auth.js", }