# saas-rs-sdk
[](LICENSE)
[]()
The [SaaS RS](https://saas-rs.com) SDK provides support libraries for gRPC back-ends managed by the [SaaS RS CLI](https://crates.io/crates/saas-rs-cli) code generator. This includes:
* [Authentication Adapters](src/authentication/) with support for a dozen identity providers
* [Storage Adapters](src/storage/) for Document, Relational, and Key Value storage systems based on BSON storage models that map to gRPC Protobuf view models
* [Payment Providers](src/payments/) for Service Broker synchronization of Services, Plans, and Service Instances with a payment provider
See the [docs.saas-rs.com](https://docs.saas-rs.com) website for a full introduction.
## Installing
```shell
$ cargo add saas-rs-sdk
```
## Unit Testing
```shell
$ make check
```
## Integration Testing
### With MongoDB + Redis
```shell
$ export TEST_CONFIG_STORE_URL=mongodb://localhost:27017/saas-rs-sdk
$ export TEST_OBJECT_STORE_URL=mongodb://localhost:27017/saas-rs-sdk-objects
$ export TEST_SESSION_STORE_URL=redis://localhost:6379/15
$ make check
```
### With Postgres + Redis
Run the [schema generation script](tests/postgres.sql), then:
```shell
$ export TEST_CONFIG_STORE_URL=postgres://localhost:5432/saas_rs_sdk
$ export TEST_OBJECT_STORE_URL=file:///tmp/saas-rs-sdk-objects
$ export TEST_SESSION_STORE_URL=redis://localhost:6379/15
$ make check
```