fission-codes / webnative-elm / Webnative.Permissions


type alias BranchFileSystemPermissions =
{ directories : List (Webnative.Path.Path Webnative.Path.Directory)
, files : List (Webnative.Path.Path Webnative.Path.File) 
}

Filesystem permissions for a branch.

This is reused for the private and public permissions.


type alias FileSystemPermissions =
{ private : BranchFileSystemPermissions
, public : BranchFileSystemPermissions 
}

Filesystem permissions.

```elm
import Webnative.Path as Path

{ private =
    { directories = [ Path.directory [ "Audio", "Mixtapes" ] ]
    , files = [ Path.file [ "Audio", "Playlists", "Jazz.json" ] ]
    }
, public =
    { directories = []
    , files = []
    }
}
```


type alias Permissions =
{ app : Maybe Webnative.AppInfo.AppInfo
, fs : Maybe FileSystemPermissions 
}

Permissions to ask the user. See AppPermissions and FileSystemPermissions on how to use these.

encode : Permissions -> Json.Encode.Value

encodeFileSystemPermissions : FileSystemPermissions -> Json.Encode.Value

flattenPermissions : Permissions -> Maybe Permissions