diff --git a/src/routes/(console)/project-[region]-[project]/functions/create-function/deploy/+page.ts b/src/routes/(console)/project-[region]-[project]/functions/create-function/deploy/+page.ts index 1360881ef..e4313a24c 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/create-function/deploy/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/functions/create-function/deploy/+page.ts @@ -11,7 +11,7 @@ export const load: PageLoad = async ({ url, params, parent }) => { } // Parse repository information - const repoMatch = repoUrl.match(/github\.com[\/:]([^\/]+)\/([^\/\?\s]+)/); + const repoMatch = repoUrl.match(/github\.com[/:]([^/]+)\/([^/?s]+)/); if (!repoMatch) { redirect(302, `${base}/project-${params.region}-${params.project}/functions`); } diff --git a/src/routes/(console)/project-[region]-[project]/sites/create-site/deploy/+page.ts b/src/routes/(console)/project-[region]-[project]/sites/create-site/deploy/+page.ts index 8b8a33bb3..6baca91e2 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/create-site/deploy/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/sites/create-site/deploy/+page.ts @@ -12,7 +12,7 @@ export const load: PageLoad = async ({ url, params }) => { } // Parse repository information - const repoMatch = repoUrl.match(/github\.com[\/:]([^\/]+)\/([^\/\?\s]+)/); + const repoMatch = repoUrl.match(/github\.com[/:]([^/]+)\/([^/?s]+)/); if (!repoMatch) { redirect(302, `${base}/project-${params.region}-${params.project}/sites`); } diff --git a/src/routes/(public)/functions/deploy/+page.svelte b/src/routes/(public)/functions/deploy/+page.svelte index a22f063d1..2da05e56d 100644 --- a/src/routes/(public)/functions/deploy/+page.svelte +++ b/src/routes/(public)/functions/deploy/+page.svelte @@ -188,7 +188,7 @@ label="Organization" required placeholder="Select an organization" - options={data.organizations.teams.map((o: any) => ({ + options={data.organizations.teams.map((o) => ({ label: o.name, value: o.$id }))} diff --git a/src/routes/(public)/functions/deploy/+page.ts b/src/routes/(public)/functions/deploy/+page.ts index 7916b21c8..858188b3b 100644 --- a/src/routes/(public)/functions/deploy/+page.ts +++ b/src/routes/(public)/functions/deploy/+page.ts @@ -34,18 +34,27 @@ export const load: PageLoad = async ({ parent, url }) => { const envKeys = envParam ? envParam.split(',').map((key: string) => key.trim()) : []; const name = url.searchParams.get('name'); - let deploymentData: { + const deploymentData: { type: 'repo'; repository: { url: string; owner: string; name: string }; runtime?: string; name?: string; + } = { + type: 'repo', + repository: { + url: repoUrl!, + owner: '', + name: '' + }, + runtime: runtime || 'node-18.0', + name: name || '' }; // Get available runtimes const runtimesList = await sdk.forConsole.functions.listRuntimes(); // Repository deployment only - const repoMatch = repoUrl!.match(/github\.com[\/:]([^\/]+)\/([^\/\?\s]+)/); + const repoMatch = repoUrl!.match(/github\.com[/:]([^/]+)\/([^/?s]+)/); if (!repoMatch) { redirect(302, base + '/'); } @@ -54,16 +63,10 @@ export const load: PageLoad = async ({ parent, url }) => { // Clean repository name (remove .git extension if present) const cleanRepoName = repoName.replace(/\.git$/, ''); - deploymentData = { - type: 'repo', - repository: { - url: repoUrl!, - owner, - name: cleanRepoName - }, - runtime: runtime || 'node-18.0', // Default to Node.js if not specified - name: name || cleanRepoName - }; + // Update deployment data with parsed repository info + deploymentData.repository.owner = owner; + deploymentData.repository.name = cleanRepoName; + deploymentData.name = name || cleanRepoName; // Get organizations let organizations: Models.TeamList> | OrganizationList | undefined; diff --git a/src/routes/(public)/sites/deploy/+page.svelte b/src/routes/(public)/sites/deploy/+page.svelte index ca742c7b9..59922868a 100644 --- a/src/routes/(public)/sites/deploy/+page.svelte +++ b/src/routes/(public)/sites/deploy/+page.svelte @@ -311,7 +311,7 @@ label="Organization" required placeholder="Select an organization" - options={data.organizations.teams.map((o: any) => ({ + options={data.organizations.teams.map((o) => ({ label: o.name, value: o.$id }))} diff --git a/src/routes/(public)/sites/deploy/+page.ts b/src/routes/(public)/sites/deploy/+page.ts index ecd67a2ab..16337fba1 100644 --- a/src/routes/(public)/sites/deploy/+page.ts +++ b/src/routes/(public)/sites/deploy/+page.ts @@ -64,7 +64,7 @@ export const load: PageLoad = async ({ parent, url }) => { } } else { // Repository deployment - const repoMatch = repoUrl!.match(/github\.com[\/:]([^\/]+)\/([^\/\?\s]+)/); + const repoMatch = repoUrl!.match(/github\.com[/:]([^/]+)\/([^/?s]+)/); if (!repoMatch) { redirect(302, base + '/'); }