DevOp.DK.Plus.psd1

#
# Module manifest template for DevOp.DK.Plus. The build writes DevOp.DK.Plus.psd1 next to the assembly and replaces
# the version tokens from MinVer; never check in the generated file.
#
# CmdletsToExport is an explicit list, verified by PowerShellParityTests against the [Cmdlet] types of the assembly.
# Each lane inserts its own block, commented '# lane: <area>', directly above '# lane: foundation', with a comma after
# every entry; the foundation block stays last, so no lane edits another lane's lines.
#
@{
    RootModule = 'DevOp.DK.Plus.PowerShell.dll'
    ModuleVersion = '0.4.2'
    GUID = '7672773d-d5d3-4078-be77-77a0be81690d'
    Author = 'DevOp'
    CompanyName = 'DevOp'
    Copyright = 'Copyright (c) DevOp 2026. MIT License.'
    Description = 'PowerShell cmdlets for the DK Plus (dkPlus) ERP API, one per devop-dk CLI command. Shares the devop-dk configuration and login token file; tokens are accepted only as SecureString, through DKPLUS_API_TOKEN or DKPLUS_API_TOKEN_FILE, or from the stored login.'
    PowerShellVersion = '7.6'
    CompatiblePSEditions = @('Core')
    # Table views generated from the devop-dk default columns by tools/update-powershell-generated.sh.
    FormatsToProcess = @('DevOp.DK.Plus.format.ps1xml')
    CmdletsToExport = @(
        # lane: customer
        'Get-Customer',
        'New-Customer',
        'Update-Customer',
        'Remove-Customer',
        'Get-CustomerTransaction',
        'Get-CustomerContact',
        'New-CustomerContact',
        'Update-CustomerContact',
        'Remove-CustomerContact',
        'Get-CustomerReceiver',
        'New-CustomerReceiver',
        'Update-CustomerReceiver',
        'Remove-CustomerReceiver',
        'Get-CustomerGroup',
        # lane: company
        'Get-Company',
        'Get-CompanyStatus',
        'Get-CompanyLicence',
        'Test-CompanyConnection',
        'Sync-Company',
        'Invoke-CompanyAction',
        'Get-Permission',
        'Get-TableRecord',
        'Get-TableField',
        'Get-TableChange',
        'Get-TableDeletedRecord',
        'Get-Dimension',
        'Get-Currency',
        'Get-PaymentMode',
        'Get-PaymentTerm',
        'Get-PaymentType',
        'Get-Nation',
        'Get-Config',
        'Set-Config',
        # lane: purchase
        'Get-Vendor',
        'New-Vendor',
        'Update-Vendor',
        'Get-VendorTransaction',
        'Get-VendorInvoice',
        'Save-VendorInvoiceAttachment',
        'New-VendorInvoice',
        'Update-VendorInvoiceApproval',
        'Get-LedgerAccount',
        'New-LedgerAccount',
        'Get-LedgerAccountTransaction',
        'Get-LedgerTransaction',
        'New-LedgerJournal',
        'Get-TaxGroup',
        'New-TaxGroup',
        # lane: sales
        'Get-Invoice',
        'New-Invoice',
        'Save-InvoicePdf',
        'Get-InvoiceHtml',
        'Send-InvoiceEmail',
        'Get-Order',
        'New-Order',
        'Update-Order',
        'Remove-Order',
        'Save-OrderPdf',
        'Get-OrderHtml',
        'Send-OrderEmail',
        'New-OrderLine',
        'Update-OrderLine',
        'Remove-OrderLine',
        'Get-Quote',
        'New-Quote',
        'Update-Quote',
        'Remove-Quote',
        'Save-QuotePdf',
        'Get-QuoteHtml',
        'Send-QuoteEmail',
        'New-QuoteLine',
        'Update-QuoteLine',
        'Remove-QuoteLine',
        'Get-RecurringSale',
        'New-RecurringSale',
        'Update-RecurringSale',
        'Remove-RecurringSale',
        'New-RecurringSaleLine',
        'Update-RecurringSaleLine',
        'Remove-RecurringSaleLine',
        'Get-SalesPerson',
        'New-SalesPerson',
        'Update-SalesPerson',
        'Remove-SalesPerson',
        # lane: products
        'Get-Product',
        'Get-ProductPrice',
        'New-Product',
        'Update-Product',
        'Remove-Product',
        'Get-ProductGroup',
        'Get-ProductCategory',
        'Get-ProductUnit',
        'Update-ProductWarehouse',
        'Get-Warehouse',
        'New-InventoryJournal',
        'New-InventoryTransfer',
        'New-InventoryCount',
        'Get-Webhook',
        'Get-WebhookTemplate',
        'New-Webhook',
        'Update-Webhook',
        'Remove-Webhook',
        'Test-Webhook',
        'Get-Token',
        'New-Token',
        'Update-Token',
        'Remove-Token',
        'Get-TokenCompany',
        'Get-TokenEmployee',
        'Get-RequestLog',
        'Save-TokenReport',
        'Send-TokenReport',
        # lane: projects
        'Get-Project',
        'New-Project',
        'Update-Project',
        'Get-ProjectInvoice',
        'Get-ProjectJournal',
        'Get-ProjectPhase',
        'New-ProjectPhase',
        'Update-ProjectPhase',
        'Get-ProjectPhaseLink',
        'New-ProjectPhaseLink',
        'Remove-ProjectPhaseLink',
        'Get-ProjectTask',
        'New-ProjectTask',
        'Update-ProjectTask',
        'Get-WorkRequest',
        'New-WorkRequest',
        'Update-WorkRequest',
        'Remove-WorkRequest',
        'Get-ProjectTransaction',
        'Get-ProjectTransactionMemo',
        'Update-ProjectTransactionMemo',
        'New-ProjectWorkEntry',
        'Update-ProjectWorkEntry',
        'Remove-ProjectWorkEntry',
        'Get-Employee',
        # lane: foundation (keep last)
        'Connect-DkPlus',
        'Disconnect-DkPlus',
        'Get-DkPlusConnection',
        'Test-DkPlusConnection',
        'Save-Login',
        'Remove-Login'
    )
    FunctionsToExport = @()
    VariablesToExport = @()
    AliasesToExport = @()
    PrivateData = @{
        PSData = @{
            Tags = @('dkplus', 'DK', 'ERP', 'Iceland', 'accounting', 'PSEdition_Core', 'Windows', 'Linux', 'MacOS')
            ProjectUri = 'https://wiki.devop.is/en/devop-dk/introduction'
            LicenseUri = 'https://opensource.org/license/mit'
            # IconUri: set when the brand icon has a public URL.
            ReleaseNotes = 'First release, with full devop-dk CLI parity: every devop-dk command has a cmdlet. Covers connections, login, and configuration; customers, contacts, item receivers, and customer groups; company settings, currencies, dimensions, nations, payment modes, terms, and types, permissions, and tables; vendors, vendor invoices and approvals, and the general ledger; sales invoices, orders, quotes, recurring sales, and sales persons, including creating them (New-Invoice posts by default; New-Order, New-Quote, and New-RecurringSale create the head, and New-*Line adds lines); products, inventory, warehouses, webhooks, and tokens; and projects, phases, tasks, work requests, transactions, work entries, and employees. Writes support -WhatIf and -Confirm, and the commands the CLI guards with --yes have ConfirmImpact High (except New-Invoice, which posts by default at Medium). Get-Help covers every cmdlet.'
            
        }
    }
}