diff --git a/src/GitHub/Types/Base/Permissions.hs b/src/GitHub/Types/Base/Permissions.hs index 370ad4c..6451df1 100644 --- a/src/GitHub/Types/Base/Permissions.hs +++ b/src/GitHub/Types/Base/Permissions.hs @@ -13,53 +13,77 @@ import Test.QuickCheck.Arbitrary (Arbitrary (..)) -- Permissions data Permissions = Permissions - { permissionsChecks :: Maybe Text - , permissionsContents :: Maybe Text - , permissionsContentReferences :: Maybe Text - , permissionsDeployments :: Maybe Text - , permissionsIssues :: Maybe Text - , permissionsMembers :: Maybe Text - , permissionsMetadata :: Maybe Text - , permissionsPages :: Maybe Text - , permissionsPullRequests :: Maybe Text - , permissionsRepositoryHooks :: Maybe Text - , permissionsSingleFile :: Maybe Text - , permissionsStatuses :: Maybe Text + { permissionsActions :: Maybe Text + , permissionsAdministration :: Maybe Text + , permissionsChecks :: Maybe Text + , permissionsContents :: Maybe Text + , permissionsContentReferences :: Maybe Text + , permissionsDeployments :: Maybe Text + , permissionsDiscussions :: Maybe Text + , permissionsIssues :: Maybe Text + , permissionsMembers :: Maybe Text + , permissionsMetadata :: Maybe Text + , permissionsOrganizationPackages :: Maybe Text + , permissionsPackages :: Maybe Text + , permissionsPages :: Maybe Text + , permissionsPullRequests :: Maybe Text + , permissionsRepositoryHooks :: Maybe Text + , permissionsRepositoryProjects :: Maybe Text + , permissionsSecurityEvents :: Maybe Text + , permissionsSingleFile :: Maybe Text + , permissionsStatuses :: Maybe Text + , permissionsVulnerabilityAlerts :: Maybe Text } deriving (Eq, Show, Read) instance FromJSON Permissions where parseJSON (Object x) = Permissions - <$> x .:? "checks" + <$> x .:? "actions" + <*> x .:? "administration" + <*> x .:? "checks" <*> x .:? "contents" <*> x .:? "content_references" <*> x .:? "deployments" + <*> x .:? "discussions" <*> x .:? "issues" <*> x .:? "members" <*> x .:? "metadata" + <*> x .:? "organization_packages" + <*> x .:? "packages" <*> x .:? "pages" <*> x .:? "pull_requests" <*> x .:? "repository_hooks" + <*> x .:? "repository_projects" + <*> x .:? "security_events" <*> x .:? "single_file" <*> x .:? "statuses" + <*> x .:? "vulnerability_alerts" parseJSON _ = fail "Permissions" instance ToJSON Permissions where toJSON Permissions{..} = object - [ "checks" .= permissionsChecks - , "contents" .= permissionsContents - , "content_references" .= permissionsContentReferences - , "deployments" .= permissionsDeployments - , "issues" .= permissionsIssues - , "members" .= permissionsMembers - , "metadata" .= permissionsMetadata - , "pages" .= permissionsPages - , "pull_requests" .= permissionsPullRequests - , "repository_hooks" .= permissionsRepositoryHooks - , "single_file" .= permissionsSingleFile - , "statuses" .= permissionsStatuses + [ "actions" .= permissionsActions + , "administration" .= permissionsAdministration + , "checks" .= permissionsChecks + , "contents" .= permissionsContents + , "content_references" .= permissionsContentReferences + , "deployments" .= permissionsDeployments + , "discussions" .= permissionsDiscussions + , "issues" .= permissionsIssues + , "members" .= permissionsMembers + , "metadata" .= permissionsMetadata + , "organization_packages" .= permissionsOrganizationPackages + , "packages" .= permissionsPackages + , "pages" .= permissionsPages + , "pull_requests" .= permissionsPullRequests + , "repository_hooks" .= permissionsRepositoryHooks + , "repository_projects" .= permissionsRepositoryProjects + , "security_events" .= permissionsSecurityEvents + , "single_file" .= permissionsSingleFile + , "statuses" .= permissionsStatuses + , "vulnerability_alerts" .= permissionsVulnerabilityAlerts ] @@ -77,3 +101,11 @@ instance Arbitrary Permissions where <*> arbitrary <*> arbitrary <*> arbitrary + <*> arbitrary + <*> arbitrary + <*> arbitrary + <*> arbitrary + <*> arbitrary + <*> arbitrary + <*> arbitrary + <*> arbitrary