Commit | Line | Data |
---|---|---|
5a2812ca AC |
1 | signature SUPPORT = |
2 | sig | |
3 | datatype status = | |
4 | NEW | |
5 | | PENDING | |
6 | | CLOSED | |
7 | ||
8 | type category = { id : int, grp : int, name : string, descr : string } | |
4d46d3eb AC |
9 | type issue = { id : int, usr : int, cat : int, title : string, priv : bool, status : status, |
10 | stamp : Init.C.timestamp, pstamp : Init.C.timestamp option, cstamp : Init.C.timestamp option } | |
5a2812ca AC |
11 | type post = { id : int, usr : int, iss : int, body : string, stamp : Init.C.timestamp } |
12 | type subscription = { usr : int, cat : int } | |
13 | ||
14 | val lookupCategory : int -> category | |
15 | val listCategories : unit -> category list | |
16 | val listCategoriesWithSubscriptions : int -> (bool * category) list | |
17 | val addCategory : int * string * string -> int | |
18 | val modCategory : category -> unit | |
19 | val deleteCategory : int -> unit | |
20 | ||
21 | val lookupIssue : int -> issue | |
22 | val listIssues : unit -> issue list | |
5d851d7c AC |
23 | val listOpenIssues : int -> (string * issue) list |
24 | val listCategoryIssues : int -> (string * issue) list | |
25 | val listOpenCategoryIssues : int * int -> (string * issue) list | |
26 | val listOpenCategoryIssuesAdmin : int -> (string * issue) list | |
5a2812ca AC |
27 | val addIssue : int * int * string * bool * status -> int |
28 | val modIssue : issue -> unit | |
29 | val deleteIssue : int -> unit | |
30 | ||
31 | val lookupPost : int -> post | |
edeb626e | 32 | val listPosts : int -> (string * post) list |
5a2812ca AC |
33 | val addPost : int * int * string -> int |
34 | val modPost : post -> unit | |
35 | val deletePost : int -> unit | |
36 | ||
37 | val subscribed : subscription -> bool | |
38 | val subscribe : subscription -> unit | |
39 | val unsubscribe : subscription -> unit | |
1cb3df3f AC |
40 | |
41 | val validTitle : string -> bool | |
edeb626e AC |
42 | val allowedToSee : int -> bool |
43 | val allowedToEdit : int -> bool | |
44 | ||
45 | val notifyCreation : int -> bool | |
46 | val notifyPost : int -> bool | |
47 | val notifyStatus : int * status * status * int -> bool | |
5a2812ca | 48 | end |