github-app-token-0.0.3.0: Generate an installation access token for a GitHub App
Safe HaskellSafe-Inferred
LanguageGHC2021

GitHub.App.Token.Permissions

Description

Type-safe implementation for requesting AccessToken permissions

https://docs.github.com/en/rest/apps/apps?apiVersion=2022-11-28#create-an-installation-access-token-for-an-app

Usage:

  1. Use a constructor function for a specific permission, each of which only accepts appropriate values (e.g. you can't ask for admin on a permission that only allows read or write).
  2. Combine these using Permissions Semigroup instance.

For example:

let permissions = actions Read <> checks Write

generateInstallationTokenScoped mempty {permissions} creds installationId

Supplying the same permission more than once will take the higher:

checks Read <> checks Write == checks Write
Synopsis

Documentation

data Read Source #

Constructors

Read 

data Write Source #

Constructors

Write 

data Admin Source #

Constructors

Admin 

actions :: AsReadWrite a => a -> Permissions Source #

administration :: AsReadWrite a => a -> Permissions Source #

checks :: AsReadWrite a => a -> Permissions Source #

codespaces :: AsReadWrite a => a -> Permissions Source #

contents :: AsReadWrite a => a -> Permissions Source #

dependabot_secrets :: AsReadWrite a => a -> Permissions Source #

deployments :: AsReadWrite a => a -> Permissions Source #

environments :: AsReadWrite a => a -> Permissions Source #

issues :: AsReadWrite a => a -> Permissions Source #

metadata :: AsReadWrite a => a -> Permissions Source #

packages :: AsReadWrite a => a -> Permissions Source #

pages :: AsReadWrite a => a -> Permissions Source #

pull_requests :: AsReadWrite a => a -> Permissions Source #

repository_hooks :: AsReadWrite a => a -> Permissions Source #

repository_projects :: AsReadWriteAdmin a => a -> Permissions Source #

secret_scanning_alerts :: AsReadWrite p => p -> Permissions Source #

secrets :: AsReadWrite p => p -> Permissions Source #

security_events :: AsReadWrite p => p -> Permissions Source #

single_file :: AsReadWrite p => p -> Permissions Source #

statuses :: AsReadWrite p => p -> Permissions Source #

vulnerability_alerts :: AsReadWrite p => p -> Permissions Source #

workflows :: Permissions Source #

Only supported permission is Write

members :: AsReadWrite p => p -> Permissions Source #

organization_custom_properties :: AsReadWriteAdmin p => p -> Permissions Source #

organization_events :: Permissions Source #

Only supported permission is Read

organization_hooks :: AsReadWrite p => p -> Permissions Source #

organization_plan :: Permissions Source #

Only supported permission is Read

organization_projects :: AsReadWriteAdmin p => p -> Permissions Source #

organization_packages :: AsReadWrite p => p -> Permissions Source #

organization_secrets :: AsReadWrite p => p -> Permissions Source #

team_discussions :: AsReadWrite p => p -> Permissions Source #

email_addresses :: AsReadWrite p => p -> Permissions Source #

followers :: AsReadWrite p => p -> Permissions Source #

git_ssh_keys :: AsReadWrite p => p -> Permissions Source #

gpg_keys :: AsReadWrite p => p -> Permissions Source #

interaction_limits :: AsReadWrite p => p -> Permissions Source #

profile :: Permissions Source #

Only supported permission is Write

starring :: AsReadWrite p => p -> Permissions Source #