UKGPro.psd1

@{
    RootModule           = 'UKGPro.psm1'
    ModuleVersion        = '1.1.0'
    FormatsToProcess     = @('UKGPro.format.ps1xml')
    CompatiblePSEditions  = @('Desktop', 'Core')
    GUID                 = 'ce04853e-e752-4d4b-b9a5-3297f933dfd2'

    Author               = 'Don Sheehan'
    CompanyName          = 'Super Core Solutions LLC'
    Copyright            = '(c) Super Core Solutions LLC. All rights reserved.'

    Description          = 'PowerShell module for the UKG Pro HCM REST API, focused on read-only IAM/offboarding automation. Provides Get- cmdlets for employment, person, org-level, job, job-group, company-details, and location lookups with unified authentication, pagination, date-filter handling, secure-by-default PII redaction, and optional SecretManagement-backed auth.'

    PowerShellVersion    = '5.1'

    FunctionsToExport    = @(
        'Connect-UKGPro'
        'Disconnect-UKGPro'
        'Save-UKGProCredential'
        'Update-UKGProCredential'
        'Get-UKGProEmploymentDetails'
        'Get-UKGProPersonDetails'
        'Get-UKGProOrgLevel'
        'Get-UKGProJobGroup'
        'Get-UKGProJob'
        'Get-UKGProCompanyDetails'
        'Get-UKGProLocation'
        'Get-UKGProEmployeeChange'
    )
    CmdletsToExport      = @()
    VariablesToExport    = @()
    AliasesToExport      = @()

    PrivateData = @{
        PSData = @{
            Tags         = @('UKG', 'UKGPro', 'HCM', 'Personnel', 'Employee', 'REST', 'IAM', 'HR', 'SecretManagement')
            LicenseUri   = 'https://github.com/SuperCoreSolutions/UKGPro/blob/main/LICENSE'
            ProjectUri   = 'https://github.com/SuperCoreSolutions/UKGPro'
            ExternalModuleDependencies = @('Microsoft.PowerShell.SecretManagement')
            ReleaseNotes = @'
v1.1.0 - New cmdlet Get-UKGProEmployeeChange wrapping
/personnel/v1/employee-changes (list, with -StartDate / -EndDate) and
/personnel/v1/employee-changes/{employeeId} (single-employee, 3-hour
window). Backward-compat feature add per the 1.0 semver commitment.

Important distinction: this is a change-detection snapshot feed, not
a point-in-time query. The API returns which employees had any
change; the caller must diff against a prior snapshot to determine
what changed. If "who changed recently" is enough,
Get-UKGProEmploymentDetails -ChangedSince remains simpler. Help text
calls out UKG's documented 3-hour / 8-calls-per-day rate limit and
the different "EmployeeExport" service-account role requirement.

Compact view: EmployeeId, FirstName, LastName, Status.
-PageSize validated to 1-200 (UKG caps per_page at 200 here, unlike
other personnel endpoints).

v1.0.0 (previous) - First stable release. The public API surface (11
cmdlets at that point, parameter shapes, output types, compact-view
formatting) is committed: any future breaking change bumps to 2.0.
Also in that release: new Get-UKGProLocation cmdlet wrapping
/configuration/v1/locations (list + unique lookup by -Code, with
-CountryCode / -IsActive filters; compact view: LocationCode,
Description, City, IsActive). Manifest description also tightened to
accurately reflect scope (read-only IAM/offboarding-focused Get-
surface) rather than "general-purpose UKG Pro HCM wrapper".

v0.3.3 (previous) - Compact default table views extended to the remaining
Get- cmdlets (Get-UKGProPersonDetails, Get-UKGProOrgLevel,
Get-UKGProJobGroup, Get-UKGProJob, Get-UKGProCompanyDetails), so
every Get- cmdlet in the module now shares the same Get-Mailbox-style
output convention introduced for Get-UKGProEmploymentDetails in
v0.3.2. Column choices:

  PersonDetails : EmployeeId, FirstName, LastName, EmailAddress
  OrgLevel : Level, Code, Description, IsActive
  JobGroup : JobGroupCode, Description, CountryCode
  Job : JobCode, Title, CountryCode, IsActive
  CompanyDetails : CompanyId, CompanyCode, MasterCompanyId, IsMaster

Also factored the tagging into a shared private Add-UKGProTypeName
helper (Get-UKGProEmploymentDetails swapped from its inline
ForEach-Object to use it, for consistency). No cmdlet signature or
property changes.

v0.3.2 (previous) - Compact default table view for
Get-UKGProEmploymentDetails (EmployeeId, CompanyId, JobTitle, Status).
Every property still on the object; `| Format-List` shows them all,
matching the Get-Mailbox convention in Exchange PowerShell.
Introduced UKGPro.format.ps1xml + FormatsToProcess in the manifest.

v0.3.1 (previous) - Get-UKGProEmploymentDetails -EmailAddress now
fans out on multi-match instead of throwing. If person-details returns
multiple distinct employees for the supplied email, records for all
of them are returned rather than a "use -EmployeeId to disambiguate"
error.

v0.3.0 (previous) - Termination-date filter redesign (BREAKING).
Get-UKGProEmploymentDetails: -TerminatedOperator removed. Replaced by
four mutually-exclusive intent-named params: -TerminatedOn (equality),
-TerminatedSince (>), -TerminatedBefore (<), and the existing
-TerminatedBetweenStart/-End range.
'@

        }
    }
}