-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathpersistence_api_gcp.js
61 lines (55 loc) · 1.86 KB
/
persistence_api_gcp.js
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
const { Storage } = require('@google-cloud/storage');
const storage = new Storage();
var fs = require('fs');
module.exports.gcp = (request, response) => {
console.log('I am a log entry!');
response.status(200).send('Hello World!');
};
module.exports.FetchUser = (request, response) => {
const bucketName = 'devup-serverless-demo';
const fileName = request.body.name + ".json";
const options = {
destination: "/tmp/" + fileName
};
response.setHeader('Content-Type', 'application/json');
console.log(request.body);
storage
.bucket(bucketName)
.file(fileName)
.download(options)
.then(() => {
fs.readFile("/tmp/" + fileName, (error, data) => {
if (error) {
console.error('ERROR:', error);
response.status(500).send(error);
} else {
response.status(200).send(data.toString());
}
});
})
.catch(error => {
console.error('ERROR:', error);
response.status(500).send(error);
});
};
module.exports.SaveUser = (request, response) => {
const bucketName = 'devup-serverless-demo';
var name = request.body.name;
const fileName = "/tmp/" + name + ".json";
console.log(request);
fs.writeFile(fileName, JSON.stringify(request.body), (error, data) => {
if (error) {
response.status(500).send(error);
}
else {
storage
.bucket(bucketName)
.upload(fileName, { gzip: false, cacheControl: 'no-cache' })
.then(() => { response.status(200).send(JSON.stringify(request.body)); })
.catch(err => {
console.error('ERROR:', err);
response.status(500).send(err);
});
}
});
};