From 4f330affa4e7f4150452370eae404b6a28397bdb Mon Sep 17 00:00:00 2001 From: Jan Fejtek Date: Sat, 28 Oct 2017 18:45:31 +0000 Subject: [PATCH] first commit --- README.md | 4 +- server.js | 100 +---------------------------------------------- views/index.html | 28 +++---------- 3 files changed, 9 insertions(+), 123 deletions(-) diff --git a/README.md b/README.md index 53dcd1d..62a85dd 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -FreeCodeCamp's project URL Shortener Microservice +FreeCodeCamp's project Image Search Abstraction Layer ========================= -visit [Fertile tub on glitch.com](https://fertile-tub.glitch.me/) for online demo \ No newline at end of file +visit [Pepper shallot on glitch.com](https://pepper-shallot.glitch.me/) for online demo \ No newline at end of file diff --git a/server.js b/server.js index d5a6903..9267308 100644 --- a/server.js +++ b/server.js @@ -1,116 +1,20 @@ var express = require('express'); -var mongodb = require('mongodb'); var app = express(); -var mongoClient = mongodb.MongoClient; -var mongodburl = "mongodb://" + process.env.MONGO_NAME + ":" + process.env.MONGO_PASSWORD + "@ds229415.mlab.com:29415/" + process.env.MONGO_DBNAME; -const SHORT_LENGTH = 3; -function randomBase64() { - var random = Math.floor(Math.random() * 64); - if (random <= 25) - return String.fromCharCode(97 + random); - if (random <= 51) - return String.fromCharCode(65 - 26 + random); - if (random <= 61) - return ""+(random- 52); - switch(random) { - case 62: - return "-"; - case 63: - return "_"; - default: - return "="; - } -} - -function generateRandomId(length) { - var generated = ""; - for (var i = 0; i< length; i++) { - generated += randomBase64(); - } - return generated; -} - app.get("/", function (request, response) { response.sendFile(__dirname + '/views/index.html'); }); -app.get("/shortener/*", function (request, response) { +app.get("/search*", function (request, response) { - var url = request.params[0]; - if (!url.startsWith("http://www.") && !url.startsWith("https://www.")) { - response.send({error: "Wrong format"}) - } - else { - - mongoClient.connect(mongodburl, function(err, db) { - if (err) - throw err; - - var urlsCollection = db.collection('urls'); - - - urlsCollection.find({"url": url}).toArray(function(err, documents) { - if (err) - throw err; - var id = null; - if (documents.length == 0) { - do { - id = generateRandomId(SHORT_LENGTH); - } - while( urlsCollection.find({"id": id}).toArray(function(err, documents) { - if (documents.length > 0) - return false; - else - return true; - })); - - - - db.collection('urls').insert({ "id": id, "url" : url }, function(err, data) { - if (err) - throw err; - response.send({short_url: "https://fertile-tub.glitch.me/"+id}); - }) - - } - else { - response.send({short_url: "https://fertile-tub.glitch.me/"+documents[0].id}) - } - }) - - - - }) - } }); -app.get("/:value", function(request, response) { - var id = request.params.value; - mongoClient.connect(mongodburl, function(err, db) { - if (err) - throw err; - var urlsCollection = db.collection('urls'); - - urlsCollection.find({"id": id}).toArray(function(err, documents) { - if (err) - throw err; - if (documents.length === 0) { - response.send({error: "Invalid id"}) - - } - else { - response.redirect(documents[0].url) - } - }) - - }) - +app.get("/search/latest", function(request, response) { }) // listen for requests :) diff --git a/views/index.html b/views/index.html index 77dc2c6..b199b87 100644 --- a/views/index.html +++ b/views/index.html @@ -6,7 +6,7 @@ - FreeCodeCamp URL Shortener Microservice + FreeCodeCamp Image Search Abstraction Layer @@ -16,20 +16,20 @@

- URL Shortener Microservice + Image Search Abstraction Layer

User stories:

@@ -37,26 +37,8 @@

-

- Notes: -

-