Attention une mise à jour du service Gitlab va être effectuée le mardi 30 novembre entre 17h30 et 18h00. Cette mise à jour va générer une interruption du service dont nous ne maîtrisons pas complètement la durée mais qui ne devrait pas excéder quelques minutes. Cette mise à jour intermédiaire en version 14.0.12 nous permettra de rapidement pouvoir mettre à votre disposition une version plus récente.

web_common.mli 1.3 KB
Newer Older
1
open Serializable_t
2

3 4 5 6
type user_type = Dummy | CAS

val string_of_user_type : user_type -> string

7 8
type user = {
  user_name : string;
9
  user_type : user_type;
10 11
}

Stephane Glondu's avatar
Stephane Glondu committed
12 13 14 15
type acl =
  | Any
  | Restricted of (user -> bool Lwt.t)

16
type election_data = {
17
  fn_election : string;
18
  fingerprint : string;
19
  election : ff_pubkey election;
20
  fn_public_keys : string;
Stephane Glondu's avatar
Stephane Glondu committed
21
  featured_p : bool;
Stephane Glondu's avatar
Stephane Glondu committed
22 23
  can_read : acl;
  can_vote : acl;
24 25
}

26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
module MakeLwtRandom (G : Signatures.GROUP) : sig

  (** {2 Monadic definitions} *)

  include Signatures.MONAD with type 'a t = 'a Lwt.t

  (** {2 Random number generation} *)

  val random : Z.t -> Z.t t
  (** [random q] returns a random number modulo [q]. It uses a secure
      random number generator initialized by a 128-bit seed. *)
end
(** Lwt-compatible random number generation. *)

exception Serialization of exn
exception ProofCheck

module type LWT_ELECTION = Signatures.ELECTION
  with type elt = Z.t
  and type 'a m = 'a Lwt.t

47
module type WEB_BBOX = sig
48 49 50 51 52
  include Signatures.BALLOT_BOX
  with type 'a m := 'a Lwt.t
  and type ballot = string
  and type record = string * Serializable_builtin_t.datetime
end
53 54 55 56 57 58 59 60 61

module MakeBallotBox (E : LWT_ELECTION) : WEB_BBOX

module type WEB_ELECTION = sig
  module G : Signatures.GROUP
  module E : LWT_ELECTION
  module B : WEB_BBOX
  val data : election_data
end