Managing support categories and subscriptions
[bpt/portal.git] / support.sig
CommitLineData
5a2812ca
AC
1signature SUPPORT =
2sig
3 datatype status =
4 NEW
5 | PENDING
6 | CLOSED
7
8 type category = { id : int, grp : int, name : string, descr : string }
9 type issue = { id : int, usr : int, cat : int, title : string, priv : bool, status : status, stamp : Init.C.timestamp }
10 type post = { id : int, usr : int, iss : int, body : string, stamp : Init.C.timestamp }
11 type subscription = { usr : int, cat : int }
12
13 val lookupCategory : int -> category
14 val listCategories : unit -> category list
15 val listCategoriesWithSubscriptions : int -> (bool * category) list
16 val addCategory : int * string * string -> int
17 val modCategory : category -> unit
18 val deleteCategory : int -> unit
19
20 val lookupIssue : int -> issue
21 val listIssues : unit -> issue list
22 val addIssue : int * int * string * bool * status -> int
23 val modIssue : issue -> unit
24 val deleteIssue : int -> unit
25
26 val lookupPost : int -> post
27 val listPosts : int -> post list
28 val addPost : int * int * string -> int
29 val modPost : post -> unit
30 val deletePost : int -> unit
31
32 val subscribed : subscription -> bool
33 val subscribe : subscription -> unit
34 val unsubscribe : subscription -> unit
35end