Skip to content
Snippets Groups Projects
shorten.js 3.13 KiB
Newer Older
BuildTools's avatar
BuildTools committed
var express = require('express');
var router = express.Router();
var path = require('path');
const db = require("../db/db.js");
const utils = require("../lib/util.js");
const config = require("../conf.json");
BuildTools's avatar
BuildTools committed

router.get('/', function(req, res, next) {
BuildTools's avatar
BuildTools committed
    var url = req.query.url;
lordjbs's avatar
k  
lordjbs committed

    if (!url) {
        return res.send({
            success: false,
            code: 2
        });
    }
lordjbs's avatar
k  
lordjbs committed

    if (url.length < 0) {
        return res.send({
            success: false,
            code: 1
BuildTools's avatar
BuildTools committed
        });
    }

    if (config.userSystem.enabled == true) {
        var token = req.query.token;
        if (!token) {
            return res.send({
                success: false,
                error: "no token given"
            });
        } else {
            db.user.getToken(token, function(error, response) {
                try {
                    if (error) {
                        res.send({
                            success: false,
                            error: "No Permissions!",
                            code:3
                        return res.send({
                            success:false,
                            error: "No Permissions!",
                            code:4
                        })
                    }
                    var id = utils.makeId();

                    if (!url.startsWith("http://") && !url.startsWith("https://")) {
                        url = "http://" + url;
                    }
                    db.url.add(id,url,new Date(), function(err) {
                        if (err) {
                            res.send({
                                success: false,
                                error: err,
                                code: 0
                            });
                            res.send({
                                success: true,
                                id,
lordjbs's avatar
lordjbs committed
                                url: config.url
                        }
                    });
                } catch (e) {
                    res.send({
                        error: e
                    });
                    console.error(e)
                }
BuildTools's avatar
BuildTools committed

            });
        }
    } else {

        try {
            var id = utils.makeId();

            if (!url.startsWith("http://") && !url.startsWith("https://")) {
                url = "http://" + url;
            }

            db.url.add(id,url,new Date(), function(err) {
                if (err) {
                    res.send({
                        success: false,
                        error: err,
                        code: 0
                    });

                } else {
BuildTools's avatar
BuildTools committed

                    res.send({
                        success: true,
                        id,
lordjbs's avatar
lordjbs committed
                        url: config.url
                    });

                }
            });
        } catch (e) {
            res.send({
                error: e
            });
            console.error(e)
        }
    }

});
BuildTools's avatar
BuildTools committed


module.exports = router;