Skip to content

Instantly share code, notes, and snippets.

@Charpell
Created May 16, 2018 09:56
Show Gist options
  • Save Charpell/d6dea707326aee49f3f4d7ea34d15ee7 to your computer and use it in GitHub Desktop.
Save Charpell/d6dea707326aee49f3f4d7ea34d15ee7 to your computer and use it in GitHub Desktop.
Index.js
const functions = require("firebase-functions");
const cors = require('cors')({ origin: true });
const admin = require('firebase-admin');
admin.initializeApp();
const database = admin.database().ref('/items');
exports.helloWorld = functions.https.onRequest((request, response) => {
response.send("Hello from a Severless Database!");
});
exports.addItem = functions.https.onRequest((req, res) => {
return cors(req, res, () => {
if(req.method !== 'POST') {
return res.status(500).json({
message: 'Not allowed'
})
}
console.log(req.query)
const item = req.query.item
database.push({ item });
let items = [];
return database.on('value', (snapshot) => {
snapshot.forEach((item) => {
items.push({
id: item.key,
items: item.val().item
});
});
res.status(200).json(items)
}, (error) => {
res.status(500).json({
message: `Something went wrong. ${error}`
})
})
})
})
exports.getItems = functions.https.onRequest((req, res) => {
return cors(req, res, () => {
if(req.method !== 'GET') {
return res.status(500).json({
message: 'Not allowed'
})
}
let items = [];
return database.on('value', (snapshot) => {
snapshot.forEach((item) => {
items.push({
id: item.key,
items: item.val().item
});
});
res.status(200).json(items)
}, (error) => {
res.status(500).json({
message: `Something went wrong. ${error}`
})
})
})
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment