-
Notifications
You must be signed in to change notification settings - Fork 16
/
models.puml
71 lines (61 loc) · 1.26 KB
/
models.puml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
@startuml
skinparam shadowing false
abstract class Base {
created_by: FK user
created_on: datetime
modified_by: FK user
modified_by: datetime
deleted: soft-deletion flag
}
abstract class Comment << versioned >> {
n_votes: cache value
content
followers: M2M
voters: M2M
}
abstract class Image {
title
caption
height
width
image
ordering
}
abstract class Commentable {
n_comments: cache value
commenting: disallow, registered, anonymous
}
class Hearing {
opens_on: datetime
closes_on: datetime
heading: heading of the hearing
abstract: abstract of the hearing
borough: borough which the hearing concerns
servicemap_url: url to the map to embed at http://palvelukartta.hel.fi
latitude: coordinate for position
longitude: coordinate for position
}
class HearingLabel {
label
}
class Section {
type - `introduction`, `section`, `scenario`, `area`, possibly others in the future
position
heading
abstract
content
ordering
}
Base <|-- Hearing
Base <|-- Section
Base <|-- Comment
Base <|-- Image
Hearing *-- "many" Section : contains
Commentable <|-- Hearing
Commentable <|-- Section
Hearing *-- "many" Comment
Hearing *-- "many" Image
Hearing *-- "many" HearingLabel
Section *-- "many" Comment
Section *-- "many" Image
@enduml