mirror of
https://github.com/HyPnoTiiK/stream-fusion.git
synced 2026-07-28 23:12:46 +00:00
Introduce a metadata_mappings table with DAO/model layers for admin-managed IMDB→TMDB/title overrides, and overhaul the admin panel with a modern Bootstrap 5 sidebar UI. - Add metadata_mappings table with migrations (search_titles, year_override) - Add MetadataMappingDAO with standalone session helpers for use outside FastAPI - Add new admin pages: dashboard, mappings CRUD, maintenance, config, hash/TMDB search - Integrate DB mapping lookups into Cinemeta and TMDB metadata providers - Update catalog views to use DB mappings before hitting external APIs - Rewrite all admin templates with Bootstrap 5, sidebar navigation, French labels - Add session-based auth for admin routes with Redis session store
33 lines
1.6 KiB
HTML
33 lines
1.6 KiB
HTML
{% extends "base.html" %}
|
|
{% block title %}Nouvelle peer key — StreamFusion Admin{% endblock %}
|
|
{% block page_title %}Nouvelle peer key{% endblock %}
|
|
|
|
{% block content %}
|
|
<div style="max-width:480px;">
|
|
<form action="{{ url_for('create_peer_key')(request) }}" method="post">
|
|
<div class="mb-3">
|
|
<label for="name" class="form-label">Nom <span class="text-danger">*</span></label>
|
|
<input type="text" class="form-control" id="name" name="name" required
|
|
placeholder="ex: instance-b-prod">
|
|
<div class="form-text">Identifiant de l'instance peer à laquelle cette clé est destinée.</div>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="rate_limit" class="form-label">Limite de requêtes par fenêtre</label>
|
|
<input type="number" class="form-control" id="rate_limit" name="rate_limit"
|
|
value="60" min="1" max="1000">
|
|
</div>
|
|
<div class="mb-4">
|
|
<label for="rate_window" class="form-label">Fenêtre de temps (secondes)</label>
|
|
<input type="number" class="form-control" id="rate_window" name="rate_window"
|
|
value="60" min="10" max="3600">
|
|
<div class="form-text">Le peer peut faire au maximum <em>limite</em> requêtes par <em>fenêtre</em> secondes.</div>
|
|
</div>
|
|
<div class="d-flex gap-2">
|
|
<button type="submit" class="btn btn-primary px-4">
|
|
<i class="bi bi-plus-lg me-1"></i>Créer
|
|
</button>
|
|
<a href="{{ url_for('list_peer_keys')(request) }}" class="btn btn-outline-secondary px-4">Annuler</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
{% endblock %}
|