@@ -18,25 +18,16 @@ enum SpaceUserRole {
18
18
ADMIN
19
19
}
20
20
21
- /// @@deny('all', auth() == null)
22
- /// @@allow('create', true)
23
- /// @@allow('read', members?[user == auth()])
24
- /// @@allow('update,delete', members?[user == auth() && role == ADMIN])
25
21
model Space {
26
22
id String @id () @default (uuid () )
27
23
createdAt DateTime @default (now () )
28
24
updatedAt DateTime @updatedAt ()
29
- /// @length(4, 50)
30
25
name String
31
- /// @regex('^[0-9a-zA-Z]{4,16}$')
32
26
slug String @unique ()
33
27
members SpaceUser []
34
28
lists List []
35
29
}
36
30
37
- /// @@deny('all', auth() == null)
38
- /// @@allow('create,update,delete', space.members?[user == auth() && role == ADMIN])
39
- /// @@allow('read', space.members?[user == auth()])
40
31
model SpaceUser {
41
32
id String @id () @default (uuid () )
42
33
createdAt DateTime @default (now () )
@@ -50,33 +41,21 @@ model SpaceUser {
50
41
@@unique ([userId , spaceId ] )
51
42
}
52
43
53
- /// @@allow('create', true)
54
- /// @@allow('read', spaces?[space.members?[user == auth()]])
55
- /// @@allow('all', auth() == this)
56
44
model User {
57
45
id String @id () @default (uuid () )
58
46
createdAt DateTime @default (now () )
59
47
updatedAt DateTime @updatedAt ()
60
- /// @email
61
48
email String @unique ()
62
49
emailVerified DateTime ?
63
- /// @password
64
- /// @omit
65
50
password String ?
66
51
name String ?
67
52
spaces SpaceUser []
68
- /// @url
69
53
image String ?
70
54
lists List []
71
55
todos Todo []
72
56
accounts Account []
73
57
}
74
58
75
- /// @@deny('all', auth() == null)
76
- /// @@allow('read', owner == auth() || (space.members?[user == auth()] && !private))
77
- /// @@allow('create', owner == auth() && space.members?[user == auth()])
78
- /// @@allow('update', owner == auth() && space.members?[user == auth()] && future().owner == owner)
79
- /// @@allow('delete', owner == auth())
80
59
model List {
81
60
id String @id () @default (uuid () )
82
61
createdAt DateTime @default (now () )
@@ -85,14 +64,11 @@ model List {
85
64
spaceId String
86
65
owner User @relation (fields : [ownerId ] , references : [id ] , onDelete : Cascade )
87
66
ownerId String
88
- /// @length(1, 100)
89
67
title String
90
68
private Boolean @default (false )
91
69
todos Todo []
92
70
}
93
71
94
- /// @@allow('all', check(list, 'read'))
95
- /// @@deny('update', future().owner != owner)
96
72
model Todo {
97
73
id String @id () @default (uuid () )
98
74
createdAt DateTime @default (now () )
@@ -101,7 +77,6 @@ model Todo {
101
77
ownerId String
102
78
list List @relation (fields : [listId ] , references : [id ] , onDelete : Cascade )
103
79
listId String
104
- /// @length(1, 100)
105
80
title String
106
81
completedAt DateTime ?
107
82
}
0 commit comments