"""Routes: admin contacts"""
from flask import flash, redirect, render_template, url_for

from nexora.core import app
from nexora.database.connection import execute, query
from nexora.security.permissions import admin_required, permission_required


@app.route("/admin/contacts")
@admin_required
@permission_required("contacts_view")
def admin_contacts():
    contacts = query("SELECT * FROM contacts ORDER BY id DESC")
    return render_template("admin_contacts.html", contacts=contacts)


@app.route("/admin/contacts/<int:contact_id>/delete", methods=["POST"])
@admin_required
@permission_required("contacts_delete")
def delete_contact(contact_id):
    execute("DELETE FROM contacts WHERE id = ?", (contact_id,))
    flash("Message deleted.", "success")
    return redirect(url_for("admin_contacts"))
