wasp/waspc/examples/todoApp/todoApp.wasp

105 lines
2.1 KiB
JavaScript
Raw Normal View History

app todoApp {
2021-02-04 13:42:01 +03:00
title: "ToDo App",
head: [
"<link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,400,500&display=swap\" />"
]
2019-07-04 22:51:05 +03:00
}
2021-02-04 13:42:01 +03:00
dependencies {=json
"@material-ui/core": "4.11.3"
json=}
2020-10-19 15:45:54 +03:00
auth {
userEntity: User,
methods: [ EmailAndPassword ],
onAuthFailedRedirectTo: "/login"
2020-10-19 15:45:54 +03:00
}
2020-10-21 17:37:20 +03:00
entity User {=psl
2020-10-19 15:45:54 +03:00
id Int @id @default(autoincrement())
email String @unique
password String
tasks Task[]
psl=}
2020-10-21 17:37:20 +03:00
entity Task {=psl
id Int @id @default(autoincrement())
description String
isDone Boolean @default(false)
user User @relation(fields: [userId], references: [id])
userId Int
psl=}
server {
setupFn: import setup from "@ext/serverSetup.js"
}
route "/signup" -> page Signup
page Signup {
component: import Signup from "@ext/pages/auth/Signup"
}
route "/login" -> page Login
page Login {
component: import Login from "@ext/pages/auth/Login"
}
route "/" -> page Main
2019-07-04 22:51:05 +03:00
page Main {
authRequired: true,
component: import Main from "@ext/pages/Main"
}
route "/about" -> page About
page About {
component: import About from "@ext/pages/About"
}
route "/profile" -> page Profile
page Profile {
authRequired: true,
2020-10-15 22:02:05 +03:00
component: import { ProfilePage } from "@ext/pages/ProfilePage"
}
// Page for viewing a specific task
//
route "/task/:id" -> page Task
page Task {
authRequired: true,
component: import Task from "@ext/pages/Task"
}
// --------- Queries --------- //
query getTasks {
fn: import { getTasks } from "@ext/queries.js",
entities: [Task]
}
query getTask {
2020-10-19 15:45:54 +03:00
fn: import { getTask } from "@ext/queries.js",
entities: [Task]
}
// --------- Actions --------- //
action createTask {
fn: import { createTask } from "@ext/actions.js",
entities: [Task]
}
action updateTaskIsDone {
fn: import { updateTaskIsDone } from "@ext/actions.js",
entities: [Task]
}
action deleteCompletedTasks {
fn: import { deleteCompletedTasks } from "@ext/actions.js",
entities: [Task]
}
action toggleAllTasks {
fn: import { toggleAllTasks } from "@ext/actions.js",
entities: [Task]
}