1.2.0 • Published 3 months ago

@stone-ton/aws-wrappers v1.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

@stone-ton/aws-wrappers

Lib para fazer wrapper de serviços da AWS

Lambda Invoke

const { lambdaInvoke } = require('@stone-ton/aws-wrappers');

const user = await lambdaInvoke<User>({
  FunctionName: 'lambda-test',
  InvocationType: 'RequestResponse',
  Payload: JSON.stringify({
    foo: 'bar',
  }),
})

SQS Send Message

const { sqsSendMessage } = require('@stone-ton/aws-wrappers');

await sqsSendMessage({
  QueueUrl: process.env.SQS_PAYMENT_PROVIDER_POSTBACK as string,
  MessageGroupId: transaction_id,
  MessageBody: JSON.stringify(messageBody),
})

SQS Send Message Batch

const { sqsSendMessageBatch } = require('@stone-ton/aws-wrappers');

await sqsSendMessageBatch({
  QueueUrl: process.env.SQS_PAYMENT_PROVIDER_POSTBACK as string,
  Entries: [
    {
      Id: transaction_id,
      MessageGroupId: group_id,
      MessageBody: JSON.stringify(messageBody),
    }
  ]
})

Dynamo Get

const { dynamoGet } = require('@stone-ton/aws-wrappers');

await dynamoGet({
  TableName: process.env.DYNAMO_TABLE_SMUSER_COMPANIES as string,
  Key: {
    id: companyId,
  },
})

Dynamo Query

const { dynamoQuery } = require('@stone-ton/aws-wrappers');

await dynamoQuery({
  TableName: process.env.DYNAMO_TABLE_TONZILLA_USER_ACCOUNT as string,
  IndexName: 'user-id-index',
  KeyConditionExpression: 'user_id = :user_id',
  ExpressionAttributeValues: {
    ':user_id': user_id,
  },
})

Dynamo Put

const { dynamoPut, removeEmpty } = require('@stone-ton/aws-wrappers');

await dynamoPut({
  TableName: process.env.DYNAMO_TABLE_EXTRATON_SALES as string,
  Item: removeEmpty(data),
})

Dynamo Update

const {
  dynamoUpdate,
  removeEmpty,
  createUpdateExpression,
  createExpressionAttributeNames,
  createExpressionAttributeValues,
} = require('@stone-ton/aws-wrappers');

const { id, ...newUserData } = {
  ...removeEmpty(newUser),
  updated_at: new Date().toISOString(),
}

await dynamoUpdate({
  TableName: 'table-name',
  Key: {
    id,
  },
  UpdateExpression: createUpdateExpression(newUserData),
  ExpressionAttributeNames: createExpressionAttributeNames(newUserData),
  ExpressionAttributeValues: createExpressionAttributeValues(newUserData),
})

Dynamo Delete

const { dynamoDelete } = require('@stone-ton/aws-wrappers');

await dynamoDelete({
  TableName: 'table-name',
  Key: {
    foo: 'bar',
  },
})

Dynamo Transact Write

const { dynamoTransactWrite, removeEmpty } = require('@stone-ton/aws-wrappers');

await dynamoTransactWrite({
  TransactItems: [
    {
      Put: {
        TableName: process.env.DYNAMO_TABLE_EXTRATON_REPORTS as string,
        Item: removeEmpty(data.data_event)
      },
    },
    {
      Put: {
        TableName: process.env.DYNAMO_TABLE_EXTRATON_EVENTS as string,
        Item: removeEmpty(data),
      },
    },
  ],
})

Redis Get

const { default: RedisProvider } = require('@stone-ton/aws-wrappers/lib/redis')

const redis = new RedisProvider({
  host: 'resis-host-test',
  port: 6379,
  password: 'resis-password-test',
  cluster: true,
  tls: true,
  abortOnError: false,
})

await redis.get('item-key')

Redis Set

const { default: RedisProvider } = require('@stone-ton/aws-wrappers/lib/redis')

const redis = new RedisProvider({
  host: 'resis-host-test',
  port: 6379,
  password: 'resis-password-test',
  cluster: true,
  tls: true,
  abortOnError: false,
})

await redis.set({
  key: 'item-key',
  value: 'item-value',
  expirationInSeconds: 'item-ttl',
})
1.2.0

3 months ago

1.1.4

3 months ago

1.1.3

3 months ago

1.1.2

3 months ago

1.1.1

4 months ago

1.1.0

4 months ago

1.0.2

9 months ago

1.0.1

9 months ago

1.0.0

9 months ago

1.0.9

6 months ago

1.0.8

6 months ago

1.0.7

7 months ago

1.0.6

8 months ago

1.0.5

8 months ago

1.0.4

8 months ago

1.0.3

9 months ago

1.0.11

6 months ago

1.0.10

6 months ago

1.0.12

6 months ago

0.2.1

1 year ago

0.2.0

1 year ago

0.2.3

1 year ago

0.2.2

1 year ago

0.1.3

1 year ago

0.1.0

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago