Required ENVS:
- TABLE
- REGION (default is us-east-1)
const { db } = require('rise-utils')
await db.create({
PK: 'gary@example.com',
SK: 'task_@id',
...data
})
await db.set({
PK: 'gary@example.com',
SK: 'task_@id',
...data
})
await db.remove({
PK: 'gary@example.com',
SK: 'task_24',
...data
})
await db.get({
PK: 'gary@example.com',
SK: 'task_24'
})
await db.list({
PK: 'gary@example.com',
SK: 'task_'
})
await db.list({
GSI1: 'team_1234',
SK: 'task_'
})
await db.list({
GSI2: 'org_1234',
SK: 'task_'
})
// Pagination: get first page
await db.list({
PK: 'gary@example.com',
SK: 'task_',
limit: 10
})
// Pagination: get second page
await db.list({
PK: 'gary@example.com',
SK: 'task_',
limit: 10,
startAt: {
PK: 'gary@example.com',
SK: 'task_11
}
})
Required ENV
- USERPOOL_ID
const { users } = require('rise-utils')
await users.create({
email: 'gary@example.com'
})
await users.remove({
email: 'gary@example.com'
})
await users.resetPassword({
email: 'gary@example.com'
})
Consider using https://mjml.io
for email html
const { email } = require('rise-utils')
await email.send({
body: '<p>hello</p>',
subject: 'Welcome',
to: 'john@example.com',
from: 'test@example.com'
})
Required ENV
- ACCOUNT_ID
const { emitter } = require('rise-utils')
await emitter.send({
event: 'user-created',
data: {
id: '1234',
name: 'John'
}
})
Required ENV
- APP_NAME
- EVENT_BUS (default is default)
const { events } = require('rise-utils')
await events.send({
event: 'user-created',
data: {
id: '1234',
name: 'John'
}
})