| 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 } |
| 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 } |
| 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 |
| 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 |
| 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 |
| 32 | val listPosts : int -> (string * post) list |
| 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 |
| 40 | |
| 41 | val validTitle : string -> bool |
| 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 |
| 48 | end |