Skip to content

Comments

feat(apigateway): add API Gateway service implementation#220

Merged
sivchari merged 6 commits intomainfrom
feat/apigateway-basic-implementation
Feb 13, 2026
Merged

feat(apigateway): add API Gateway service implementation#220
sivchari merged 6 commits intomainfrom
feat/apigateway-basic-implementation

Conversation

@sivchari
Copy link
Owner

Summary

  • Implement API Gateway REST API service with basic operations
  • Add in-memory storage for REST APIs, resources, methods, integrations, deployments, and stages
  • Add integration tests for all operations

Changes

REST API Operations

  • CreateRestApi / GetRestApi / GetRestApis / DeleteRestApi

Resource Operations

  • CreateResource / GetResource / GetResources / DeleteResource

Method & Integration Operations

  • PutMethod / GetMethod
  • PutIntegration / GetIntegration

Deployment Operations

  • CreateDeployment / GetDeployment / GetDeployments / DeleteDeployment

Stage Operations

  • CreateStage / GetStage / GetStages / DeleteStage

Test plan

  • Integration tests for all operations
  • Build passes
  • Lint passes

Closes #19

Implement API Gateway REST API service with the following operations:
- CreateRestApi / GetRestApi / GetRestApis / DeleteRestApi
- CreateResource / GetResource / GetResources / DeleteResource
- PutMethod / GetMethod
- PutIntegration / GetIntegration
- CreateDeployment / GetDeployment / GetDeployments / DeleteDeployment
- CreateStage / GetStage / GetStages / DeleteStage

Add integration tests for all operations.

Closes #19
- Rename RestApi to RestAPI
- Rename CreateRestApiRequest to CreateRestAPIRequest
- Rename CreateRestApiResponse to CreateRestAPIResponse
- Rename GetRestApisResponse to GetRestAPIsResponse
- Rename ApiKeySource to APIKeySource
- Rename DisableExecuteApiEndpt to DisableExecuteAPIEndpt
- Rename ApiKeyRequired to APIKeyRequired
- Update storage, handlers, and service files accordingly
- Rename restApiID variable to restAPIID
- Rename extractRestApiAndResourceID to extractRestAPIAndResourceID
- Rename extractDeploymentRestApiID to extractDeploymentRestAPIID
- Rename extractRestApiAndDeploymentID to extractRestAPIAndDeploymentID
- Rename extractStageRestApiID to extractStageRestAPIID
- Rename extractRestApiAndStageName to extractRestAPIAndStageName
The AWS SDK constructs URLs relative to BaseEndpoint. Since our API Gateway
routes use /apigateway prefix to avoid conflicts with S3 wildcard routes,
the test client needs to include this prefix in the BaseEndpoint.

This follows the same pattern used by Lambda integration tests.
@github-actions
Copy link
Contributor

📊 Integration Test Coverage Report

Total Coverage: 64.9%

@sivchari sivchari merged commit 2e1df77 into main Feb 13, 2026
3 checks passed
@sivchari sivchari deleted the feat/apigateway-basic-implementation branch February 13, 2026 06:38
@github-actions github-actions bot mentioned this pull request Feb 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

API Gateway: Service implementation

1 participant