This repository was archived by the owner on May 7, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path0atividade.js
More file actions
62 lines (44 loc) · 1.67 KB
/
0atividade.js
File metadata and controls
62 lines (44 loc) · 1.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
const { request, response } = require('express');
const express = require('express')
const app = express()
app.use(express.json());
app.use(express.urlencoded({extended: true}));
// configuração firestone
var admin =require("firebase-admin");
var serviceAccount = require("./keys.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount)
});
const bancod = admin.firestore();
//criar postagem e enviar para o banco de dados
app.post('/Posts', async (request, response) =>{
const {text, likes, data, comentarios} = request.body
const post = {text, likes, data, comentarios}
//retorna o item inserido
const result = await bancod.collection('posts').add(post);
response.status(201).json({id: result.id,...post});
})
//buscar uma postagem
app.get('/posts',async (request, response) => {
const postsRef = bancod.collection('posts')
const postsDoc = await postsRef.get()
const posts = []
postsDoc.docs.forEach(doc => posts.push({id: doc.id, ...doc.data()}))
response.status(200).json(posts);
})
//busca por id
app.get('/posts/:id', async (request, response) =>{
const id = request.params.id
const post = await bancod.collection('posts').doc(id).get()
return response.json({id: post.id, ...post.data()})
})
app.put('/Posts/:id', (request, response) =>{
// pegar o objeto pelo id e a atualizar seus valores
//retornar o objeto com os novos valores
const { id } = request.params
//const post = {id, nome}
return response.json(post)
})
app.listen(3000, ()=>{
console.log("Servidor está rodando!!! no http://localhost:3000");
})