This package has been deprecated

Author message:

no longer maintained

@cenchat/cloud-firestore-model

0.0.3 • Public • Published

Cloud Firestore Model

Library for managing your Cloud Firestore Models in Node.js

Installation

npm install --save @cenchat/cloud-firestore-model`

Usage

Defining Models

Let's assume that we place this code under src/models/user.js

const { Attribute, Model } = require('@cenchat/cloud-firestore-model');

class User extends Model {
  get validation() {
    return {
      age: new Attribute('number'),
      createdOn: new Attribute('timestamp', { isEditable: false }),
      name: new Attribute('string', { maxLength: 50 }),
    }
  }
}

module.exports = User;

Creating a Record

const admin = require('firebase-admin');

const User = require('src/models/user');

const newUser = new User(admin.firestore(), 'users');

newUser.attribute = { age: 20, createdOn: new Date(), name: 'Foo Bar' };

newUser.validate().then(() => {
  newUser.ref.set(newUser.attribute);
}).catch((error) => {
  console.log(`Invalid: ${error}`);
});

Updating a Record

const admin = require('firebase-admin');

const User = require('src/models/user');

const existingUser = new User(admin.firestore(), 'users/user_a');

existingUser.load().then(() => {
  existingUser.attribute = { age: 20 };

  existingUser.validate().then(() => {
    existingUser.ref.update(existingUser.attribute);
  }).catch((error) => {
    console.log(`Invalid: ${error}`);
  });
});

Developing

Installation

  • git clone <repository-url> this repository
  • cd cloud-firestore-model
  • npm install

Running Tests

  • npm test

Further Reading / Useful Links

Readme

Keywords

none

Package Sidebar

Install

npm i @cenchat/cloud-firestore-model

Weekly Downloads

5

Version

0.0.3

License

MIT

Last publish

Collaborators

  • mikkopaderes
  • rmmmp