0.5.3 • Published 11 months ago

@cubos/sms v0.5.3

Weekly downloads
-
License
-
Repository
-
Last release
11 months ago

@cubos/sms

Envio de SMS:

 // importe o Provider de sua escolha
  import { SNS } from "@cubos/sms"

  const sns = new SNS({ accessKeyID: "accessKeyID", region: "region", secretAccessKey: "secretAccessKey" });
  
  await sns.send({ phoneNumber: "999999999", message: "Hello World!"  });

Phone Validation:

import { SNS, MongoDBRepository, PhoneValidation } from "@cubos/sms"
import { MongoClient } from "mongodb";

const sms = new PhoneValidation({
  sms: new SNS({ accessKeyID: "accessKeyID", region: "region", secretAccessKey: "secretAccessKey" }),
  repository: new MongoDBRepository(new MongoClient(env.MONGO_URL)),
  maxAttempts: 3,
});

// Envia um código temporário para o número informado.
await sms.requestValidation({
  phone: "+55 99 999999999",
  expiresAt: new Date(),
  message: code => {
    return `Code: ${code}`;
  },
});

// Para verificar o código
const result = await sms.verify("+55 99 999999999", "BDCCAF");

if (result.isOk) {
  // Código Válido!
} else {
  // Código Inválido
  throw result.error; // -> PhoneValidationError
}

// Caso seja necessário o reenvio do último código enviado, basta informar o mesmo telefone
const resendResult = await sms.resend("+55 99 999999999");

if (resendResult.isOk) {
  // Sucesso
} else {
  // Falha
  throw resendResult.error; // -> PhoneValidationError
}

DI

import { create, inject } from "@cubos/utils";
import { MongoClient } from "mongodb";
import { container } from "tsyringe";
import { SNS, MongoDBRepository, PhoneValidation } from "@cubos/sms"


inject(
  create(PhoneValidation)
    .using(PhoneValidation)
    .getDependency({
      sms: new SNS({ accessKeyID: "accessKeyID", secretAccessKey: "secretAccessKey", region: "region" }),
      repository: new MongoDBRepository(new MongoClient(env.MONGO_URL)),
      maxAttempts: 3,
    }),
);

const sms = container.resolve(PhoneValidation);
0.5.3

11 months ago

0.5.2

11 months ago

0.5.1

1 year ago

0.5.0

1 year ago

0.4.0

1 year ago

0.3.0

1 year ago

0.2.0

1 year ago

0.1.0

1 year ago