Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- export default client => {
- const create = user => {
- return new Promise((resolve, reject) => {
- client.put({
- TableName: 'users',
- Item: user
- }, (err, data) => {
- if (err) {
- return reject(err)
- }
- resolve()
- })
- })
- }
- const getById = userId => {
- return new Promise((resolve, reject) => {
- client.query({
- TableName: 'users',
- KeyConditionExpression: '#userId = :userId',
- ExpressionAttributeNames: {
- '#userId': 'userId'
- },
- ExpressionAttributeValues: {
- ':userId': userId
- }
- }, (err, data) => {
- if (err) {
- return reject(err)
- }
- if (!data.Items.length) {
- return reject(new UserNotFoundException())
- }
- resolve(data.Items[0])
- })
- })
- }
- const save = user => {
- return new Promise((resolve, reject) => {
- client.put({
- TableName: 'users',
- Item: user
- }, (err, data) => {
- if (err) {
- return reject(err)
- }
- resolve()
- })
- })
- }
- return {
- create,
- getById,
- save
- }
- }
Add Comment
Please, Sign In to add comment