PSRAW.psd1
<# Created with: SAPIEN Technologies, Inc., PowerShell Studio 2017 v5.4.139 Created on: 4/23/2017 9:22 AM Created by: Mark Kraus Organization: Filename: PSRAW.psd1 ------------------------------------------------------------------------- Module Manifest ------------------------------------------------------------------------- Module Name: PSRAW #> @{ # Script module or binary module file associated with this manifest RootModule = 'PSRAW.psm1' # Version number of this module. ModuleVersion = '2.0.0.0' # ID used to uniquely identify this module GUID = '92c8f916-4890-45eb-a3e7-592f5b5b3f24' # Author of this module Author = 'Mark Kraus' # Company or vendor of this module CompanyName = '' # Copyright statement for this module Copyright = '(c) 2017. All rights reserved.' # Description of the functionality provided by this module Description = 'PowerShell Reddit API Wrapper. See the project site at https://github.com/markekraus/PSRAW and the documentation at https://psraw.readthedocs.io/' # Minimum version of the Windows PowerShell engine required by this module PowerShellVersion = '5.0' # Name of the Windows PowerShell host required by this module PowerShellHostName = '' # Minimum version of the Windows PowerShell host required by this module PowerShellHostVersion = '' # Minimum version of the .NET Framework required by this module DotNetFrameworkVersion = '2.0' # Minimum version of the common language runtime (CLR) required by this module CLRVersion = '2.0.50727' # Processor architecture (None, X86, Amd64, IA64) required by this module ProcessorArchitecture = 'None' # Modules that must be imported into the global environment prior to importing # this module RequiredModules = @() # Assemblies that must be loaded prior to importing this module RequiredAssemblies = @() # Script files (.ps1) that are run in the caller's environment prior to # importing this module ScriptsToProcess = @('Enums\RedditApplicationType.ps1','Enums\RedditOAuthDuration.ps1','Enums\RedditOAuthGrantType.ps1','Enums\RedditOAuthResponseType.ps1','Enums\RedditThingKind.ps1','Enums\RedditThingPrefix.ps1','Classes\001-RedditOAuthScope.ps1','Classes\002-RedditApplication.ps1','Classes\003-RedditOAuthResponse.ps1','Classes\004-RedditOAuthToken.ps1','Classes\005-RedditApiResponse.ps1','Classes\006-RedditDate.ps1','Classes\007-RedditThing.ps1','Classes\008-RedditModReport.ps1','Classes\008-RedditUserReport.ps1','Classes\009-RedditComment.ps1') # Type files (.ps1xml) to be loaded when importing this module TypesToProcess = @() # Format files (.ps1xml) to be loaded when importing this module FormatsToProcess = @() # Modules to import as nested modules of the module specified in # ModuleToProcess NestedModules = @() # Functions to export from this module FunctionsToExport = @('Invoke-RedditRequest','Export-RedditApplication','Import-RedditApplication','New-RedditApplication','Connect-Reddit','Export-RedditOAuthToken','Get-RedditDefaultOAuthToken','Get-RedditOAuthScope','Import-RedditOAuthToken','Request-RedditOAuthToken','Set-RedditDefaultOAuthToken','Update-RedditOAuthToken') # Cmdlets to export from this module CmdletsToExport = @() # Variables to export from this module VariablesToExport = @() # Aliases to export from this module AliasesToExport = @('irr') # List of all modules packaged with this module ModuleList = @() # List of all files packaged with this module FileList = @() # Private data to pass to the module specified in ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. PrivateData = @{ #Support for PowerShellGet galleries. PSData = @{ # Tags applied to this module. These help with module discovery in online galleries. Tags = @('Reddit', 'API', 'OAuth', 'REST', 'SocialMedia', "Forum", 'Messaging', 'Module', 'PSRAW', 'Class') # A URL to the license for this module. LicenseUri = 'https://github.com/markekraus/PSRAW/blob/master/LICENSE' # A URL to the main website for this project. ProjectUri = 'https://github.com/markekraus/PSRAW/' # A URL to an icon representing this module. IconUri = 'http://i.imgur.com/4BCLgcx.png' # ReleaseNotes of this module ReleaseNotes = '# Version 2.0.0.0 (2017-08-13) ## Module Manifest * All `RequiredAssemblies` have been removed ## Root Module * Added `$PSDefaultParameterValues` for `Invoke-WebRequest` to set `-SkipHeaderValidation` if available (for backwards compatibility with 5.1) * Added `$PsrawSettings` module scope hashtable variable to house settings such as the session default OAuth token. ## Public Functions ### Connect-Reddit * Added to Streamline and simplify the initial OAUth process. ### Export-RedditOAuthToken * All parameters are no longer mandatory to accommodate exporting the default token to its default path ### Get-RedditDefaultOAuthToken * Added to retrieve the Default token for the session ### Import-RedditOAuthToken * Now returns nothing by default. Use `-PassThru` to return the imported token * Sets the imported token as the session default Token. ### Invoke-RedditRequest * Now has `irr` alias to mimic `iwr` and `irm` aliases. * `Invoke-WebRequest` error handling logic reworked to support 5.1 and 6.0 * Access token is no longer mandatory and uses the session default AccessToken if one is not supplied ### New-RedditApplication * Default Parameter Set changed to `Script` * `Name` parameter is no longer Mandatory to simplify connecting * `Scope` parameter has been deprecated and is no longer Mandatory * `UserAgent` no longer mandatory. default is now `PowerShell:PSRAW:2.0 (by /u/markekraus)` ### Request-RedditOAuthToken * Now returns nothing by default. Use `-PassThru` to return the token * Sets the retrieved token as the session default token. * `Code` and `Implicit` parameter sets have been removed. * `Code` and `Implicit` parameters have been removed * `Code` and `Implicit` grants flows have been removed * `State` parameter has been removed (was only required for Implicit grants) ### Set-RedditDefaultOAuthToken * Added to set the session default token ### Update-RedditOAuthToken * `-AccessToken` is no longer mandatory and the default is the session default token * `Code` and `Implicit` grants flows have been removed * `-SetDefault` switch added to set the updated token as the session default token. ## Private Functions ### Get-HttpResponseContentType * Added `Get-HttpResponseContentType` to get API response `Content-Type` as 6.0 and 5.1 currently house this in different locations. ### Request-RedditOAuthCode * Removed `Request-RedditOAuthCode` as it is no needed without Code grant flow ### Request-RedditOAuthTokenClient * Now returns a `RedditOAuthResponse` ### Request-RedditOAuthTokenCode * Removed `Request-RedditOAuthTokenCode` as it is not needed without Code grant flow ### Request-RedditOAuthTokenImplicit * Removed `Request-RedditOAuthTokenImplicit` as it is not needed without Implicit grant flow ### Request-RedditOAuthTokenInstalled * Now returns a `RedditOAuthResponse` ### Request-RedditOAuthTokenPassword * Now returns a `RedditOAuthResponse` ### Request-RedditOAuthTokenRefresh * Removed `Request-RedditOAuthTokenRefresh` as it is no longer needed without Code grant flow ### Show-RedditOAuthWindow * Removed `Show-RedditOAuthWindow` as it is not compatible with Core (this is why Code and Implicit grant flows are no longer available) ## Classes ### RedditApplication * `Scope` is now hidden as it serves no purpose without Code grant flows. * Removed `GetAuthorizationUrl()` and `_GetAuthorizationUrl()` as they depended on `System.Web` (not available in Core) and are not needed without the Code or Implicit grant flows. ### ReditOAuthCode * This class has been deleted as it is not needed without the Code grant flow. ### RedditOAuthResponse * Created `RedditOAuthResponse` class to abstract the OAuth response from Reddit. ### RedditOAuthToken * Removed RefreshCredential (not needed without Code grant flow) * Constructors now take a `RedditOAuthResponse` instead of a `PSobject` and the code adjusted to use its properties * `GetRefreshToken()` Removed (not needed without Code grant flow) * `Refresh()` now takes a `RedditOAuthResponse` * `UpdateRateLimit()` adjusted to support both 5.1 and 6.0 style headers dictionaries. * Default constructor now sets the GUID to `[GUID]:Empty` ### RedditApiResponse * `Response` and `ContentObject` are now appropriately typed * Added `ContentType`property to hold the `Content-Type` information ### RedditDate * Added `RedditDate` class to handle unix-to-date and date-to-unix translations for dates returned from the API. ### RedditThing * Added `RedditThing` class to work with "Reddit Things" returned from the Reddit API ### RedditModReport * Added `RedditModReport` to house moderator reports ### RedditUserReport * Added `RedditUserReport` to house user reports ### RedditComment * Added `RedditComment` to house comments. ## Enums ### RedditOAuthGrantType * Removed `Authorization_Code`, `Refresh_Token`, and `Implicit` which are not needed without Code and Implicit grant flows ### RedditThingKind * Added `RedditThingKind` to Define "Reddit Thing" "Kind" (their terms, not mine) ### RedditThingPrefix * Added `RedditThingPrefix` to define valid prefixes for "Reddit Things"' } # End of PSData hashtable } # End of PrivateData hashtable } |