78 lines
2.5 KiB
C#
78 lines
2.5 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)
|
|
{
|
|
|
|
// --- DETAILS D'UN TITRE ---
|
|
// exemple : /titre/5
|
|
endpoints.MapControllerRoute(
|
|
name: "TitreDetails",
|
|
pattern: "titre/{id}",
|
|
defaults: new { controller = "Titre", action = "Details" });
|
|
|
|
// --- TITRES PAR STYLE ---
|
|
// 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?}");
|
|
}
|
|
}
|