-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
110 lines (95 loc) · 3.97 KB
/
app.js
File metadata and controls
110 lines (95 loc) · 3.97 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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');
const mongoose = require('mongoose');
const axios = require('axios');
const app = express();
app.use(cors());
app.use(bodyParser.json());
const PORT = 5000;
app.listen(PORT, function () {
console.log("Server is Running on PORT: " + PORT);
});
mongoose.connect('mongodb+srv://stl:stl@cluster0-p8kcd.mongodb.net/stl?authSource=admin&replicaSet=Cluster0-shard-0&readPreference=primary&appname=MongoDB%20Compass%20Community&ssl=true', {
useNewUrlParser: true,
useUnifiedTopology: true
});
mongoose.set('useFindAndModify', false);
const PetImportSchema = require('./models/pet.model');
const OwnerImportSchema = require('./models/owner.model');
const connection = mongoose.connection;
connection.once('open', function () {
console.log("MongoDB Database connection established Successfully.");
start_import();
});
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0';
const csvFilePath = './registeredpets.csv';
const csv = require('csvtojson');
async function start_import() {
const microchipList = await csv().fromFile(csvFilePath);
for (let index = 0; index < microchipList.length; index++) {
const microchip = microchipList[index].Microchip.split('#')[1];
try {
const data = await axios.get(
'https://api.savethislife.com/a/find-microchip?microchip=' + microchip,
{
headers: {
"X-Client-Secret": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9",
}
});
} catch (err) {
if (err.response) {
const petData = {
microchip: err.response.data.pet.microchip,
petName: err.response.data.pet.name,
petSpecies: err.response.data.pet.species,
petBreed: err.response.data.pet.breed,
petColor: err.response.data.pet.color,
petGender: err.response.data.pet.gender.toLowerCase(),
petBirth: err.response.data.registrationDate,
specialNeeds: '',
vetInfo: '',
dateRV: '',
implantedCompany: err.response.data.pet.implantCompany,
email: err.response.data.owner.email,
membership: err.response.data.registrationType,
};
const ownerData = {
email: err.response.data.owner.email,
ownerName: err.response.data.owner.name,
ownerPhone1: err.response.data.owner.phone1,
ownerAddress1: err.response.data.owner.address,
ownerAddress2: '',
ownerCity: err.response.data.owner.city,
ownerState: err.response.data.owner.state,
ownerZip: err.response.data.owner.zipcode,
ownerCountry: err.response.data.owner.country,
ownerPhone2: '',
ownerPhone3: '',
ownerPhone4: '',
ownerPhone5: '',
ownerPhone6: '',
ownerPhone7: '',
ownerSecContact: '',
ownerNote: '',
}
const petImport = new PetImportSchema(petData);
const ownerImport = new OwnerImportSchema(ownerData);
petImport.save()
.then(pet => {
console.log(pet.microchip + " saved");
})
.catch(err => {
console.log(err);
});
ownerImport.save()
.then(owner => {
console.log(owner.email + " saved");
})
.catch(err => {
console.log(err);
});
}
}
}
}