Module Permissions.Update

Updates modify permission settings.

type destination =
  1. | User_settings
    (*

    Apply to user settings

    *)
  2. | Project_settings
    (*

    Apply to project settings

    *)
  3. | Local_settings
    (*

    Apply to local settings

    *)
  4. | Session
    (*

    Apply to current session only

    *)

The destination for permission updates.

type update_type =
  1. | Add_rules
    (*

    Add new rules

    *)
  2. | Replace_rules
    (*

    Replace existing rules

    *)
  3. | Remove_rules
    (*

    Remove rules

    *)
  4. | Set_mode
    (*

    Set permission mode

    *)
  5. | Add_directories
    (*

    Add allowed directories

    *)
  6. | Remove_directories
    (*

    Remove allowed directories

    *)

The type of permission update.

type t

The type of permission updates.

val jsont : t Jsont.t

jsont is the Jsont codec for permission updates. Wire format uses camelCase for destination ("userSettings", "projectSettings", "localSettings", "session") and update_type ("addRules", "replaceRules", "removeRules", "setMode", "addDirectories", "removeDirectories").

val create : update_type:update_type -> ?rules:Rule.t list -> ?behavior:Behavior.t -> ?mode:Mode.t -> ?directories:string list -> ?destination:destination -> ?unknown:Unknown.t -> unit -> t

create ~update_type ?rules ?behavior ?mode ?directories ?destination ?unknown () creates a new permission update.

  • parameter update_type

    The type of update to perform

  • parameter rules

    Optional list of rules to add/remove/replace

  • parameter behavior

    Optional behavior to set

  • parameter mode

    Optional permission mode to set

  • parameter directories

    Optional directories to add/remove

  • parameter destination

    Optional destination for the update

  • parameter unknown

    Optional unknown fields to preserve

val update_type : t -> update_type

update_type t returns the update type.

val rules : t -> Rule.t list option

rules t returns the optional list of rules.

val behavior : t -> Behavior.t option

behavior t returns the optional behavior.

val mode : t -> Mode.t option

mode t returns the optional mode.

val directories : t -> string list option

directories t returns the optional list of directories.

val destination : t -> destination option

destination t returns the optional destination.

val unknown : t -> Unknown.t

unknown t returns the unknown fields.