https://github.com/foxriver76/node-bring-api
Node module to mange Bring! shopping lists
https://github.com/foxriver76/node-bring-api
bring node shopping-list typescript zero-dependency
Last synced: 10 months ago
JSON representation
Node module to mange Bring! shopping lists
- Host: GitHub
- URL: https://github.com/foxriver76/node-bring-api
- Owner: foxriver76
- License: mit
- Created: 2019-03-11T16:02:06.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2025-01-21T17:01:14.000Z (about 1 year ago)
- Last Synced: 2025-03-29T14:11:22.397Z (11 months ago)
- Topics: bring, node, shopping-list, typescript, zero-dependency
- Language: TypeScript
- Homepage:
- Size: 251 KB
- Stars: 64
- Watchers: 2
- Forks: 10
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Node-Bring-Shopping
[](https://www.npmjs.com/package/bring-shopping)
[](https://www.npmjs.com/package/bring-shopping)

A __zero dependency__ node module for Bring! shopping lists __entirely written in TypeScript__.
## Disclaimer
The developers of this module are in no way endorsed by or affiliated with
Bring! Labs AG, or any associated subsidiaries, logos or trademarks.
## Installation
```npm install bring-shopping --production```
## Usage Example
```javascript
const bringApi = require(`bring-shopping`);
main();
async function main () {
// provide user and email to login
const bring = new bringApi({mail: `example@example.com`, password: `secret`});
// login to get your uuid and Bearer token
try {
await bring.login();
console.log(`Successfully logged in as ${bring.name}`);
} catch (e) {
console.error(`Error on Login: ${e.message}`);
}
// get all lists and their listUuid
const lists = await bring.loadLists();
// get items of a list by its list uuid
const items = await bring.getItems('9b3ba561-02ad-4744-a737-c43k7e5b93ec');
// get translations
const translations = await bring.loadTranslations('de-DE');
}
```
More important methods are `getItems(listUUID)`, `getItemsDetails(listUUID)`, `saveItem(listUuid, itemName, specificaiton)`,
`moveToRecentList(listUuid, itemName)` and `getAllUsersFromList(listUuid)`.
## Changelog
### 2.0.1 (2025-01-21)
* (@foxriver76) also throw on http errors
### 2.0.0 (2024-11-27)
* (@foxriver76) ported to native `fetch` module (BREAKING: Requires Node.js 18 or above)
### 1.5.1 (2022-10-31)
* (foxriver76) updated types
* (foxriver76) fixed `removeItemImage` as headers were missing
### 1.5.0 (2022-10-31)
* (Aliyss) added methods to link an image to an item (PR #221)
### 1.4.3 (2022-05-01)
* (foxriver76) fixed typos in types (thanks to @Squawnchy)
### 1.4.2 (2021-08-12)
* (foxriver76) restructure to typescript
### 1.3.1 (2021-04-29)
* (foxriver76) fixed issue where error was used instead of the mssage on `getPendingInvitations`
### 1.3.0 (2020-10-05)
* (mdhom) added `getItemsDetails` method
* (foxriver76) now reject with real errors instead of strings
### 1.2.3 (2019-09-22)
* (foxriver76) on new call of login overwrite bearer header to allow reauth
### 1.2.2
* (foxriver76) More information on rejection of getItems
### 1.2.1
* (foxriver76) minor fix
### 1.2.0
* (foxriver76) new functionalities -> getTranslations, getCatalog and getPendingInvitations
### 1.1.0
* (foxriver76) use API version v2
### 1.0.2
* (foxriver76) minor code optimization, nothing functional
### 1.0.1
* (foxriver76) fix links in package
### 1.0.0
* (foxriver76) offical release