0.0.1 • Published 6 years ago

adonis-4-geofire v0.0.1

Weekly downloads
4
License
ISC
Repository
github
Last release
6 years ago

adonis-4-geofire

Basic Geofire Service Provider for Adonis 4.0

Installation

$ npm install adonis-4-geofire --save

Configuration

Update your .env file with your Firebase Credentials

FIREBASE_API_KEY=<your firebase api key>
FIREBASE_AUTH_DOMAIN=<your firebase auth domain>
FIREBASE_DATABASE_URL=<your firebase database url>
FIREBASE_PROJECT_ID=<your firebase project id>
FIREBASE_STORAGE_BUCKET=<your firebase storage bucket>
FIREBASE_MESSAGING_SENDER_ID=<your firebase messaging sender id>

Create config/firebase.js file in your project

const Env = use('Env')

module.exports = {
  apiKey: Env.get('FIREBASE_API_KEY', ''),
  authDomain: Env.get('FIREBASE_AUTH_DOMAIN', ''),
  databaseURL: Env.get('FIREBASE_DATABASE_URL', ''),
  projectId: Env.get('FIREBASE_PROJECT_ID', ''),
  storageBucket: Env.get('FIREBASE_STORAGE_BUCKET', ''),
  messagingSenderId: Env.get('FIREBASE_MESSAGING_SENDER_ID', ''),
}

Register the adonis-4-geofire in the service providers in start/app.js

const providers = [
  ...
  'adonis-4-geofire/provider/GeoFire'
]

const aliases = {
  ...
  GeoFire: '@adonis/addons/adonis-geofire'
}

Basic Usage

In app/Controllers/Http/UserController.js

'use strict'

const GeoFire = use('GeoFire')

class UserController {


  async setLocation ({ request, response }) {
    let update = await GeoFire.set(request.user._id, [request.input('latitude', 0), request.input('longitude', 0)])
    return response.json({ update })
  }

  async setManyLocation ({ request, response }) {
    let users = {
      '<user_1_id>': ['<user_1_latitude>', '<user_1_longitude>'],
      '<user_2_id>': ['<user_2_latitude>', '<user_2_longitude>']
    }
    let update = await GeoFire.set(users)
    return response.json({ update })

  }

  async getLocation ({ request, response }) {
    let location = await GeoFire.get(request.user._id)
    return response.json({ location })

  }

}

module.exports = UserController