🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@brianmmdev/faunaservice

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@brianmmdev/faunaservice

A simple wrapper around CRUD operations for FaunaDB

Source
npmnpm
Version
1.0.1
Version published
Weekly downloads
7
-36.36%
Maintainers
1
Weekly downloads
 
Created
Source

FaunaService

FaunaService is a small wrapper around basic CRUD operations for FaunaDB. It makes performing these simple operations extremely easy and intuitive.

Note: This library is provided with absolutely no guarantees from myself or any contributors.

How to Use

Creating the Service Instance

The service is exported as a class, so you'll need to create an instance to use it. Pass in your Fauna secret for your database.

// Import the library
const FaunaService = require('@brianmmdev/faunaservice')

// New up an instance, passing in your Fauna secret
const _faunaService = new FaunaService('MY_FAUNA_SECRET')

Adding a Record

let myData = {
  firstName: 'Brian',
  lastName: 'Morrison'
}

let createdRecord = await _faunaService.createRecord('COLLECTION_NAME', myData);

// Returns:
// {
//   id: '123123123123', // This is the ref id
//   firstName: 'Brian',
//   lastName: 'Morrison'
// }

Update a Record

Updating a record will only update the specific values passed in.

let recordId = '123123123123'
let myUpdates = {
  firstName: 'Luca'
}

let updatedRecord = await _faunaService.updateRecord('COLLECTION_NAME', recordId, myUpdates)

// Returns:
// {
//   id: '123123123123',
//   firstName: 'Luca',
//   lastName: 'Morrison'
// }

Get a Single Record

Fetching a record requires an index to be created with one field to query on. The result will be a flattened version of the record (meaning the Ref ID will be returned as id in the data)

let queriedValue = 'someValue'

let record = await _faunaService.getRecordByIndex('INDEX_NAME', queriedValue)

// Returns:
// {
//   id: '123123123123',
//   firstName: 'Luca',
//   lastName: 'Morrison'
// }

Fetch Records From an Index

Fetching multiple records requires an index with no queryable fields to be defined. The result will be an array of flattened records, same as above.

let records = await _faunaService.fetchRecordsInIndex('INDEX_NAME')

// Returns:
// [{
//   id: '123123123123',
//   firstName: 'Luca',
//   lastName: 'Morrison'
// }]

Delete a Record

Deleting a record will not return any values.

let recordId = '123123123123'
await _faunaService.deleteRecord('COLLECTION_NAME', recordId)

Contributing

To contribute, follow standard GitHub contribution guidelines:

  • Fork the repo
  • Make changes
  • Create a pull request.
  • ???
  • Profit! (Not really...)

Support

If you have questions, the best way to contact me is through my Discord, fullstack.chat

FAQs

Package last updated on 03 Dec 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts