const express = require("express");
const fs = require("fs-extra");
const path = require("path");

// Classes
const Pagans = require("../models/Notifications.js");

// Middlewares
const checkHeaders = require("../middlewares/checkHeaders");
const isAuthenticated = require("../middlewares/isAuthenticated");

const router = express.Router();

/**
 * Get form data and send notification to user by email, sms, alert  
 * @api{post}/messageanonymous 
 * @apiName Notification
 * @apiDescription Send information as anonymous to tribe's druid
 * @apiGroup apxtrib
 *
 * @apiUse apxHeader
 * @apiParam {string} objectname Mandatory
 * @apiParam {String} indexname Mandatory if in conf.nationObjects then file is into nationchains/ else in /nationchains/tribes/xtribe/objectname/idx/indexname indexname contains the ObjectName .*_ (before the first _)
 *
 * 
 * @apiError {json} objectNotfound the file does not exist 
 * @apiErrorExample {json}
 * HTTP/1.1 404 Not Found
   {"status":404,"ref":"Odmdb","msg":"pathnamedoesnotexist","data":{indexpath}}
 *
 * @apiSuccess {object}  indexfile content
 * @apiSuccessExample {json} Success-Response:
 * HTTP/1.1 200 OK
 * {"status":200, "ref":"Odmdb", "msg":"indexexist", "data":{indexname,content:{index file}}
 * 
 *
 **/
router.get("/alias/:alias", (req, res) => {
  const getalias = Pagans.getalias(req.params.alias);
  res.status(getalias.status).send(getalias);
});
/**
 * Remove serveur token
 * @api {get} /pagans/logout
 * @apiName Remove token
 * @apiGroup Pagans
 *
 */
router.get("/logout", checkHeaders, isAuthenticated, (req, res) => {
  console.log(req.session.header);
  const logout = Pagans.logout(
    req.session.header.xalias,
    req.session.header.xtribe,
    req.session.header.xdays,
    req.session.header.xhash
  );
  res.status(logout.status).json(logout);
});
module.exports=router;