@agendacheia/lambda-utils
v1.1.0
Published
Shared utilities for AWS Lambda functions in the AgendaCheia platform
Downloads
7
Readme
@agendacheia/lambda-utils
Shared utilities for AWS Lambda functions in the AgendaCheia platform.
Installation
npm install @agendacheia/lambda-utilsFeatures
- HTTP Utilities: Request/response handling, CORS, headers
- Logger: Structured CloudWatch logging with context support
- GraphQL Client: Type-safe GraphQL operations with retry logic
- AWS Clients: Pre-configured S3, SQS, SES, Kinesis, CloudWatch clients
- Validation: Input validation and sanitization
- Error Classes: Standardized error handling
- Configuration: Environment variable helpers
Usage
Logger
import { createPreSignUpLogger } from '@agendacheia/lambda-utils/logger'
const logger = createPreSignUpLogger(event, context)
logger.info('Processing request', { userId: '123' })HTTP Response
import { createResponse, ok, badRequest } from '@agendacheia/lambda-utils/http'
return ok({ message: 'Success' })
return badRequest('Invalid input')Validation
import { createSchema, required, email } from '@agendacheia/lambda-utils/validation'
const schema = createSchema({
email: { rules: [required(), email()] },
})
const result = schema.validate(input)Error Classes
import { ValidationError, NotFoundError } from '@agendacheia/lambda-utils/errors'
throw new ValidationError('Email is required')
throw new NotFoundError('User')Module Exports
| Module | Import Path |
|--------|-------------|
| HTTP | @agendacheia/lambda-utils/http |
| Logger | @agendacheia/lambda-utils/logger |
| GraphQL | @agendacheia/lambda-utils/graphql |
| AWS | @agendacheia/lambda-utils/aws |
| Validation | @agendacheia/lambda-utils/validation |
| Errors | @agendacheia/lambda-utils/errors |
| Config | @agendacheia/lambda-utils/config |
License
UNLICENSED - Internal use only
