Initial project snapshot
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
param(
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$RdpHost,
|
||||
[int]$RdpPort = 3389,
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$RdpUsername,
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$RdpPassword,
|
||||
[string]$RdpDomain = "",
|
||||
[ValidateSet("strict", "ignore")]
|
||||
[string]$CertificateVerificationMode = "strict"
|
||||
)
|
||||
|
||||
Set-StrictMode -Version Latest
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
$userId = [guid]::NewGuid().ToString()
|
||||
$deviceId = [guid]::NewGuid().ToString()
|
||||
$resourceId = [guid]::NewGuid().ToString()
|
||||
$userEmail = "smoke-user-$userId@example.local"
|
||||
|
||||
$metadata = @{
|
||||
rdp_host = $RdpHost
|
||||
rdp_port = $RdpPort
|
||||
username = $RdpUsername
|
||||
password = $RdpPassword
|
||||
domain = $RdpDomain
|
||||
certificate_verification_mode = $CertificateVerificationMode
|
||||
} | ConvertTo-Json -Compress
|
||||
|
||||
$sql = @"
|
||||
INSERT INTO users (id, email, password_hash, mfa_enabled)
|
||||
VALUES ('$userId'::uuid, '$userEmail', '`$2a`$10`$7EqJtq98hPqEX7fNZaFWoOHi6s6i.5NQ32mibXwjlzAIXazhbugzu', FALSE)
|
||||
ON CONFLICT (email) DO NOTHING;
|
||||
|
||||
INSERT INTO organization_memberships (
|
||||
id, organization_id, user_id, role_id, status, invited_by_user_id, created_at, updated_at
|
||||
)
|
||||
SELECT
|
||||
gen_random_uuid(),
|
||||
(SELECT id FROM organizations WHERE slug = 'default'),
|
||||
'$userId'::uuid,
|
||||
'org_member',
|
||||
'active',
|
||||
NULL,
|
||||
NOW(),
|
||||
NOW()
|
||||
ON CONFLICT (organization_id, user_id) DO UPDATE SET
|
||||
status = 'active',
|
||||
updated_at = EXCLUDED.updated_at;
|
||||
|
||||
INSERT INTO devices (id, user_id, device_fingerprint, device_label, trust_status, trusted_at, last_seen_at, created_at, updated_at)
|
||||
VALUES (
|
||||
'$deviceId'::uuid,
|
||||
'$userId'::uuid,
|
||||
'smoke-device-1',
|
||||
'Smoke Device 1',
|
||||
'trusted',
|
||||
NOW(),
|
||||
NOW(),
|
||||
NOW(),
|
||||
NOW()
|
||||
)
|
||||
ON CONFLICT (user_id, device_fingerprint) DO UPDATE SET
|
||||
trust_status = 'trusted',
|
||||
trusted_at = NOW(),
|
||||
last_seen_at = NOW(),
|
||||
updated_at = NOW();
|
||||
|
||||
INSERT INTO resources (id, organization_id, name, address, protocol, certificate_verification_mode, metadata, created_at, updated_at)
|
||||
SELECT
|
||||
'$resourceId'::uuid,
|
||||
(SELECT id FROM organizations WHERE slug = 'default'),
|
||||
'Smoke RDP Resource',
|
||||
'$RdpHost',
|
||||
'rdp',
|
||||
'$CertificateVerificationMode',
|
||||
'$metadata'::jsonb,
|
||||
NOW(),
|
||||
NOW()
|
||||
ON CONFLICT (id) DO NOTHING;
|
||||
|
||||
INSERT INTO resource_policies (
|
||||
resource_id, max_concurrent_sessions, takeover_policy, require_trusted_device,
|
||||
detach_grace_period_seconds, clipboard_enabled, file_transfer_enabled, created_at, updated_at
|
||||
)
|
||||
VALUES (
|
||||
'$resourceId'::uuid,
|
||||
1,
|
||||
'trusted_device',
|
||||
TRUE,
|
||||
1800,
|
||||
FALSE,
|
||||
FALSE,
|
||||
NOW(),
|
||||
NOW()
|
||||
)
|
||||
ON CONFLICT (resource_id) DO UPDATE SET
|
||||
updated_at = NOW();
|
||||
"@
|
||||
|
||||
$sql | docker exec -i rap_postgres psql -U rap_user -d remote_access_platform -v ON_ERROR_STOP=1 -f -
|
||||
|
||||
Write-Host "Seed complete"
|
||||
Write-Host "email=$userEmail"
|
||||
Write-Host "user_id=$userId"
|
||||
Write-Host "device_id=$deviceId"
|
||||
Write-Host "resource_id=$resourceId"
|
||||
Reference in New Issue
Block a user