feat: CORS enable button...ish still now understanding this
This commit is contained in:
@@ -31,11 +31,15 @@ export const apiEndpointKeys = {
|
||||
decrypt: "clouds.services.resources.decrypt",
|
||||
createApiGatewayRoute: "clouds.services.resources.apigateway.route.create",
|
||||
listApiGatewayRoutes: "clouds.services.resources.apigateway.routes.list",
|
||||
deleteApiGatewayRoute: "clouds.services.resources.apigateway.route.delete",
|
||||
deleteApiGatewayRoute: "clouds.services.resources.apigateway.route.delete",
|
||||
enableApiGatewayCors: "clouds.services.resources.apigateway.cors.enable",
|
||||
testApiGatewayRoute: "clouds.services.resources.apigateway.route.test",
|
||||
createS3LambdaTrigger: "clouds.services.resources.storage.lambda-trigger.create",
|
||||
listS3LambdaTriggers: "clouds.services.resources.storage.lambda-triggers.list",
|
||||
deleteS3LambdaTrigger: "clouds.services.resources.storage.lambda-trigger.delete",
|
||||
deleteS3LambdaTrigger: "clouds.services.resources.storage.lambda-trigger.delete",
|
||||
getS3BucketWebsite: "clouds.services.resources.storage.website.get",
|
||||
putS3BucketWebsite: "clouds.services.resources.storage.website.put",
|
||||
deleteS3BucketWebsite: "clouds.services.resources.storage.website.delete",
|
||||
createEventBridgeLambdaTrigger: "clouds.services.resources.serverless.eventbridge-trigger.create",
|
||||
listEventBridgeLambdaTriggers: "clouds.services.resources.serverless.eventbridge-triggers.list",
|
||||
deleteEventBridgeLambdaTrigger: "clouds.services.resources.serverless.eventbridge-trigger.delete",
|
||||
@@ -389,6 +393,14 @@ export const endpointRegistry: EndpointRegistry = new Map([
|
||||
telemetry: { service: "apigateway" },
|
||||
},
|
||||
],
|
||||
[
|
||||
apiEndpointKeys.clouds.resources.enableApiGatewayCors,
|
||||
{
|
||||
path: "/clouds/:cloud/services/apigateway/resources/:id/cors",
|
||||
method: "POST",
|
||||
telemetry: { service: "apigateway" },
|
||||
},
|
||||
],
|
||||
[
|
||||
apiEndpointKeys.clouds.resources.createS3LambdaTrigger,
|
||||
{
|
||||
@@ -413,6 +425,30 @@ export const endpointRegistry: EndpointRegistry = new Map([
|
||||
telemetry: { service: "storage" },
|
||||
},
|
||||
],
|
||||
[
|
||||
apiEndpointKeys.clouds.resources.getS3BucketWebsite,
|
||||
{
|
||||
path: "/clouds/:cloud/services/storage/resources/:id/website",
|
||||
method: "GET",
|
||||
telemetry: { service: "storage" },
|
||||
},
|
||||
],
|
||||
[
|
||||
apiEndpointKeys.clouds.resources.putS3BucketWebsite,
|
||||
{
|
||||
path: "/clouds/:cloud/services/storage/resources/:id/website",
|
||||
method: "PUT",
|
||||
telemetry: { service: "storage" },
|
||||
},
|
||||
],
|
||||
[
|
||||
apiEndpointKeys.clouds.resources.deleteS3BucketWebsite,
|
||||
{
|
||||
path: "/clouds/:cloud/services/storage/resources/:id/website",
|
||||
method: "DELETE",
|
||||
telemetry: { service: "storage" },
|
||||
},
|
||||
],
|
||||
[
|
||||
apiEndpointKeys.clouds.resources.createEventBridgeLambdaTrigger,
|
||||
{
|
||||
|
||||
@@ -35,6 +35,7 @@ import type {
|
||||
SqlQueryResult,
|
||||
SqlTable,
|
||||
StorageObjectList,
|
||||
S3BucketWebsiteConfiguration,
|
||||
} from "@/types/resource";
|
||||
import type { ServiceSchema } from "@/types/schema";
|
||||
import { getAccountId } from "@/lib/accountStore";
|
||||
@@ -267,6 +268,7 @@ export interface ApiGatewayRouteOverview {
|
||||
path: string;
|
||||
method: string;
|
||||
functionName: string | null;
|
||||
integrationType: string | null;
|
||||
}
|
||||
|
||||
export interface ApiGatewayRoutesResult {
|
||||
@@ -281,6 +283,19 @@ export interface DeleteApiGatewayRouteInput {
|
||||
stage: string;
|
||||
}
|
||||
|
||||
export interface EnableApiGatewayCorsInput {
|
||||
resourceId: string;
|
||||
stage: string;
|
||||
origin: string;
|
||||
headers: string;
|
||||
methods: string[];
|
||||
}
|
||||
|
||||
export interface ApiGatewayCorsResult {
|
||||
configuredMethods: string[];
|
||||
proxyMethods: string[];
|
||||
}
|
||||
|
||||
export interface CreateS3LambdaTriggerInput {
|
||||
functionName: string;
|
||||
events: string[];
|
||||
@@ -402,6 +417,20 @@ export async function deleteApiGatewayRoute(
|
||||
);
|
||||
}
|
||||
|
||||
export async function enableApiGatewayCors(
|
||||
cloud: CloudProvider,
|
||||
apiId: string,
|
||||
input: EnableApiGatewayCorsInput,
|
||||
signal?: AbortSignal,
|
||||
): Promise<ApiGatewayCorsResult> {
|
||||
const res = await apiClient.call<ApiGatewayCorsResult, EnableApiGatewayCorsInput>(
|
||||
apiEndpointKeys.clouds.resources.enableApiGatewayCors,
|
||||
requestOptions(cloud, "apigateway", {signal, body: input}),
|
||||
{cloud, id: apiId},
|
||||
);
|
||||
return res.data;
|
||||
}
|
||||
|
||||
export async function testApiGatewayRoute(
|
||||
cloud: CloudProvider,
|
||||
apiId: string,
|
||||
@@ -456,6 +485,44 @@ export async function deleteS3LambdaTrigger(
|
||||
);
|
||||
}
|
||||
|
||||
export async function getS3BucketWebsite(
|
||||
cloud: CloudProvider,
|
||||
bucketName: string,
|
||||
signal?: AbortSignal,
|
||||
): Promise<S3BucketWebsiteConfiguration | null> {
|
||||
const res = await apiClient.call<S3BucketWebsiteConfiguration | null>(
|
||||
apiEndpointKeys.clouds.resources.getS3BucketWebsite,
|
||||
requestOptions(cloud, "storage", {signal}),
|
||||
{cloud, id: bucketName},
|
||||
);
|
||||
return res.data;
|
||||
}
|
||||
|
||||
export async function putS3BucketWebsite(
|
||||
cloud: CloudProvider,
|
||||
bucketName: string,
|
||||
configuration: S3BucketWebsiteConfiguration,
|
||||
signal?: AbortSignal,
|
||||
): Promise<void> {
|
||||
await apiClient.call<void, S3BucketWebsiteConfiguration>(
|
||||
apiEndpointKeys.clouds.resources.putS3BucketWebsite,
|
||||
requestOptions(cloud, "storage", {signal, body: configuration}),
|
||||
{cloud, id: bucketName},
|
||||
);
|
||||
}
|
||||
|
||||
export async function deleteS3BucketWebsite(
|
||||
cloud: CloudProvider,
|
||||
bucketName: string,
|
||||
signal?: AbortSignal,
|
||||
): Promise<void> {
|
||||
await apiClient.call<void>(
|
||||
apiEndpointKeys.clouds.resources.deleteS3BucketWebsite,
|
||||
requestOptions(cloud, "storage", {signal}),
|
||||
{cloud, id: bucketName},
|
||||
);
|
||||
}
|
||||
|
||||
export async function createSnsSubscription(
|
||||
cloud: CloudProvider,
|
||||
topicArn: string,
|
||||
|
||||
Reference in New Issue
Block a user