
Security News
GitHub Actions Checkout Now Blocks Risky pull_request_target Checkouts
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.
@brianmmdev/faunaservice
Advanced tools
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.
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')
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'
// }
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'
// }
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'
// }
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'
// }]
Deleting a record will not return any values.
let recordId = '123123123123'
await _faunaService.deleteRecord('COLLECTION_NAME', recordId)
To contribute, follow standard GitHub contribution guidelines:
If you have questions, the best way to contact me is through my Discord, fullstack.chat
FAQs
A simple wrapper around CRUD operations for FaunaDB
The npm package @brianmmdev/faunaservice receives a total of 5 weekly downloads. As such, @brianmmdev/faunaservice popularity was classified as not popular.
We found that @brianmmdev/faunaservice demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

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.

Security News
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.

Product
Socket now supports Custom Roles and Repository Access Permissions so organizations can control who can access specific repositories and actions.

Product
Socket MCP now lets AI assistants review org alerts, investigate threats using the Socket threat feed, and inspect package files in addition to dependency scoring.