fix: don't create missing proxies for hotspare

* also fixes setting creation time for pools
* improves logging in proxy creation pipeline
This commit is contained in:
Iain Learmonth 2024-11-29 16:08:33 +00:00
parent b91e078e22
commit 1bc2960278
2 changed files with 13 additions and 5 deletions

View file

@ -1,5 +1,6 @@
import logging
import secrets
from datetime import datetime
from datetime import datetime, UTC
from flask import render_template, url_for, flash, redirect, Response, Blueprint
from flask.typing import ResponseReturnValue
@ -55,15 +56,16 @@ def pool_new() -> ResponseReturnValue:
pool.description = form.description.data
pool.redirector_domain = form.redirector_domain.data if form.redirector_domain.data != "" else None
pool.api_key = secrets.token_urlsafe(nbytes=32)
pool.created = datetime.utcnow()
pool.updated = datetime.utcnow()
pool.added = datetime.now(UTC)
pool.updated = datetime.now(UTC)
try:
db.session.add(pool)
db.session.commit()
flash(f"Created new pool {pool.pool_name}.", "success")
return redirect(url_for("portal.pool.pool_edit", pool_id=pool.id))
except sqlalchemy.exc.SQLAlchemyError:
except sqlalchemy.exc.SQLAlchemyError as exc:
flash("Failed to create new pool.", "danger")
logging.exception(exc)
return redirect(url_for("portal.pool.pool_list"))
return render_template("new.html.j2", section="pool", form=form)
@ -86,7 +88,7 @@ def pool_edit(pool_id: int) -> ResponseReturnValue:
if form.api_key.data != pool.api_key:
pool.api_key = secrets.token_urlsafe(nbytes=32)
form.api_key.data = pool.api_key
pool.updated = datetime.utcnow()
pool.updated = datetime.now(UTC)
try:
db.session.commit()
flash("Saved changes to pool.", "success")