View difference between Paste ID: 08judqWj and vgjLSXMv
SHOW: | | - or go back to the newest paste.
1
@[Controller("thing")]
2
@[VirtualAction("new", "create", Protect(Role("admin")))]
3
@[VirtualAction("edit", "update", Protect(OwnerRelation))]
4
class ThingController : ApplicationController {
5
6
    @[Action, Protect(Role("admin"))]
7
    void create ( Request req, Response res ) {...}
8
9
    @[Action]
10
    void index ( Request req, Response res ) {...}
11
12
    @[Action, Protect(Role("member"))]
13
    void show ( Request req, Response res ) {...}
14
15
    @[Action, Protect(OwnerRelation)]
16
    void update ( Request req, Response res ) {...}
17
18
    @[Action("delete"), Protect(Role("admin"))]
19
    void remove ( Request req, Response res ) {...}
20
21
}
22
23
24
@[Model("thing")]
25
@[ForbidMassAssignment]
26
class Thing : Model {
27
28
    @[Attr, Shallow]
29
    @[Validate( Present, Unique, Length("<=", 128) )]
30
    A!string name;
31
32
    @[Attr, Shallow]
33
    @[Validate( Length("[]", 16, 256) )]
34
    A!string description;
35
36
    @[Attr(BelongsTo, User), Shallow]
37
    @[Validate( Present )]
38
    A!User user;
39
40
    @[Attr(HasMany, Tag, Through(Tagging))]
41
    @[Validate( NoDuplicate )]
42
    A!(Tagging[]) tags;
43
44
    @[Attr]
45
    @[Validate( Present )]
46
    A!ulong size;
47
48
    @[Attr]
49
    @[Validate( Present )]
50
    A!ulong weight;
51
52
    @property
53
    ulong ratio () {...}
54
55
}