Jump to content

DATABASE ARE NOT RUNING


Recommended Posts

//=============================================================
'use strict';
 
require('dotenv').config();
 
const express = require('express');
 
const superagent = require('superagent');
 
const cors = require('cors');
 
const pg = require('pg');
 
const client = new pg.Client();
 
const PORT = process.env.PORT || 3000;
 
const server = express();
 
server.use(cors());
 
//=====================================================
 
//====================================================
server.listen(PORT,()=>{
  console.log(`Listening on PORT ${PORT}`)
})
server.get('/', (req,res)=>{
  res.status(200).send('it is working');
})
//====================================================
 
// creating the route
server.get('/location'locationHandler)
 
// creating the constructor
function Location (city,locationData){
  this.search_query = city;
  this.formatted_query = locationData[0].display_name;
  this.latitude = locationData[0].lat;
  this.longitude = locationData[0].lon;
}
 
// creating the handler function
function locationHandler(req,res){
let city = req.query['city'];
getLocation(city)
  .then(data =>{
    res.status(200).send(data)
  })
 
}
 
// creating the getLocation function
function getLocation(city) {
  let sql = `SELECT * FROM location WHERE formatted_query = $1`;
  let values = [city];
  return client.query(sqlvalues)
    .then(results => {
      if (results.rowCount) {
        return results.rows[0];
      } else {// in case we don't have the data locally , we get it from the API
        const url = `https://us1.locationiq.com/v1/search.php?key=${GEOCODE_API_KEY}&q=${city}&format=json&limit=1`;
        return superagent.get(url)
          .then(data => dataStoreLocation(citydata.body));
      }
    });
}
 
function dataStoreLocation(citydata) {
  const location = new Location(citydata[0]);
  let SQL = `INSERT INTO locations (formatted_query, latitude, longitude) 
VALUES ($1, $2, $3) 
RETURNING *
`;
let values = [citylocation.latitudelocation.longitude];
  return client.query(SQLvalues)
    .then(results => results.rows[0]);
}
 
===============================================
 
server.use('*',(req,res)=>{
  res.status(404).send('page was not found');
});
 
server.use((error,res,req)=>{
  res.status(500).send(error);
});
 
client.on('error'error => { throw error; })
client.connect().then(() => { server.listen(PORT, () => console.log(`Server runs on ${PORT}`)); })
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...