mirror of
https://github.com/supabase/supabase.git
synced 2026-10-15 06:09:08 +03:00
allow connection details on create
This commit is contained in:
1 parent
d9e62180dd
commit
4a9c090fa8
4 files changed
+156
-69
No files matched your search
@@ -136,10 +136,10 @@ export const CreateBranchModal = ({ visible, onClose }: CreateBranchModalProps)
|
||||
return
|
||||
}
|
||||
|
||||
if (val.gitBranchName && val.gitBranchName.length > 0 && githubConnection?.id) {
|
||||
if (val.gitBranchName && val.gitBranchName.length > 0 && githubConnection?.repository.id) {
|
||||
try {
|
||||
await checkGithubBranchValidity({
|
||||
connectionId: githubConnection.id,
|
||||
repositoryId: githubConnection.repository.id,
|
||||
branchName: val.gitBranchName,
|
||||
})
|
||||
// valid – no issues added
|
||||
|
||||
+12
-8
@@ -72,8 +72,6 @@ const SidePanelGitHubRepoLinker = ({ projectRef }: SidePanelGitHubRepoLinkerProp
|
||||
enabled: visible && Boolean(gitHubAuthorization),
|
||||
})
|
||||
|
||||
console.log('githubReposData', githubReposData)
|
||||
|
||||
const { data: connections } = useGitHubConnectionsQuery(
|
||||
{
|
||||
organizationId: selectedOrganization?.id,
|
||||
@@ -157,10 +155,10 @@ const SidePanelGitHubRepoLinker = ({ projectRef }: SidePanelGitHubRepoLinkerProp
|
||||
return
|
||||
}
|
||||
|
||||
if (existingConnection?.id && val.branchName && val.branchName.length > 0) {
|
||||
if (selectedRepo?.id && val.branchName && val.branchName.length > 0) {
|
||||
try {
|
||||
await checkGithubBranchValidity({
|
||||
connectionId: Number(existingConnection.id),
|
||||
repositoryId: Number(selectedRepo.id),
|
||||
branchName: val.branchName,
|
||||
})
|
||||
} catch (error) {
|
||||
@@ -283,6 +281,9 @@ const SidePanelGitHubRepoLinker = ({ projectRef }: SidePanelGitHubRepoLinkerProp
|
||||
installation_id: selectedRepo.installation_id!,
|
||||
project_ref: projectRef,
|
||||
repository_id: Number(selectedRepo.id),
|
||||
workdir: data.supabaseDirectory,
|
||||
supabaseChangesOnly: data.supabaseChangesOnly,
|
||||
branchLimit: Number(data.branchLimit),
|
||||
},
|
||||
})
|
||||
} else {
|
||||
@@ -301,6 +302,9 @@ const SidePanelGitHubRepoLinker = ({ projectRef }: SidePanelGitHubRepoLinkerProp
|
||||
installation_id: selectedRepo.installation_id!,
|
||||
project_ref: projectRef,
|
||||
repository_id: Number(selectedRepo.id),
|
||||
workdir: data.supabaseDirectory,
|
||||
supabaseChangesOnly: data.supabaseChangesOnly,
|
||||
branchLimit: Number(data.branchLimit),
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -501,7 +505,7 @@ const SidePanelGitHubRepoLinker = ({ projectRef }: SidePanelGitHubRepoLinkerProp
|
||||
<Input_Shadcn_
|
||||
{...field}
|
||||
autoComplete="off"
|
||||
disabled={!existingConnection || !autoBranchingEnabled}
|
||||
disabled={!autoBranchingEnabled}
|
||||
/>
|
||||
</FormControl_Shadcn_>
|
||||
<div className="absolute top-2.5 right-3 flex items-center gap-2">
|
||||
@@ -532,7 +536,7 @@ const SidePanelGitHubRepoLinker = ({ projectRef }: SidePanelGitHubRepoLinkerProp
|
||||
{...field}
|
||||
placeholder="supabase"
|
||||
autoComplete="off"
|
||||
disabled={!existingConnection || !autoBranchingEnabled}
|
||||
disabled={!autoBranchingEnabled}
|
||||
/>
|
||||
</FormControl_Shadcn_>
|
||||
<FormMessage_Shadcn_ />
|
||||
@@ -554,7 +558,7 @@ const SidePanelGitHubRepoLinker = ({ projectRef }: SidePanelGitHubRepoLinkerProp
|
||||
{...field}
|
||||
type="number"
|
||||
autoComplete="off"
|
||||
disabled={!existingConnection || !autoBranchingEnabled}
|
||||
disabled={!autoBranchingEnabled}
|
||||
/>
|
||||
</FormControl_Shadcn_>
|
||||
<FormMessage_Shadcn_ />
|
||||
@@ -575,7 +579,7 @@ const SidePanelGitHubRepoLinker = ({ projectRef }: SidePanelGitHubRepoLinkerProp
|
||||
<Switch
|
||||
checked={field.value}
|
||||
onCheckedChange={(val) => field.onChange(val)}
|
||||
disabled={!existingConnection || !autoBranchingEnabled}
|
||||
disabled={!autoBranchingEnabled}
|
||||
/>
|
||||
</FormControl_Shadcn_>
|
||||
</FormItemLayout>
|
||||
|
||||
@@ -5,20 +5,20 @@ import { get, handleError } from 'data/fetchers'
|
||||
import type { ResponseError } from 'types'
|
||||
|
||||
export type GithubBranchVariables = {
|
||||
connectionId: number
|
||||
repositoryId: number
|
||||
branchName: string
|
||||
}
|
||||
|
||||
export async function checkGithubBranchValidity(
|
||||
{ connectionId, branchName }: GithubBranchVariables,
|
||||
{ repositoryId, branchName }: GithubBranchVariables,
|
||||
signal?: AbortSignal
|
||||
) {
|
||||
const { data, error } = await get(
|
||||
'/platform/integrations/github/branches/{connectionId}/{branchName}',
|
||||
'/platform/integrations/github/repositories/{repositoryId}/branches/{branchName}',
|
||||
{
|
||||
params: {
|
||||
path: {
|
||||
connectionId,
|
||||
repositoryId,
|
||||
branchName,
|
||||
},
|
||||
},
|
||||
|
||||
+138
-55
@@ -622,6 +622,44 @@ export interface paths {
|
||||
patch?: never
|
||||
trace?: never
|
||||
}
|
||||
'/platform/integrations/github/repositories/{repositoryId}/branches': {
|
||||
parameters: {
|
||||
query?: never
|
||||
header?: never
|
||||
path?: never
|
||||
cookie?: never
|
||||
}
|
||||
/** List GitHub repository branches */
|
||||
get: operations['GitHubRepositoriesController_listRepositoryBranches']
|
||||
put?: never
|
||||
post?: never
|
||||
delete?: never
|
||||
options?: never
|
||||
head?: never
|
||||
patch?: never
|
||||
trace?: never
|
||||
}
|
||||
'/platform/integrations/github/repositories/{repositoryId}/branches/{branchName}': {
|
||||
parameters: {
|
||||
query?: never
|
||||
header?: never
|
||||
path?: never
|
||||
cookie?: never
|
||||
}
|
||||
/**
|
||||
* Get GitHub repository branch
|
||||
* @deprecated
|
||||
* @description This is a temporary endpoint before dashboard switches to combo box
|
||||
*/
|
||||
get: operations['GitHubRepositoriesController_getRepository']
|
||||
put?: never
|
||||
post?: never
|
||||
delete?: never
|
||||
options?: never
|
||||
head?: never
|
||||
patch?: never
|
||||
trace?: never
|
||||
}
|
||||
'/platform/integrations/vercel': {
|
||||
parameters: {
|
||||
query?: never
|
||||
@@ -2106,8 +2144,7 @@ export interface paths {
|
||||
/** Gets project's logs */
|
||||
get: operations['LogsController_getApiPaths']
|
||||
put?: never
|
||||
/** Post project's logs */
|
||||
post: operations['LogsController_postApiPaths']
|
||||
post?: never
|
||||
delete?: never
|
||||
options?: never
|
||||
head?: never
|
||||
@@ -4422,10 +4459,22 @@ export interface components {
|
||||
CreateGitHubAuthorizationBody: {
|
||||
code: string
|
||||
}
|
||||
CreateGitHubConnectionsBody: {
|
||||
CreateGitHubConnectionBody: {
|
||||
branch_limit?: number
|
||||
installation_id: number
|
||||
project_ref: string
|
||||
repository_id: number
|
||||
supabase_changes_only?: boolean
|
||||
workdir?: string
|
||||
}
|
||||
CreateGitHubConnectionResponse: {
|
||||
branch_limit: number
|
||||
id: number
|
||||
inserted_at: string
|
||||
installation_id: number
|
||||
supabase_changes_only: boolean
|
||||
updated_at: string
|
||||
workdir: string
|
||||
}
|
||||
CreateInvitationBody: {
|
||||
email: string
|
||||
@@ -5617,6 +5666,9 @@ export interface components {
|
||||
sender_id: number
|
||||
user_id: number
|
||||
}
|
||||
GitHubBranchResponse: {
|
||||
name: string
|
||||
}
|
||||
GoTrueConfigResponse: {
|
||||
API_MAX_REQUEST_DURATION: number | null
|
||||
DB_MAX_POOL_SIZE: number | null
|
||||
@@ -5958,6 +6010,14 @@ export interface components {
|
||||
workdir: string
|
||||
}[]
|
||||
}
|
||||
ListGitHubRepositoriesResponse: {
|
||||
repositories: {
|
||||
default_branch: string
|
||||
id: number
|
||||
installation_id: number
|
||||
name: string
|
||||
}[]
|
||||
}
|
||||
ListNotificationExceptionsResponse: {
|
||||
exceptions: {
|
||||
/** Format: uuid */
|
||||
@@ -5991,6 +6051,11 @@ export interface components {
|
||||
oauth_app_id: string
|
||||
}[]
|
||||
}
|
||||
ListRepositoryBranchesResponse: {
|
||||
branches: {
|
||||
name: string
|
||||
}[]
|
||||
}
|
||||
LoadBalancerDetailResponse: {
|
||||
databases: {
|
||||
identifier: string
|
||||
@@ -6705,9 +6770,6 @@ export interface components {
|
||||
name: string
|
||||
schema: string
|
||||
}
|
||||
PostProjectLogsBody: {
|
||||
sql: string
|
||||
}
|
||||
PreviewProjectTransferResponse: {
|
||||
errors: {
|
||||
key: string
|
||||
@@ -9637,7 +9699,9 @@ export interface operations {
|
||||
headers: {
|
||||
[name: string]: unknown
|
||||
}
|
||||
content?: never
|
||||
content: {
|
||||
'application/json': components['schemas']['GitHubBranchResponse'][]
|
||||
}
|
||||
}
|
||||
/** @description Failed to list GitHub connection branches */
|
||||
500: {
|
||||
@@ -9664,7 +9728,9 @@ export interface operations {
|
||||
headers: {
|
||||
[name: string]: unknown
|
||||
}
|
||||
content?: never
|
||||
content: {
|
||||
'application/json': components['schemas']['GitHubBranchResponse']
|
||||
}
|
||||
}
|
||||
/** @description Failed to get GitHub connection branch */
|
||||
500: {
|
||||
@@ -9712,7 +9778,7 @@ export interface operations {
|
||||
}
|
||||
requestBody: {
|
||||
content: {
|
||||
'application/json': components['schemas']['CreateGitHubConnectionsBody']
|
||||
'application/json': components['schemas']['CreateGitHubConnectionBody']
|
||||
}
|
||||
}
|
||||
responses: {
|
||||
@@ -9720,7 +9786,9 @@ export interface operations {
|
||||
headers: {
|
||||
[name: string]: unknown
|
||||
}
|
||||
content?: never
|
||||
content: {
|
||||
'application/json': components['schemas']['CreateGitHubConnectionResponse']
|
||||
}
|
||||
}
|
||||
/** @description Failed to create project connections */
|
||||
500: {
|
||||
@@ -9800,7 +9868,9 @@ export interface operations {
|
||||
headers: {
|
||||
[name: string]: unknown
|
||||
}
|
||||
content?: never
|
||||
content: {
|
||||
'application/json': components['schemas']['ListGitHubRepositoriesResponse']
|
||||
}
|
||||
}
|
||||
/** @description Failed to get GitHub repositories for user */
|
||||
500: {
|
||||
@@ -9811,6 +9881,63 @@ export interface operations {
|
||||
}
|
||||
}
|
||||
}
|
||||
GitHubRepositoriesController_listRepositoryBranches: {
|
||||
parameters: {
|
||||
query?: never
|
||||
header?: never
|
||||
path: {
|
||||
repositoryId: number
|
||||
}
|
||||
cookie?: never
|
||||
}
|
||||
requestBody?: never
|
||||
responses: {
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown
|
||||
}
|
||||
content: {
|
||||
'application/json': components['schemas']['ListRepositoryBranchesResponse']
|
||||
}
|
||||
}
|
||||
/** @description Failed to list GitHub repository branches */
|
||||
500: {
|
||||
headers: {
|
||||
[name: string]: unknown
|
||||
}
|
||||
content?: never
|
||||
}
|
||||
}
|
||||
}
|
||||
GitHubRepositoriesController_getRepository: {
|
||||
parameters: {
|
||||
query?: never
|
||||
header?: never
|
||||
path: {
|
||||
branchName: string
|
||||
repositoryId: number
|
||||
}
|
||||
cookie?: never
|
||||
}
|
||||
requestBody?: never
|
||||
responses: {
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown
|
||||
}
|
||||
content: {
|
||||
'application/json': components['schemas']['GitHubBranchResponse']
|
||||
}
|
||||
}
|
||||
/** @description Failed to get GitHub repository branch */
|
||||
500: {
|
||||
headers: {
|
||||
[name: string]: unknown
|
||||
}
|
||||
content?: never
|
||||
}
|
||||
}
|
||||
}
|
||||
VercelIntegrationController_createVercelIntegration: {
|
||||
parameters: {
|
||||
query?: never
|
||||
@@ -14482,50 +14609,6 @@ export interface operations {
|
||||
}
|
||||
}
|
||||
}
|
||||
LogsController_postApiPaths: {
|
||||
parameters: {
|
||||
query?: {
|
||||
iso_timestamp_end?: string
|
||||
iso_timestamp_start?: string
|
||||
project?: string
|
||||
sql?: string
|
||||
}
|
||||
header?: never
|
||||
path: {
|
||||
/** @description Project ref */
|
||||
ref: string
|
||||
}
|
||||
cookie?: never
|
||||
}
|
||||
requestBody: {
|
||||
content: {
|
||||
'application/json': components['schemas']['PostProjectLogsBody']
|
||||
}
|
||||
}
|
||||
responses: {
|
||||
201: {
|
||||
headers: {
|
||||
[name: string]: unknown
|
||||
}
|
||||
content: {
|
||||
'application/json': components['schemas']['AnalyticsResponse']
|
||||
}
|
||||
}
|
||||
403: {
|
||||
headers: {
|
||||
[name: string]: unknown
|
||||
}
|
||||
content?: never
|
||||
}
|
||||
/** @description Failed to POST project's logs */
|
||||
500: {
|
||||
headers: {
|
||||
[name: string]: unknown
|
||||
}
|
||||
content?: never
|
||||
}
|
||||
}
|
||||
}
|
||||
UsageApiController_getApiCounts: {
|
||||
parameters: {
|
||||
query?: {
|
||||
|
||||
Reference in new issue
Block a user