feat: Update .gitignore, add Lambda layer configuration, and refactor DynamoDB handlers to use AWS SDK v3
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
resource "aws_dynamodb_table" "tasker_project_table" {
|
||||
name = "tasker-project-table"
|
||||
billing_mode = "PAY_PER_REQUEST"
|
||||
hash_key = "type"
|
||||
hash_key = "category"
|
||||
range_key = "projectId"
|
||||
|
||||
attribute {
|
||||
name = "type"
|
||||
name = "category"
|
||||
type = "S"
|
||||
}
|
||||
|
||||
@@ -30,11 +30,11 @@ resource "aws_ssm_parameter" "tasker_project_table_arn" {
|
||||
resource "aws_dynamodb_table" "tasker_user_table" {
|
||||
name = "tasker-user-table"
|
||||
billing_mode = "PAY_PER_REQUEST"
|
||||
hash_key = "type"
|
||||
hash_key = "category"
|
||||
range_key = "cognitoId"
|
||||
|
||||
attribute {
|
||||
name = "type"
|
||||
name = "category"
|
||||
type = "S"
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ resource "aws_dynamodb_table" "tasker_user_table" {
|
||||
|
||||
global_secondary_index {
|
||||
name = "GSI-user-id"
|
||||
hash_key = "type"
|
||||
hash_key = "category"
|
||||
range_key = "userId"
|
||||
projection_type = "ALL"
|
||||
}
|
||||
@@ -71,11 +71,11 @@ resource "aws_ssm_parameter" "tasker_user_table_arn" {
|
||||
resource "aws_dynamodb_table" "tasker_team_table" {
|
||||
name = "tasker-team-table"
|
||||
billing_mode = "PAY_PER_REQUEST"
|
||||
hash_key = "type"
|
||||
hash_key = "category"
|
||||
range_key = "teamId"
|
||||
|
||||
attribute {
|
||||
name = "type"
|
||||
name = "category"
|
||||
type = "S"
|
||||
}
|
||||
|
||||
@@ -100,11 +100,11 @@ resource "aws_ssm_parameter" "tasker_team_table_arn" {
|
||||
resource "aws_dynamodb_table" "tasker_task_table" {
|
||||
name = "tasker-task-table"
|
||||
billing_mode = "PAY_PER_REQUEST"
|
||||
hash_key = "type"
|
||||
hash_key = "category"
|
||||
range_key = "taskId"
|
||||
|
||||
attribute {
|
||||
name = "type"
|
||||
name = "category"
|
||||
type = "S"
|
||||
}
|
||||
|
||||
@@ -130,21 +130,21 @@ resource "aws_dynamodb_table" "tasker_task_table" {
|
||||
|
||||
global_secondary_index {
|
||||
name = "GSI-project-id"
|
||||
hash_key = "type"
|
||||
hash_key = "category"
|
||||
range_key = "projectId"
|
||||
projection_type = "ALL"
|
||||
}
|
||||
|
||||
global_secondary_index {
|
||||
name = "GSI-author-user-id"
|
||||
hash_key = "type"
|
||||
hash_key = "category"
|
||||
range_key = "authorUserId"
|
||||
projection_type = "ALL"
|
||||
}
|
||||
|
||||
global_secondary_index {
|
||||
name = "GSI-assigned-user-id"
|
||||
hash_key = "type"
|
||||
hash_key = "category"
|
||||
range_key = "assignedUserId"
|
||||
projection_type = "ALL"
|
||||
}
|
||||
@@ -165,11 +165,11 @@ resource "aws_ssm_parameter" "tasker_task_table_arn" {
|
||||
resource "aws_dynamodb_table" "tasker_task_extra_table" {
|
||||
name = "tasker-task-extra-table"
|
||||
billing_mode = "PAY_PER_REQUEST"
|
||||
hash_key = "type"
|
||||
hash_key = "category"
|
||||
range_key = "id"
|
||||
|
||||
attribute {
|
||||
name = "type"
|
||||
name = "category"
|
||||
type = "S"
|
||||
}
|
||||
|
||||
@@ -185,7 +185,7 @@ resource "aws_dynamodb_table" "tasker_task_extra_table" {
|
||||
|
||||
global_secondary_index {
|
||||
name = "GSI-task-id"
|
||||
hash_key = "type"
|
||||
hash_key = "category"
|
||||
range_key = "taskId"
|
||||
projection_type = "ALL"
|
||||
}
|
||||
|
||||
24
tasker-server/terraform/layer.tf
Normal file
24
tasker-server/terraform/layer.tf
Normal file
@@ -0,0 +1,24 @@
|
||||
resource "aws_s3_bucket" "tasker_lambda_layer" {
|
||||
bucket = "tasker-lambda-layer"
|
||||
}
|
||||
|
||||
resource "aws_s3_object" "tasker_lambda_layer_zip" {
|
||||
bucket = aws_s3_bucket.tasker_lambda_layer.id
|
||||
key = "layers/tasker-layer.zip"
|
||||
source = "../layers/tasker-layer.zip"
|
||||
}
|
||||
|
||||
resource "aws_lambda_layer_version" "tasker_layer" {
|
||||
layer_name = "tasker-layer"
|
||||
s3_bucket = aws_s3_object.tasker_lambda_layer_zip.bucket
|
||||
s3_key = aws_s3_object.tasker_lambda_layer_zip.key
|
||||
compatible_runtimes = ["nodejs20.x"]
|
||||
|
||||
description = "Tasker Lambda Layer with shared dependencies"
|
||||
}
|
||||
|
||||
resource "aws_ssm_parameter" "tasker_layer_arn" {
|
||||
name = "/tasker/layers/tasker-layer-arn"
|
||||
type = "String"
|
||||
value = aws_lambda_layer_version.tasker_layer.arn
|
||||
}
|
||||
Reference in New Issue
Block a user