merge deconflict

This commit is contained in:
Scott Wilson
2025-04-15 14:32:21 -07:00
237 changed files with 7423 additions and 1530 deletions
@@ -6,6 +6,7 @@ export enum AppConnection {
AzureAppConfiguration = "azure-app-configuration",
Databricks = "databricks",
Humanitec = "humanitec",
TerraformCloud = "terraform-cloud",
Vercel = "vercel",
Postgres = "postgres",
MsSql = "mssql",
@@ -0,0 +1,2 @@
export * from "./queries";
export * from "./types";
@@ -0,0 +1,37 @@
import { useQuery, UseQueryOptions } from "@tanstack/react-query";
import { apiRequest } from "@app/config/request";
import { appConnectionKeys } from "../queries";
import { TTerraformCloudOrganization } from "./types";
const terraformCloudConnectionKeys = {
all: [...appConnectionKeys.all, "terraform-cloud"] as const,
listOrganizations: (connectionId: string) =>
[...terraformCloudConnectionKeys.all, "organizations", connectionId] as const
};
export const useTerraformCloudConnectionListOrganizations = (
connectionId: string,
options?: Omit<
UseQueryOptions<
TTerraformCloudOrganization[],
unknown,
TTerraformCloudOrganization[],
ReturnType<typeof terraformCloudConnectionKeys.listOrganizations>
>,
"queryKey" | "queryFn"
>
) => {
return useQuery({
queryKey: terraformCloudConnectionKeys.listOrganizations(connectionId),
queryFn: async () => {
const { data } = await apiRequest.get<TTerraformCloudOrganization[]>(
`/api/v1/app-connections/terraform-cloud/${connectionId}/organizations`
);
return data;
},
...options
});
};
@@ -0,0 +1,56 @@
export type TTerraformCloudOrganization = {
name: string;
id: string;
variableSets: TTerraformCloudVariableSet[];
workspaces: TTerraformCloudWorkspace[];
};
export type TTerraformCloudVariableSet = {
id: string;
name: string;
};
export type TTerraformCloudWorkspace = {
id: string;
name: string;
};
export type TTerraformCloudConnectionOrganization = {
id: string;
name: string;
variableSets: TTerraformCloudConnectionVariableSet[];
workspaces: TTerraformCloudConnectionWorkspace[];
};
export type TTerraformCloudConnectionVariableSet = {
id: string;
name: string;
description: string;
global: boolean;
};
export type TTerraformCloudConnectionWorkspace = {
id: string;
name: string;
};
export enum TerraformCloudSyncScope {
VariableSet = "variable-set",
Workspace = "workspace"
}
export enum TerraformCloudSyncCategory {
Environment = "env",
Terraform = "terraform"
}
export const TERRAFORM_CLOUD_SYNC_SCOPES = {
[TerraformCloudSyncScope.VariableSet]: {
name: "Variable Set",
description: "Sync secrets to a specific variable set in Terraform Cloud."
},
[TerraformCloudSyncScope.Workspace]: {
name: "Workspace",
description: "Sync secrets to a specific workspace in Terraform Cloud."
}
};
@@ -39,6 +39,10 @@ export type THumanitecConnectionOption = TAppConnectionOptionBase & {
app: AppConnection.Humanitec;
};
export type TTerraformCloudConnectionOption = TAppConnectionOptionBase & {
app: AppConnection.TerraformCloud;
};
export type TVercelConnectionOption = TAppConnectionOptionBase & {
app: AppConnection.Vercel;
};
@@ -67,6 +71,7 @@ export type TAppConnectionOption =
| TAzureKeyVaultConnectionOption
| TDatabricksConnectionOption
| THumanitecConnectionOption
| TTerraformCloudConnectionOption
| TVercelConnectionOption
| TPostgresConnectionOption
| TMsSqlConnectionOption
@@ -81,6 +86,7 @@ export type TAppConnectionOptionMap = {
[AppConnection.AzureAppConfiguration]: TAzureAppConfigurationConnectionOption;
[AppConnection.Databricks]: TDatabricksConnectionOption;
[AppConnection.Humanitec]: THumanitecConnectionOption;
[AppConnection.TerraformCloud]: TTerraformCloudConnectionOption;
[AppConnection.Vercel]: TVercelConnectionOption;
[AppConnection.Postgres]: TPostgresConnectionOption;
[AppConnection.MsSql]: TMsSqlConnectionOption;
@@ -11,6 +11,7 @@ import { TGitHubConnection } from "./github-connection";
import { THumanitecConnection } from "./humanitec-connection";
import { TMsSqlConnection } from "./mssql-connection";
import { TPostgresConnection } from "./postgres-connection";
import { TTerraformCloudConnection } from "./terraform-cloud-connection";
import { TVercelConnection } from "./vercel-connection";
export * from "./auth0-connection";
@@ -24,6 +25,7 @@ export * from "./github-connection";
export * from "./humanitec-connection";
export * from "./mssql-connection";
export * from "./postgres-connection";
export * from "./terraform-cloud-connection";
export * from "./vercel-connection";
export type TAppConnection =
@@ -34,6 +36,7 @@ export type TAppConnection =
| TAzureAppConfigurationConnection
| TDatabricksConnection
| THumanitecConnection
| TTerraformCloudConnection
| TVercelConnection
| TPostgresConnection
| TMsSqlConnection
@@ -73,6 +76,7 @@ export type TAppConnectionMap = {
[AppConnection.AzureAppConfiguration]: TAzureAppConfigurationConnection;
[AppConnection.Databricks]: TDatabricksConnection;
[AppConnection.Humanitec]: THumanitecConnection;
[AppConnection.TerraformCloud]: TTerraformCloudConnection;
[AppConnection.Vercel]: TVercelConnection;
[AppConnection.Postgres]: TPostgresConnection;
[AppConnection.MsSql]: TMsSqlConnection;
@@ -0,0 +1,15 @@
import { AppConnection } from "@app/hooks/api/appConnections/enums";
import { TRootAppConnection } from "@app/hooks/api/appConnections/types/root-connection";
export enum TerraformCloudConnectionMethod {
ApiToken = "api-token"
}
export type TTerraformCloudConnection = TRootAppConnection & {
app: AppConnection.TerraformCloud;
} & {
method: TerraformCloudConnectionMethod.ApiToken;
credentials: {
apiToken: string;
};
};