Sakar
06/20/2022, 4:24 PMconst api = new Api(stack, "api", {
customDomain: "<http://api.easy-cloud.in|api.easy-cloud.in>",
defaultFunctionProps: {
// Pass in the table name to our API
environment: {
tableName: table.dynamodbTable.tableName,
},
},
routes: {
"POST /addsubscriber": "functions/addSubscriber.handler",
},
});
How to do it in v1.x.x?Adrian Schweizer
06/20/2022, 4:38 PMconst api = new Api(stack, "api", {
defaults: {
authorizer: "iam",
function: {
environment: {
...tableNames,
},
},
},
Adrian Schweizer
06/20/2022, 4:38 PMAdrian Schweizer
06/20/2022, 4:39 PMAdrian Schweizer
06/20/2022, 4:40 PMSakar
06/21/2022, 6:55 AMdefaults: {
function: {
environment: {
tableNames: "ec.subscriptions",
},
},
},
Is this correct? But it still throws an error.Sakar
06/21/2022, 7:11 AMAdrian Schweizer
06/21/2022, 8:09 AMAdrian Schweizer
06/21/2022, 8:11 AMconst tables = {
organisations: new Table(stack, "Organisations", {
fields: {
organisationId: "string",
},
primaryIndex: { partitionKey: "organisationId" },
}),
map_user_organisation: new Table(stack, "Map_User_Organisation", {
fields: {
userId: "string",
organisationId: "string",
},
primaryIndex: { partitionKey: "userId", sortKey: "organisationId" },
globalIndexes: {
organisationIndex: { partitionKey: "organisationId", sortKey: "userId" },
},
}),
events: new Table(stack, "Events", {
fields: {
eventId: "string",
organisationId: "string",
},
primaryIndex: { partitionKey: "eventId" },
globalIndexes: {
organisationIndex: { partitionKey: "organisationId", sortKey: "eventId" },
},
}),
participations: new Table(stack, "Participations", {
fields: {
participationId: "string",
eventId: "string",
},
primaryIndex: { partitionKey: "participationId" },
globalIndexes: {
eventIndex: { partitionKey: "eventId", sortKey: "participationId" },
},
}),
};
// Add table names to process environment for lambda functions
const tableNames = Object.keys(tables).reduce((tableNames, key) => ({
...tableNames,
["TABLE_NAME_" + key.toUpperCase()]: tables[key].tableName,
}), {});