Files
zarinpal-analytics-deployment/scripts/local-dev.ps1

27 lines
1.1 KiB
PowerShell

[CmdletBinding()]
param(
[Parameter(Position = 0)][ValidateSet('check', 'start', 'stop', 'status')][string]$Action = 'status',
[string]$BackendPath,
[string]$FrontendPath
)
$ErrorActionPreference = 'Stop'
$deploymentPath = Split-Path $PSScriptRoot -Parent
if (-not $BackendPath) { $BackendPath = Join-Path (Split-Path $deploymentPath -Parent) 'zarinpal-analytics-backend' }
if (-not $FrontendPath) { $FrontendPath = Join-Path (Split-Path $deploymentPath -Parent) 'zarinpal-analytics-frontend' }
Import-Module (Join-Path $PSScriptRoot 'LocalDev.psm1') -Force
try {
switch ($Action) {
'check' { Invoke-LocalDevCheck -DeploymentPath $deploymentPath -BackendPath $BackendPath -FrontendPath $FrontendPath | Format-List }
'start' { Start-LocalDev -DeploymentPath $deploymentPath -BackendPath $BackendPath -FrontendPath $FrontendPath | Format-Table -AutoSize }
'stop' { Stop-LocalDev -DeploymentPath $deploymentPath; Write-Output 'Local services stopped.' }
'status' { Get-LocalDevStatus -DeploymentPath $deploymentPath | Format-Table -AutoSize }
}
}
catch {
Write-Error $_
exit 1
}