Files
webzine/Webzine.WebApplication/Extensions/RouteConfiguration.cs

91 lines
3.0 KiB
C#

namespace Webzine.WebApplication.Extensions;
public static class RouteConfiguration
{
/// <summary>
/// Configure les routes de l'application.
/// </summary>
public static void MapCustomRoutes(this IEndpointRouteBuilder endpoints)
{
// ----------- RECHERCHE -----------
// exemple : /artiste/boblechanteurtarpingénial
endpoints.MapControllerRoute(
name: "rechercheIndex",
pattern: "recherche",
defaults: new { controller = "Recherche", action = "Index" });
// ----------- ARTISTE -----------
// exemple : /artiste/boblechanteurtarpingénial
endpoints.MapControllerRoute(
name: "ArtisteIndex",
pattern: "artiste/{nom}",
defaults: new { controller = "Artiste", action = "Index" });
// ----------- TITRE -----------
// exemple : /titre/5
endpoints.MapControllerRoute(
name: "TitreDetails",
pattern: "titre/{id}",
defaults: new { controller = "Titre", action = "Details" });
// exemple : /titre/style/Rock
endpoints.MapControllerRoute(
name: "TitresParStyle",
pattern: "titres/style/{style}",
defaults: new { controller = "Titre", action = "Style" });
// --- ACTIONS POST (LIKE / COMMENT) ---
endpoints.MapControllerRoute(
name: "TitreLike",
pattern: "titre/like",
defaults: new { controller = "Titre", action = "Like" });
endpoints.MapControllerRoute(
name: "TitreComment",
pattern: "titre/comment",
defaults: new { controller = "Titre", action = "Comment" });
// ----------- ADMIN -----------
// ARTISTES
endpoints.MapControllerRoute(
name: "AdminArtistesIndex",
pattern: "administration/artistes",
defaults: new { area = "Administration", controller = "Artiste", action = "Index" });
// COMMENTAIRES
endpoints.MapControllerRoute(
name: "AdminCommentairesIndex",
pattern: "administration/commentaires",
defaults: new { area = "Administration", controller = "Commentaire", action = "Index" });
// STYLES
endpoints.MapControllerRoute(
name: "AdminStylesIndex",
pattern: "administration/styles",
defaults: new { area = "Administration", controller = "Style", action = "Index" });
// TITRES
endpoints.MapControllerRoute(
name: "AdminTitresIndex",
pattern: "administration/titres",
defaults: new { area = "Administration", controller = "Titre", action = "Index" });
// --- AUTRE PROUTES ---
endpoints.MapControllerRoute(
name: "areas",
pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Accueil}/{action=Index}/{id?}");
}
}