chore(home): mirror from kalinamall (4507ee0) with papatramp URLs

This commit is contained in:
2026-07-14 20:53:40 +10:00
commit fb0d4597b5
29 changed files with 2552 additions and 0 deletions
+63
View File
@@ -0,0 +1,63 @@
#Requires -Version 5.1
<#
.SYNOPSIS
Создать репозиторий на home Gitea через API, если его ещё нет.
#>
[CmdletBinding()]
param(
[Parameter(Mandatory = $true)][string]$RepoName,
[string]$Owner = 'PapaTramp',
[string]$ConfigPath = "$HOME\CursorRules\local\papatramp-gitea.conf",
[string]$Description = ''
)
Set-StrictMode -Version Latest
$ErrorActionPreference = 'Stop'
if (-not (Test-Path -LiteralPath $ConfigPath)) {
throw "Config not found: $ConfigPath"
}
$cfg = @{}
Get-Content -LiteralPath $ConfigPath | ForEach-Object {
if ($_ -match '^([^#=]+)=(.*)$') {
$cfg[$Matches[1].Trim()] = $Matches[2].Trim()
}
}
$base = $cfg.GiteaApiUrl.TrimEnd('/')
$pair = '{0}:{1}' -f $cfg.GiteaApiUser, $cfg.GiteaApiPassword
$auth = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes($pair))
$headers = @{ Authorization = $auth; 'Content-Type' = 'application/json' }
$checkUrl = "$base/api/v1/repos/$Owner/$RepoName"
try {
$existing = Invoke-RestMethod -Method Get -Uri $checkUrl -Headers $headers -TimeoutSec 15
Write-Host "[+] EXISTS $($existing.full_name)" -ForegroundColor Green
exit 0
}
catch {
if ($_.Exception.Response.StatusCode.value__ -ne 404) {
throw "check failed: $($_.Exception.Message)"
}
}
$body = (@{
name = $RepoName
private = $true
auto_init = $false
description = $Description
} | ConvertTo-Json)
foreach ($url in @("$base/api/v1/orgs/$Owner/repos", "$base/api/v1/user/repos")) {
try {
$created = Invoke-RestMethod -Method Post -Uri $url -Headers $headers -Body $body -TimeoutSec 30
Write-Host "[+] CREATED $($created.full_name)" -ForegroundColor Green
exit 0
}
catch {
Write-Warning "create via $url : $($_.Exception.Message)"
}
}
throw 'failed to create repository on home Gitea'