moleculer-db-s3db-adapter
Version:
Moleculer DB Adapter for S3db.js
67 lines (49 loc) • 1.9 kB
Markdown
# moleculer-db-s3db-adapter
[](http://unlicense.org/) [](https://www.npmjs.com/package/moleculer-db-s3db-adapter) [](https://codeclimate.com/github/forattini-dev/moleculer-db-s3db-adapter/maintainability) [](https://coveralls.io/github/forattini-dev/moleculer-db-s3db-adapter?branch=main)
[`s3db.js`](https://github.com/forattini-dev/s3db.js) adapter for Moleculer DB service.
## Install
```bash
$ npm install moleculer-db moleculer-db-s3db-adapter --save
# or
$ yarn add moleculer-db moleculer-db-s3db-adapter
```
## Usage
```javascript
const { ServiceBroker } = require("moleculer");
const DbService = require("moleculer-db");
const S3dbAdapter = require("moleculer-db-s3db-adapter");
const broker = new ServiceBroker();
// Create a Mongoose service for `post` entities
broker.createService({
name: "posts",
mixins: [DbService],
settings: {
idField: "id",
},
adapter: new S3dbAdapter({
uri: `s3://${AWS_ACCESS_KEY_ID}:${AWS_SECRET_ACCESS_KEY}@${AWS_S3_BUCKET}/databases/moleculer`,
}),
resource: {
name: "posts",
schema: {
title: "string",
content: "string",
votes: "number",
token: "secret",
},
},
});
broker
.start()
// Create a new post
.then(() =>
broker.call("posts.create", {
title: "My first post",
content: "Lorem ipsum...",
votes: 0,
})
)
// Get all posts
.then(() => broker.call("posts.find").then(console.log));
```
More initial parameters at [`s3db.js`](https://github.com/forattini-dev/s3db.js).