# loopback-connector-minio

> The unofficial Minio connector for the LoopBack framework.

Latest version **0.0.2-alpha** (published 2023-07-10) · MIT license · 0 weekly downloads

## Install

```sh
npm install loopback-connector-minio
pnpm add loopback-connector-minio
yarn add loopback-connector-minio
bun add loopback-connector-minio
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.2-alpha |
| Published | 2023-07-10 |
| First published | 2023-07-09 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | 14 \|\| 16 \|\| 18 |
| Dependencies | 4 |
| Unpacked size | 99.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | valdepeace@gmail.com |
| Maintainers | negrero |
| Keywords | connector, datasource, loopback, minio |

## Links

- npm: https://www.npmjs.com/package/loopback-connector-minio
- Repository: https://github.com/valdepeace/loopback-connector-minio
- Homepage: https://github.com/valdepeace/loopback-connector-minio#readme
- Issues: https://github.com/valdepeace/loopback-connector-minio/issues
- npm.io page: https://npm.io/package/loopback-connector-minio

## Dependencies (4)

- [debug](https://npm.io/package/debug.md) ^4.3.4
- [minio](https://npm.io/package/minio.md) ^7.1.1
- [strong-globalize](https://npm.io/package/strong-globalize.md) ^6.0.5
- [loopback-connector](https://npm.io/package/loopback-connector.md) ^5.0.1

## Alternatives

- [jsforce](https://npm.io/package/jsforce.md) — 851.2K weekly downloads
- [react-native-qrcode-svg](https://npm.io/package/react-native-qrcode-svg.md) — 693.5K weekly downloads
- [@salesforce/plugin-data](https://npm.io/package/@salesforce/plugin-data.md) — 394.9K weekly downloads
- [@backstage/plugin-search-common](https://npm.io/package/@backstage/plugin-search-common.md) — 308.5K weekly downloads
- [@chain-registry/types](https://npm.io/package/@chain-registry/types.md) — 38.4K weekly downloads

## Recent versions

- 0.0.2-alpha (latest) — 2023-07-10
- 0.0.1-alpha — 2023-07-09

## README

# loopback-connector-minio

## Installation

In your application root directory, enter this command to install the connector:

```sh
npm install loopback-connector-minio --save
```

This installs the module from npm and adds it as a dependency to the application's `package.json` file.

If you create a MongoDB data source using the data source generator as described below, you don't have to do this, since the generator will run `npm install` for you.

## Creating a Minio data source

For LoopBack 4 users, use the LB4 [Command-line interface](https://loopback.io/doc/en/lb4/Command-line-interface.html) to generate a DataSource with MongoDB connector to your LB4 application. Run [`lb4 datasource`](https://loopback.io/doc/en/lb4/DataSource-generator.html), it will prompt for configurations such as host, post, etc. that are required to connect to a other database.

After setting it up, the configuration can be found under `src/datasources/<DataSourceName>.datasource.ts`, which would look like this:

```ts
const config = {
  endPoint: "play.min.io",
  port: 9000,
  useSSL: true,
  accessKey: "Q3AM3UQ867SPQQA43P2F",
  secretKey: "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG",
};
```

### Connection properties

| Property       | Type&nbsp;&nbsp; | Description                                                                                                                        |
| -------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| connector      | string           | Connector name, either `"loopback-connector-minio"` or `"mongodb"`.                                                                |
| endPoint       | string           | URL to object storage service.                                                                                                     |
| port           | Number           | TCP/IP port number. This input is optional. Default value set to 80 for HTTP and 443 for HTTPs.                                    |
| accessKey      | String           | Access key is like user ID that uniquely identifies your account                                                                   |
| secretKey      | String           | Secret key is the password to your account                                                                                         |
| useSSL         | boolean          | Set this value to ‘true’ to enable secure (HTTPS) access                                                                           |
| sessionToken   | string           | Set this value to provide x-amz-security-token (AWS S3 specific). (Optional)                                                       |
| region         | string           | Set this value to override region cache. (Optional)                                                                                |
| transport      | string           | Set this value to pass in a custom transport. (Optional)                                                                           |
| partSize       | number           | Set this value to override default part size of 64MB for multipart uploads. (Optional)                                             |
| pathStyle      | boolean          | Set this value to override default access behavior (path) for non AWS endpoints. Default is true. (Optional)                       |
| transportAgent | string           | Set this value to provide a custom HTTP(s) agent to handle timeouts, TLS handling, and low-level socket configurations. (Optional) |

## Operations

| Bucket                 | Object                  | Presigned           | Bucket policy   | Notification                |
| ---------------------- | ----------------------- | ------------------- | --------------- | --------------------------- |
| makeBucket             | getObject               | presignedUrl        |                 | getBucketNotification       |
| listBuckets            | getPartialObject        | presignedGetObject  |                 | setBucketNotification       |
| bucketExists           | fGetObject              | presignedPutObject  |                 | removeAllBucketNotification |
| removeBucket           | putObject               | presignedPostPolicy | getBucketPolicy |                             |
| listObjects            | fPutObject              |                     | setBucketPolicy |                             |
| listObjectsV2          | copyObject              |                     |                 | listenBucketNotification    |
| listIncompleteUploads  | statObject              |                     |                 |
| getBucketVersioning    | removeObject            |
| setBucketVersioning    | removeObjects           |
| getBucketTagging       | removeIncompleteUpload  |
| setBucketTagging       | putObjectRetention      |
| removeBucketTagging    | getObjectRetention      |
| setBucketLifecycle     | setObjectTagging        |
| getBucketLifecycle     | removeObjectTagging     |
| removeBucketLifecycle  | getObjectTagging        |
| setObjectLockConfig    | getObjectLegalHold      |
| getObjectLockConfig    | setObjectLegalHold      |
| getBucketEncryption    | composeObject           |
| setBucketEncryption    | selectObjectContent     |
| removeBucketEncryption | 
| setBucketReplication    |
| getBucketReplication   | 
| removeBucketReplication |

# Refs

- https://min.io/docs/minio/linux/developers/javascript/minio-javascript.html?ref=docs-redirect
- https://min.io/docs/minio/linux/developers/javascript/API.html#

---
_Source: https://npm.io/package/loopback-connector-minio · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
