adonis-4-geofire
v0.0.1
Published
Geofire Service Provider for Adonis 4.0
Downloads
2
Maintainers
Readme
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