Comments (3)
Seems like the error is Contact name. Could you please post the content of the index.ts?
from serverless-rest-api.
Following is the content of index.ts :
import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
import * as firebaseHelper from 'firebase-functions-helper/dist';
import * as express from 'express';
import * as bodyParser from "body-parser";
admin.initializeApp(functions.config().firebase);
const db = admin.firestore();
const app = express();
const main = express();
main.use(bodyParser.json());
main.use(bodyParser.urlencoded({ extended: false }));
main.use('/api/v1', app);
const contactsCollection = 'contacts';
export const webApi = functions.https.onRequest(main);
interface Contact {
firstName: String
lastName: String
email: String
}
// Add new contact
app.post('/contacts', async (req, res) => {
try {
const contact: Contact = {
firstName: req.body['firstName'],
lastName: req.body['lastName'],
email: req.body['email']
}
const newDoc = await firebaseHelper.firestore
.createNewDocument(db, contactsCollection, contact);
res.status(201).send(`Created a new contact: ${newDoc.id}`);
} catch (error) {
res.status(400).send(`Contact should only contains firstName, lastName and email!!!`)
}
})
// Update new contact
app.patch('/contacts/:contactId', async (req, res) => {
const updatedDoc = await firebaseHelper.firestore
.updateDocument(db, contactsCollection, req.params.contactId, req.body);
res.status(204).send(`Update a new contact: ${updatedDoc}`);
})
// View a contact
app.get('/contacts/:contactId', (req, res) => {
firebaseHelper.firestore
.getDocument(db, contactsCollection, req.params.contactId)
.then(doc => res.status(200).send(doc))
.catch(error => res.status(400).send(`Cannot get contact: ${error}`));
})
// View all contacts
app.get('/contacts', (req, res) => {
firebaseHelper.firestore
.backup(db, contactsCollection)
.then(data => res.status(200).send(data))
.catch(error => res.status(400).send(`Cannot get contacts: ${error}`));
})
// Delete a contact
app.delete('/contacts/:contactId', async (req, res) => {
const deletedContact = await firebaseHelper.firestore
.deleteDocument(db, contactsCollection, req.params.contactId);
res.status(204).send(`Contact is deleted: ${deletedContact}`);
})
export { app };
from serverless-rest-api.
I'm not sure what happened yet. You can remove
interface Contact {
firstName: String
lastName: String
email: String
}
And delete the others that relevant to Contact.
from serverless-rest-api.
Related Issues (7)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from serverless-rest-api.